Microsoft Word - 97.doc

Similar documents
TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

12232A LED LED LED EL EL CCFL EL CCF

untitled

R/W

DPJJX1.DOC

untitled

AT89C2051中文资料.doc

untitled

() () () () () () () () DDRAM () II

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

Microsoft Word - FM12232C.doc

Microsoft Word - FG12232A.doc

CA24064B LED LED LED EL EL CCFL EL CCF /

untitled

Microsoft Word - 專題封面.doc

Microsoft Word - zw

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

Microsoft Word - JLX1602A-4中文说明书.doc

Microsoft Word - ha0013s.doc

Microsoft Word - JLX12832A-3G中文说明书.doc

目 录

第 卷 第 期 年 月 半 导 体 学 报! " # $%&'%' $!&' #% #$1 /#1 $'! / ?/ ?/ / 3 0,?/ ) * +!!! '!,!! -. & ' $! '! 4% %&1)/1(7%&)03 (% )

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

Microsoft Word - RT-T19264B-SPEC.doc

微處理機期末專題

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

Microsoft Word - LM6029-AppNote-V0.2.doc

Microsoft Word - P3.doc

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

1 TPIS TPIS 2 2

93C46串行EEPROM数据读写

untitled

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

国家重点实验室建设与运行管理办法

第5章:汇编语言程序设计


Microsoft Word - 32

National and Provincial Life Tables Derived from China’s 2000 Census Data

JOURNAL OF EARTHQUAKE ENGINEERING AND ENGINEERING VIBRATION Vol. 31 No. 5 Oct /35 TU3521 P315.

Microsoft Word 聂雪梅.doc

Microsoft Word - Delta Controller ASCII_RTU_SC

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

PowerPoint 簡報

Microsoft Word - ZX12232B.doc

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

CH559指令周期.doc

外围器件-new.cdr

* CUSUM EWMA PCA TS79 A DOI /j. issn X Incipient Fault Detection in Papermaking Wa

DR-7080C 使用说明

<4D F736F F D204A4C D D5043B5C4D6D0CEC4D7D6BFE2B1E0B3CCCBB5C3F7CAE92E646F63>

标题

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

Microsoft Word - 专论综述1.doc

dfgdafhdafhdafhdafh

Microsoft Word - FX-T8048C256A.doc

1 CPU


馬偕醫學院 學生事務工作簡報

JLX



HMI COM1 RS SIEMENSE S7-200 RS485

(譯本)

上 海 农 商 银 行 理 财 产 品 风 险 揭 示 书 理 财 资 金, 则 客 户 面 临 产 品 期 限 延 期 调 整 等 风 险 8. 信 息 传 递 风 险 : 上 海 农 商 银 行 将 按 照 本 说 明 书 有 关 信 息 公 告 的 约 定, 进 行 产 品 信 息 披 露 客

Microsoft Word - 39.doc

untitled

Microsoft Word - 18-p0402-c3.doc

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结!

S9 2 S S S S S S

ISSN

最新执法工作手册(二百六十七)

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B

b) 350 /t /t /m 2 30 cm 6 mm /m 2 8 mm /m 2. a) c) /m 2. b) c) 2 d) 3.2 a) ( 2) P i (100 kn) N s 16 N s =

Transcription:

