微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AT89S52的串口通信控制LCM显示

基于AT89S52的串口通信控制LCM显示

时间:01-07 来源:互联网 点击:

写图形界面,来实现对用户对整个系统的操控。单片机端和软件端的主流程如图3所示:

图3 单片机端和PC端软件操作流程图

5.1单片机端软件设计

单片机端软件采用C51编写(类C代码),使用Keil uVision集成开发环境。单片机端主要完成单片机的初始化、LCM的显示、串口通信。

单片机的初始化的主要是单片机的串口中断打开和LCM的初始化显示。要设置下列寄存器的值:IE,EA,ES,SCON,PCON, TCON等。

LCM的显示主要完成控制LCM的显示内容和方式,及接收和发送信息给PC机,并且在显示时必须要先读取其忙状态标记,以判断LCM是否可以接受数据。

单片机部分的串口通信模块只要完成单片机与上位机的通信,从而将系统所需的信息传送给上位机进行处理。由于AT89S52单片机具有片内的 UART,因此实现串口通信相当容易,只需要设置适当的寄存器就可以使串口工作起来。串口通信有循环(查询)和中断两种方式。就使用效率而言,中断方式比查询方式节约CPU资源。所以此单片机的串口通讯采用中断方式接受、发送数据。

5.2 PC端软件设计

PC端软件主要负责提供一个方便的用户界面以便发送和接收,并且处理串口信息。此软件运行后,要使用主线程初始化用户界面,同时启动一个后台线程负责一直监视用户选择的串口,接受单片机发送来的信息,并及时地显示出来。当用户输入要发送的字符,点击发送时,能够及时的向串口发送数据,另外,一个完整的软件,帮助也是必不可少的,这样方便用户使用软件。

归纳出系统需要的类对象:用户界面类MainFrame,串口类PortControl,串口写数据类SerialWriter,串口读数据类SerialReader。

PC端在进行串口通信编程时,必须在使用之前首先向操作系统提出资源申请要求(打开串口),然后对端口进行参数配置,之后才可以同串口进行数据交换并完成数据从串口的发送与接收。最后,在通信完成时释放资源(关闭串口)。创建串口类PortControl,负责串口的列举,数据发送和数据接收。

6 总结

本文的创新点在于设计的串口通信软件采用JAVA语言编写,,成功的解决了因为串口属于系统底层资源,大多与系统紧密结合,要想开发跨平台的软件很难实现的问题,通过为不同的系统定制不同的JAVA VM并向上提供统一的接口;其次本设计选用1602系列液晶点阵字符模块,这种点阵字符模块本身具有字符发生器,显示容量大,功能丰富;最后通过编程上位机软件界面,方便了对LCM的控制,从而避免了因改变LCM显示内容而改变源代码的功能。该项目实施一年以来,创造经济效益68多万元。

参考文献

[1]唐俊,许雷,张群瞻,单片机原理与应用 ,冶金工业出版社,2003

[2]赵亮,候国锐 编著,单片机C语言编程与实例 ,人民邮电出版社 2003-7

[3]胡凯,张颖超.生化分析仪的设计及与PC机的通信[J].微计算机信息.2006,22(4-1):208-209

[4]马鸿文.基于AT89C52单片机的自动存取柜的设计与实现[J].微计算机信息,2006,22(1-2):101-103.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top