标题: 关于串口助手发送数据给单片机,单片机接收数据发送给电脑的过程 [打印本页]

作者: 刀锋山之躯    时间: 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);
}


作者: 刀锋山之躯    时间: 2015-11-30 23:15
忘记说了,那个延时函数是我用来测试串口助手的发送过程的,忘记删除了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1