ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:392.18KB ,
资源ID:12157087      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-12157087.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的LCD显示系统软件设计.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于单片机的LCD显示系统软件设计.docx

1、基于单片机的LCD显示系统软件设计本 科 毕 业 设 计(论文)基于单片机的LCD显示系统软件设计Software Design of LCD Display System Based on Single-Chip Microcomputer总计: 毕业设计(论文)27页表 格: 6 个插 图 : 17 幅学院(系): 电子与电气工程系 专 业: 电子信息工程 基于单片机的LCD显示系统软件设计摘 要本文撰写的是基于单片机的LCD显示系统的软件设计,主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的软件设计。本设计以单片机控制LCD液晶显示系统为主线,重点对其中四大模块:串口模块,看门

2、狗模块,键盘模块和液晶显示模块的软件设计分别做了详细介绍。采用2片74LS244将单片机串口扩展为4路串口,并由键盘控制分别实现RS485、TTL UART、RS232、USB串口与单片机之间的通信,采用SMC1602A实现字符的液晶显示,并由看门狗模块对单片机运行状态进行实时监测。软件设计重点阐述看如何通过编程实现上述各模块的功能。其次阐述了部分程序的流程图和实现过程。同时并附以系统结构框图加以说明。关键词单片机;串口通信;LCD显示;看门狗Software Design of LCD Display System Based on Single-Chip MicrocomputerAbst

3、ract: This article is written revivification of LCD display system software design, the leading idea is a soft, hardware, hardware based on a functional modules of software design. This article on a monolithic integrated circuits design LCD display system as a controller, the emphasis on the one in

4、charge of the four modules : serial port, the guard dog, the keyboard and LCD modules shows that software design are made a detailed presentation. The two pieces of string mouth 74LS244 monolithic integrated circuits will be extended to four road serial port, and the keyboard control, and achievingR

5、S485,TTL UART, RS232,USB and the series monolithic integrated circuits, the use of communication SMC1602A the LCD display, and the watchdog module to monolithic integrated circuits operation of state for real-time monitoring. Software was designed to focus on how to implement these modules program f

6、eatures.The second part of the application processes and implementation.Key words: SCM;serial communication;LCD display; watchdog1 引言LCD液晶显示技术作为人机交互的主流方式,正广泛应用于家电、手机、个人电脑等显示终端。随着电子技术的发展,单片机技术的应用产品日益增多,研究以单片机作为主控制器的LCD液晶显示器控制系统意义重大。展望未来,急速的响应速度将会成为个性化LCD的发展趋势,越来越多的单片机正如雨后春笋般涌现。越来越多的LCD向着成本低廉核心系统成本低廉,

7、相对于用户的经济水平来说比较容易接受的方向发展。其次要求操作简单,友好的人机界面通过串口与PC机相连接,用户在使用时只要按动键盘上的数字就可以显示了。同时要求结构轻巧,系统的硬件设计上充分考虑了便携性,整个系统的主要就是单片机,LCD和键盘,而它们的所占空间小,重量轻等特点。1.1 研究现状及发展前景当今是一个信息化的时代,信息的重要性是不言而喻的,获取手段显得尤其重要。人们所接受的信息有70%来自于人的视觉,无论用何种方式获取的信息最终需要有某种显示方式来表示。在当代显示技术中,主流的有LED显示屏及LCD液晶显示,而在这些显示技术中,尤其以液晶显示器LCD(Liquid Crystal D

8、isplay)为代表的平板显示器发展最快、应用最广。LCD是典型的光电器件,它以材料科学为基础,综合利用了精密机械、光电及计算机技术,并正在微机械、微光学、纤维光学等前沿领域研究基础上,向高集成化、智能化方向发展1。如果说目前主流显示器市场上是纯平显示器的天下的话,那么液晶(LCD)显示技术就是当之无愧的明日之花了。液晶显示器的原理是利用液晶的物理特性,通电时导通,排列变得有秩序,使光线容易通过;不通电时排列混乱,阻止光线通过。通过和不通过的组合就可以在屏幕上显示出图像来。由于LCD本身的工作原理,也就决定了液晶显示具有厚度薄、适于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广

