单片机LCD12864显示系统课程设计

  • 格式:doc
  • 大小:339.50 KB
  • 文档页数:25

目录 一、概述 ...................................................... 2 二、系统总体方案及硬件设计 .................................... 2 系统框图 .................................................... 3 单片机最小系统............................................. 4 显示电路 ................................................... 6 按键控制电路............................................... 6 三、系统软件设计 .............................................. 9 软件设计概述 ................................................ 9 汉字显示 ................................................... 10 上下移屏 .................................... 错误!未定义书签。 左右移屏 ................................... 错误!未定义书签。 四、 课程设计体会 ............................. 错误!未定义书签。 五、参考文献 ................................................. 13 六、附录 ..................................................... 14 总电路图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 总程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 一、概述 随着社会的发展,趣来趣多的地方需要应用显示功能,各种数字显示仪器中的显示、广告牌、数码产品等,传统的数码管显示已经远远不能满足各行各业的需求。基于单片机的LCD显示是一种用单片机来控制的一种显示系统,它不仅能显示种各数字、字母、还能显示各种字体的汉字以及一些简单的图象,使用起来极为方便,只要通过对单片机写入一定的程序来控制LCD的显示即可完成,根据程序的不同而产生不同不效果以满足各种不同需求。 本文围绕设计以单片机作为LCD液晶显示系统控制器为主线,基于单片机AT89S51,采用的液晶显示控制器的芯片是SED1520,主要实现由按键控制的中文显示、图片显示、滚屏以及左右移动功能。同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工作过程,并详细阐述了程序的各个模块。本系统是以单片机的C语言来进行软件设计,指令的执行速度快,可读性强。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。其次阐述了部分程序的流程图和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。

二、 系统总体方案及硬件设计

系统框图 本系统由电源部分、单片机最小系统部分、LCD12864显示电路部分、按键控制部分组成。其中,单片机最小系统部分包括晶振电路、复位电路。

单片机最小系统

、AT89S52单片机 89S51各引脚功能介绍: 1. VCC: 2. 89S51 电源正端输入,接+5V。 3. VSS: 4. 电源地端。 5. XTAL1: 6. 单芯片系统时钟的反相放大器输入端。 7. XTAL2: 8. 系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。 9. RESET: 10. 89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行

AT89S51 程序。 11. EA/Vpp: 12. "EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。 13. ALE/PROG: 14. 端口3的管脚设置: 15. :RXD,串行通信输入。 16. :TXD,串行通信输出。 17. :INT0,外部中断0输入。 18. :INT1,外部中断1输入。 19. :T0,计时计数器0输入。 20. :T1,计时计数器1输入。 21. :WR:外部数据存储器的写入信号。 22. :RD,外部数据存储器的读取信号。

复位电路 电路图如下: 上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。

图单片机复位电路 、时钟电路 时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。

电路图如下:

图晶振电路 显示电路 管脚名称及功能: 管脚号 管脚名称 电平 管脚功能描述

1 VSS 0V 电源地 2 VCC ~+5V 电源正 3 V0 - 对比度(亮度)调整

4 RS(CS) H/L RS=“H”,表示DB7——DB0为显示数据 RS=“L”,表示DB7——DB0为显示指令数据

5 R/W(SID) H/L R/W=“H”,E=“H”,数据被读到DB7——DB0 R/W=“L”,E=“H→L”, DB7——DB0的数据被写到IR或DR

6 E(SCLK) H/L 使能信号 7 DB0 H/L 三态数据线 8 DB1 H/L 三态数据线 9 DB2 H/L 三态数据线 10 DB3 H/L 三态数据线 11 DB4 H/L 三态数据线 12 DB5 H/L 三态数据线 13 DB6 H/L 三态数据线 14 DB7 H/L 三态数据线 15 PSB H/L H:8位或4位并口方式,L:串口方式(见注释1) 16 NC - 空脚 17 /RESET H/L 复位端,低电平有效(见注释2) 18 VOUT - LCD驱动电压输出端 19 A VDD 背光源正端(+5V)(见注释3) 20 K VSS 背光源负端(见注释3) 电气参数:

项目 符号 最小 典型 最大 单位 电源电压 VDD-VSS V 液晶驱动电压 VDD-VADJ Ta=0

Ta=25

Ta=50

输入信号电压 VIH VDD - VDD+ VIL 0 - VDD LCM工作电流 IDD - 3 8 mA

背光驱动电流 ILED - 60 80 液晶驱动电流 IEE 基本指令系统: 模块控制芯片提供两套控制命令,基本指令和扩充指令如下:

指 指令码 功 能

令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0 清除显示 0000000001将DDRAM填满"20H",并且设定DDRAM的地

址计数器(AC)到"00H"

地址归位 000000001X设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容

显示状态开/关 0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许

进入点设定 00000001I/D S指定在数据的读取与写入时,设定游标的

移动方向及指定显示的移位

游标或显示移位000001S/C R/L XX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容