写一个51串口控制数码管显示4位数字的代码
时间: 2023-04-06 19:04:26 浏览: 173
以下是一个简单的51单片机串口控制数码管显示4位数字的代码:
```
#include <reg51.h>
sbit D1 = P2^0;
sbit D2 = P2^1;
sbit D3 = P2^2;
sbit D4 = P2^3;
void delay(unsigned int t) {
unsigned int i, j;
for (i = 0; i < t; i++) {
for (j = 0; j < 125; j++);
}
}
void main() {
unsigned char num1, num2, num3, num4;
SCON = 0x50;
TMOD = 0x20;
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
while (1) {
while (!RI);
num1 = SBUF;
RI = 0;
while (!RI);
num2 = SBUF;
RI = 0;
while (!RI);
num3 = SBUF;
RI = 0;
while (!RI);
num4 = SBUF;
RI = 0;
D1 = num1;
D2 = num2;
D3 = num3;
D4 = num4;
delay(1000);
}
}
```
这个代码假设你已经连接了一个4位数码管到P2口的四个引脚上,其中D1是最低位,D4是最高位。代码通过串口接收4个数字,并将它们分别显示在数码管的4个位上,每个数字之间有1秒的延迟。
阅读全文