嵌入式 > 技术百科 > 详情

智能液晶触摸与单片机接口的设计

发布时间:2020-06-18 发布时间:
|
作为一种常见的显示设备,LCD具有功耗低,体积小,重量轻,显示信息量大等特点,尤其是在便携设备中,更占据着绝对主流的地位。对于字符或数字的简单信息显示,通常可用段码式LCD驱动器。对于复杂的信息显示,则必须由点阵式LCD驱动器来显示。最常见的点阵式LCD控制/驱动器中,有不带中文字库的LCD驱动器,也有带中文字库的LCD驱动器。随着嵌入式系统的广泛应用,出现了大量的16位和32位的嵌
入式处理器。然而传统的8位单片机长期用于生产实践中,制造工艺成熟,性能更加可靠,因此仍然占有相当大的市场,特别是在汽车电子等对可靠性要求极高的领域。液晶显示器具有显示信息量丰富,功耗低,体积小,质量轻,无辐射等优点。触摸屏作为一种特殊的计算机外设,是目前最自然、便利的一种人机交互方式。
    在微处理器系统中(MCS-51,C8051F,AVR,PIC,MPS430,DSP,部分工业用的ARM)使用LCD液晶显示器设计一般比较麻烦,特别对于大点阵或者彩色的LCD设计更加困难。首先要选择液晶屏,有进口的、国产的、无背光、带背光、尺寸大小、点阵多少、单色、彩色、货源情况、价格等。然后是LCD驱动器的问题,例如与选用的液晶模块如何连接,如何显示缓冲区的操作;与单片机如何连接,软件如何编程等。另外,由于大屏幕液晶都是工作在图形方式,所以还要建立各种字库(外文,汉字、图形符号等),并研究如何显示这些符号和汉字。在需要显示曲线图形时,还需计算机图形学等相关知识,并用单片机程序来实现各种算法等。通常大屏幕液晶显示系统的设计将占用很多的设计时间。
    在此,选用LJD-ZN系列液晶显示终端可解决以上全部问题。只要通过RS 232串行口将CPU与触摸液晶显示终端相连,利用系统CPU发几个简单的命令就可以实现对彩色及单色液晶显示器的控制。

1 LJD-ZN系列液晶显示终端介绍
    该产品是北京蓝海微芯公司设计的彩色液晶显示智能液晶终端。LJD-ZN-8400T型是彩色8.4 inch的智能终端。液晶屏为8.4 inch,分辨率为640×480,外壳尺寸为248 mm×192 mm,可以安装在主控制器的面板上。LJD-ZD-8400T与外部的连接是通过该模块背面的接口来实现的。LJD-ZN-8400T背面设有RS 232通信端口,这个端口用于连接具有RS 232通信端口的控制器。RS 232通信端口为9针D型母座管脚排列,管脚排列见表1。


    该模块还设有RS 485通信端口,这个端口用于连接具有RS 485或是TTL通信端口的控制器。RS 485通信端口为9针D型母座管脚排列,管脚排列见表2。[page]


    针对LJD-ZN-8400T智能终端的二次开发,有与之配套的工具软件,可以直接运行,轻松实现图片下载,字库下载等功能。用户可以在计算机上选择自己熟悉的方式,如:画图软件、Photoshop软件等。图片必须保存为*.bmp格式。图片的大小不超过640×480像素,因为LJD-ZN-8400T显示为640×480,超出的部分也不会显示,只会浪费存储空间。
    图片数量:LJD-ZN-8400T可以显示24位真彩位图,对下兼容;可以显示620×480整幅真彩图片8幅,可以扩展为17幅;整幅256色图片23幅,可扩展为48幅;整幅16色图片47幅,可扩展为100幅;整幅单色图片185幅,可扩展为400幅。

2 控制命令、数据格式的说明
    LJD-ZN-8400T显示系统提供了丰富的操作命令,设计者利用这些命令就可以很简单地完成各个显示功能的设计。
    (1)显示屏坐标值全部以BCD码(十进制)格式发送或接收,在设计软件时把BCD码当作16进制直接处理,不需要转换。
    例如:坐标x=200,y=120,那么传输时格式应该为:
   
    (2)如果接收到的坐标值为01H,23H,10H,80H表示x=123,y=180。
    (3)送到LCD显示的数据必须为ASCII码。数据传输过程如下:
    包头+数据类型+(相关控制)+包尾说明:包头格式统一为FOH,5AH个字节;数据类型为相关不同操作的命令;包尾格式统一为A5H FOH
两个字节;例如,波特率的设定命令为15H,其格式如下:
    数据包头+数据类型+COM口+波特率(2个字节十六进制)+数据包尾

    COM口只有在与计算机通信时设定,如果是与单片机等COM口通信,一般设为00H。
    例如:用波特率为2400b/s进行通信设置,Sample:FO 5A 15 00 09 60 A5 FO。上电时默认波特率为9600b/s,上电后用户可以根据LJD-ZN设备通信协议进行更改。

3 单片机与显示终端接口的程序设计
3.1 单片机串口的初始化设置

    主控制单元上电复位后,首先设置控制核心单片机的串口工作在方式1,速率为9600b/s。
    串口初始化设置程序:
   
3.2 控制指令发送程序
    LJD-ZN-8400T显示系统提供了丰富的操作命令,设计者利用这些命令就可以很简单地完成各个显示功能的设计。例如:波特率设定,命令为15H,格式如下:
    数据包头+数据类型+C0M口+波特率(2个字节16进制)+数据包尾

    COM口只有在与计算机通信时设定,如果是与单片机等COM口通信,一般设为OOH。

[page]

    例如:用波特率为2400b/s进行通信设置;
    Sample:FO 5A 15 00 09 60 A5 FO程序如下:

3.3 触摸位置检测程序设计
    LJD-ZN-8400T显示终端可以根据外部触摸位置,由串口输出触摸位置坐标。实际应用时,需要设置触摸功能区的左上角坐标和右下角坐标,从而可以确定一个触摸功能区。所以,根据串口输出的触摸位置坐标,即可以判断是否触摸在确定功能区,而执行相应的功能。
    串口输出触摸屏位置坐标数据格式如下:
    数据包头+数据类型+XH+XL+YH+YL+标志位+数据包尾
   
    说明:LJD-ZN-8400T的触摸屏分按下和抬起2个键值,其是通过标志位来判断的。触摸屏的值与屏的分辨率是一致的,左上角是起始位置,x坐标是(00,00),y坐标是(OO,00);右下角是最大值,x坐标是(03,19),y坐标是(02,39)。触摸位置判断子程序流程图如图1所示。
用户自定义触摸按键,编程的时候首先要根据串口输出的数据,判断触摸点的.x/y坐标值。当触摸点x的坐标值大于所定义的左上角x坐标值和小于所定义的右下角x坐标值,并且触摸点y的坐标值在大于所定义的左上角y坐标值和小于所定义的右下角y坐标值时,可以确定触摸点在所定义的按键范围之内,调用该按键的键功能子程序,否则,视为无效触摸点。



4 结语
    随着现代微电子技术的发展,各种设备的智能化程度越来越高,对操作性的要求也越来越高,良好的人机交互界面越来越受到设计者的重视。本文介绍基于LJD-ZN-8400T系列智能触摸液晶显示终端与单片机的接口及编程具有广泛的使用价值。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
用于MAX7456随屏显示器SPI