找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4134|回复: 1
打印 上一主题 下一主题
收起左侧

关于串口助手发送数据给单片机,单片机接收数据发送给电脑的过程

[复制链接]
跳转到指定楼层
楼主
ID:96726 发表于 2015-11-30 23:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STC-ISP的串口助手发送数据给单片机,单片机接收数据后发给电脑显示,这个过程是怎么样的呢
以下是代码:
#include<stc15.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp,temp1;
void Delay50ms()                //@11.0592MHz
{
        unsigned char i, j, k;

        _nop_();
        _nop_();
        i = 3;
        j = 26;
        k = 223;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}
void delay(uint k)
{
        uint i;
        for(i=0;i<=k;i++)
        Delay50ms();
}
void UartInit(void)                //9600bps@11.0592MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器1时钟为Fosc,即1T
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //设定定时器1为16位自动重装方式
        TL1 = 0xE0;                //设定定时初值
        TH1 = 0xFE;                //设定定时初值
        ET1 = 0;                //禁止定时器1中断
        TR1 = 1;                //启动定时器1
}
void Serial_ISR(void)interrupt 4
{
       
        RI=0;               //清串行接收标志
        temp=SBUF;        //接收数据
        SBUF=temp;    //发送接收到的数据
        while(TI==0);  //等待发送结束
        TI=0;              //清零TI
       
}
void main(void)
{
        P0M1=0x00;P0M0=0x00;P1M1=0x00;P1M0=0x00;P2M1=0x00;P2M0=0x00;
        P3M1=0x00;P3M0=0x00;P4M1=0x00;P4M0=0x00;P5M1=0x00;P5M0=0x00;  
        UartInit();
        ES=1;
        EA=1;
        while(1);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:96726 发表于 2015-11-30 23:15 | 只看该作者
忘记说了,那个延时函数是我用来测试串口助手的发送过程的,忘记删除了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表