测控技术与仪器课程设计1.docx
- 文档编号:30521783
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:29
- 大小:496.86KB
测控技术与仪器课程设计1.docx
《测控技术与仪器课程设计1.docx》由会员分享,可在线阅读,更多相关《测控技术与仪器课程设计1.docx(29页珍藏版)》请在冰豆网上搜索。
测控技术与仪器课程设计1
攀枝花学院
电气信息工程学院
基于51单片机的LCD字符串显示
姓名:
魏良楷
组员:
吴培林蒋涛马红权
班级:
07测控技术与仪器
(1)班
学号:
200710504061
指导老师:
谢兵
2010年12月
摘 要
目前,51系列单片机在我国的各行各业得到了广泛应用,各大专院校、职业培训学校,均开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科,必须通过一系列的软硬件实验、理论联系实际,才能学好、学懂,取得较好的学习效果。
我们的课程设计是基于AT89C51单片机,LCD(LM1602L)上显示字符串。
关键词:
AT89C51单片机LCD字符串
目录
摘 要-2-
目录-3-
1概论-1-
1.1绪论-1-
1.2单片机简介-1-
1单片机的特点-1-
2单片机的组成及工作过程-3-
3单片机的应用-4-
2设计思路-4-
2.1电路的设计-4-
2.28051单片机的结构组成-5-
2.3LCD1602液晶显示简介-6-
1602LCD的基本参数及引脚功能-6-
3系统硬件设计与系统软件设计-8-
3.1系统硬件设计-8-
3.2系统软件设计-10-
3.3.11602LCD的指令说明及时序-10-
3.3.21602LCD的RAM地址映射及标准字库表-12-
3.3.31602LCD的一般初始化(复位)过程-13-
仿真结果-14-
总结-16-
参考文献-17-
附件1-18-
附件2-19-
1概论
1.1绪论
近年来,计算机技术迅速发展,计算机在工业、农业、国防、科研及日常生活的各个领域均发挥着极其重要的作用,成为各国工业发展水平的重要标志之一。
自从世界上公认的第一台电子计算机问世以来,计算机的发展日新月异。
短短的几十年间,以有电子管数字计算机发展到今天的超大规模集成电路计算机,运算速度由每秒5000次提高到今天的每秒上白亿次。
近年来,计算机一方面向着高速、智能化的超级巨型机方向发展,另一方面向着微型机的方向发展。
在微机的大家族中,单片微型计算机(以下简称单片机)异军突起,发展迅速。
从美国仙童(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个8位并行接口和4个16位可编程定时器。
据统计,90年代世界每6人就有一片单片机,美国及西欧已达到人均4片。
目前单片机已经成为工控领域、军事领域及日常生活中最为广泛应用的计算机。
1.2单片机简介
单片微型计算机(Single-ChipMicrocomputer),简称单片机。
它在一块芯片上集成了中央处理器(CPU)、只读存储器(ROM)、输入/输出接口、可编程定时器/计数器等,有的甚至包含A/D转换器。
总而言之,一块单片机芯片,就相当于一台计算机。
1单片机的特点
⑴集成度高、功能强
微型计算机通常有中央处理器(CPU)、存储器(RAM、ROM)以及I/O接口组成,其各部分分别集成在不同的芯片上。
例如,大家熟悉Z80微型计算机就是由Z80-CPU、存储器(RAM、ROM)、PIO、CTC等芯片组成的,其原理如图1.1所示:
图1.1Z80型微机结构
和微型计算机进行比较,单片机不仅体积大大减小,而且功能大为增强。
MCS-51系列单片机内的定时/计数器为16位,而Z80微型计算机只有8位;MCS-51系列单片机中不但有4个I/O接口,而且还有串行接口,且时钟频率可达12MHz。
⑵结构合理
目前单片机大多采用Harvard结构。
这是数据存储器与程序存储器相互独立的一种结构。
而在许多微型计算机中(如Z80、Intel8085、M8000等)中,大都采用两类存储器合二为一(及统一编址)的方式。
单片机采用上述结构主要有以下两点好处:
a:
存储容量大。
例如:
采用16位地址总线锝位单片机可寻址外部64KBROM(包括内部ROM)。
此外还有内部RAM(通常为128字节)和内部ROM(一般为2~4KB)。
正因为如此,使用单片机不仅可以进行控制,而且能够进行数据处理。
单片机不仅设有监控程序,还可同时汇编、反汇编,具有高级语言以及各种函数库、子程序及图表。
因此单片机的功能大为增强,用户使用起来十分方便。
b:
速度快。
单片机由于主要用于工业控制方面,一般都需要较大的程序存储器,用以固化已调好的控制程序;而数据存储器的容量相对较小,主要用来存放少量的随机数据。
小容量随机存储器直接装在单片机内部,可使数据船送速度快。
⑶抗干扰性强
由于单片机的各种功能部件都集中在一个芯片上,特别是存储器也集成在芯片内部,部线短,数据大都在芯片内部传送,不易受到外部干扰,增强了抗干扰能力,使系统运行更可靠。
⑷指令丰富
单片机一般都有传送指令逻辑运算指令,转移指令,加、减运算指令等。
有些单片机还具有乘法及除法运算指令,特别是位操作指令十分丰富。
例如在MCS-51系列单片机中,专门设有布尔处理器,并且有一个专用的处理布尔变量的指令集。
指令集中包括布尔变量的传送、逻辑运算、控制转移、置位等指令。
因而单片机能在逻辑控制、开关变量控制以及顺序控制中得以广泛应用。
2单片机的组成及工作过程
单片机是由中央处理器(CPU)和适当容量的存储器、输入/输出接口电路三大基本部分组成,它通过接口电路再与输入/输出外部设备连接。
以下简单叙述各部件的作用:
⑴中央处理器(CPU)
CPU是整个单片机系统的核心,它是有算术逻辑运算单元和控制器组成的。
它的功能是进行数据处理,并且控制数据和指令在单片机中的运行,即控制单片机根据给定的要求进行操作。
⑵存储器
存储器是单片机存放程序和数据的部件,它是有许多存储信息的单元组成。
存储单元越多,存储器容量越大,可存放的信息量就越多。
⑶输入/输出借口电路(I/O)接口
接口电路CPU和外部设备之间不可缺少的连接纽带。
人们要控制单片机的运行,可通过键盘送入指令,也可用开关送入信号,键盘和开关都是输入设备。
单片机要运行的结果输出,可通过显示器、打印机告诉人们,也可通过接口电路输出信号,操作各种电器设备进行动作,显示器、打印机和电器设备都是输出设备。
因为外部设备与CPU之间的逻辑电平、速度、时序、驱动能力的有很大的差别,所以必须通过I/O接口电路解决它们之间的匹配问题。
⑷单片机的工作过程
单片机在工作前,首先必须在程序存储器内装入程序。
单片机开始工作后,即按地址先从存储器中取出指令,然后把指令译码,以确定该指令执行的是什么操作和操作数的存放地址,再根据这3个地址取操作数,接着CPU对操作数进行操作,操作结果送入存储器或经接口电路送入显示器、打印机等外部设备。
3单片机的应用
(1)工业过程控制中的应用
由于单片机的I/O接口线多,位操作指令丰富,逻辑操作功能强,因此,特别适用于工业过程控制。
它既可以作为主机控制,也可作为分布式控制系统的前端机。
在作为主机使用的系统中,单片机为核心控制器件,用来完成模拟量和开关量的采集、处理和控制计算(包括逻辑运算),然后输出控制信号。
(2)生活中的应用
由于单片机价格低廉、体积小、逻辑判断及控制功能强,因此广泛地应用于人类生活的各个方面。
如:
洗衣机、电冰箱、电子玩具及电梯控制等。
(3)计算机网络及通信技术中的应用
单片机集成了通信接口,因而使其在计算机网络及通信设备中得以广泛应用,例如Intel公司的8044,它由8051单片机及SDLC通信接口组合而成,用性能高的串行接口单元SIU代替传统的UART,其传送距离可达1200m,传送速率为2.4Mbit/s。
2设计思路
2.1电路的设计
定时闹钟的控制电路分为以下几部分:
◆单片机8051。
◆LCD。
内部总线接点说明:
总线是用于传送信息的公共途径。
总线可分为数据总线、地址总线、控制总线。
单片机内的CPU、存储器、I/O接口等单元部件都是通过总线连接到一起的。
采用总线结构可以减少信息传输线的根数,提高系统可靠性,增强系统灵活性。
中断控制系统是指CPU暂停正在执行的原程序转而为中断服务(执行中断服务程序),在执行完中断服务程序后再回到原程序继续执行。
中断系统是指能够处理上述中断过程的部分电路。
MCS—51单片机设有5个中断源(外中断2个,定时/记数中断2个,串行中断2个),二级优先级,可实现两极中断嵌套。
输入/输出借口电路(I/O)接口:
接口电路CPU和外部设备之间不可缺少的连接纽带。
人们要控制单片机的运行,可通过键盘送入指令,也可用开关送入信号,键盘和开关都是输入设备。
单片机要运行的结果输出,可通过显示器、打印机告诉人们,也可通过接口电路输出信号,操作各种电器设备进行动作,显示器、打印机和电器设备都是输出设备。
而本设计中应用到的主要是显示器,通过显示器我们就可以看到此设计的显示效果和计时时间。
因为外部设备与CPU之间的逻辑电平、速度、时序、驱动能力的有很大的差别,所以必须通过I/O接口电路解决它们之间的匹配问题。
2.28051单片机的结构组成
MCS—51系列单片机在结构上基本相同,只是在个别模块和功能上有些区别。
图2.1是8051单片机的内部结构框图。
它包含了作为微型计算机所必需的基本功能部件,各功能部件通过片内机单一总线连成一个整体,集成在一块芯片上。
MCS—51单片机是在一块芯片中集成了CPU、存储器(包括RAM和ROM)、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。
主要包括1个8位CPU、1个片内振荡器及时钟电路、128RAM、4KBROM、2个16位定时器/计数器、32条可编程的I/O线和一个可编程的全双工串行口、5个中断源、2个中断优先级嵌套中断结构。
图2.1单片机的内部结构图
2.3LCD1602液晶显示简介
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图2.2
图2.21602字符型液晶显示器实物图
1602LCD的基本参数及引脚功能
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2-3所示:
图2.31602LCD尺寸图
1602LCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
引脚功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-1所示:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
数据
3
VL
液晶显示偏压
11
D4
数据
4
RS
数据/命令选择
12
D5
数据
5
R/W
读/写选择
13
D6
数据
6
E
使能信号
14
D7
数据
7
D0
数据
15
BLA
背光源正极
8
D1
数据
16
BLK
背光源负极
表2-1:
引脚接口说明表
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
3系统硬件设计与系统软件设计
3.1系统硬件设计
(1)时钟芯片选择选用89C51时钟芯片。
(2)单片机的选择 选用8051单片机,并配备11.0592MHz晶振,复位电路采用上电复位。
其最小系统如图3.1所示:
图3.1at89c51单片机的最小系统原理图
(3)电源选择 采用直流5V电源供电。
(4)复位电路
MCS-51单片机的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
上电复位:
上电复位电路是—种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。
上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。
为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。
电路图如下:
上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
(5)时钟电路
时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式:
一种是内部时钟方式,另一种为外部时钟方式。
本文用的是内部时钟方式。
电路图如下:
MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
3.2系统软件设计
系统软件实现的流程框图:
图3.1系统框图
LCD显示程序流程框图:
图3.2LCD显示程序框图
3.3.11602LCD的指令说明及时序
1602液晶模块内部的控制器共有11条控制指令,如表3-1所示:
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
表3-1:
控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
与HD44780相兼容的芯片时序表如下:
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
输入
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
输出
无
读数据
输入
RS=H,R/W=H,E=H
输出
D0—D7=数据
写数据
输入
RS=H,R/W=L,D0—D7=数据,E=高脉冲
输出
无
表.3-2:
基本操作时序表
读写操作时序如图3-3和3-4所示:
图3-3读操作时序
图3-4写操作时序
3.3.21602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图3-5是1602的内部显示地址。
图3-51602LCD内部显示地址
例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?
这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B=11000000B.在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图3-6所示,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”
图3-6字符代码与图形对应图
3.3.31602LCD的一般初始化(复位)过程
延时15mS
写指令38H(不检测忙信号)
延时5mS
写指令38H(不检测忙信号)
延时5mS
写指令38H(不检测忙信号)
以后每次写指令、读/写数据操作均需要检测忙信号
写指令38H:
显示模式设置
写指令08H:
显示关闭
写指令01H:
显示清屏
写指令06H:
显示光标移动设置
写指令0CH:
显示开及光标设置
仿真结果
(1)打开KeiluVision3,新建Keil项目,选择AT89S51单片机作为CPU,新建C语言源文件,编写程序,并将其导入到“SourceGroup”中。
在“OptionforTarget”对话窗口中,选中“Output”选项卡中的“CreateHEX”选项和“Debug”选项卡中的“Use:
ProteusVSMSimulator”选项。
编译源程序,改正程序中的错误。
(2)在ProteusISIS中,选中AT89S51并单击鼠标左键,打开“EditCompoment”对话窗口,设置单片机晶振频率为12MHZ,在此窗口中的“ProgramFile”栏中,选择先前用Keil生成的.HEX文件。
在ProteusISIS的菜单栏中选择“File”->“SaveDesign”选项,保存设计。
在ProteusISIS的菜单栏中,打开“Debug”下拉菜单,在菜单中选中“UseRemoteDebugMonitor”选项,以支持与Keil的联合调试。
(3)在Keil的菜单栏中选择“Debug”->“Star/StopDebugSession”选项,或者直接单击工具栏的“Debug>Star/StopDebugSession”图标,进入程序调试环境。
按“F5”键,顺序运行程序。
调出“ProteusISIS”界面,可以看到如下图的显示内容。
显示330寝室,吴、魏、马、将的英文字符:
显示和07测控技术与仪器的英文字符
总结
本设计硬件电路较简单,所用器件较少,电路中使用了AT89S52单片机、LCD1602、74ls373和一个与非门等主要芯片,实现了预计功能。
在对芯片的管脚功能和用法有充分的了解后,根据设计要求设计硬件电路,包括单片机最小系统和时钟电路通过单片机控制利用LCD1602显示字符串。
通过本设计,更加熟悉了LCD的显示控制原理。
单片机的编程环境和Protues的基本操作。
参考文献
[1]汪吉鹏.微机原理应用.北京.高等教育出版社,2001
[2]李华.MCS-51系列单片机实用接口技术.北京.北京航空航天出版社,1993
[3]陈立国,陈宇等.单片机原理及应用.北京.机械工业出版社,2001
[4]耿长青等.单片机应用技术.北京.化工工业出版社,2004
[5]胡汉才.单片机原理及其接口技术.北京.清华大学出版社,1995
[6]王幸之,钟爱琴.AT89系列单片机原理与接口技术.北京.北京航空航天大学出版社,2004
[7]杨文龙.单片机原理及应用.陕西.西安电子科技大学出版社,1999
附件1
硬件电路原理图:
附件2
源程序:
;LCD的字符串显示
;时钟1.2MHz
;LCDRegistersaddresses
LCD_CMD_WRequ0
LCD_DATA_WRequ1
LCD_BUSY_RDequ2
LCD_DATA_RDequ3
;LCDCommands
LCD_CLSequ1
LCD_HOMEequ2
LCD_SETMODEequ4
LCD_SETVISIBLEequ8
LCD_SHIFTequ16
LCD_SETFUNCTIONequ32
LCD_SETCGADDRequ64
LCD_SETDDADDRequ128
;Resetvector
org0000h
jmpstart
;程序开始
or
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测控 技术 仪器 课程设计