实现特定功能的键盘及LED显示 接口课程设计要点.docx
- 文档编号:27377787
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:20
- 大小:63.94KB
实现特定功能的键盘及LED显示 接口课程设计要点.docx
《实现特定功能的键盘及LED显示 接口课程设计要点.docx》由会员分享,可在线阅读,更多相关《实现特定功能的键盘及LED显示 接口课程设计要点.docx(20页珍藏版)》请在冰豆网上搜索。
实现特定功能的键盘及LED显示接口课程设计要点
河北科技大学
《接口技术》课程设计报告
学生姓名:
学号:
专业班级:
课程名称:
学年学期:
20—20学年第学期
指导教师:
20年月
课程设计成绩评定表
学生姓名
学号
查表得键码
成绩
专业班级
起止时间
等待按键释放
设计题目
返回
验收内容显示缓冲区初始化LED
课程设计小组验收结果:
需努力□及格□中等□硬件设计:
优秀□良好□
需努力□程序设计:
优秀□良好□及格□中等□及格□良好□需努力□中等□实验结果:
优秀□
课程设计个人验收结果:
操作能力:
优秀□良好□中等□及格□需努力□需努力□软件理解:
优秀□良好□及格□中等□需努力□及格□中等□硬件理解:
优秀□良好□
指导教师:
年月日开始开始初始化地址参数输出列扫描信号显示
一、设计题目:
---------------------------------------------------------------------------------------------2
二、设计目的:
---------------------------------------------------------------------------------------------2
三、设计原理及方案:
-----------------------------------------------------------------------------------2
1、实验电路图----------------------------------------------------------------------------------------2
2、实验框图-------------------------------------------------------------------------------------------3
3、各功能实现方案----------------------------------------------------------------------------------4
4、实验程序-------------------------------------------------------------------------------------------4
四、实验方法------------------------------------------------------------------------------------------------9
1、实验电路测试-------------------------------------------------------------------------------------9
2、软件测试-------------------------------------------------------------------------------------------9
五、实验结果------------------------------------------------------------------------------------------------9
六、改进意见及建议--------------------------------------------------------------------------------------9
七、设计体会------------------------------------------------------------------------------------------------9
1
一、设计题目:
实现特定功能的键盘及LED显示。
二、设计目的:
1、掌握键盘和显示器的接口方法和编程方法。
2、掌握键盘扫描和LED八段码显示器的工作原理。
三、设计原理及方案:
、实验电路图1
2
实lab8000PC机与伟福lab8000实验箱连接起来,安装好相应驱动,做好接线分析,由于说明:
使用相连即可。
KEY/LED_CS选通端口与CS0验箱已经将部分电路接线内置,所以接线仅需要将2、实验框图
列扫描信号移位
否读入行信号
有键输入?
是该列有键输入?
是否6列扫描完?
读取键值
是
返回键值转换为显示数据
主程序框图
读键输入子程序框图(接下页)
3
(接上页)
按照行列计算键值
、各功能实现方案3键显示年
(1)功能1:
按1号键。
关于显示年份,首先定义一个显示缓冲区,用于存储1当读取到寄存器AL=02H时,说明按键为表示年份的数字。
然后依次读取其值,再显示到数码管上。
)功能(22:
按2显示月日号键。
显示月日方法和显示年份一样,首先定义一个显示缓当读取到寄存器AL=0AH时,说明按键为2冲区,用于存储表示月日的数字。
然后依次读取其值,再显示与数码管上。
GOOD
(3)功能3:
按3显示数码管的显示,G,O,O,D分别以七段代码6FH,3FH,3FH,5EH代替,以显示GOOD字样。
然后清空LED将通过延时,让GOOD字样显示与数码管。
8字循环显示4:
按4键数码管由左到右(4)功能号键。
通过设置循环及延迟及上述相似的方法显示出指定时,说明按键为4当8279扫描寄存器AL=01H效果。
4、实验程序位控制口equ08002h;OUTBIT
段控制口equ08004h;OUTSEG
键盘读入口equ08001h;IN_KEY
segment
data
显示缓冲;LEDBufdb6dup(?
)
显示的数据;db1dup(?
)Num
1dup(?
)
DelayTdb
;八段管显示码LEDMAP:
3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb
7fh,6fh,77h,7ch,39h,5eh,79h,71hdb
键码定义;KeyTable:
16h,15h,14h,0ffhdb
13h,12h,11h,10hdb
0dh,0ch,0bh,0ahdb
0eh,03h,06h,09hdb
0fh,02h,05h,08hdb
00h,01h,04h,07hdb
ends
data
4
codesegment
assumecs:
code,ds:
data
Delayprocnear
pushax;延时子程序
pushcx
moval,0
movcx,ax
loop$
popcx
popax
ret
Delayendp
Delay1procnear
pushax;延时子程序
pushcx
moval,0
movcx,38000
loop$
popcx
popax
ret
Delay1endp
DisplayLEDprocnear
movbx,offsetLEDBuf
movcl,6;共6个八段管
movah,00100000b;从左边开始显示
DLoop:
movdx,OUTBIT
moval,0
outdx,al;关所有八段管
moval,[bx]
movdx,OUTSEG
outdx,al
movdx,OUTBIT
moval,ah
outdx,al;显示一位八段管
pushax
5
movah,1
callDelay
popax
shrah,1
incbx
deccl
jnzDLoop
movdx,OUTBIT
moval,0
outdx,al;关所有八段管
ret
DisplayLEDendp
TestKeyprocnear
movdx,OUTBIT
moval,0
outdx,al;输出线置为0
movdx,IN_KEY
inal,dx;读入键状态
notal
andal,0fh;高四位不用
ret
TestKeyendp
GetKeyprocnear
movch,00100000b
movcl,6
KLoop:
movdx,OUTBIT
moval,ch;找出键所在列
notal
outdx,al
shrch,1
movdx,IN_KEY
inal,dx
notal
andal,0fh
jneGoon_;该列有键入
deccl
jnzKLoop
6
movcl,0ffh;没有键按下,返回0ffh
jmpExit1
Goon_:
deccl
shlcl,2;键值=列X4+行
movch,4
LoopC:
testal,1
jnzExit1
shral,1
inccl
decch
jnzLoopC
Exit1:
movdx,OUTBIT
moval,0
outdx,al
movch,0
movbx,offsetKeyTable
addbx,cx
moval,[bx];取出键码
movbl,al
WaitRelease:
movdx,OUTBIT
moval,0
outdx,al;等键释放
movah,10
callDelay
callTestKey
jneWaitRelease
moval,bl
ret
GetKeyendp
Startprocnear
movax,data
movds,ax
movdi,offsetLEDBuf
p1:
movdi,offsetLEDBuf
mov[di],05bh;显示2015.
mov[di+1],03fh
mov[di+2],03fh
7
mov[di+3],0ffh
mov[di+4],0
mov[di+5],06h
jmpMLoop
p2:
movdi,offsetLEDBuf
mov[di],03fh;显示08.08.
mov[di+1],0ffh
mov[di+2],03fh
mov[di+3],0ffh
mov[di+4],0
mov[di+5],5bh
jmpMLoop
p3:
movdi,offsetLEDBuf
mov[di],6fh;显示good
mov[di+1],5ch
mov[di+2],5ch
mov[di+3],0deh
mov[di+4],0
mov[di+5],4fh
jmpMLoop
p4:
pushcx
movcx,08h
movbx,offsetLEDBuf
p4l:
mov[bx],00
incbx
loopp4l
popcx
mov[di],7fh;显示8
incdi
cmpdi,offsetLEDBuf+06h
jnznext
movdi,offsetLEDBuf
next:
calldelay1
callDisplayLED;显示
callTestKey
jneMLoop
jmpp4
MLoop:
callDisplayLED;显示
callTestKey;有键入?
jeMLoop;无键入,继续显示
callGetKey;读入键码
andal,0fh;显示键码
cmpal,01h
8
jzmmpp1
cmpal,02h
jzmmpp2
cmpal,03h
jzp3
cmpal,04h
jzp4
movah,0
movbx,offsetLEDMAP
addbx,ax
moval,[bx]
movLEDBuf+5,al
jmpMLoop
mmpp1:
jmpp1
mmpp2:
jmpp2
Startendp
codeends
endstart
四、实验方法
1、实验电路测试
(1)将KEY/LED_CS选通端口与CS0相连。
(2)接通电源,检查LED数码管是否正常工作。
2、软件测试
(1)将实验箱连接电脑,调试运行试验程序。
(2)按实验要求一次按下1至4号按键进行测试,观察LED数码管反应。
五、实验结果
1、按下1键:
LED显示“2015.”。
2、按下2键:
LED显示“06.13”。
3、按下3键:
LED显示“GOOD”。
4、按下4键:
LED从左至右循环显示“8”。
六、改进意见及建议
可以在实现基本效果的基础上在添加一些特效显示。
例如,将特定数字或字母进行闪烁显示,闪烁10次后不再闪烁。
这项功能的实现需要加入中断技术,通过边沿触发中断,执行中断服务子程序,进而达到效果。
七、设计体会
本次课程设计,我看到了自己许多不足之处。
这次课程设计完全改变了我以前的错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。
因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任9
务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到了各种各样的问题,在这些问题中也认识到了自己的种种不足,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
其实这也给了我一个警告,在今后的学习中,我力争扎实学习。
10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现特定功能的键盘及LED显示 接口课程设计要点 实现 特定 功能 键盘 LED 显示 接口 课程设计 要点