9、泛地应用在便携式电脑、数码摄像机、PDA移动通信工具等众多领域。与传统的显示技术相比,液晶(LCD)显示器具有很多重要的优越性。首先LCD显示器不使用电子枪轰击方式来成像,因此它完全没有辐射危害,对人体安全;同时LCD显示器不闪烁、颜色失真近乎与零;而且LCD显示器工作电压低、功耗小、重量轻、体积小等等优点。1.2 设计内容该题目设计主要包括LCD显示接口技术和单片机接口技术。LCD作为显示界面在嵌入式系统获得了广泛的应用,不同的系统需要的接口、数据显示格式和通信距离不同,本设计通过单片机实现与LCD接口,实现TTL串口、RS232、RS485和USB接口等不同接口和通信距离,通过单片机编程实

10、现不同的数据格式,从而简化LCD的应用。控制系统的CPU采用单片机AT89C51,用来处理液晶显示模块显示的内容及键盘与液晶模块的通信和处理扩展四路串口与主机的通信,同时保证与键盘的通信,获取键盘的指令,通过内部译码传送给液晶显示模块;也为单片机扩展了EEPROM,用来扩展单片机的闪存空间;看门狗用来保证单片机能够正常工作,防止系统进入死循环。图1 LCD液晶显示系统框图本设计整个系统框图如图1所示,软件部分设计分为四个模块:串口模块转换软件设计,液晶模块显示软件设计,键盘模块软件设计,看门狗模块和EEPROM软件设计。串行端口通过74LS244转换为4路串口分别实现与RS232,TTL UA

11、RT,RS485和USB的连接通信。液晶显示模块采用SMC1602A芯片,键盘采用23的矩阵式键盘接口,看门狗和EEPROM采用X5045芯片。用Proteus仿真软件及Keil开发环境。2.各模块软件设计2.1系统整体流程图系统整体流程图如图2所示。串口要实现与单片机的通信首先要串口初始化,用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,利用内部复位电路进行初始化。本设计单片机串口由74LS244扩展为4路串口,通过键盘扫描打开要进行通信的串口,液晶屏经过初始化、选屏后显示发送端传输的字符,在显示过程中还要不断的喂狗。2.2串口通信软件设计2.2.1系统串口通信协议本设计要实现

12、的是字符显示,采用SMC1602A,其显示容量为16*2字符,即每行最多可显示16个字符,总共两行。为了使主机和从机之间能够正确通信,减少传输错误必须制定双方共同遵守的协议2。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。发送端发送一串字符(最多32个字节),如发送“NanyangInstitute of Technology”,第一行显示前16个字符“NanyangInstitute”,第二行显示其余字符“of Technology”空格不显示。除了32字节显示,还必须有1字节以检查通信是否有误,还有1字节反馈,当通信无误时反馈01H,当通信有误时反馈02H。图2 系统整体

13、流程图2.2.2 串口通信软件设计单片机串行端口通过74244转换为4路串口分别实现与RS232,TTL UART,RS485和USB的连接通信。串口运行流程图如图3所示。图3串口运行流程图74LS244是专门设计的8 缓冲器及线驱动器,通过内部缓冲器,扩展为四路串口,改变了单片机串口接口少的限制。74LS244由2组、每组四路输入、输出构成。每组有一个控制端G,由控制端的高或低电平决定该组数据被接通还是断开3。要扩展四路串口,因此需要两片74LS244芯片。将两片74LS244的四个使能键分别接P0.4-P0.7,再通过键盘的控制来选择使用哪路通道。S1-S4分别控制RS485,TTL UA

14、RT,RS232和USB串口的开闭,当键盘扫描有键按下时判断键值,并打开相应的串口,使其与单片机进行通信,并把信息传给液晶屏进行显示。 串口通信的基本原理:串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据4。MCS-51内部含有一个可编程全双工串行通信接口,具有UART的全部功能。该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。 在进行异步通信时,数据的发送和接收分别在各自的时钟(TCLK和RCLK)控制下进行的,但都必须与字符位数的波特率保持一致。MCS-5

