- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告__实验七_八段数码管显示实验.
EDA实验报告 之
实验七 八段数码管显示实验
1、实验目的
1)了解数码管动态显示的原理。
2)了解用总线方式控制数码管显示
2、实验要求:利用实验仪提供的显示电路, 动态显示一行数据.
提示:把显示缓冲区(例如可为60H~65H作为缓冲区)的内容显示出来,当修改显示缓冲区的内容时,可显示修改后的内容(为键盘扫描、显示实验做准备)。
3、实验说明
本实验仪提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6位,用动态方式显示。8位段码、6位位码是由两片74LS374输出。位码经MC1413或ULN2003倒相驱动后,选择相应显示位。
本实验仪中 8位段码输出地址为0X004H,位码输出地址为0X002H。此处X是由KEY/LED CS 决定,参见地址译码。
做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS接到CS0上,则段码地址为08004H,位码地址为08002H。
七段数码管的字型代码表如下表:
a
-----
f| |b
| |
-----
| g |
e| |c
-----
d 。h
显示字形 g f e d c b a 段码
0 0 1 1 1 1 1 1 3fh
1 0 0 0 0 1 1 0 06h
2 1 0 1 1 0 1 1 5bh
3 1 0 0 1 1 1 1 4fh
4 1 1 0 0 1 1 0 66h
5 1 1 0 1 1 0 1 6dh
6 1 1 1 1 1 0 1 7dh
7 0 0 0 0 1 1 1 07h
8 1 1 1 1 1 1 1 7fh
9 1 1 0 1 1 1 1 6fh
A 1 1 1 0 1 1 1 77h
b 1 1 1 1 1 0 0 7ch
C 0 1 1 1 0 0 1 39h
d 1 0 1 1 1 1 0 5eh
E 1 1 1 1 0 0 1 79h
F 1 1 1 0 0 0 1 71h
4、原理图及连线
5、实验内容
使用仪器、仪表,开发平台型号
本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,示波器,若干连线,串行数据线。
性能指标、技术要求、思路方案、流程图
5.1 性能指标、技术要求见实验目的和实验要求。
5.2 思路方案:将数据放入显示缓冲区60—65H单元,通过位选信号,段选信号控制数码管显示相应的内容,其中,段选信号由查表得到。为了动态显示富有变化,每一轮显示完毕后,需要改变数据单元的内容。为了数码管显示不抖动,还需要对每一轮数据显示一定的次数,具体见代码。
5.3 流程图:(见下页)
流程图:
源程序(为了程序看起来更规范和容易理解,最好将各部分功能分离,在主程序中以子程序调用的形式调用相应的子程序)
ORG 0000H
LJMP BEGIN
ORG 0030H
BEGIN:
LCALL INITIALIZE ;设置60H--65H单元的初值
DIS:
LCALL DISPLAY ;显示缓冲区单元的数据
LCALL CHANGE ;改变缓冲区单元的数据
LCALL DELAY ;为了两轮显示间时间间隔久一些
DJNZ R5,DIS ;是否显示完一遍0-F,是则重新开始
SJMP BEGIN ;重新开始
SJMP $
;==============
DISPLAY:
;===
MOV R6,#40 ;设置每一轮显示的次数
BEGIN0:
MOV A,#01H ;位选通信号
MOV R2,#6 ;显示缓冲区只有6个字节单元
MOV R0,#60H ;显示缓冲区单元数据地址
;***
LOOP:
MOV DPTR,#8002H ;位选输出地址
MOVX @DPTR,A
RL A ;修改位信号
PUSH A
MOV DPTR,#8004H ;数据输出地址
M
文档评论(0)