基于单片机虚拟串口驱动LCD1602的电路仿真

2010-04-19 05:45郑荣杰贾新立崔海良余云霞罗海兵张艳敏
河北水利电力学院学报 2010年1期
关键词:电路仿真寄存器串口

郑荣杰,贾新立,崔海良,余云霞,罗海兵,张艳敏

(1.河北工程技术高等专科学校电气工程系,河北沧州 061001;2.湘潭大学材料与光电物理学院,湖南湘潭 411105)

基于单片机虚拟串口驱动LCD1602的电路仿真

郑荣杰1,贾新立1,崔海良1,余云霞2,罗海兵1,张艳敏1

(1.河北工程技术高等专科学校电气工程系,河北沧州 061001;2.湘潭大学材料与光电物理学院,湖南湘潭 411105)

基于Multisim10仿真软件,设计单片机的虚拟串口驱动LCD1602液晶电路。实现了虚拟串口扩展并行输出的功能。该设计适用单片机UART串口被占用时,以最少的单片机I/O口驱动LCD1602,满足显示电路中复杂信息的需求。与传统的设计手段相比,在Multisim10平台支撑下,设计电路更方便快捷,并可通过仿真结果直接观测和验证设计电路是否达到要求,具有省时、低耗、高效的优越性。

单片机;电路仿真;Multisim10

在单片机系统中,显示电路是人机交换信息的平台,其驱动程序的设计具有重要的应用意义。LCD1602作为字符型液晶显示模块,具有体积小、功耗低、显示内容丰富等特点,弥补了数码管(LED)只能显示数字信息的不足,已经成为显示电路中最常用的器件之一[1]。LCD1602的驱动方式有并口驱动与串口驱动两种。并口驱动须占用单片机大量宝贵的I/O接口;串口驱动须在单片机的UART接口空闲的基础上。本文通过虚拟串口技术实现对LCD1602的驱动,既不占用UART接口,又节省了单片机的I/O接口资源,可以作为单片机系统中显示复杂信息的一种方法。

1 仿真软件

目前,为了降低开发成本,提高开发效率,电子电路的设计工作都是通过仿真软件实现。单片机仿真主要以Proteus和Keil软件为主,通过两者配合进行程序和硬件电路的联调。由于涉及到两个软件的联调,使得电路设计工作比较复杂。在NI公司发布的电路分析软件最新版本——Multisim10中,这个问题得到了圆满的解决[2]。在此版本中,添加的MCU模块将单片机系统仿真过程中程序编译、测试及电路设计、仿真完美的结合在一起。

本文正是以Multisim10为平台,设计了基于单片机的虚拟串口驱动LCD1602的电路。通过仿真测试,电路的设计合理有效,直观简洁。

2 电路的设计

硬件电路如图1所示。其中单片机80C51的P0.5与P0.7设计为虚拟串口的数据线和时钟线。P0.0,P0.1以及P0.2用来控制LCD1602的读写信号线、寄存器选择线与使能端。

LCD1602的CV引脚为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高。使用时,可以通过一个电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。E为使能端。D0~D7为8位双向数据线,输入的数据可以作为数据显示在液晶屏幕,或作为命令对LCD1602的寄存器和屏幕进行各种操作。其功能表如表1。

图1 LCD1602显示电路的原理图

表1 LCD1602中寄存器的功能表

74LS164为8位串入并出移位寄存器,其引脚功能如下:Q0~Q7为并行输出端;A、B为串行输入端; CR端为清零端,低电平有效;CLK为时钟脉冲数输入端,在上升沿脉冲作用下实现移位。在CLK=0且CR=1时,74LS164保持原来的数据状态。

3 模拟仿真

在Multisim10工作平台下,按照原理图创建实际电路,具体步骤及说明如下:

1)从MCU Module元件库805X系列中调用单片机80C51。将单片机放入电路图中,根据出现的MCU向导,分别输入工作区路径和工作区名称。

