微机原理与接口技术课程设计键盘显示控制器Word文档格式.docx
《微机原理与接口技术课程设计键盘显示控制器Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计键盘显示控制器Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
要求具体如下:
1.
C键:
清楚,显示00.00.00
2.
G键:
启动,秒表计时
3.
D键:
停止,秒表停止计时
4.
P键:
设置分、秒、百分秒值。
输入时依次为分、秒、百分秒,同时应有判断输入错误的能力,若输入有错,则显示:
E
-
-,此时敲P键可重新输入预置值。
5.
E键:
程序退出,返回DOS
二、需求分析
2.1、计算机的重要性
计算机是当代众多新兴技术中发展最快、应用最广的一项技术,也是渗透力最强,对社会发展影响最为深远的高新技术。
今天它已经逐渐深入到社会的每一个细胞,改变着人们的生产方式,社会活动方式甚至家庭生活方式。
计算机发展如此迅速,影响如此深远。
有其深刻的社会背景。
2.2、8279芯片
8279是一种通用的可编程的键盘/显示器接口器件,可对64个开关组成的键盘矩阵进行自动扫描,接收键盘上的输入信息,并在有键输入时向单片机请求中断,还能对8位或16位LED自动扫描,使显示缓冲器的内容在LED上显示出来。
利用8279对键盘/显示器的自动扫描,可以减轻CPU负担,具有显示稳定、程序简单、不会出现误动作等特点。
是一种应用非常广泛的芯片,学习8279芯片的简单应用时十分有必要的。
三、设计方案
3.1、课程设计步骤与方法
1、本设计是做在一块扩展电路板上,用一根20芯扁平电缆与实验台上扩展插头J7相连。
2、编程1:
使得在小键盘上每按一个健,6位数码管上显示出相应字符,它们的对应关系如下:
小键盘显示小键盘显示
0—0C—C
1—1D—d
2—2E—E
3—3F—F
4—4G—q
5—5M—
6—6P—p
7—7W—
8—8X—
9—9Y—
A—
R—返回
B—b
3、编程2:
中断编程
利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,
设计一个电子钟。
电子钟显示格式如下:
XX.XX.XX.由左向右分别为时、分、秒
要求具有如下功能:
①、C键:
清除,显示全零。
②、G键:
启动,电子钟计时。
③、D键:
停止,电子钟停止计时。
④、P键:
设置时、分、秒值。
输入时依次为时、分、秒,同时应有判断输入错误的
能力,若输入有错,则显示:
E-----。
此时敲P键可重新输入预置值。
⑤、E键:
程序退出。
3.2、课程设计说明书与图纸
(一)设计说明
1.本设计编程1接线方法:
用一根20芯扁平电缆将实验扩展板与实验台上扩展插头J7相连。
2.本设计编程2接线方法:
(1)用一根20芯扁平电缆将实验扩展板与实验台上扩展插头J7相连。
(2)实验台上8253CLK0接1MHZ,GATE0和GATE1接+5V,OUT0接CLK1,OUT1接IRQ,CS接280H~287H。
(二)设计电路如下图所示:
(三)参考流程图如下所示:
键盘显示子程序流程图:
KEY2
3.3、设计程序(部分代码)
源程序:
ASSUME
CS:
CODE,DS:
DATA,SS:
STACK
START:
CLI
MOV
AX,DATA
DS,AX
BUF,0
SIGH,01
SEC1,0
MIN1,0
MIN2,0
HOUR1,0
HOUR2,0
ERR1,0
DX,TIMEC
;
8253初始化
AL,36H
OUT
DX,AL
DX,TIME0
AX,100
AL,AH
DX,TIMEC
AL,74H
AX,10
DX,TIME1
;
定时器每0.1S中断1次
AX,STACK
SS,AX
SP,TOP
DX,OFFSET
MES
AH,09
INT
21H
AX,CS
INT_PROC
AX,250FH
21H
置IRQT中断向量
DX,INTA01
IN
AL,DX
AND
AL,7FH
DX,PORT1
AL,0D3H
DX,AL
;
8279清零
AL,2AH
置8279时钟命令
AL,40H
读FIFO
RAM命令
AL,00H
置键盘显示模式
AL,80H
写RAM命令
STI
KEY1:
CALL
KET2
调键盘显示子程序
CMP
HOUR2,0AH
JZ
NEXT2
NEXT1:
AL,0CH
是否“C”命令
JNZ
LP0
NEXT2:
SIGH,00H
HOUR2,00H
HOUR1,00H
MIN2,00H
MIN1,00H
SEC2,00H
SEC1,00H
LP0:
AL,0EH
是否“E”命令
LP1
OR
AX,4C00H
是“E”命令返回DOS
LP1:
AL,10H
是否“G”命令
LP2
SIGH,01H
JMP
KEY1
LP2:
AL,0DH
是否“D”命令
SETI
KEY3:
SETI:
AL,12H
是否“P”命令
KET1
SIGH,00H
“00”为预置时标志
HMS,00H
HIGH0
ERR1,01H
KEY3
LOW0
HMS,11H
“11”为预置分标志
HMS,22H
“22”为预置秒标志
MAIN
ENDP
INT_PROC:
PUSH
AX
BX
CX
DX
SI
DI
PUAH
DS
SIGH,00
是否允许记数
ENDT1
INC
BUF
记数单元加1
BUF,10
JL
ENDT
SEC1
SEC1,10
SEC2
SEC2,6
SEC2,0
MIN1
MIN1,10
MIN2
MIN2,6
HOUR1
HPUR2,2
HH
HOUR1,4
ENDT1:
HH:
HOUR1,10
HOUR2
ENDT:
DX,INTA00
AL,20H
POP
IRET
KEY2
PROC
NEAR
AL,0D1H
清显示
WAEP:
DISP
调显示子程序
AL,07H
WAEP
KETN:
DX,PORT0
读状态
BL,AL
BL,38H
CL,03
SHR
BL,CL
BL,00H
是否第一行键
LINE1
ADD
AL,08H
QUIT1
LINE1:
BL,01H
LINE2
是否第二行键
LINE2:
AL,10H
QUIT1:
RET
AL,90H
SI,OFFSET
CX,0006
BX,OFFSET
LED
DISP1:
CLD
LODSB
XLAT
DX,PORT0
LOOP
DISP1
ERR
HOUR1,0BH
MIN2,0BH
显示“E----”
MIN1,0BH
SEC2,0BH
SEC1,0BH
ERR1,01H
出错标志
HIGH0
ERR1,00
HMS,00H
HMS是预置时、分、秒标志
MIN0
AL,02H
00预置时
JG
ERROR
11预置分
HOUR2,AL
22预置秒
HOUT1
MIN0:
HMS,11H
SEC0
AL,05H
ERROR
MIN2,AL
SEC0:
SEC2,AL
HOUT1:
ERROR:
ERR
LOW0
预置时、分、秒低位
MIN3
DL,HOUR2
DL,01
HOUR3
AL,09H
HOUR1,AL
LQUT1
HOUR3:
AL,03H
MIN3:
SEC3
MIN1,AL
SEC3:
SEC1,AL
LQUT1:
CODE
ENDS
END
START
四、测试分析
按要求在实验台上连好线,打开电源,然后在PC机上编译、连接、运行程序,再测试功能:
按P键设置时分秒
按C清零
按G启动计时
按D停止计时
按E返回DOS
输入有错显示E-----,此时按P可重新输入。
五、总结
本次设计是两人一组,实验设计中,能够感受到若是光靠自己的能力,是不能够完成这次设计的。
自己分析原因:
其一,没有对单片机了解不够详细,知识面欠缺。
其二,自己做的许多过程有差误,不说自己到头来能否发现,即使发现,时间耽误太多了,自己过于粗心马虎。
正是因为我们是团体合作,有异议提出来,将错误及时解决,避免了很多设计的复杂性。
当然,这次设计,其他的同学也提供了不少援助,当然,老师为我们课程设计的成功提供了很重要的帮助。
再次感谢我的老师,感谢我的合作伙伴,当然,这次的实验设计也看到自己的不足,以后自己会更加努力的学习,相信自己以后会越来越棒。
六、参考文献
《微型计算机原理与接口技术》主编:
吴秀清中国科技大学出版社
微机原理与接口技术
主编:
梁建武
中国水利水电出版社
IBM-PC汇编语言程序设计
清华大学出版社