原创 C51串口通讯测试程序

2010-6-28 22:23 2601 10 10 分类: MCU/ 嵌入式
/***********************************************
89s52  晶振:12Mhz   P0口接8个LED
从串口调试工具中输入一个16进制数 在接收处显示出来 并在P0口显示出状态
***********************************************/
#include <reg52.h>
#include <intrins.h>
unsigned char tmp;
unsigned char d=0;
void send_str();

void InitUART(void)
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xF3;//波特率 2400
    TL1 = TH1;
    PCON = 0x00;
    EA = 1;
    ES = 1;
    TR1 = 1;
 
}

void SendOneByte(unsigned char c)
{
    SBUF = c;
    while(!TI);
    TI = 0;
}

void UARTInterrupt() interrupt 4 using 3
{
    if(RI)
    {
        RI = 0;
        tmp=SBUF;
 
 SendOneByte(tmp);
 d=1;
 //add your code here!
    }
    else
       TI = 0;
}

main(void)
{
InitUART();
while(1)
{
if(d!=0)
{
P0=tmp;
d=0;
}
}
}





文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条