2010测控技术与仪器课程设计1_第1页
2010测控技术与仪器课程设计1_第2页
2010测控技术与仪器课程设计1_第3页
2010测控技术与仪器课程设计1_第4页
2010测控技术与仪器课程设计1_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、电气信息工程学院基于51单片机的LCD字符串显示姓名: 魏良楷 组员: 吴培林 蒋涛 马红权 班级: 07测控技术与仪器( 1 )班 学号: 200710504061 指导老师: 谢兵 2010年12月摘要目前,51系列单片机在我国的各行各业得到了广泛应用,各大专院校、职业培训学校,均开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科,必须通过一系列的软硬件实验、理论联系实际,才能学好、学懂,取得较好的学习效果。我们的课程设计是基于AT89C51单片机,LCD(LM1602L)上显示字符串。关键词:AT89C51单片机 LCD 字符串 目 录摘要- 2 -目 录- 3 -1 概

2、 论- 1 -1.1 绪 论- 1 -1.2 单片机简介- 1 -1 单片机的特点- 1 -2 单片机的组成及工作过程- 3 -3 单片机的应用- 4 -2 设计思路- 4 -2.1 电路的设计- 4 -2.2 8051单片机的结构组成- 5 -2.3 LCD1602液晶显示简介- 6 -1602LCD的基本参数及引脚功能- 6 -3 系统硬件设计与系统软件设计- 8 -3.1 系统硬件设计- 8 -3.2 系统软件设计- 10 -3.3.1 1602LCD的指令说明及时序- 10 -3.3.2 1602LCD的RAM地址映射及标准字库表- 12 -3.3.3 1602LCD的一般初始化(复位

3、)过程- 13 -仿真结果- 14 -总结- 16 -参考文献- 17 -附件1- 18 -附件2- 19 -1 概 论1.1 绪 论近年来,计算机技术迅速发展,计算机在工业、农业、国防、科研及日常生活的各个领域均发挥着极其重要的作用,成为各国工业发展水平的重要标志之一。自从世界上公认的第一台电子计算机问世以来,计算机的发展日新月异。短短的几十年间,以有电子管数字计算机发展到今天的超大规模集成电路计算机,运算速度由每秒5000次提高到今天的每秒上白亿次。近年来,计算机一方面向着高速、智能化的超级巨型机方向发展,另一方面向着微型机的方向发展。在微机的大家族中,单片微型计算机(以下简称单片机)异军

4、突起,发展迅速。从美国仙童(Fairchild)公司1974年生产出第一块单片机(F8)开始,在短短的几十年中,单片机如雨后春笋一般,大量涌现出来。GI公司、Rockwell公司、Intel公司、Zilong公司Motorola公司、NEC公司等世界上几大计算机公司都纷纷推出自己的单片机系列。目前,已经出现了4位、8位和16位的单片机,甚至32位的超大规模集成电路单片机(如T414)也以面试,同时性能也在不断提高。如Intel公司的8096,其数据总线为16位,ROM为8K字节,RAM有232位字节,中断源8级,时钟频率为12MHz,可进行加、减、乘、除运算,具有8个模拟通道,10位A/D变换

5、,全双工异步通信接口,5个8位并行接口和4个16位可编程定时器。据统计,90年代世界每6人就有一片单片机,美国及西欧已达到人均4片。目前单片机已经成为工控领域、军事领域及日常生活中最为广泛应用的计算机。1.2 单片机简介单片微型计算机(Single-Chip Microcomputer),简称单片机。它在一块芯片上集成了中央处理器(CPU)、只读存储器(ROM)、输入/输出接口、可编程定时器/计数器等,有的甚至包含A/D转换器。总而言之,一块单片机芯片,就相当于一台计算机。1 单片机的特点集成度高、功能强微型计算机通常有中央处理器(CPU)、存储器(RAM、ROM)以及I/O接口组成,其各部分

