实现特定功能的键盘及LED显示接口课程设计_第1页
实现特定功能的键盘及LED显示接口课程设计_第2页
实现特定功能的键盘及LED显示接口课程设计_第3页
实现特定功能的键盘及LED显示接口课程设计_第4页
实现特定功能的键盘及LED显示接口课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北科技大学接口技术课程设计报告学生姓名:学号:专业班级:课程名称:学年学期:2 0 2 0学年第学期指导教师:课程设计成绩评定表验收内容操作能力:优秀口良好口中等口及格口需努力口软件理解:优秀口良好口中等口及格口需努力口硬件理解:优秀口良好口中等口及格口需努力口课程设计个人验收结果:学生姓名学号成绩专业班级起止时间设计题目课程设计小组验收结果:硬件设计:优秀口良好口中等口及格口需努力口程序设计:优秀口良好口中等口及格口需努力口实验结果:优秀口良好口中等口及格口需努力口指导教师:目录一、设计题目: 2二、设计目的: 2三、设计原理及方案: 21、实验电路图 22、实验框图 33、各功能实现方案

2、 44、实验程序 4四、实验方法 91、实验电路测试 92、软件测试 9五、实验结果 9六、改进意见及建议 9七、设计体会 91一、设计题目:实现特定功能的键盘及 LED显示。二、设计目的:1、掌握键盘和显示器的接口方法和编程方法。2、掌握键盘扫描和 LED八段码显示器的工作原理。三、设计原理及方案:1、实验电路图DATAIJUSJprRIxosl岸al.-lLMH._J; :!二二 1K2.口 .O .a Q a O Q JD7 L fj二二 a 7Tgn R139lab8000 实说明:使用PC机与伟福lab8000实验箱连接起来,安装好相应驱动,做好接线分析,由于 验箱已经将部分电路接线

3、内置,所以接线仅需要将KEY/LED_CS选通端口与CS0相连即可。2、实验框图主程序框图读键输入子程序框图(接下页)(接上页)3、各功能实现方案(1)功能1 :按1键显示年当读取到寄存器 AL=02 H时,说明按键为1号键。关于显示年份,首先定义一个显示缓冲区,用于存储 表示年份的数字。然后依次读取其值,再显示到数码管上。(2)功能2 :按2显示月日当读取到寄存器 AL=0AH时,说明按键为2号键。显示月日方法和显示年份一样,首先定义一个显示缓 冲区,用于存储表示月日的数字。然后依次读取其值,再显示与数码管上。(3)功能3 :按3显示GOOD将G,O,O,D分别以七段代码 6FH,3FH,3

4、FH,5EH代替,以显示 GOOI字样。然后清空 LED数码管的显示, 通过延时,让 GOO字样显示与数码管。(4)功能4 :按4键数码管由左到右 8字循环显示当8279扫描寄存器AL=01H时,说明按键为4号键。通过设置循环及延迟及上述相似的方法显示出指定 效果。4、实验程序OUTBITequ 08002h;位控制口OUTSEGequ 08004h;段控制口IN_KEYequ 08001h;键盘读入口datasegme ntLEDBuf db6 dup;显示缓冲Numdb1 dup;显示的数据DelayT db1 dupLEDMAP:;八段管显示码db3fh, 06h, 5bh, 4fh,

5、66h, 6dh, 7dh, 07hdb7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hKeyTable:;键码定义db16h, 15h, 14h, 0ffhdb13h, 12h, 11h, 10hdb0dh, 0ch, 0bh, 0ahdb0eh, 03h, 06h, 09hdb0fh, 02h, 05h, 08hdb00h, 01h, 04h, 07hdata endscode segmentassume cs:code, ds:dataDelay proc nearpush ax ; 延时子程序 push cxmov al, 0mov cx,axloop $p

6、op cxpop axretDelay endpDelay1 proc nearpush ax ; 延时子程序push cx mov al, 0 mov cx,38000 loop $pop cx pop axretDelay1 endpDisplayLED proc nearmov bx, offset LEDBufmov cl, 6 ; 共 6 个八段管mov ah, 00100000b ; 从左边开始显示 DLoop:mov dx, OUTBITmov al, 0out dx,al ; 关所有八段管mov al, bxmov dx, OUTSEGout dx,almov dx, OUTB

