loading

作为专业的工业电缆源头制造商,我们专注于电缆生产和定制,以极具竞争力的价格提供工厂直供,是工程项目的可靠选择。

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

1 引言 计算机的革命性进步使其渗透到各个领域,计算机的传统定义也发生了重大变化。微控制器(也称为嵌入式控制器)因其高昂的成本和在工业控制、消费电子领域的广泛应用而备受关注。微控制器串行通信被广泛应用于各种系统集成方案中。在一些复杂的控制系统中,微控制器与PC机连接成一个系统解决方案。微控制器与PC、互联网、PC的结合,充分利用了其强大的计算决策能力,微控制器作为数据采集和执行单元的专用环境,正日益被应用于工业控制领域,从而大幅降低系统成本。2 整体解决方案 MCU选用Atmel89S52,通过DB9串口线与计算机连接,采用RS232串行通信标准。微控制器与计算机之间使用特定的通信协议进行通信。串行通信通过计算机终端上的单片机软件控制内容显示和LCM显示。将字符串或文本文件发送到微控制器(LCM),并在LCM上显示内容(LCM只能显示ASCII字符和8个自定义字符)。通过PC端软件,可以控制字符的显示,例如滚动、换行等,并读取LCM的当前显示内容。因此,基本组件是SCM系统和PC端串口通信软件。由于PC端的计算能力强于SCM,因此需要处理再次发送到MCU的数据。MCU提供一个容量有限的缓冲区,PC端软件可以将发送到显示缓冲区的内容读取并显示。PC端串口通信软件使用JAVA语言编写。JAVA语言具有高度可移植性,并且JDK(JAVA开发工具包)提供了丰富的类库,可以轻松构建良好的图形用户界面(GUI)应用程序。 3 系统设计与硬件实现 硬件电路包括电源电路、单片机上电复位和振荡器电路、单片机以及LCM之间的数据通路,另一部分是单片机与PC之间的RS232通信模块设计,该模块采用MAX232芯片,负责信号电平转换。3.1 电源设计 如图1所示,电源电路采用整流桥,可输入9V直流或交流电源,然后通过7805稳压至5V,供单片机工作。三端电源由7805的输出引脚Vo、输入引脚和地引脚GND组成,为+5V稳压器,属于CW78XX系列稳压器。输入端电容可以进一步滤波,输出端电容也可以用于改善负载影响。电路稳定性相对较好,但电容必须使用漏电流较小的钽电容;如果使用电解电容,其电容值要比其他电容增加10倍。3.2 单片机和长片机外部电路驱动电路 最小系统由单片机振荡器电路和复位电路组成。系统时钟部分采用晶体振荡器实现。考虑到输入电源纹波对单片机的影响,在电源引脚上增加了一个电容滤波器,以减小输入干扰。本系统中,复位电路采用11.0592MHz的晶体,并串联一个10KΩ电阻和一个10μF电容。 -EA/Vpp 然后是 VCC,因为访问内部存储器 .ALE /-PROG 时应为空。SCM P0 和 P2 端口以及 RT1602 LCM 连接。目的是为了方便使用 11.0592MHz 串行 9600bit/s 的通信速度。LCD 显示模块是一种将液晶显示器、连接器、集成电路、PCB 电路板、背光等元件组装在一起的结构,实际上是一种商用元件。该设计采用 1602 系列点阵字符 LCD 模块,每行可显示 16 个字符,共 2 行。它是一个点阵字符 LCD 显示器,配备专用的行驱动器、列驱动器、控制器和必要的连接器,组装后可以显示数字和西文字符。点阵字符本身具有字符生成器模块,显示能力强,功能丰富。3.3 RS232 串行通信电路 该系统主要通过串行通信模块与上位机进行通信。 SCM系统会将数据保存在RAM中,供主机处理,从而减轻SCM系统的负担。微控制器与主机通信的接口级别不同,因此需要进行接口转换,其中使用MAX232芯片来实现接口级别的转换。4. 通信协议 微控制器和PC端软件之间的通信必须遵循一定的规则,例如,MCU主动向PC端发送初始化代码,PC端发送特定代码将数据发送给MCU,MCU进行接收准备。RS232通信速度最高可达19200bit/s,而软件使用的通信速度为9600bit/s。通信协议应尽可能简短,以提高通信效率。5. 系统软件设计 系统软件设计包括微控制器端和PC端两部分。微控制器主要通过串口接收来自主机的信息,然后将信息显示在LCM上。 PC端软件通过准备一些主要的图形界面,实现用户对整个系统的控制。5.1 SCM端软件 SCM端软件使用C51(C语言)编写,采用Keil uVision集成开发环境。SCM客户端完成主模块、LCM显示模块和串口通信模块的初始化。单片机MCU的初始化主要是打开LCM串口并中断初始化显示。需要设置以下寄存器:IE、EA、ES、SCON、PCON、TCON等。LCM显示模块完全控制主要内容和形式的显示,并收发信息给PC,在显示过程中必须先读取其忙标记,以确定是否可以接收数据。MCU的串口通信模块完成PC和SCM之间的通信,并将系统所需的信息发送到上位机进行处理。AT89S52单片机带有片上UART,因此串口通信相对容易实现,只需设置相应的寄存器即可使串口工作。串口通信有两种方式:循环(查询)和中断。就使用效率而言,中断模式比查询模式更节省CPU资源。因此,串口通信通过单片机中断来接收和发送数据。5.2 PC端软件 PC端软件主要负责提供便捷的用户界面,用于发送和接收数据,并处理串口信息。该软件运行时,使用主线程初始化用户界面,并启动一个后台线程,负责监控用户选择的串口,接收单片机发送的信息,并及时显示。当用户输入要发送的字符并点击“发送”按钮时,即可将数据发送到串口。此外,一个完整的软件辅助功能也必不可少,因此需要用户友好的软件。系统需要概括的类对象有:用户界面类MainFrame、串口类PortControl、串口写入数据类SerialWriter和串口读取数据类SerialReader。在PC端进行串口通信编程时,必须先向操作系统发出首次资源请求(打开串口),然后配置端口参数,之后才能与串口交换数据,完成串口的收发。最后,完成通信资源的释放(关闭串口)。创建串口类PortControl,负责串口的枚举、数据传输和数据接收。6. 总结 本文的创新之处在于使用JAVA语言设计串口通信软件,成功解决了由于串口与系统集成度最高,占用系统资源较多的问题。为了开发跨平台软件,通过针对不同系统定制不同的JAVA虚拟机,提供了一个统一的接口;其次,选用1602系列点阵字符液晶显示模块进行设计,该模块本身具有字符生成模块,显示容量大,功能丰富;最后,通过PC软件编程接口控制液晶显示模块,避免了通过修改源代码来改变液晶显示模块的功能。自项目实施第一年以来,已创造超过6800万的经济效益。