6、分别集成在不同的芯片上。例如,大家熟悉Z80微型计算机就是由Z80-CPU、存储器(RAM、ROM)、PIO、CTC等芯片组成的,其原理如图所示:图1.1 Z80型微机结构和微型计算机进行比较,单片机不仅体积大大减小,而且功能大为增强。MCS-51系列单片机内的定时/计数器为16位,而Z80微型计算机只有8位;MCS-51系列单片机中不但有4个I/O接口,而且还有串行接口,且时钟频率可达12MHz。结构合理目前单片机大多采用Harvard结构。这是数据存储器与程序存储器相互独立的一种结构。而在许多微型计算机中(如Z80、Intel8085、M8000等)中,大都采用两类存储器合二为一(及统一编

7、址)的方式。单片机采用上述结构主要有以下两点好处:a:存储容量大。例如:采用16位地址总线锝位单片机可寻址外部64KBROM(包括内部ROM)。此外还有内部RAM(通常为128字节)和内部 ROM(一般为24KB)。正因为如此,使用单片机不仅可以进行控制,而且能够进行数据处理。单片机不仅设有监控程序,还可同时汇编、反汇编,具有高级语言以及各种函数库、子程序及图表。因此单片机的功能大为增强,用户使用起来十分方便。b:速度快。单片机由于主要用于工业控制方面,一般都需要较大的程序存储器,用以固化已调好的控制程序;而数据存储器的容量相对较小,主要用来存放少量的随机数据。小容量随机存储器直接装在单片机内

8、部,可使数据船送速度快。抗干扰性强由于单片机的各种功能部件都集中在一个芯片上,特别是存储器也集成在芯片内部,部线短,数据大都在芯片内部传送,不易受到外部干扰,增强了抗干扰能力,使系统运行更可靠。指令丰富单片机一般都有传送指令逻辑运算指令,转移指令,加、减运算指令等。有些单片机还具有乘法及除法运算指令,特别是位操作指令十分丰富。例如在MCS-51系列单片机中,专门设有布尔处理器,并且有一个专用的处理布尔变量的指令集。指令集中包括布尔变量的传送、逻辑运算、控制转移、置位等指令。因而单片机能在逻辑控制、开关变量控制以及顺序控制中得以广泛应用。2 单片机的组成及工作过程单片机是由中央处理器(CPU)和

9、适当容量的存储器、输入/输出接口电路三大基本部分组成,它通过接口电路再与输入/输出外部设备连接。以下简单叙述各部件的作用:中央处理器(CPU)CPU是整个单片机系统的核心,它是有算术逻辑运算单元和控制器组成的。它的功能是进行数据处理,并且控制数据和指令在单片机中的运行,即控制单片机根据给定的要求进行操作。存储器存储器是单片机存放程序和数据的部件,它是有许多存储信息的单元组成。存储单元越多,存储器容量越大,可存放的信息量就越多。输入/输出借口电路(I/O)接口接口电路CPU和外部设备之间不可缺少的连接纽带。人们要控制单片机的运行,可通过键盘送入指令,也可用开关送入信号,键盘和开关都是输入设备。单

10、片机要运行的结果输出,可通过显示器、打印机告诉人们,也可通过接口电路输出信号,操作各种电器设备进行动作,显示器、打印机和电器设备都是输出设备。因为外部设备与CPU之间的逻辑电平、速度、时序、驱动能力的有很大的差别,所以必须通过I/O接口电路解决它们之间的匹配问题。单片机的工作过程单片机在工作前,首先必须在程序存储器内装入程序。单片机开始工作后,即按地址先从存储器中取出指令,然后把指令译码,以确定该指令执行的是什么操作和操作数的存放地址,再根据这3个地址取操作数,接着CPU对操作数进行操作,操作结果送入存储器或经接口电路送入显示器、打印机等外部设备。3 单片机的应用(1)工业过程控制中的应用由于

