西华大学智能化电子系统设计——单片机液晶显示_第1页
西华大学智能化电子系统设计——单片机液晶显示_第2页
西华大学智能化电子系统设计——单片机液晶显示_第3页
西华大学智能化电子系统设计——单片机液晶显示_第4页
已阅读5页,还剩22页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1前言(绪论) .11.1单片机液晶显示设计课题背景 .11.2单片机液晶显示的意义 .11.3课题完成的功能 .22总体方案设计 .32.1方案比较 .32.2方案论证 .42.3方案确立 .43单元模块设计 .53.1各单元模块功能介绍 .53.2特殊器件的介绍 .103.3各单元模块的联接 .124软件设计 .134.1功能实现 .134.2主程序流程图 .165系统调试 .175.1系统硬件调试 .175.2系统软件调试 .175.3系统仿真调试结果 .176结论.197总结与体会 .207.1设计小结 .207.2收获体会 .207.3致谢 .218参考文献 .22附录 1相关设

2、计图 .23附录 2元器件清单 .24附录 3相关设计软件 .251 前言(绪论)1.1单片机液晶显示设计课题背景单片机液晶显示主要是指单片机以及由单片机驱动的点阵式液晶显示屏所组成的一个显示系统。液晶显示器与 CRT(cathode-ray tube ,阴极射线管 ) 、 LED(light-emittingdiode ,发光二级管 ) 或等离子显示器相比是一种低功耗的平面显示器件。它在车内广告、在型智能广告、可视电话、仪表盘、空调、洗衣机和其它低功耗电子产品中得到广泛应用。老式七段 LCD(Liquid Crystal Display 液晶显示屏)显示的字符数量有限,只能用于简单显示,而对

3、于比较复杂的字符、图形无法表达。然而在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字。由于物探仪器的多功能化、智能化、并且普遍采用人机对话的交互方式,需要能够显示更丰富信息和通用性较强的显示器,便于开发和应用,并要求其体积小、重量轻、功耗小。图形点阵式 LCD不仅可以显示字符、 数字,还可以显示各种图形、 曲线及汉字,并且可以实现屏幕画面滚动、分区开窗口、反转、闪烁、位操作等功能,可以显示用户自定义的任意符号以及曲线、图形等,是信息处理、信息输出的重要手段之一,具有广泛的应用前景。1.2单片机液晶显示的意义社会意义:液晶显示器 (LCD)具有功耗低、体积小、重量

4、轻、超薄等许多其它显示器无法相比的优点。近几年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品中。液晶显示器分为字符型 LCD显示模块和点阵型 LCD显示模块。字符型 LCD是一种用 5 7 点阵图形来显示字符的液晶显示器。 点阵型液晶可显示用户自定义的任意符号和图形,并可卷动显示,它作为便携式单片机系统人机交互界面的重要组成部分被广泛应用于实时检测和显示的仪器仪表中。支持汉字显示的点阵型液晶在现代单片机应用系统中是一种十分常用的显示设备,汉字BP机、手机上的显示屏就是点阵型LCD。点阵型 LCD是现代单片机应用系统中最常用的人机交互界面之一。现实意义:我们选择的字符移动显示,是基于 L

5、CD1602液晶显示屏,在 AT89C52单片机实验系统上实现。利用本次课程设计,完成 1602LCD字符移动显示的设计,我们希望能够触类旁通,灵活应用其他型号的液晶显示器。 将来如果有机会从事这方面的工作,要运用的液晶显示器不一定是 LCD1602,但这次毕业设计中学到的东西为此打下了良好的基础,相信自己能做好这方面的工作。1.3课题完成的功能本设计是基于 AT89C52芯片单片机为主控芯片, 结合 1602 液晶显示模板等外围电路,通过软件程序,来实现液晶显示移动字符。以及控制显示内容的水平移动。用 LCD显示一个字符时比较复杂,因为一个字符由6 8 或 88 点阵组成,既要找到和显示屏幕

