基于Proteus和Keil的单片机仿真实验系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北建筑工程学院
本科毕业设计(论文)
学科专业机械电子工程
班级机电102班
姓名冯立岗
指导教师张东辉
摘要
本设计是基于51系列的单片机进行的单片机实验仿真系统设计,可以进行键盘输入显示、计数器、流水灯、LCD显示字符、抢答器等八个实验的仿真。
单片机实验仿真系统的设计过程在硬件与软件方面进行同步设计。
硬件部分主要由AT89C51单片机,4×4键盘阵列,七段数码管显示,8×8LED显示模块,16×16LED点阵显示模块,流水灯模块,LCD液晶模块,以及抢答器按键电路等组成,系统通过LED及LCD显示数据,所以具有人性化的操作和直观的显示效果。
软件方面主要包括时钟程序、键盘程序,显示程序等。
由于本设计实验项目有多个,考虑到汇编语言并不适于比较繁琐的程序的编写,故本系统以单片机的C 语言进行软件设计,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,以便更简单地实现实验的选取及显示功能。
所有程序在Keil软件编写完成后调试编译最后生成hex格式的文件导入到Proteus 软件中进行调试,确定没有问题后,在Proteus软件中嵌入单片机内进行仿真。
关键词:AT89C51;流水灯;抢答器;键盘
ABSTRACT
It is a design of single chip experimental simulation system based on the 51 series single chip. It can perform eight experimental simulations including the keyboard input display, counter, water lights, LCD display character, responder.
This design’s process is designed to synchronize the hardware and software aspects. The hardware part is mainly composed of AT89C51 microcontroller,4*4 keyboard array, seven segment LED display, 8*8 LED display module, 16*16 dot matrix display module, water light module, LCD liquid crystal module and responder key circuit and other components. The system displays the data via LED and LCD, so it has humanized operation and intuitive display effect. The software includes a clock procedure, the keyboard procedure and the display procedure. Since there are many experimental projects in this design, assembly language does not take into account the relatively cumbersome procedures for the preparation, and the system is designed of the microcontroller C language. In order to facilitate the expansion and change, the software is designed with modular structure, so that the logic programming is more concise and easier to realize the experimental selection and display. All the programs are debugged and compiled after the completion of the written of the keil software. And the final completed files of hex form are debugged in the Proteus software. When there is no problem, embedded the microcontroller into the Proteus software to simulate.
Key words: AT89C51;water lights;responder;keyboard
目录
第1章前言 (1)
1.1 单片机现状及发展概述 (1)
1.2 单片机的性能特点 (2)
1.3 AT89系列单片机简介 (2)
1.4 单片机实验仿真系统 (3)
第2章 Proteus和Keil软件 (4)
2.1 Proteus与Keil的历史及联合仿真 (4)
2.2 Proteus与Keil的联合仿真的优势 (5)
2.3 Proteus与Keil的使用 (6)
2.3.1 Keil C软件的使用 (6)
2.3.2 Proteus仿真软件的使用 (9)
第3章系统总体设计及方案的确定 (10)
3.1 单片机实验仿真系统实验项目的设计 (10)
3.2 系统总体设计 (11)
3.3 系统总线的设计 (11)
3.3 系统设计用到的元件 (12)
第4章硬件及电路原理图的设计 (12)
4.1 单片机最小系统设计 (12)
4.2 流水灯的设计 (14)
4.3 4×4矩阵键盘扫描与显示 (14)
4.3.1键盘处理 (14)
4.3.2 LED显示 (16)
4.4 INT0中断三位计数器演示实验 (18)
4.5 LCD液晶屏的字符显示实验 (19)
4.5.1 液晶显示简介 (20)
4.5.2 1602字符型LCD简介 (21)
4.5.3 1602LCD的指令说明及时序 (21)
4.5.4 1602LCD的指令说明及时序 (23)
4.5.5 1602LCD的RAM地址映射及标准字库表 (25)
4.5.6 1602LCD的一般初始化(复位)过程 (26)
4.6 点阵显示字符实验 (27)
4.6.1 LED简介 (28)
4.6.2 LED点阵 (29)
4.6.3点阵显示原理 (29)
4.6.4 显示屏的原理图及结构 (30)
4.6.5 显示屏的实验内容 (31)
4.7 数码管动态显示实验 (32)
4.8 8位计数器实验 (33)
第5章系统的软件设计 (34)
5.1 系统软件设计流程图 (34)
5.2 单片机实验仿真系统原理图 (35)
5.3 系统主程序 (36)
第6章单片机实验仿真系统的仿真与调试 (38)
6.1 利用Keil进行源程序的编译及调试 (38)
6.2 利用Proteus调试电路检查系统的运行情况 (39)
6.3 单片机实验仿真系统的运行及调试结果 (40)
第7章毕业设计小结 (44)
参考文献 (46)
附录 (47)
附:英文原文
英文翻译
毕业实习报告
指导教师:张东辉
设计项目计算与说明结果
2.3.1 Keil
C软件的使
用
创建工程: Keil C 把用户的每个工程都当作一个
项目。
当打开一个项目时,所有相关联的程序也进入
了调试窗口。
即使是只有一个源程序,没有工程也不
能进行编译、链接和仿真。
图2-1新建keil项目
图2-2选择目标CPU
编辑源程序文件:
1)选择【文件】菜单下的【新建】或者单击工具
栏中的图标,出现文本编辑窗口。
2)在该窗口输入所要设计的源程序。
3)选择【文件】菜单下的【保存】,弹出“另存
设计项目计算与说明结果为”对话框,选择要保存的路径并输入文件名。
注意
一定要输入扩展名。
图2-3 保存源程序对话框
将源程序加入到项目中:
图2-4 加入文件菜单
最后要设置编译生成的HEX文件:
设计项目计算与说明结果
2.3.2 Proteus仿真软件的使用
图2-5 设置【输出】对话框
2.3.2 Proteus仿真软件的使用
Proteus软件界面的介绍:
图2-6 ISIS的工作窗口
1)编辑窗口
编辑区用来绘制原理图和编辑电路的。
该窗口没有滚动条。
2)预览窗口
该窗口显示两个内容:当单击对象选择框中的某个对象,它显示该元件的预览图;当单击工具栏中的按钮,它显示整张原理图的缩略图。
设计项目
计算与说明
结果
3.1 单片机实验仿真系统实验项目的设计
3)对象选择器
用来选择元器件、终端、标注、图表、虚拟仪器和信号发生器。
对象选择器的上方有一个标签,其中左上角的“P”为对象选择按钮,通过此按钮可以在库中找到自己需要的对象。
常用工具按钮的功能
图2-7常用工具按钮的功能
建立并保存设计文件:
在PROTEUS ISIS 的编辑环境中,选择【File 】菜单下的【New Design 】选项,则弹出新建设计的对话框。
对话框中提供了多种模板,选择所需模板,即可进入新文件的编辑状态。
将所需元器件加入到对象选择器窗口:
从元件库中选取单击元件区列表上的“P” 按钮:或者菜单中的【Library 】下的【Pick Device/Symbol 】选项,弹出元器件选择页面,则在预览区可看到所选择的元件列表,选中所需元件,所选中的元件将加入到ISIS 元件列表中。
第3章 系统总体设计及方案的确定
3.1 单片机实验仿真系统实验项目的设计
根据设计任务书要求可实现的实验项目可包括抢
设计项目计算与说明结果
3.2 系统
总体设计
3.3 系统
总线的设
计
答器、4x4矩阵式键盘的输入及显示、三位计数器、流
水灯、LCD液晶屏显示、8x8LED点阵显示。
3.2 系统总体设计
考虑到AT89C51系列单片机只有3个并行口,故
在设计电路的时候并不能满足各个实验同时连接到单
片机,造成了其他的实验项目没有接口可用,所以本
设计采用三总线结构来连接各个实验到单片机,以实
现根据不同的输入情况运行不同的实验。
同时对各个实验进行分开设计,即对各个实验的
电路进行独立设计,最后通过总线与单片机相连,可
实现根据需要通过总线与单片机接通实现其功能。
图3-1 系统各模块连接图
3.3 系统总线的设计
本设计采用总线连接各实验相关模块,数据总线
采用P0口来实现数据的读操作与写操作,用P2口作
为地址总线的高8位地址,P0口接74HC373锁存器来锁
存低8位地址信号,本设计实验项目有8个故为了方
便从低8位开始排址,即第一个模块的地址接P0.0口
(地址标号:A0)第二个模块依次排列,P1口作为机
动控制线,即根据各个实验的不同要求使用。
原理图中各接口的标号安排如下:
P0.0-P0.7对应D0-D7;
P1.0-P1.7对应C0-C7;
P2.0-P2.7对应A8-D15;
设计项目计算与说明结果
图4-1 晶振电路
对外接电容的值里然没有严格的要求,但电容的
大小会影响振荡器频率的高低、谐振器的稳定性、起
振的快速性和温度的稳定性。
晶体可在1.2MHz〜12MHz
之间任选,电容C1和2的典型值在20pF〜l00pF之间
选择,但在60pF〜70pF时振荡器具有较高的频率稳
定性。
典型值通常选择为30pF左右,但本电路采用
33pF。
为了提高温度稳定性,应采用温度稳定性能好
的NPO高频电容。
AT89C51的复位是由外部的复位电路
来实现的。
复位电路通常采用上电自动复位和按钮复
位两种方式。
本设计中所到的是上电复位。
设计中用的是上电复位,是指单片机只要一上电,
便自动的进入复位状态。
图4-2是上电复位电路。
当
采用的晶体频率为12MHZ时,可采取C=10μF,R=8.2K
Ω。
图4-2 上电复位电路
由晶振电路和上电复位电路与单片机89C52连接
设计项目
计算与说明
结果
4.2 流水灯的设计
4.3 4×4矩阵键盘扫描与显示
4.3.1键盘处理
成单片机最小系统。
图4-3 单片机最小系统
4.2 流水灯的设计
流水灯的实验设计为利用8个LED ,采用共阳极接法与+5V 的电源相接,8个LED 分别编号为D1~D8,D1~D8的负极分别与数据口的8位总线相接,这里为了方便总体上控制实验 ,在8个LED 二极管接电源之前通过一个三极管来控制LED 的接通与关闭,这里为流水灯分配的地址线位A10(即P2.2口)。
流水灯实验能够展示的是:从D1到D7依次点亮然后再循环重复循环直到实验被关闭。
4.3 4×4矩阵键盘扫描与显示
本实验分为两个部分:键盘部分与LED 显示部分。
4.3.1键盘处理
键盘是一组按键的组合,它是最常用的单片机输入设备。
操作人员可以通过键盘输入数据或者命令,实现简单的人机通信。
键盘从结构上分,有独立式键盘与矩阵式键盘。
每一类键盘按照其译码方法又可分为编码型和非编码型两类。
设计项目计算与说明结果
图4-4 流水灯电路
键盘的处理过程就是CPU不断对键进行扫描的过
程。
常见的键扫描方式有:
1)程控扫描方式。
CPU的控制一旦进入监控程序,
将反复不断的扫描键盘,等待输入的命令或者数据。
2)定式扫描方式。
这类方式应用于单片机定时器
的定时功能。
在初始化程序中对定时器/计数器编程,
使其产生一定时间的中断。
CPU响应中断,执行中断程
序对键盘做一次扫描,检查键盘的状态,实现对键盘
的定时扫描。
3)中断扫描方式。
当键位上有键按下时,产生中
断请求,CPU响应中断,执行中断服务程序,判断键位
上被按下的键的键号,继而做出相应的处理。
在本试验中需要显示十六进制的0-F一共十六个
符号需要十六个键,而I/O的数目有限,因此将键盘
排列成行列式,按键设置在行列式交点上,行列线分
别连接到按键开关的两端。
列线通过上拉电阻接+5V
电源,并将行线所接的I/O口作为输出端,而列线所
接的I/O口作为输入。
这样当按键没有被按下时,所
有的输出端都是高电平,一旦有键按下,则行线输出
低电平,输入线电平就会被拉低。
这样通过读取输入
线的状态就可以得知是否有按键被按下了。
如图4-5
所示键盘。
设计项目计算与说明结果
4.3.2 LED显示
图4-5 键盘电路
这里键盘的扫面方式采用行扫描法。
行扫描法又称为逐行扫描查询法,是一种最常用的按键识别方法。
要判断键盘中有无键按下,首先将全部行线置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平列线与4根行线相交叉的4个按键之中;若所有列线均为高电平,则键盘中无键按下。
判断闭合键所在的位置,在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其他行线为高电平。
在确定某根行线置为低电平后,在逐行检测各列的电平状态。
若某列为低电平,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
4.3.2 LED显示
LED显示器一般由8个发光二极管组成,7个发光二极管组成一个“8”,另一个发光二极管为小数点,可显示0~9及一些英文字母或特殊字符。
LED有不同的大小及颜色,分为共阴极与共阳极两种结构,共阳极是8个发光二极管的阳极连在一起作为一个公共端;共阴极是8个发光二极管的阴极连在一起作为一个公共端。
当LED的8个发光二极管的某一段加上正向电流时,该段被点亮,没有通电流的则不亮。
设计项目计算与说明结果
图4-6 LED数码管原理图
LED显示器有静态显示和动态显示两种方式。
对相
同个数的数码管来说,采用动态显示比静态显示占用
的I/O口线更少,但是因为CPU需要经常刷新显示内
容,因此动态显示占用更多的CPU时间。
静态显示驱动:静态驱动也称直流驱动。
静态驱
动是指每个数码管的每一个段码都由一个单片机的
I/O端口进行驱动,或者使用如BCD码二-十进制译码
器译码进行驱动。
静态驱动的优点是编程简单,显示
亮度高,缺点是占用I/O端口多,如驱动5个数码管
静态显示则需要5×8=40根I/O端口来驱动,要知道
一个89S51单片机可用的I/O端口才32个呢:),实际
应用时必须增加译码驱动器进行驱动,增加了硬件电
路的复杂性。
动态显示驱动:数码管动态显示接口是单片机中
应用最为广泛的一种显示方式之一,动态驱动是将所
有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名
端连在一起,另外为每个数码管的公共极COM增加位选
通控制电各自独立的I/O线控制,当单片机输出字形码
时,所有数码管都接收到相同的字形码,但究竟是那
个数码管会显示出字形,取决于单片机对位选通COM端
电路的控制,所以我们只要将需要显示的数码管的选
设计项目
计算与说明
结果
4.4 INT0中断三位计数器演示实验
通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
通过分时轮流控制各个数码管的COM 端,就使各个数码管轮流受控显示,这就是动态驱动。
在轮流显示过程中,每位数码管的点亮时间为1~2ms ,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。
图4-7 LED 数码管显示电路
4.4 INT0中断三位计数器演示实验
本实验实际的目的是为了演示利用外部中断0来实现计数的三位计数器。
技术范围为000-999用到了三个数码管来联合显示个位十位百位,如图4-8所示。
其中计数键接的是INT0口用来接受中断计数请求脉冲,清零键接的是P3.5口用来清除计数值并重置计数初值为000。
本实验中用到的元件有三极管用来控制LED 数码管与电源正极的接通与断开,74HC245锁存器用来控制计数器实验的运行与否,加锁存器的目的主要是从整体考虑。
设计项目计算与说明结果
4.5 LCD 液晶屏的字符显示实验
图4-8计数器模块电路
4.5 LCD液晶屏的字符显示实验
在日常生活中,我们对液晶显示器并不陌生。
液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。
在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。
发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。
在单片机系统中应用晶液显示器作为输出器件有以下几个优点:
显示质量高:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点因此,液晶显示器画质高且不会闪烁。
数字式接口:液晶显示器都是数字式的,和单片
设计项目计算与说明结果部分为HD44780,带背光的比不带背光的厚,是否带背
光在应用中并无差别,两者尺寸差别如下图10-54所
示:
图4-9 1602LCD尺寸图
1602LCD主要技术参数:
显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
引脚功能说明:
1602LCD采用标准的14引脚(无背光)或16引脚
(带背光)接口,各引脚接口说明如表10-13所示:
第1引脚:VSS为地电源。
第2引脚:VDD接5V正电源。
第3引脚:VL为液晶显示器对比度调整端,接正
电源时对比度最弱,接地时对比度最高,对比度过高
时会产生“鬼影”,使用时可以通过一个10K的电位
器调整对比度。
第4引脚:RS为寄存器选择,高电平时选择数据
寄存器、低电平时选择指令寄存器。
第5引脚:R/W为读写信号线,高电平时进行读操
作,低电平时进行写操作。
当RS和R/W共同为低电平
时可以写入指令或者显示地址,当RS为低电平R/W为
高电平时可以读忙信号,当RS为高电平R/W为低电平
设计项目
计算与说明
结果
4.5.5 1602LCD 的RAM 地址映射及标准字库表
指令9:读忙信号和光标地址 BF :为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据。
指令11:读数据。
与HD44780相兼容的芯片时序表如下:
表4-3基本操作时序表
读状态 输入
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=高脉冲 输出
无 读写操作时序如图4-10和图4-11所示:
图4-10 读操作时序
图4-11 写操作时序
4.5.5 1602LCD 的RAM 地址映射及标准字库表
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图4-12
设计项目
计算与说明
结果
4.5.6 1602LCD 的一般初始化(复位)过程
是1602的内部显示地址。
图4-12 1602LCD 内部显示地址
例如第二行第一个字符的地址是40H ,那么是否直接写入40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B (40H )+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM )已经存储了160个不同的点阵字符图形,如图4-13所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B (41H ),显示时模块把地址41H 中的点阵字符图形显示出来,我们就能看到字母“A”
4.5.6 1602LCD 的一般初始化(复位)过程
延时15mS
写指令38H (不检测忙信号) 延时5mS
写指令38H (不检测忙信号) 延时5mS
写指令38H (不检测忙信号)
设计项目计算与说明结果以后每次写指令、读/写数据操作均需要检测忙信
号
图4-13 字符代码与图形对应图
写指令38H:显示模式设置
写指令08H:显示关闭
写指令01H:显示清屏
写指令06H:显示光标移动设置
写指令0CH:显示开及光标设置
本实验LCD接线图如图所示:
图4-15 LCD实验接线图
4.6点阵显示字符实验
设计项目计算与说明结果
4.6.1 LED
简介
4.6.2 LED
点阵
4.6.1 LED简介
LED是发光二极管英文Light Emitting Diode的
缩写格式,LED器件种类繁多,早期的LED产品是单个
发光管,随着数字化设备的出现,LED数码管和字符管
得到了广泛的应用,LED点阵等显示器件的出现,适应
了信息化社会发展的需要,成为了大众传媒的重要工
具。
LED发光灯按类型可以分为单色发光灯、双色发光
灯、三色发光灯、面发光灯、闪烁发光灯、电压型发
光灯等;按发光强度可分为普通亮度发光灯、高亮度
发光灯、超高亮度发光灯等;
LED发光灯结构如图2所示,它由芯片3、阳极引
脚1、阴极引脚2和环氧树脂封装外壳四部分组成。
它
核心部分是具有复合发光功能的PN结,即芯片3。
环
氧树脂封装外壳具有保护芯片的作用,还有透光聚光
的能力,以增强显示效果。
图4-16 二极管示意图
4.6.2 LED点阵
随着LED应用领域的扩大,要求生产更为直接和
方便的LED显示器件。
因而出现了数码管、字符管、
电平管、LED点阵等多种LED显示器。
不管显示器的结
构怎么变,它的核心部件仍然是发光半导体芯片。
例如一个8×8的点阵是由64个发光二极管按一个规
律组成的。
设计项目计算与说明结果
4.6.3 点阵显示原理
图4-17 8x8点阵示意图
如图4-17所示的发光二极管,行接低电平,列接高电平,发光二极管导通发光。
4.6.3 点阵显示原理
人眼的亮度感觉不会因光源的消失而立即消失,要有一个延迟时间,这就是视觉的惰性。
视觉惰性可以理解为光线对人眼视觉的作用、传输、处理等过程都需要时间,因而使视觉具有一定的低通性。
实验表明,当外界光源突然消失时,人眼的亮度感觉是按指数规律逐渐减小的。
这样当一个光源反复通断,在通断频率较低时,人眼可以发现亮度的变化;而通断频率增高时,视觉就逐渐不能发现相应的亮度变化了。
不致于引起闪烁感觉的最低反复通断频率称为临界闪烁频率。
通过实验证明临界闪烁频率大约为24Hz。
因此采用每秒24幅画面的电影,在人看起来就是连续活动的图象了。
同样的原理,日光灯每秒通断50次,而人看起来却是一直亮的。
由于视觉具有惰性,人们在观察高于临界闪烁频率的反复通断的光线时,所得到的主观亮度感受实际上是客观亮度的平均值。
设计项目计算与说明结果
4.6.4 显示屏的原理图及结构
图4-18行扫描部分
视觉惰性可以说是LED显示屏得以广泛应用的生理基础。
首先,在LED显示屏中可以利用视觉惰性,改善驱动电路的设计,形成了目前广为采用的扫描驱动方式。
扫描驱动方式的优点在于LED显示屏不必对每个发光灯提供单独的驱动电路,而是若干个发光灯为一组共用一个驱动电路,通过扫描的方法,使各组发光灯依次点燃,只要扫描频率高于临界闪烁频率,人眼看起来各组灯都在发光。
由于LED显示屏所使用的发光灯数量很大,一般在几千只到几十万只的范围,所以节约驱动电路的效益是十分可观的。
4.6.4 显示屏的原理图及结构
根据显示屏的原理图结构,分析LED点阵控制器的控制原理:如显示1个汉字,先将这1个汉字的点
设计项目
计算与说明
结果
4.6.5 显示屏的实验内容
阵从字库中读出,放到显示缓存,如果要实现左移或者其它的显示效果则将显示缓存中的每个位进行移位或者其它处理,
图4-19 列扫描部分
然后再调用扫描显示函数就可以实现所规定的效果。
扫描显示函数是显示缓存的内容,如果要实现不同的内容,比如说图片、汉字、英文等内容,只需要将这些内容按扫描显示函数对显示缓存的协议要求就可以显示出来。
由于显示屏中采用74HC595移位缓存器,所以需要做74HC595的驱动,这个相对简单,只要将数据按位传输,一位送一个时钟,送完一行所有的数据送一个锁存时钟,再通过74HC138选通该行,这样一直循环,人眼就会看到一幅完整的内容。
对于显示屏来说,显示使能端是比较重要的,主要是因为送完一行后需要一个消隐的动作,所谓的消隐就是让显示屏黑屏一段时间,如果不做该动作,则在显示的过程中会有拖影的现象。
4.6.5 显示屏的实验内容
本模块包含两个实验项目:
16×16点阵显示汉字:本实验能够在如图4-20的点阵屏上依次显示“河北建筑工程学院”八个汉字。