基于 Proteus 的液晶模块仿真李东勋, 沈文浩, 陈小泉 ( 华南理工大学制浆造纸工程国家重点实验室, 广东广州 510640) 摘要 : 本文介绍了 Proteus 中字符型液晶模块 LM016L 的结构及其控制器 HD44780 的指令系统, 完成了 LM016L 与单片机 80C51 的硬件接口电路设计及 HD44780 控制器的驱动编程, 实现了 LM016L 自定义字符的显示 最后简要介绍了 Proteus 仿真调试单片机的方法和步骤 关键字 :Proteus;HD44780; 液晶 ; 单片机 中图分类号 :TP368.2 文献标示码 :B Simulation of LCD Module Based on Proteus Li Dongxun, Shen Wenhao, Chen Xiaoquan (State Key Laboratory of Pulp & Paper Engineering, South China University of Technology, Guangzhou, Guangdong, 510640) Abstract:This paper has introduced the structure of LM06L, and the instructions of HD44780 which is a dot-matrix liquid crystal display controller. In this paper, the interface between LM06L and MCU 80C51, the driver of HD44780 and the display of our own defined characters are introduced. Finally, the debug steps by Proteus are described in a nutshell. Key words: Proteus, HD44780, LCD, MCU 1. 引言 Proteus [2] 软件是由英国 Lab Center Electronics 公司开发的 EDA 工具软件 由 ISIS 和 ARES 两个软件组成, 其中 ISIS 是一款便捷的电子系统仿真平台,ARES 是一款高级的布线编辑软件 Proteus 与其它 EDA 软件相比, 其最具特点的功能是电路仿真的互动性, 特别是单片机的仿真, 不仅可以直接在原理图的虚拟元件上编程, 而且可以实时调试 液晶显示器 (LCD) 具有功耗低 体积小 质量轻 功耗小的特点 点阵字符型液晶显示器把 LCD 控制器 点阵驱动器 字符存储器集成在一块印刷电路板上, 构成便于应用的液晶模块 这类液晶模块不仅可以显示数字 字符, 还可以显示各种图形符号以及少量自定义符号, 并且可以实现屏幕的上下左右滚动 文字的闪烁等功能 ; 人机界面友好, 使用操作也更加灵活 方便, 使其日益成为各种仪器仪表等设备的首选 本文以介绍 HD44780 为控制器的 LM016L 液晶模块的引脚结构 功能的基础上, 介绍 LM016L 与 MCS51 单片机的硬件接口电路 自定义字符的显示以及 Proteus 的仿真 2. 液晶模块简介 [1] 2.1 LM016L 的结构及功能 LM016L 液晶模块采用 HD44780 控制器 HD44780 具有简单而功能较强的指令集, 可以实现字符移动 闪烁等功能 LM016L 与单片机 MCU(Microcontroller Unit) 通讯可采用 8 位或者 4 位并行传输两种方式 HD44780 控制器由两个 8 位寄存器 指令寄存器 (IR) 和数据寄存器 (DR) 忙标志(BF) 显示数据 RAM(DDRAM) 字符发生器 ROM(CGROM) 字符发生器 RAM(CGRAM) 地址计数器(AC) IR 用于寄存指令码, 只能写入不能读出 ;DR 用于寄存数据, 数据由内部操作自动写入 DDRAM 和 CGRAM, 或者暂存从 DDRAM 和 CGRAM 读出的数据 BF 为 1 时, 液晶模块处于内部处理模式, 不响应外部操作指令和接受数据 DDRAM 用来存储显示的字符, 能存储 80 个字符码 CGROM 由 8 位字符码生成 5*7 点阵字符 160 种和 5*10 点阵字符 32 种,8 位字符编码和字符的对应关系, 可以查看参考文献 [3] 中的表 4 CGRAM 是为用户编写特殊字符留用的, 它的容量仅 64 字节 可以自定义 8 个 5*7 点阵字符或者 4 个 5*10 点阵字符 AC 可以存储 DDRAM 和 CGRAM

的地址, 如果地址码随指令写入 IR, 则 IR 自动把地址码装入 AC, 同时选择 DDRAM 或者 CGRAM 单元 LM016L 液晶模块的引脚功能见表 1 [1] : 2.2 控制指令 [3] 表 1 LM016L 引脚说明 管脚号名称电平功能描述 1 VSS 0V 2 VDD 5.0V 3 VEE 4 RS H/L H: 数据线上为数据信号 ;L: 数据线上为指令信号 5 RW H/L H: 读数据模式 ;L: 写数据模式 6 E H/L 使能信号端 7~14 DB0~DB7 H/L 数据线 通过对 HD44780 写入控制指令,HD44780 产生显示驱动信号来驱动 LM016L HD44780 的控制指令主要有 : 清除显示 (Clear Display) 地址归位(Return Home) 输入模式设定 (Entry Mode Set) 显示开/ 关控制 (Display On/Off Control) 功能设定(Function Set) 设定 CGRAM 的地址 (Set CGRAM Address) 设定 DDRAM 的地址 (Set DDRAM Address) 写 DDRAM/CGRAM(Write Date to DDRAM/CGRAM) 读忙标志和地址(Read Busy Flag and Address) 以及从 DDRAM 和 CGRAM 中读数据 (Read Date from DDRAM/CGRAM) 以上指令的具体格式及功能可以参阅文献 [3] 的 24 页 ~28 页 3. 基于 Proteus ISIS 7 的液晶模块仿真 3.1 接口设计运行 Proteus ISIS 7 进入设计界面, 依照图 1 所示在元件库中选择需要的元件 80C51 的 P0 口作为 8 位数据的输出端,P2.0 P2.1 P2.2 作为控制信号的输出端, 连接完成的电路如图 1 所示 图 1 电路原理图