请与我们联系
推荐的文章
知识 应用 消息
如今,科技产品变得越来越小巧便携,因此,人们对常规产品小型化的需求也在不断增长。
介绍

随着科技的进步,我们对设备连接速度更快、功能更全面的要求也越来越高。
介绍:

你的安卓系统USB接口是否经常显示“已连接/已断开连接”的信息?这个问题非常令人烦恼,尤其是在你尝试传输数据或给设备充电时。
如何修复损坏的 USB 连接器

USB接口对于将各种设备(例如打印机、键盘和外部存储设备)连接到计算机至关重要。
Micro USB 接口广泛应用于各种电子设备,例如智能手机、平板电脑和便携式扬声器。
我们都体会过 USB-C 连接器故障带来的挫败感。
USB 数据线是我们日常生活中常见且必不可少的组成部分。
如何修复 USB 连接器

USB接口在我们的日常生活中很常见,因为它们被广泛应用于各种设备,包括智能手机、笔记本电脑、游戏机等等。
USB接口已连接/已断开

你是否曾遇到过这样的情况:使用USB设备时,连接器总是断开又重新连接,令人沮丧?这是USB连接器常见的故障,可能由多种原因引起。
你的三星 Galaxy A70 手机是否遇到过 USB 接口频繁连接和断开的恼人问题?如果你依赖手机进行充电和数据传输,这个问题尤其令人头疼。
www.aptekcables.com
联系方式:蔡凯茜女士
手机号码:+86 138 2477 7041(微信)
Skype:cathycai125
电子邮件:cathy@aptekcables.com
地址:中国广东省中山市沙溪镇体宇路21号(邮编:528471)
Customer service
detect