- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南通大学电气工程学院
微机原理课程设计
报 告 书
课 题 名 花式跑马灯
班 级____ ________________
姓 名__ ___
指导教师
日 期
一.设计目的
1.培养和锻炼学生解决实际工程设计和应用问题的能力。熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。
2.进一步了解微机原理的结构编程并学习试验箱的使用。
3.实现LED灯不同方式的闪烁。
4.学会使用8255芯片。
二.设计内容
要求自行设计电路并连线,实现具有5种以上花式的跑马灯。(开关选择 ▲ )(按键选择 ◆ )(带定时按键选择 ★ )(利用8259芯片实现触发式控制 ★☆ )
三.设计原理及方案
设计使用键盘扫描的方法,将8255的C口作为键盘的输入输出口,B口作为LED灯的输出口,先将pc7-pc4送全零,再读取pc0-pc3,若全为“1”,这表示无键闭合。若有键闭合,则进行键扫描。键扫描的方法如下:使pc4为零,pc5-pc7为高电平,读取pc0-pc3,如果全是“1”,表示该列无键闭合;否则闭合键在该列上,在进一步判断读取的数据中那一为为零,从而确定闭合键。得到键值后用来判断是那种方式来跑。
四.汇编源程序代码
DATA SEGMENT
DFG DB 1
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,0206H ;8255初始化
MOV AL,91H
OUT DX
MOV DX,0202H
MOV AL,0FFH
OUT DX
KS1: MOV DX,0204H ;读取按键
MOV AL,0FH
OUT DX,AL
IN AL,DX
AND AL,0FH
CMP AL,0FH ;判断有无键闭合
JZ KS1 ;若无键闭合则循环等待
KS2: PUSH BX ;循环消除抖动
PUSH CX
MOV BX,1
DEL1: MOV CX,2021
DEL2: LOOP DEL2
DEC BX
JNZ DEL1
POP CX
POP BX
MOV DX,0204H ;再次判断有无键闭合
MOV AL,0FH
OUT DX
IN AL,DX
AND AL,0FH
CMP AL,0FH
JZ KS1
MOV BL,0EFH ;初始化列码
MOV BH,0 ;初始化列计数器
AGAIN:MOV DX,0204H
MOV AL,BL
OUT DX,AL ;输出列码读取行码
IN AL,DX
AND AL,0FH
CMP AL,0FH
JZ TONEXT ;该列无键闭合,准备下一列扫描
CMP AL,0EH ;判断该列是否第一个键按下
JNZ TWO
MOV DFG,0
JMP FREE
TONEXT:JMP NEXT
TWO: CMP AL,0DH ;判断该列是否第二个键按下
JNZ THREE
MOV DFG,4
JMP FREE
THREE:CMP AL,0BH ;判断该列是否第三个键按下
JNZ FOUR
MOV AL,8
JMP FREE
FOUR:CMP AL,07H ;判断该列是否第四个键按下
JNZ NEXT
MOV AL,0CH
FREE: PUSH AX
WA
文档评论(0)