3.2 软件设计电路图绘制好之后, 就可以编写 LM016L 的驱动程序 LM016L 的操作有两大类 : 读操作和写操作 一般情况下不需要从液晶中读取数据, 所以对液晶操作主要是写指令和写数据两个写操作, 对于忙标志 (BF), 采用延时的方法, 保证液晶模块有足够时间进行内部数据处理 在写源程序时, 需要根据液晶模块的时序图编写程序 LM016L 的时序如图 2 所示 [3] RS R/W T1 T2 E DB0 - DB7 T3 有效数据 T4 图 2 LM016L 写数据时序图 根据电路图 1 定义引脚 : RS BIT P2.0 ; RW BIT P2.1 ; LCDE BIT P2.2 下面是写指令和写数据的源代码 : (1) 写指令子程序 WRITE_COMMAND 入口参数 : 指令字放在累加器 A 中 WRITE_COMMAND:; 写指令子程序 SETB LCDE ; 设置使能信号 CLR [4] LCDE ; 清使能信号 LCALL DELAY ; 延时 CLR RS ;RS=0,RW=0 写指令 CLR LCDE CLR RW MOV P0, A ; 送指令字 (2) 写数据子程序 WRITE_DATA 入口参数 : 数据放在累加器 A 中 WRITE_DATA: ; 写数据子程序 SETB LCDE ; 设置使能信号 CLR LCDE ; 清使能信号 LCALL DELAY ; 延时 SETB RS ;RS=1,RW=0 写数据 CLR LCDE CLR RW MOV P0, A ; 送数据 液晶模块初始化主要包括 : 功能设定 (Function Set) 显示开/ 关控制 (Display On/Off Control) 清除显示(Clear Display) 进入点设定(Entry Mode Set) INITIAL_LCD: ; 液晶模块初始化 MOV A,#06H ; 输入方式设置 ;8 位接口, 两行显示,5*7 点阵字符 MOV A,#38H MOV A,#01H ; 清屏指令 MOV A,#0EH ; 显示开关设置 3.3 自定义字符及其显示 CGRAM 是用户编写特殊字符用的, 它的容量仅 64 字节, 地址为 00~3FH 定义一个

5*7 点阵字符需要 8 个字节, 这 8 个字节由 CGRAM 地址的高 3 位确定, 相同的为一组 例如 : 地址为 000XXX( 二进制形式 ) 的为一组 因此 CGRAM 可以定义 8 个 5*7 点阵字符 每个字节的高 3 位可以留作数据存储器, 低 5 位用来存储字模信息 定义字模时, 液晶显示的点为 1, 不显示的点为 0 自定义字符对应的 8 位编码规则是高 4 位为 0, 低 3 位为 CGRAM 的高 3 位, 编码中第 4 位可以任意, 不影响显示 对于自定义的 5*10 字符也有类似的规则 利用 3.2 提供的三个子程序, 让 LM016L 显示 学习 MCU 程序清单如下 : MAIN: ; 显示 学习 MCU RS BIT P2.0 RW BIT P2.1 LCDE BIT P2.2 LCALL INITIAL_LCD; 初始化液晶 LCALL WRITE_CGRAM MOV A,#80H; 设置 DDRAM 地址 LCALL WRITE_CHAR SJMP $ DELAY: ; 延时子程序 :DELAY MOV R6,#0AH LOOP2: MOV R7,#27H LOOP1: DJNZ R7,LOOP1 DJNZ R6,LOOP2 ; 在 CGRAM 写 学习 字模子程序 WRITE_CGRAM: MOV A,#40H; 设置 CGRAM 地址 MOV R1,#10h MOV DPTR,#TABLE LOOP_CGRAM: 3.4 Proteus 仿真 MOV A,#00H MOVC A,@A+DPTR LCALL WRITE_DATA INC DPTR DJNZ R1,LOOP_CGRAM ; 显示 5 个字符子程序 WRITE_CHAR: MOV R1,#5H MOV DPTR,#TABLE_DISP LOOP_MAIN: MOV A,#00H MOV A,@A+DPTR INC DPTR LCALL WRITE_DATA DJNZ R1,LOOP_MAIN TABLE: DB15H,1FH,11H,0EH,02H,1FH,02H,00H ;" 学 " 字模 DB1FH,01H,09H,05H,09H,11H,03H,00H ;" 习 " 字模 TABLE_DISP: ; 学习 MCU 字符码 DB 00H, 01H, 4DH, 43H, 55H END ; 程序结束 首先建立源程序文件, 然后选择 Source/Build All 进行源程序文件的编译 如果源程序有语法错误, 编译系统会给出可能出错的地方, 改正后, 重新编译, 一直到没有错误为止 最后打开 80C51 的属性面板, 在 Program File 的属性栏中添加编译完成的 HEX 文件 在工作区的左下方可以看到交互式仿真的控制按钮 控制按钮如图 3 所示 图 3 交互式控制按钮 单击运行按钮, 启动 Proteus ISIS 仿真 仿真结果如图 4

