首页 > 范文大全 > 正文

S4海流计通信协议截获器的显控终端设计及实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇S4海流计通信协议截获器的显控终端设计及实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:s4海流计通信协议截获器的终端是海流测量系统的重要组成部分,它的显示是通过LT320240BKEC5V液晶屏和触摸屏进行控制。本文详细介绍了液晶屏和触摸板的工作原理,设计了ATmega128单片机与液晶模块LT320240BKEC5V的硬件接口电路,并给出了初始化程序和软件流程图。

Abstract: The display and control terminal of communication protocols interceptor of S4 ocean current meter is realized by the way of both LT320240BKEC5V screen and touch screen.The working principle of LT320240BKEC5V screen and touch screen is introducedin detail in this paper.The hardware interface circuit between ATmega128 singlechip and LT320240BKEC5V module is designed,then initialization procedure and software flow chart are given.

关键词:S4海流计;ATmega128单片机;RA8803

Key words: S4 ocean current meter;ATmega128 singlechip;RA8803

中图分类号:TP23 文献标识码:A文章编号:1006-4311(2010)13-0112-02

0引言

S4海流计是海上试验中海流测量的重要水文测量设备。S4与PC机的通信协议是实现设备可靠控制的关键,为使测量设备可靠工作,我们研制出了通信协议截获器,实现了通信双方即PC机与S4之间的通信内容的准确获取。本文就S4海流计通信协议截获器的显控终端设计及实现过程进行详细介绍。

1显控终端简介

显控终端为带触摸板的液晶显示屏。液晶显示屏实现控制界面的显示功能,触摸板实现控制指令的输入功能。

1.1 液晶显示屏简介液晶显示屏[1]简称LCD。LCD产品是目前世界上最省电的显示产品之一。由于液晶显示屏具有低损耗、低价格、寿命长、接口方便等优点,被广泛应用于手机、照相机、计算机、智能仪器仪表等产品上。LT320240BKEC5V是一种图形点阵液晶显示器,体积为160.0mm×109.0mm×13.0mm,它主要采用动态驱动原理由行驱动―控制器和列驱动器两部分组成了320(列)×240(行)的全点阵液晶显示,可显示20(列)×15(行)个16×16点阵汉字,也可完成图形、字符的显示。LT320240BKEC5V显示屏采用RA8803控制器,RA8803控制器是外部CPU控制显示屏的接口芯片,其内带汉字库在文字模式下,外部CPU输入的中文文字内码可以直接显示到LCD上,因此不需要进入绘图模式以绘图方式描绘中文,可以节省单片机的处理时间,提升液晶显示中文的处理效率。RA8803控制器内建的10位ADC用于读取触摸板位置。

1.2 触摸板原理触摸面板是贴在显示屏上面的电阻式透明板,由两层极薄的电阻面板组成,如图1、图2所示。触摸面板的两层面板之间有一个很小的间距,当有外力在面板上的某一点压下去时,会在施力点造成两层电阻接触,也就是短路,而两层电阻面板的端点都各有电极,YU,YD,XL,XR取得电压接到ADC,就可侦测出面板上哪一相对位置被触摸。设定开关SW2与 SW3是OFF(Open),SW0与SW1是ON(Close),当有外力在面板上的某一点压下去时,YU上的电压事实上就是 X的Panel(也就是电阻)上的分压结果,压在面板上的不同一点,就会得到不同的分压值,由YU点取得电压接到ADC(Analog to Digital Converter),就可以得到被Touch 点的X坐标相对位置,如图3。同理,设定开关SW0与SW1是OFF(Open),SW2与SW3是ON(Close),当有外力在面板上的某一点压下去时,由XL点取得电压接到ADC(Analog to Digital Converter),就可以得到被 Touch 点的 Y 坐标相对位置。

2单片机与显示屏的接口电路

S4海流计通信协议截获器采用ATMAGE128单片机作为主控CPU[2-4],选择ATMAGE128单片机的理由是其具有两个USART接口,可以实现对S4发送的数据和PC机发送的数据进行双向同时截获。LCD与ATmega128接口电路如图4所示。LCD与ATmega128单片机采用直接接口方式,单片机的PA口接至LCD的8位数据线(DB0~DB7),LCD的读写控制信号RD、WR分别由的读写控制信号RD、WR控制。LCD的Busy信号线,用来表示LCD内部DDRAM 与ROM 的存取状态是否因Busy 而暂时无法接收ATmega128来的命令。因此BUSY引脚与单片机的I/O 端PB5连接,MCU 在对LCM做存取前可以先判断LCM是否可以接受存取动作。片选CS接单片机PB7引脚。CS低电平有效,LCD的背光由PB4控制。

3显控终端的软件设计部分

显控软件需要完成主显示界面、各子显示界面的图形绘制以及文字显示工作,同时还要完成对触摸板位置读入和控制命令的判断,实现显示界面之间的切换。显控软件中对LCD、触摸板的操作,都是由CPU对RA8803控制器通过程序控制来实现,因此,显控软件的编程核心就是如何实现对RA8803控制器的软件控制。

3.1 RA8803控制器初始化程序显示屏使用前须对其进行初始化设置,设置LCD的显示模式、显示区域宽度,是否使用内部ADC等等。对RA8803控制器的初始化通过如下写指令子程序来完成[5]。

void writereg(uchar Addr,uchar Data)

{ PORTB&=~_BV(PB7); //片选有效

PORTB&=~_BV(PB4);

while(bit_is_clear(PINB,PB2)) dl_ms(0);

PORTA=Addr;//写addr (寄存器号)

PORTG&=~_BV(PG0); //(WR)PG0=0

PORTG|=_BV(PG0); //(WR)PG0=1

while(bit_is_clear(PINB,PB2)) dl_ms(1);

PORTA=Data;//写参数 (寄存器)

PORTG&=~_BV(PG0);//(WR)PG0=0

PORTG|=_BV(PG0); //(WR)PG0=1

PORTB|=_BV(PB4);//RS-PB4=1,CS-PB7=1,关片选

PORTB|=_BV(PB7);

}

3.2 RA8803控制器程序流程为了使设计程序具有良好的可读性和通用性,控制器程序软件用C语言设计,并在AVRStudio4开发环境下编译调试。程序设计流程如图5所示。

4结束语

经过一年多的实践证明,这种设计方案使该显示终端具有完善的汉字显示和图形显示功能,程序设计合理,软件运行良好,终端接口规范,性能安全可靠,具有良好的人机交换功能。该显控终端的功能设计实现,可以广泛应用到其它各种便携式系统显示端的设计中,具有较高的实用价值。

参考文献:

[1]高鸿锦,董友梅.液晶与平板显示器技术[M].北京:北京邮电大学出版社,2007.

[2]刘兰香,张秋生.Atmega128单片机应用与开发实例[M].北京:机械工业出版社,2006.

[3]耿德根,宋建国.AVR高速嵌入式单片机原理与应用[M].北京:北京航空航天大学出版社,2002.

[4]李青侠,卢亮军,冷毅.基虚拟仪器的压力传感器自动补偿校正系统[J].仪表技术与传感器,2006,(10).

[5]吴双力,崔剑,王伯岭.AVR-GCC与AVR单片机C语言开发[M].北京:北京航空航天大学出版社,2004.