51单片机驱动HMI串口屏,串口屏的下载方式

电子说

1.4w人已加入

描述

串口屏

串口屏是一个集成了单片机的屏幕模块,采用的是TTL串口协议,可以直接通过对应指令控制屏幕,
本文采用的串口屏是T0系列的基本型,目的是通过单片机的串口来控制串口屏
串口屏

串口屏的程序下载

本次实验需要先给串口单独下载程序,然后再给单片机下载程序,两次下载分开进行,现在从以下五个步骤给串口屏下载程序
一、准备材料
USB转TTL,四根杜邦线,串口屏
串口屏
二、接线

串口屏USB转TTL
+5V5V
TXRX
RXTX
GNDGND

三、打开上位机并选择对应的工程

需要上位机的可以在评论区留言获取
串口屏
串口屏
四、选择对应的型号
串口屏
串口屏
五、下载程序
串口屏
可以直接选择联机并下载,它会自动搜索下载
串口屏
出现这个是联机成功并开始下载,并且屏幕会出现下载界面
串口屏
下载程序会显示工程界面
串口屏
注意 :如果出现联机失败
串口屏
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
把程序下载到单片机之后在接串口屏(一定要先下载程序再接线,不然会下载不了程序)
串口屏和单片机的接线为:

串口屏单片机
+5V5V
TXP3_0
RXP3_1
GNDGND

实验现象:
接好线之后下载复位一下单片机,

串口屏

总结

实验现象和下载程序都会比较慢,而且要先下载对应的程序,否则会一直卡住显示一下界面

串口屏
需要工程和上位机的可以在评论区留言获取

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分