15、1串行口的发送和接收时钟可由两种方式产生,一种是由主机频率fosc经分频后产生,另一种方式是由内部定时器T1或T2的溢出率经16分频后提供。(1) 发送和接收串行口的发送过程由指令MOV SBUF,A启动,即CPU由一条写发送缓冲器的指令把数据(字符)写入串行口的发送缓冲器SBUF(发)中,再由硬件电路自动在字符的始、末加上起始位(低电平)、停止位(高电平)及其它控制位(如奇偶位等),然后在移位脉冲SHIFT的控制下,低位在前,高位在后,从TXD端(方式0除外)一位位地向外发送。串行口的接收与否受制于允许接收位REN的状态,当REN被软件置“1”后,允许接收器接收。接收端RXD一位位地接收数据

16、,直到收到一个完整的字符数据后,控制电路进行最后一次移位,自动去掉启始位,使接收中断标志RI置“1”,并向CPU申请中断。CPU响应中断,用一条指令(MOVA,SBUF)把接收缓冲器SBUF(收)的内容读入累加器。TI和RI是由硬件置位的,但需要用软件复位。(2) 相关的寄存器 SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。串行口对外有两条独立的收发信号线RXD(P3.0)、TXD(P3.1),因此可以同时发送、接收数据,实现全双工。 SCON寄存器用来控制串行口

17、的工作方式和状态,可按位寻址,其字节地址为98H。 PCON中的SMOD用来控制波特率加倍。 TMOD设置定时器1的工作方式,用来产生波特率。 如果用到中断,则还需要用到中断相关的寄存器IE,IP等5。2.3 液晶显示模块软件设计2.3.1液晶显示原理LCD是基于液晶电光效应的显示器件。包括段显示方式的字符段显示器件;矩阵显示方式的字符、图形、图像显示器件;矩阵显示方式的大屏幕液晶投影电视液晶屏等。液晶显示器的工作原理是利用液晶的物理特性,在通电时导通,使液晶排列变得有秩序,使光线容易通过;不通电时,排列则变得混乱,阻止光线通过6。液晶显示器各种图形的显示原理: (1) 线段的显示点阵图形式液

18、晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。(

19、2) 字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。(3) 汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5

20、右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。2.3.2液晶显示流程图图4液晶显示流程图显示部分由SMC1602A液晶显示的,其中单片机的P0口作为显示数据输出口,而P3.0-P3.2口是控制液晶显示命令输入输出口。数据位是8位输出。RS数据/命令选择端(H/L),R/W读写选择端(H/L),E使能信号端。液晶显示流程图如图4所示。源程序见附录。2.3.3 SMC1602A软件设计本设计液晶显示模块采用SMC1602

21、A芯片,SMC1602A可以采用两种方式与单片机连接,一种是采用8位数据总线D0-D7和RS、R/W、EN三个控制端口:另一种是只用D4D7作为四位数据分两次传送。本实验将使用并采用八位数据方式来控制SMC1602A显示。 SMC1602A引脚功能如表1所示。表1 LCD1602引脚功能符号名称功能1VSS接地0V2VDD电路电源5V+/-10%3VEE液晶驱动电压保证VDD-VEE=4.55V电压差4RS寄存器选择信号H:数据寄存器L:指令寄存器5R/W读/写信号H:读 L:写6E片选信号下降沿触发,锁存数据7-14DB0-DB7数据线数据传输15BLA背光源正极16BLK背光源负极SMC1