6、上某几个位置对应的显示 RAM区的 8 字节,还要使每字节的不同位为“ 1”,其它的为“ 0”,为“ 1”的点亮,为“ 0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说, 显示字符就比较简单了, 可以让控制器工作在文本方式,根据在 LCD上开始显示的行列号及每行的列数找出显示 RAM对应的地址,设立光标,在此送上该字符对应的代码即可。2 总体方案设计2.1 方案比较本设计主要是通过控制 AT89C52单片同的引脚来控制 LCD1602显示给定的符号、字母、数字,以及控制显示内容的垂直移动和水平移动。由于 LCD1602的字符有相应的字符代码,不用编写字库,因此在设计时对方案

7、的选择就只考虑单片机与显示器的数据传送类型,即串行通信和并行通信。方案一:串行通信串行通信是反映一个数据的所有位按一定的顺序和方式, 一位一位地通过串行输入 / 输出口进行传送。由于串行通信是数据的逐位顺序传送,在进行通信时,只需一根传输线,其传送的数据位多且通信距离长。串行通信方式如图所示。图 2.1串行通信方式方案二:并行通信采用并行传送方式在微机与外部设备之间进行数据传送的接口叫并行接口。主要特点:一是同时并行传送的二进位数就是数据宽度;二是在计算机与外设间采用应答式的联络信号来协调双方的数据操作。传送的数据位 1-128 位,一般为 8 位。单片机与外部设备之间也通常采用 8 位并行

8、I/O 接口进行短距离的通信其传输距离近, 传送方式单一,每次传送一个字或一个字节。并行通信方式如图所示。图 2.2并行通信方式2.2 方案论证1.串行传输是将组成字符的各位串行地发往线路。其主要特点:(1)传输速度较低,一次一位;(2)通信成本也较低,只需一个信道。(3)支持长距离传输,目前计算机网络中所用的传输方式均为串行传输。串行数据传输时,数据是一位一位地在通信线上传输的,先由具有几位总线的计算机内的发送设备,将几位并行数据经并 - 串转换硬件转换成串行方式,再逐位经 传输线到达接收站的设备中,并在接收端将数据从串行方式重新转换成并行方式,以供接收方使用。串行数据传输的速度要比并行传输

9、慢得多,但对于覆盖面极其广 阔的公用电话系统来说具有更大的现实意义。2. 并行传输是将 字符编码的各位(比特)同时传输。其主要特点:(1)传输速度快 : 一位(比特)时间内可传输一个字符;(2)通信成本高 : 每位传输要求一个单独的信道支持;因此如果一个字符包含8 个二进制位,则并行传输要求8 个独立的信道的支持;(3)不支持长距离传输 : 由于信道之间的电容感应,远距离传输时,可靠性较低。并行通信传输中有多个数据位,同时在两个设备之间传输。发送设备将这些数据位通过 对应的数据线传送给接收设备,还可附加一位数据校验位。接收设备可同时接收到这些数据,不需要做任何变换就可直接使用。 并行方式主要用

10、于近距离通信。 计算 机内的总线结构就是并行通信的例子。这种方法的优点是传输速度快,处理简单。2.3 方案确立由于本设计的传输距离不远,所用 I/O 口不多,所以方案二既可满足课程设计的基本要求又能充分发挥其优势,电路简单,易控制,所以采用该方案。图 2.3系统总体方框图3 单元模块设计3.1 各单元模块功能介绍(1)单片机模块本控制系统以 AT89C52单片机作为主控制器,因此,对于该单片机的主要结构和功能必须要有一个详细的了解。下图为 AT89C52管脚图:图 3.1 AT89C52 管脚图各引脚功能分类介绍:1. Vcc :电源。2. GND:地线。3. P0:是一个 8 位漏极开路的双

11、向 I/O 口。作为输出口时,每个引脚可吸入 8 个 TTL输入。当把“ 1”写入 P0 口的引脚时,该引脚可以作为高阻输入。当访问外部程序存储器和数据存储器时, P0 口也可以作为复用的低8 位地址 / 数据总线。在此状态下, P0 口有内部上拉电路。 P0 口也在 Flash 编程时,接受代码字节,而在程序校验期间,输出代码字节。在程序校验期间需要外部上拉电路。4. P1 口:是一个具有内部上拉电路的 8 位双向 I/O 口。 P1 口的输出缓冲器能够吸入/ 放出 4 个 TTL 输入。当对 P1 口的引脚写“ 1”的时候,它被内部上拉电路拉高,并能够做输入使用。作为输入时,由于内部上拉电

