- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术课程设计报告
2009-2010学年第二学期
设计题目: 七段LED数码管数字钟
小组成员: 林磊 马振宁 熊莺莺 魏容亚
所学专业: 计算机科学与技术
指导教师: 高国红 _______
完成时间: 2010.6.4 _______
摘要
该设计题目的主要内容是通过程序设计使LED数码管显示时间,利用接口芯片8259A,8253和8255实现。
LED七段数码管数字钟具体完成功能:
1.设计并完成LED七段数码管数字钟电路。
2.数字钟显示格式为:HH:MM:SS。
具有通过 开关能够调整时、分、秒的功能。
目录
1.实验内容…………………………………………………….3
2.七段数码管数字钟功能介绍………………………………3
3.七段数码管数字钟的电路图设计…………………………3
4.七段数码管数字钟的程序设计流程图…………………….4
5.七段数码管数字钟的源程序………………………………5
6.课程设计体会………………………………………………11
7.参考文献……………………………………………………11
1.实验内容
通过对接口芯片编程,使七段数码管LED成为一个时钟,来显示时间。显示时、分、秒。
2.七段LED数码管数字钟的功能介绍
通过对接口芯片编程,使七段数码管LED成为一个时钟,来显示时间。显示时、分、秒。实验利用8255的A口向LED送显示数据,而B口用来给出任意的时间,然后由A口再送到LED显示,C口的高四位用来显示秒,低四位用来片选LED的哪个数码管显示数据。
通过8259来响应当秒数达到60次时的中断,从而调整分钟和小时。而8253则用来计时,该芯片的时钟频率为1..19MHz,那么他的时钟周期为1/1.19=0.8微妙。选择62500*20次来作为时钟脉冲。
3.七段LED数码管数字钟的电路设计
4.七段数码管数字钟的程序设计流程图
(1)LED显示子程序流程图
(2) 定时中断服务子程序框图
5.七段数码管数字钟的源程序
内存变量:
COUNTI5000
HOUR 5004
MINUTE5006
SECOND5008
LEDBUF 5020
LEDMAP: ;八段管显示码500C
db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h
db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h
LED显示子程序:DISPLED 2100
MOV BX,5020
MOV CH,00
MOV CL,04
MOV AH;F7
DISPLP:2107
MOV AL;LED片选0电平有效,1则关
OUT 62H,AL;关ALL LED
MOV AL,[BX]
OUT 60H,AL;把时钟数据直接输入到8255A的A口
MOV AL,AH
OUT 62H,AL;8255A的C口PC0-PC3接LED片选
PUSH AX ;延时子程序
PUSH CX
MOV AH,FF
MOV AL,00
MOV CX,AX
A1:LOOP A1
POP CX
POP AX
SHR AH,1
INC BX
DEC CL
JNZ DISPLP2107
MOV AL
OUT 62H,AL
RET
时分秒缓存子程序:
;把小时(分钟/秒)的十位和个位分别取出,并取出LEDMAP中的对应值,
;分别按序存到缓存LEDBUF中
时缓存 HOURBUF 2200
MOV AL,[5004]
MOV SI,5020;LEDBUF首地址给SI
MOV AH,00
MOV CL,0AH;即十进制的10
DIV CL;商将放在AL中,余数放在AH中
MOV AH,00
MOV BX,500C
ADD BX,AX;加的是十位数值,查到LEDMAP中对应的码表值
MOV AL,[BX]
MOV [SI],AL;先存进十位码表值到LEDBUF缓冲区中供DISPLED子程序读
MOV BX,500C
MOV AL,CH
MOV AH,00
ADD BX,AX;加的是个位数值,查到LEDMAP中对应的码表值
MOV AL,[BX]
OR AL,80H;点亮小数点
INC SI
MOV [SI],AL
RET
分缓存 MINUTEBUF2300
MOV SI,5020;LEDBUF首地址给SI
MOV AL,[5006]
MOV AH,00
MOV CL,0AH
DIV CL
MOV CH
文档评论(0)