/************************** 串口通信 ***********************/
/************************** 波特率发生器:定时器1 ************************/
/************************** 波特率9600 ************************/
/************************** 串口中断接收 ************************/
/**************************************************************************/
#include <reg52.h>
typedef unsigned char uint8
typedef unsigned int uint16
uint8 num = 0
/*
* 波特率9600
*/
void UART_init(void)
{
SCON = 0x50
TMOD = 0x20
TH1 = 0xFD
TL1 = 0xFD
TR1 = 1
ES = 1
EA = 1
}
main()
{
UART_init()
while(1)//(自己填写)扫描按键并将键位值给num,调用SBUF=num指令
}
/*
* 串口中断
*/
void interrupt_uart() interrupt 4
{
if(TI)
{
TI = 0 //发送完成后清空
REN = 1 //打开等待接收
}
if(RI) //如果接收到消息
{
RI = 0 //收到后清零
num = SBUF //读取消息
REN = 0 //关闭等待接收
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)