12、路的作用,由外部拉低的P1 口引脚放出电流(IIL )。此外,P1.0 和 P1.1 还可以作为定时器 / 计数器 2 的外部计数输入(P1.0/T2 )和控制输入( P1.1/T2EX)。5. P2 口:是一个具有内部上拉电路的 8 位双向 I/O 口,P2 口 的输出缓冲器能够吸入/ 放出 4 个 TTL 输入。当对 P2 口写引脚“ 1”时,它被内部上拉电路拉高,并能够做输入使用。此时,由于内部上拉电路的作用,由外部拉低的P1 口引脚放出电流( IIL )。当访问外部程序存储器及使用 16 位地址的数据存储器( MOVX DPTR)时, P2 口输出高 8 位地址。在这种情况下,当置“

13、1”时,P2 口使用强大的内部上拉电路。当访问使用 8 位地址的外部数据存储器( MOVX RI)时, P2 口输出 P2 口锁存器的内容。在 Flash 编程及程序检验期间, P2 口也接收高 8 位地址及一些控制信号。6. P3 口:是一个具有内部上拉电路的 8 位双向 I/O 口,P3 的输出缓冲器能够吸入 /放出 4 个 TTL 输入。对 P2 口写引脚“ 1”时,它被内部上拉电路拉高,并能够做输入使用。此时,由于内部上拉电路的作用,由外部拉低的P1 口引脚放出电流(IIL)。P3 口也提供 AT89C52各种专用功能。在 Flash 编程极检验期间, P3口也接受一些控制信号。7.

14、RET :复位输入。当振荡器工作时,在此引脚上出现两个机器周期的高电平将使系统复位。8. ALE/PROG:当访问外部存储器时, ALE(允许地址锁存)是一个用于锁存地址的低 8 位字节的输出脉冲。在 Flash 编程期间,此引脚也用于输入编程脉冲( PROG)。在正常操作情况下, ALE以振荡器频率的 1/6 的固定速率发出脉冲,它可以用做对外输出时钟。然而要注意的是,每当访问外部数据存储器时,将跳过一个 ALE脉冲。9.PSEN:外部程序存储器读选通信号。每当 AT89C52在对外面程序存储器读取指令时,每个机器周期将 PSEN激活两次。在此期间内,每当访问外部存储器时,将跳过两个 PSE

15、N信号。10. EA/VPP:访问外部程序存储器允许端。为了能够从外部程序存储器的0000H至 FFFF单元中读取指令, EA必须接地。然而要注意的是,若对加密位1 进行编程,则在复位的时候, EA 的状态在内部被锁存。执行内部程序 EA应接 VCC。当选择 12V 编程电源时,在 Flash 编程期间,这个引脚可接 12V编程程序。11. XTAL1 :振荡器反向放大器输入端和内部时钟发生器的输入端。12. XTAL2 :振荡器反向放大器输出端。(2) 显示模块在本设计中,我们采用的是LCD1602模块作为显示器。图 3.2 1602LCD 管脚图1602LCD采用标准的 14 脚(无背光)

16、或 16 脚(带背光)接口,各引脚接口说明如下图所示 :图 3.3 1602LCD 引脚说明第 1 脚: VSS为地电源。第 2 脚: VDD接 5V 正电源。第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第 4 脚: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址, 当 RS为低电平 R/W为高电平时可以读忙信号,当 RS为高电平 R/W为低

17、电平时可以写入数据。第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 7 14 脚: D0 D7为 8 位双向数据线。第 15 脚:背光源正极。第 16 脚:背光源负极。1602 液晶模块内部的控制器共有11 条控制指令,如图所示:图 3.4 1602LCD 控制指令1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1 为高电平、 0 为低电平)指令1:清显示,指令码 01H,光标复位到地址 00H位置。指令2:光标复位,光标返回到地址 00H。指令3:光标和显示模式设置 I/D :光标移动方向,高电平右移,低电平左移S: 屏幕上

18、所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D :控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C :控制光标的开与关,高电平表示有光标,低电平表示无光标B :控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C :高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示F: 低电平时显示 5x7 的点阵字符,高电平时显示5x10 的点阵字符。指令7:字符发生器 RAM地址设置。指令8:DDRAM地址设置。指令 9:读忙信号