图 4 仿真结果单击暂停按钮或者选择 Debug 菜单下的 Start/Restart Debug 就可以进行程序的调试 Proteus 处于调试状态时, 在 Debug 菜单下可以选择查看 80C51 单片机内部数据存储区和特殊功能寄存器区 点击单步执行, 可以观察各寄存器和内部数据存储区的变化情况, 方便程序的查错和调试 4. 结束语 利用 Proteus 实现了对 LM016L 液晶模块的仿真, 实现了 学习 MCU 的显示 Proteus 为学习单片机提供了很好的软件平台, 使初学者可以抛开电路设计中的一些细枝末节, 快速掌握单片机的核心内容 本文的创新点 : 由于 HD44780 的字库中没有汉字字符, 所以在实际运用中有一定的局限 本文介绍了如何自定义汉字字模及如何确定自定义汉字的编码, 并给出自定义字符显示程序实例和运行结果 参考文献 : [1] 公茂法, 马宝甫, 孙晨. 单片机人机接口实例集 [M]. 北京航空航天大学出版社,1998 [2] 周润景, 张丽娜, 刘印群.Proteus 入门实用教程 [M]. 机械工业出版社,2007 [3]HITACHI.HD44780U (LCD-II) 英文参考手册 [4] 薛钧义, 张彦斌.MCS-51(96) 系列单片微型计算机及其应用 [M]. 西安交通大学出版社, 1997 [5] 刘红, 覃光华, 汪道辉. 基于不带字库的图形 LCD 模块汉子显示解决方案 [J]. 微计算机信息,2004,12 [6] 王伟, 卢博友, 刁修慧, 刘平. 基于嵌入式系统的 LCD 汉字显示 [J]. 微计算机信息, 2008,6-2:67-69 [ 作者简介 ] 李东勋 (1983-), 男 ( 汉族 ), 山西运城人, 硕士研究生, 主要研究方向为轻化工过程计算机模拟与控制 沈文浩 (1967-), 女 ( 汉族 ), 重庆人, 博士, 副教授, 主要研究方向为轻化工过程计算机模拟与控制 陈小泉 (1963-), 男 ( 汉族 ), 湖南人, 博士, 副教授, 主要研究方向为纳米 TiO 2 的化学合成与应用 Biography: Li Dongxun(1983- ),Male (Han), Shanxi Yuncheng, Master. Computer simulation and control of chemical engineering.

Shen Wenhao (1967- ), Female (Han), Chongqing, Doctor, Associate Professor. Computer simulation and control of chemical engineering. Chen Xiaoquan (1963- ), Male (Han), Hunan, Doctor, Associate Professor. Chemosynthesis and Applications of nano-sized TiO 2 联系方式 : 删除的内容 : 第一作者姓名 : 李东勋通信地址 : 广州市天河区五山路 381 号华南理工大学制浆造纸工程国家重点实验室邮编 :510640 联系电话 :15914316959 E-mail: liphidx@yahoo.cn