22、602A软件设计主要包括:(1) 主要功能 40通道点阵LCD 驱动; 可选择当作行驱动或列驱动; 输入/输出信号:输出,能产生202个LCD驱动波形;输入,接受控制器送出的串行数据和控制信号,偏压(V1V6); 通过单片机控制将所测的频率信号读数显示出来。(2) SMC1602A的显示与控制命令SMC1602A液晶模块内部的字符发生内存(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、和常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41中的点阵字符图形显示出来,我们就能看到

23、字母“A”。显示位与DD RAM 地址的对应关系如表2所示。SMC1602A液晶模块内部的控制器共有11条控制指令,指令如下,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的 (说明:1为高电平,0为低电平) 。表2显示位与DD RAM 地址的对应关系显 示 位 序 号1 2 3 4 5 40DD RAM地址(HEX)第一行00 01 02 03 04 27第二行40 41 42 43 44 67指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关

24、控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示;C:控制光标的开与关,高电平表示有游标,低电平表示无游标;B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位元S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示57的点阵字符,高电平时显示510的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数

25、据。指令11:读数据。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。表3 液晶显示涉及的功能函数及说明函数定义功能描述L1602_ReadStatus()读1602的状态L1602_Write(char data1,char data2,charbusy)data1 写指令或写数据data2 指令或数据内容busy 是否检测忙位L1602_ReadData()从当前地址读取一个字符L1602_Read(char addr)从指定地址读取一个字符L1602_Displa

26、yOneChar(char X,char Y,charongchar)在液晶屏的X行Y列写一个字符L1602_DisplayString(char X,char Y,char*stringdata)从液晶屏的X行Y列开始写入一列字符设计中采用的SMC1602A液晶,首先通过以下几条语句设置液晶寄存器配置。L1602_Write(COM,0x38) /设置16X2显示,5X7点阵,8位数据接口L1602_Write(COM,0x06) /读或写一个字符后地址指针加一,且光标加一L1602_Write(COM,0x0c) /开显示,不显示光标,光标不闪烁L1602_Write(COM,0x01)

27、/清屏其中关于液晶显示及相关函数如表3所示7。寄存器选择功能如表4所示。表4 寄存器选择功能RSR/W操作00指令寄存器(IR)写入01忙标志和地址计数器读出10数据寄存器(DR)写入11数据寄存器读出(3) 初始化方法 用户所编的显示程序,开始必须进行初始化,否则模块无法正常显示,利用内部复位电路进行初始化。 下面指令是在初始化过程中执行的。 清屏(DISPLAY CLEAR); 功能设置(FUNCTION SET);DL = 1: 8Bit 接口数据;N = 0: 1行显示; F = 0:57dot字形; 显示开/关控制(DISPLAY ON/OFF CONTROL);D = 0: 显示关

28、;C = 0:光标关; B = 0: 消隐关 ; 输入方式设置(ENTRY MODE SET );I/D = 1:(增量); S = 0:无移位。2.4 看门狗模块软件设计2.4.1 看门狗在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”。看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:看门狗芯片和单

29、片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段 进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。看门狗程序流程图如图5所示。图5 看门狗程序流程图基本原理:看门狗,是一个定时器电路, 一般有一个输入叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候

30、,,每隔一端时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT 定时超过,就会给出一个复位信号到MCU,是MCU复位,防止MCU死机。看门狗的作用就是防止程序发生死循环,或者说程序跑飞。工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。所以在使用有看门狗的芯片时要注意清看门狗。看门狗分为硬件看门狗和软件看门狗,本设计采用硬件看门狗。硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对

31、定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。2.4.2 X5045看门狗软件设计 本课题看门狗模块设计采用X5045芯片。X5045是美国Xicor公司的生产的标准化8脚集成电路,它将EEPROM、看门狗定时器、电压监控三种功能组合在单个芯片之内,大大简化了硬件设计,提高了系统的可靠性,减少了对印制电路板的空间要求,降低了成本和系统功耗,是一种理想的单片机外围芯片8。X5045是一种集上电复位、看门狗、电压监控和串行EEPROM 四种功能于一身的可编程控制电路,它有助于简化应用系统的设计,减少电路板的占用面积,提高可靠性。(1) 上电复位X5045加电时会激活其内部的上电复位电路,从而使RESET引脚有效。该信号可避免系统微处理器在电压不足或振荡器未稳定的情况下工作。当VCC超过器件的Vtrip限值时,电路将在200ms(典型)延时后释放RESET以允许系统开始工作。(2) 低电压检测工作时,X5045对VCC电平进行监测,若电源电压跌落至预置的最小Vtrip以下时,系统即确认RESET,从而避免微处理器在电源失效或断开

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2