19、和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令 10:写数据。指令 11:读数据。图 3.5 读操作时序图 3.6 写操作时序图 3.7 RAM 地址映射(3)时钟电路模块在引脚 XTAL1和 XTAL2外接晶体振荡器或陶瓷谐振振荡器,构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。晶振通常选用12MHZ或 11.0592MHZ,如图 4 所示。振荡周期:晶振的振荡周期,又称时钟周期,为最小的时序单位。状态周期:振荡频率经单片机内的二分频器分频后提供给片内 CPU的时钟周期。因此

20、一个状态周期包含 2 个振荡周期。机器周期: 1 个机器周期由 6 个状态周期 12 个振荡周期组成,是计算机执行一种基本操作的时间单位。指令周期:执行一条指令所需的时间。一个指令周期由 1-4 个机器周期组成,依据指令不同而不同。(4)复位电路模块复位引脚RST 通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声。复位电路通常采用上电自动复位和按钮复位两种方式。 在每个机器周期的 S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。本设计选择了按键复位如图 , 在系统运行时, 按一下开关, 就在 RST 断出现一段高电平,使时钟电路图器件复位。

21、 在 RST 上输入返回低电平以后, 就退出复位状态开始工作。C1U122p19XTAL1P0.0/AD039X138P0.1/AD1CRYSTALP0.2/AD2371836C2XTAL2P0.3/AD335P0.4/AD434P0.5/AD533P0.6/AD622p932RSTP0.7/AD7R1P2.0/A82122P2.1/A92310kP2.2/A10C329PSENP2.3/A112410u30ALEP2.4/A12253126EAP2.5/A1327P2.6/A1428P2.7/A151P1.0/T2P3.0/RXD10211P1.1/T2EXP3.1/TXD312P1.2P3

22、.2/INT0413P1.3P3.3/INT1514A0P1.4P3.4/T0615P1.5P3.5/T1A1716P1.6P3.6/WRA2817P1.7P3.7/RDAT89C52图 3.8晶振与复位电路3.2 特殊器件的介绍(1)设计中使用了74HC138片选译码器74HC138 作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统, 在高性能存贮器系统中, 用这种译码器可以提高译码系统的效率。将快速赋能电路用于高速存贮器时 , 译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。 HC138 按照三位

23、二进制输入码和赋能输入条件 , 从 8 个输出端中译出一个低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器, 扩展成 24 线译码器不需外接门 ; 扩展成 32 线译码器 , 只需要接一个外接倒相器。 在解调器应用中 , 赋能输入端可用作数据输入端。U41AY015214BY1313CY212Y311Y4610E1Y549E2Y657E3Y774HC138图 3.9 74HC138 管脚图管脚功能如下:图 3.10 74HC5138 管脚功能表(2)74HC57374HC573包含八进制 3 态非反转透明锁存器, span 是一种高性能硅门CM

24、OSspan器件。 spanSL74HC573 跟 LS/AL573 的管脚一样。器件的输入是和标准CMOS输出兼容的,加上拉电阻他们能和LS/ALSTTL输出兼容。图 3.11 74HC573 管脚图下面是 74HC573各个管脚的功能图 3.12 74HC573 管脚功能表3.3 各单元模块的联接RP1LCD1LM016LRESPACK-8123456789SD EC1SD EVV VU112322p19XTAL1P0.0/AD039X138P0.1/AD1CRYSTALP0.2/AD2371836C2XTAL2P0.3/AD335P0.4/AD434P0.5/AD533POTP0.6/A

25、D622p932RSTP0.7/AD7R1P2.0/A82122P2.1/A910k23P2.2/A102924C3PSENP2.3/A11U310u3025ALEP2.4/A1211531EAP2.5/A1326AY0U227214P2.6/A14BY1283132P2.7/A15CY2D0Q0123Y3D1Q1110114P1.0/T2P3.0/RXDY4D2Q22116105P1.1/T2EXP3.1/TXDE1Y5D3Q3312496P1.2P3.2/INT0E2Y6D4Q4413577P1.3P3.3/INT1E3Y7D5Q55148A0P1.4P3.4/T0D6Q661574HC1

