C51中怎样使接收的串口的数据显示在添加在lcd中并使每次添加的数字放在前一项的后面
时间: 2023-12-03 22:42:57 浏览: 74
51单片机串口数据接受,LCD显示
在C51中,我们可以通过串口中断来实现接收数据,并将其添加到LCD中。以下是实现此功能的基本步骤:
1. 定义一个数组来存储接收到的数据。
```C
char received_data[20];
```
2. 在串口接收中断中,将接收到的数据存储到数组中。
```C
void serial_interrupt() interrupt 4 {
if (RI) {
received_data[index] = SBUF;
index++;
RI = 0;
}
}
```
3. 在主程序中,将数组中的数据添加到LCD中。
```C
void main() {
while(1) {
for (i = 0; i < index; i++) {
lcd_add_char(received_data[i]);
}
delay_ms(100);
}
}
```
4. 如果要每次添加的数字放在前一项的后面,可以使用循环移位的方法。
```C
void main() {
while(1) {
for (i = 0; i < index; i++) {
for (j = i; j < index; j++) {
lcd_add_char(received_data[j]);
}
for (j = 0; j < i; j++) {
lcd_add_char(received_data[j]);
}
}
delay_ms(100);
}
}
```
以上代码仅供参考,具体实现可能需要根据具体的硬件和需求进行调整。
阅读全文