11、单片机的I/O接口线多,位操作指令丰富,逻辑操作功能强,因此,特别适用于工业过程控制。它既可以作为主机控制,也可作为分布式控制系统的前端机。在作为主机使用的系统中,单片机为核心控制器件,用来完成模拟量和开关量的采集、处理和控制计算(包括逻辑运算),然后输出控制信号。(2)生活中的应用由于单片机价格低廉、体积小、逻辑判断及控制功能强,因此广泛地应用于人类生活的各个方面。如:洗衣机、电冰箱、电子玩具及电梯控制等。(3)计算机网络及通信技术中的应用单片机集成了通信接口,因而使其在计算机网络及通信设备中得以广泛应用,例如Intel公司的8044,它由8051单片机及SDLC通信接口组合而成,用性能高的

12、串行接口单元SIU代替传统的UART,其传送距离可达1200mMbit/s。2 设计思路2.1 电路的设计定时闹钟的控制电路分为以下几部分:u 单片机8051。u LCD。内部总线接点说明:总线是用于传送信息的公共途径。总线可分为数据总线、地址总线、控制总线。单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的。采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。中断控制系统是指CPU暂停正在执行的原程序转而为中断服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。中断系统是指能够处理上述中断过程的部分电路。MCS51单片机设有5个中断源(

13、外中断2个,定时/记数中断2个,串行中断2个),二级优先级,可实现两极中断嵌套。输入/输出借口电路(I/O)接口:接口电路CPU和外部设备之间不可缺少的连接纽带。人们要控制单片机的运行,可通过键盘送入指令,也可用开关送入信号,键盘和开关都是输入设备。单片机要运行的结果输出,可通过显示器、打印机告诉人们,也可通过接口电路输出信号,操作各种电器设备进行动作,显示器、打印机和电器设备都是输出设备。而本设计中应用到的主要是显示器,通过显示器我们就可以看到此设计的显示效果和计时时间。因为外部设备与CPU之间的逻辑电平、速度、时序、驱动能力的有很大的差别,所以必须通过I/O接口电路解决它们之间的匹配问题。

14、2.2 8051单片机的结构组成MCS51系列单片机在结构上基本相同,只是在个别模块和功能上有些区别。图2.1是8051单片机的内部结构框图。它包含了作为微型计算机所必需的基本功能部件,各功能部件通过片内机单一总线连成一个整体,集成在一块芯片上。MCS51单片机是在一块芯片中集成了CPU、存储器(包括RAM和ROM)、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。主要包括1个8位CPU、1个片内振荡器及时钟电路、128 RAM、4KB ROM、2个16位定时器/计数器、32条可编程的I/O线和一个可编程的全双工串行口、5个中断源、2个中断优先级嵌套中断结构。图 LCD16

15、02液晶显示简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图图1602字符型液晶显示器实物图1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2-3所示:图1602LCD尺寸图1602LCD主要技术参数:显示容量:162个字符工作电流:2.0mA(5.0V)字符尺寸:2.954.35

16、(WH)mm引脚功能说明:1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-1所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表2-1:引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对

17、比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3系统硬件设计与系统软件设计3.1 系统硬件设计(1)时钟芯片选择 选用89C51时钟芯片。(2)单片机的选择 选用8051单片机,并配备11.0592MHz

18、晶振,复位电路采用上电复位。其最小系统如图3.1所示:图3.1 at89c51单片机的最小系统原理图(3) 电源选择 采用直流5V电源供电。(4)复位电路 MCS-51单片机的复位是由外部的复位电路来实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。上电复位:上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VC

19、C对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。电路图如下:上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。(5)时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文用的是内部时钟方式。电路图如下:MCS-51单片机内部有一个用于构成振

20、荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。3.2 系统软件设计系统软件实现的流程框图:图3.1 系统框图LCD显示程序流程框图:图3.2 LCD显示程序框图 1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表3-1所示:序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置

21、功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容表3-1:控制命令表1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平

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

