51单片机驱动HMI串口屏,串口屏的下载方式
2023-09-11 14:19:58 时间
串口屏
串口屏是一个集成了单片机的屏幕模块,采用的是TTL串口协议,可以直接通过对应指令控制屏幕,
本文采用的串口屏是T0系列的基本型,目的是通过单片机的串口来控制串口屏
串口屏的程序下载
本次实验需要先给串口单独下载程序,然后再给单片机下载程序,两次下载分开进行,现在从以下五个步骤给串口屏下载程序
一、准备材料
USB转TTL,四根杜邦线,串口屏
二、接线
串口屏 | USB转TTL |
---|---|
+5V | 5V |
TX | RX |
RX | TX |
GND | GND |
三、打开上位机并选择对应的工程
需要上位机的可以在评论区留言获取
四、选择对应的型号
五、下载程序
可以直接选择联机并下载,它会自动搜索下载
出现这个是联机成功并开始下载,并且屏幕会出现下载界面
下载程序会显示工程界面
注意:如果出现联机失败
1.请检查TX和RX接线是否正确,可以尝试交换接线,
2.确保USB转TTL是否正常,
3.插拔一下模块,确保USB口和串口屏没有接触不良
51程序
串口初始化
void UART_Init() //9600bps@11.0592MHz
{
SCON=0x40;
PCON |=0x80;
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x20; //设置定时器模式
TL1 = 0xFA; //设置定时初始值
TH1 = 0xFA; //设置定时重载值
ET1 = 0; //禁止定时器%d中断
TR1 = 1; //定时器1开始计时
ES=1; //使能串口接收中断,
EA=1; //打开所有中断
}
主函数
void main(void)
{
UART_Init(); //初始化串口,板上的晶振为11.0592MHz,实际的波特率为9600bps
delayms(80);//等待屏幕初始化,建议50ms以上
UART_Send_END();//发送一次结束符,清除上电产生的串口杂波数据
while(1)
{
UART_Send_Str("cls BLACK");//发控制指令
UART_Send_END(); //发结束符
delayms(2000);
UART_Send_Str("cls RED");
UART_Send_END();
delayms(2000);
UART_Send_Str("page 4");
UART_Send_END();
UART_Send_Str("t0.txt=\"春风不度玉门关\"");
UART_Send_END();
UART_Send_Str("xstr 0,0,40,40,0,RED,BLACK,1,1,1,\"中国\"");//不建议使用这种指令去显示汉字,建议在上位机上输入你要显示的汉字
UART_Send_END();
delayms(2000);
}
}
单片机用的是STC89C52RC,晶振用的是11.0592M
把程序下载到单片机之后在接串口屏(一定要先下载程序再接线,不然会下载不了程序)
串口屏和单片机的接线为:
串口屏 | 单片机 |
---|---|
+5V | 5V |
TX | P3_0 |
RX | P3_1 |
GND | GND |
实验现象:
接好线之后下载复位一下单片机,
总结
实验现象和下载程序都会比较慢,而且要先下载对应的程序,否则会一直卡住显示一下界面
需要工程和上位机的可以在评论区留言获取
相关文章
- Linux驱动编写的方法学习
- ESP32 + Arduino使用TFT_eSPI库(LCD驱动芯片ST7789)
- 基于Python的测试驱动开发实战
- paip.元数据驱动的转换-读取文件行到个list理念 uapi java php python总结
- pytest接口自动化测试框架 | 项目实战(pytest+allure+数据驱动)
- Ubuntu 18.04.04 安装显卡驱动 nvidia安装
- 驱动开发 键盘过滤驱动程序--传统的键盘过滤
- Windows Minifilter驱动 - 调式 (4)
- 慕课9、消息驱动的微服务-Spring Cloud Alibaba RocketMQ
- KVM虚拟机安装Virtio驱动
- Linux驱动操作地址(寄存器)的一些方式