/***********************************************
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条评论)
登录后参与讨论