23、据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。与HD44780相兼容的芯片时序表如下:读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无表.3-2:基本操作时序表读写操作时序如图3-3和3-4所示:图3-3 读操作时序图3-4 写操作时序1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

24、要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-5是1602的内部显示地址。图3-5 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B=11000000B.在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同

25、的点阵字符图形,如图3-6所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”图3-6 字符代码与图形对应图 1602LCD的一般初始化(复位)过程延时15mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)延时5mS写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令

26、0CH:显示开及光标设置仿真结果(1) 打开Keil uVision3,新建Keil项目,选择AT89S51单片机作为CPU,新建C语言源文件,编写程序,并将其导入到“Source Group”中。在“Option for Target”对话窗口中,选中“Output”选项卡中的“Create HEX”选项和“Debug”选项卡中的“Use:Proteus VSM Simulator”选项。编译源程序,改正程序中的错误。(2) 在Proteus ISIS中,选中AT89S51并单击鼠标左键,打开“Edit Compoment”对话窗口,设置单片机晶振频率为12MHZ,在此窗口中的“Progra

27、m File”栏中,选择先前用Keil生成的.HEX文件。在Proteus ISIS的菜单栏中选择“File”-“Save Design”选项,保存设计。在Proteus ISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“Use Remote Debug Monitor”选项,以支持与Keil的联合调试。(3) 在Keil的菜单栏中选择“Debug”-“Star/Stop Debug Session”选项,或者直接单击工具栏的“DebugStar/Stop Debug Session”图标,进入程序调试环境。按“F5”键,顺序运行程序。调出“Proteus ISIS”界面,可以看到

28、如下图的显示内容。显示330寝室,吴、魏、马、将的英文字符:显示 和07测控技术与仪器的英文字符总结本设计硬件电路较简单,所用器件较少,电路中使用了AT89S52单片机、LCD1602、74ls373和一个与非门等主要芯片,实现了预计功能。在对芯片的管脚功能和用法有充分的了解后,根据设计要求设计硬件电路,包括单片机最小系统和时钟电路通过单片机控制利用LCD1602显示字符串。通过本设计,更加熟悉了LCD的显示控制原理。单片机的编程环境和Protues的基本操作。参考文献.北京.高等教育出版社,20012 李 华.MCS-51系列单片机实用接口技术.北京.北京航空航天出版社,19933 陈立国,

29、陈宇等.单片机原理及应用.北京.机械工业出版社,20014 耿长青等.单片机应用技术.北京.化工工业出版社,20045 胡汉才.单片机原理及其接口技术.北京.清华大学出版社,19956 王幸之,钟爱琴.AT89系列单片机原理与接口技术.北京.北京航空航天大学出版社,20047 杨文龙.单片机原理及应用.陕西. 西安电子科技大学出版社,1999附件1硬件电路原理图:附件2源程序:; LCD 的字符串显示; 时钟 1.2MHz ;LCD Registers addressesLCD_CMD_WRequ 0LCD_DATA_WRequ1LCD_BUSY_RDequ2LCD_DATA_RDequ3;L

30、CD CommandsLCD_CLSequ1LCD_HOMEequ2LCD_SETMODEequ4LCD_SETVISIBLEequ8LCD_SHIFTequ16LCD_SETFUNCTIONequ32LCD_SETCGADDRequ64LCD_SETDDADDRequ128;Reset vectororg 0000hjmp start;程序开始org 0100hstring1a:db ! ! db 0string1b:db ! ! db 0string2:db 07cekongjishuyuyiqi db 0string3:db 10#330 dormitory db 0string4:db wu ma wei jiang!db 0start:mov A,#038hcall wrcmdloop:mov A,#LCD_SETVISIBLE+6 ;显示call wrcmdmov R7,#2loop2: mov DPTR,#string1acall wrstr mov DPTR,#200 call wtmsmov A,#LCD_CLS;清屏call wrcmdmov DPTR,#string1bcall wrstr mov DPTR,#200 call wtm

温馨提示

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

评论

0/150

提交评论