26、389P1.5P3.5/T1D7Q7A1716P1.6P3.6/WRA281711P1.7P3.7/RDLE1OEAT89C5274HC573S W01 234 56 7RREDDDDDDDD45678 9012 34111110 1 2 A A ARV11918171615141312图 3.13电路连接图4 软件设计根据要求在要求在 LCD1602上显示不断移动的字符串。移动到屏幕中间后,字符闪烁 3 次,然后在循环移动、闪烁。在 Keil 中进行编程。4.1 功能实现程序如下:#include#define uchar unsigned char#define uint unsigned

27、 intuchar code table=XIHUA University;uchar code table1=Welcome to You;uchar code table2=;sbit lcden=P17; /液晶使能端sbit lcdrs=P15; /液晶数据命令选择端sbit rw=P16;/液晶读写选择端uchar num;void delay(uint z) /延时uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void delay1(uint z) / 延时uint x,y;for(x=z;x0;x-)for(y=5;y0;y-);void wri

28、te_com(uchar com) /写命令lcdrs=0;P0=com;delay(1);lcden=1;delay(1);lcden=0;void write_data(uchar date) / 写数据lcdrs=1;P0=date;delay(1);lcden=1;delay(1);lcden=0;void init() /液晶初始化P2=0x0;delay(5);lcden=0;rw=0;write_com(0x38); / 设置 16X2 显示, 5X7点阵, 8 位数据接口 write_com(0x0c); / 设置开显示,不显示光标 write_com(0x06); / 写一个

29、字符后地址指针加 1 write_com(0x01); / 显示清 0,数据指针清 0void flash() /闪烁init();write_com(0x80+0x0);for(num=0;num16;num+)write_data(table2num);write_com(0x80+0x40);for(num=0;num16;num+)write_data(table2num);delay1(5000);write_com(0x80+0x0);for(num=0;num16;num+)write_data(tablenum);write_com(0x80+0x40);for(num=0;n

30、um14;num+)write_data(table1num);delay1(5000);void display() /字符显示init();write_com(0x80+0x10);for(num=0;num16;num+)write_data(tablenum);delay(1);write_com(0x80+0x50);for(num=0;num14;num+)write_data(table1num);delay(1);for(num=0;num24;num+)write_com(0x1c);delay(350);void main()display();flash();flash(

31、);flash();4.2 主程序流程图图 4.1 主程序流程5 系统调试5.1 系统硬件调试一个单片机应用系统经过方案论证、硬件设计、印刷版的布局、加工和焊接包括软件的编制,通常不可能一次成功,不可避免地要出现一些错误,这就要靠调试来解决。调试的次序一般是先易后难,后面的调试应尽可能采用以前已调好的电路,各单元电路(或称作单元模块)都调好以后,再进行系统总调。对于本次设计,其硬件电路的调试可以按如下步骤进行。1)硬件电路的总体检查在一块电路试验板上,焊接好电路,按实际电路图插好元器件,连好线。在接上电源之前,用万用表粗略检查电路的正确性,尤其是要检查电源和地之间的电阻。确保电源和地无故障之后

32、, 再通电,然后检查电源电压数值的正确性。 排除可能出现的故障后,再进行各单元电路调试。2)单元电路调试按照前面设计的单片机最小系统和电源,焊接并插上相应的元器件,连好线,检查正确无误后,接上电源。5.2 系统软件调试首先,将源程序进行汇编,若汇编未通过,则汇编程序会提示出错类型,比如操作码错、缺少操作数、跳转出范围、符号未定义、缺少“,”等常见错误。经过修改后再进行汇编,若这时提示汇编成功,保存目标文件,则说明源程序的指令使用没有错误。但并不表示程序没有错误,还必须经过仿真调试,仿真通过才说明程序设计正确。接下来要进行实物仿真调试,在电路板上插好仿真头,接好通信电缆,接通电源,运行仿真程序。在进行实物仿真之前, 要选择正确的仿真头、 通信口、通信协议和波特率等,并设置用户程序空间和数据空间所处的位置(用户板上或仿真头) 。然后,装入显示程序,汇编并执行。检查 LCD显示器上显示的结果是否正确。5.3 系统仿真调试结果在 Proteus ISIS编辑窗口中,单击鼠标右键将AT89C52单片机选中并单击鼠标左键,弹出“ Edit Component ”对话框,在此对话框的“ Clock Frequency ”栏中设置单片机晶振频率为 12MHz,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论