如何将51单片机的1602lcd显示屏内容通过串口发送,labview再读取串口内容的代码实现
时间: 2023-06-09 22:02:26 浏览: 60
可以参考以下代码实现:
51单片机代码:
```
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS = P2^7;
sbit RW = P2^6;
sbit E = P2^5;
void delay(uint i)
{
while(i--);
}
void write_com(uchar com)
{
RS = 0;
RW = 0;
P0 = com;
E = 1;
delay(10);
E = 0;
}
void write_data(uchar dat)
{
RS = 1;
RW = 0;
P0 = dat;
E = 1;
delay(10);
E = 0;
}
void init()
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
delay(100);
}
void main()
{
init();
while(1)
{
write_data('H');
write_data('e');
write_data('l');
write_data('l');
write_data('o');
write_com(0x80 + 0x40); //设置光标位置到第二行
write_data('W');
write_data('o');
write_data('r');
write_data('l');
write_data('d');
delay(1000);
}
}
```
LabVIEW代码:
可以使用VISA串口通信函数,具体实现方法如下:
1. 新建一个VI,从函数面板中拖入VISA属性节点和VISA read/write节点;
2. 点击属性节点,选择RS232,设置串口号、波特率等参数;
3. 连接属性节点和read/write节点,设置读写数据类型为字符串;
4. 设置循环结构,每次循环读取一次串口数据并在Front Panel上显示出来。
示例代码如图所示:
![LabVIEW_1.png](https://cdn.nlark.com/yuque/0/2021/png/216207/1632704805864-6ac6074b-855d-4e13-9c46-0ae2847e47eb.png#clientId=u70157af3-2e2b-4&from=paste&height=803&id=u10abcea7&margin=%5Bobject%20Object%5D&name=LabVIEW_1.png&originHeight=803&originWidth=1275&originalType=binary&size=34054&status=done&style=none&taskId=uec8dd30a-ad0c-47f2-a61f-d0f2f087165&width=1275)
注意:LabVIEW的串口读写需要安装NI-VISA软件。