我们学习串口通信主要是要实现单片机和电脑之间的信息交互,可以用电脑控制单片机的一些信息,可以把单片机的一些信息状况发给电脑上的软件。下面我们就做一个简单的例程,实现单片机串口调试助手发送的数据,在我们开发板上的数码管上显示出来。
- #include <reg52.h>
- sbit ADDR3 = P1^3;
- sbit ENLED = P1^4;
- unsigned char code LedChar[] = { //数码管显示字符转换表
- 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
- 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
- };
- unsigned char LedBuff[7] = { //数码管+独立 LED 显示缓冲区
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
- };
- unsigned char T0RH = 0; //T0 重载值的高字节
- unsigned char T0RL = 0; //T0 重载值的低字节
- unsigned char RxdByte = 0; //串口接收到的字节
- void ConfigTimer0(unsigned int ms);
- void ConfigUART(unsigned int baud);
- void main(){
- EA = 1; //使能总中断
- ENLED = 0; //选择数码管和独立 LED
- ADDR3 = 1;
- ConfigTimer0(1); //配置 T0 定时 1ms
- ConfigUART(9600); //配置波特率为 9600
- while (1){ //将接收字节在数码管上以十六进制形式显示出来
- LedBuff