7、ITmov al, ahout dx, al ; 显示一位八段管push axmov ah, 1call Delaypop axshr ah, 1inc bxdec cljnz DLoopmov dx, OUTBITmov al, 0out dx,al ; 关所有八段管 retDisplayLED endpTestKey proc nearmov dx, OUTBITmov al, 0outdx, al;输出线置为 0mov dx, IN_KEY inal, dx;读入键状态notalandal, 0fh;高四位不用retTestKey endpGetKey proc nearmov ch,

8、00100000bmov cl, 6KLoop:mov dx, OUTBITmov al, ch ; 找出键所在列 not al out dx, al shr ch, 1mov dx, IN_KEYin al, dxnot aland al, 0fhjne Goon_ ; 该列有键入 dec cl jnz KLoopmovcl, 0ffh ;没有键按下, 返回 0ffhjmpExit1Goon_:decclshlcl, 2 ;键值列X 4 + 行movch, 4LoopC:testal, 1jnzExit1shral, 1inccldecchjnzLoopCExit1:movdx, OUTBI

9、Tmoval, 0outdx, almovch, 0movbx, offset KeyTableaddbx, cxmoval, bxJ取出键码movbl, alWaitRelease:movdx, OUTBITmoval, 0outdx, almovah, 10callDelaycallTestKeyjneWaitReleasemoval, blret; 等键释放GetKey endpStart proc nearp1:movax, datamovds, axmovdi,offset LEDBufmovdi,offset LEDBufmovdi, 05bh ;movdi+1, 03fhmovd

10、i+2, 03fh显示 2015.p2:p3:p4:next:MLoopmovdi+3, 0ffhmovdi+4, 0movdi+5, 06hjmp MLoopmovdi,offset LEDBufmovdi, 03fh ; 显示 08.08.movdi+1, 0ffhmovdi+2, 03fhmovdi+3, 0ffhmovdi+4, 0movdi+5, 5bhjmp MLoopmovdi,offset LEDBufmovdi,6fh;显示 goodmovdi+1,5chmovdi+2,5chmovdi+3,0dehmovdi+4,0movdi+5,4fhjmp MLooppushcxmov

11、cx,08hmovbx,offset LEDBufmovbx,00incbxloopp4lpopcxmovdi, 7fh ; 显示 8incdicmpdi,offset LEDBuf + 06hjnznextmovdi,offset LEDBufp4l:call delay1call DisplayLED ; 显示call TestKeyjne MLoopjmp p4call DisplayLED; 显示call TestKey; 有键入 ?je MLoop; 无键入 , 继续显示call GetKey; 读入键码and al, 0fh; 显示键码cmp al,01h1013jz mmpp1c

12、mpal,02hjz mmpp2cmpal,03hjz p3cmpal,04hjz p4movah, 0movbx, offset LEDMAPaddbx, axmoval, bxmovLEDBuf+5, aljmpMLoopmmpp1: jmp p1mmpp2: jmp p2Start endp code ends end start四、实验方法1、实验电路测试(1 )将KEY/LED_CS选通端口与 CSO相连。(2 )接通电源,检查 LED数码管是否正常工作。2、软件测试( 1 )将实验箱连接电脑,调试运行试验程序。(2)按实验要求一次按下 1至4号按键进行测试,观察 LED数码管反应。

13、五、实验结果1、按下1键:LED显示“ 2015. ”。2、按下2键:LED显示“ 06.13 ”。3、按下3键:LED显示“ GOO”4、按下4键:LED从左至右循环显示“ 8”。六、改进意见及建议可以在实现基本效果的基础上在添加一些特效显示。例如,将特定数字或字母进行闪烁显示,闪烁 次后不再闪烁。这项功能的实现需要加入中断技术,通过边沿触发中断,执行中断服务子程序,进而达到效 果。七、设计体会本次课程设计,我看到了自己许多不足之处。这次课程设计完全改变了我以前的错误的认识,以前我接 触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方 框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论