2)从Advanced Peripherals元件库LCDs系列中调用液晶LCD1602;从T TL元件库74LS系列中调用74LS164,并将LCD1602的输出端与74LS164的输入端相连接。

3)单片机的P0.0,P0.1,P0.2引脚分别与LCD1602的引脚E,RS, RW相连接。从Basic元件库RPACK系列中选择1X4SIP排阻,并将1X4SIP作为上拉电阻。

4)将单片机与其他器件的其他引脚正确连接,并接通电源。

完成电路的准备工作后,编写单片机虚拟串口驱动程序。激活电路进行仿真,可以选择在菜单中执行“Simulate”/“Run”命令;或将窗口上的仿真启动开关拨向右边或单击仿真启动图标。仿真结果如图2。

单片机的P0.5引脚作为虚拟串行数据发送端,将数据经过74LS164转换传输到LCD1602,分别在液晶的上下两行显示。显然,通过虚拟串口与74LS164的共同作用,LCD1602控制总线与数据线完全可以通过一组P0接口来控制。这不仅节约了单片机宝贵的I/O口资源,更解决了单片机串口输出信息时对UART口的依赖问题[3]。

图2 LCD1602显示电路的仿真结果

4 参考程序

主程序流程图如图3所示。本程序基于MCS-51系列单片机汇编语言编制而成,LCD1602的虚拟串口驱动程序编写在子程序中。在液晶屏上显示的信息分别置于T AB1与T AB2表中,如:T AB1:db 20H,20H, 20H,′Welcome to′,00H;T AB2:db′www.hbgz.edu.cn′,00H;其中,“20H”代表的是在LCD1602上输入空格;“00H”作为信息结束的标志。虚拟串口输出数据时,先将数据输入累加器A,然后通过子程序WRIT ECY中带进位左环移指令RLC实现输出数据。具体程序如下:

显然,通过WRIT ECY子程序,使得单片机的P0.5与P0.7引脚具有了串口在方式0的状态下输出数据的功能。

图3 主程序的流程图

[1] 赵亮.液晶显示模块LCD1602应用[J].电子制作,2007,(3):58-59.

[2] 吴霞.Multisim2001电路仿真软件在计数器中的分析方法[J].现代电子技术,2007,(24):177-178.

[3] 孙士尉.利用单片机虚拟串口驱动多路LED显示[J],江苏电器,2006,(1):28-30.

(责任编辑:路文梅)

Simulation of LCD1602 Display Drived by Single Chip Microcomputer Fictious Serial Port

ZHENG Rong-jie1,JIA Xin-li1,CUI Hai-liang1, YU Yun-xia2,LUO Hai-bing1,ZHANG Yan-min1
(1.Department of Electrical Engineering,Hebei Engineering and Technical Colleg e,Cang zhou 061001,China; 2.College of Material Science and Optical Physics,Xiangtan Univ ersity,Xiang tan 411105,China)

Using Multisim10 simulation software,we design a display based on LCD1602 drived by fictitious serial port of single chip microcomputer.It is realized that the output in parallel is replaced by fictious serial port.It can be applied in driving LCD1602 by the least I/O of single chip microcomputer to show complex information,as the UART serial port is occupied.Based on Multisim10,it is easier in designing the circuit than by the traditional methods,and the circuit can be simulated directly on computer to test its properties,which has the advantages of time saving,low cost,and high efficiency.

MCU;circuit simulation;Multisim10

T P391.9

A

1008-3782(2010)01-0049-03

2010-01-12

郑荣杰(1980-),男,河北沧州人,硕士,河北工程技术高等专科学校实验员。

猜你喜欢
电路仿真寄存器串口
STM32和51单片机寄存器映射原理异同分析
浅谈AB PLC串口跟RFID传感器的通讯应用
Lite寄存器模型的设计与实现
基于FSM和图论的继电电路仿真算法研究
基于Multisim的集成运放应用电路仿真分析
基于集成运放的压控振荡电路仿真研究
一个新型对数混沌系统及其电路仿真
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信