收藏 分销(赏)

微机原理与接口技术课程设计-键盘显示控制器.doc

上传人:鼓*** 文档编号:9897324 上传时间:2025-04-12 格式:DOC 页数:16 大小:163.04KB
下载 相关 举报
微机原理与接口技术课程设计-键盘显示控制器.doc_第1页
第1页 / 共16页
微机原理与接口技术课程设计-键盘显示控制器.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述
课 程 设 计 报 告 课程名称 微机原理与接口技术 项目名称 键盘显示控制器 班 级 学 号 姓 名 指导教师 2015年1月12日 课程设计主要目的 《微机原理与接口技术》是计算机科学与技术专业本科生的一门专业技术课程。本课程设计是该课程重要的实践环节。通过课程设计,提高学生的汇编语言程序设计能力和对接口典型芯片的应用能力,使学生对微型计算机基本的系统结构有一个整体的认识,对微型计算机硬/软件的工作原理有一个整体的认识,培养学生设计和调试微机应用系统的能力。 课程设计任务要求 本设计是做在一块扩展电路板上,用一根20芯扁平电缆与实验台上扩展插头J7相连。需完成以下任务: 1、使用试验台及相关设备,通过编程实现在小键盘上每按一个健,6位数码管上显示出相应字符。 2、利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个电子钟。由8253中断定时,小键盘控制电子钟的启停及初始值的预置。 教师评语 成绩: 指导教师(签名) 目录 一、 设计任务说明 4 1.1、实验目的 4 1.2、实验内容 4 二、需求分析 5 2.1、计算机的重要性 5 2.2、8279芯片 5 三、设计方案 5 3.1、课程设计步骤与方法 5 3.2、课程设计说明书与图纸 6 3.3、设计程序 9 四、测试分析 16 五、总结 16 六、参考文献 16 课程设计报告正文内容 一、 设计任务说明 1.1、实验目的 1.掌握8279键盘显示电路的基本功能及编程方法 2.掌握一般键盘盒显示电路的工作原理 3.进一步掌握定时器的使用和中断处理程序的编程方法 1.2、实验内容 利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路,设计一个秒表,由8253中断定时,小键盘控制秒表的启停及初始值的预置。 秒表的显示格式**.**.**  由左到右分别为分、秒、百分秒 要求具体如下: 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 — 0 C — C 1 — 1 D — d 2 — 2 E — E 3 — 3 F — F 4 — 4 G — q 5 — 5 M — 6 — 6 P — p 7 — 7 W — 8 — 8 X — 9 — 9 Y — A — R — 返回 B — b 3、编程2:中断编程 利用实验台上提供的定时器8253和扩展板上提供的8279以及键盘和数码显示电路, 设计一个电子钟。由8253中断定时,小键盘控制电子钟的启停及初始值的预置。 电子钟显示格式如下: XX.XX.XX. 由左向右分别为时、分、秒 要求具有如下功能: ①、C键:清除,显示全零。 ②、G键:启动,电子钟计时。 ③、D键:停止,电子钟停止计时。 ④、P键:设置时、分、秒值。输入时依次为时、分、秒,同时应有判断输入错误的 能力,若输入有错,则显示:E-----。此时敲P键可重新输入预置值。 ⑤、E键:程序退出。 3.2、课程设计说明书与图纸 (一)设计说明 1.本设计编程1 接线方法: 用一根20芯扁平电缆将实验扩展板与实验台上扩展插头J7相连。 2.本设计编程2 接线方法: (1)用一根20芯扁平电缆将实验扩展板与实验台上扩展插头J7相连。 (2)实验台上8253 CLK0 接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            MOV     DS,AX            MOV     BUF,0            MOV     SIGH,01            MOV     SEC1,0            MOV     MIN1,0            MOV     MIN2,0            MOV     HOUR1,0            MOV     HOUR2,0            MOV     ERR1,0            MOV     DX,TIMEC              ;8253初始化            MOV     AL,36H            OUT     DX,AL            MOV     DX,TIME0            MOV     AX,100            OUT     DX,AL            MOV     AL,AH            OUT     DX,AL            MOV     DX,TIMEC            MOV     AL,74H            OUT     DX,AL            MOV     AX,10            MOV     DX,TIME1  ;定时器每0.1S中断1次            OUT     DX,AL            MOV     AL,AH            OUT     DX,AL            MOV     AX,STACK            MOV     SS,AX            MOV     SP,TOP            MOV     AX,DATA            MOV     DS,AX            MOV     DX,OFFSET MES            MOV     AH,09            INT     21H            MOV     AX,CS            MOV     DS,AX            MOV     DX,OFFSET INT_PROC            MOV     AX,250FH            INT     21H     ;置IRQT中断向量            MOV     DX,INTA01            IN      AL,DX            AND     AL,7FH            OUT     DX,AL            MOV     DX,PORT1            MOV     AL,0D3H            OUT     DX,AL    ;8279清零            MOV     AL,2AH            OUT     DX,AL    ;置8279时钟命令            MOV     AL,40H            OUT     DX,AL   ;读FIFO RAM命令            MOV     AL,00H            OUT     DX,AL    ;置键盘显示模式            MOV     AL,80H            OUT     DX,AL    ;写RAM命令            STI KEY1:      CALL    KET2       ;调键盘显示子程序            CMP     HOUR2,0AH            JZ      NEXT2 NEXT1:     CMP     AL,0CH       ;是否“C”命令            JNZ     LP0 NEXT2:     MOV     SIGH,00H            MOV     HOUR2,00H            MOV     HOUR1,00H            MOV     MIN2,00H            MOV     MIN1,00H            MOV     SEC2,00H            MOV     SEC1,00H LP0:       CMP     AL,0EH      ;是否“E”命令            JNZ     LP1            MOV     SIGH,00H            CLI            MOV     DX,INTA01            IN      AL,DX            OR      AL,80H            OUT     DX,AL            STI            MOV     AX,4C00H   ;是“E”命令返回DOS            INT     21H LP1:       CMP     AL,10H     ;是否“G”命令            JNZ     LP2            MOV     SIGH,01H            JMP     KEY1 LP2:       CMP     AL,0DH     ;是否“D”命令            JNZ     SETI            MOV     SIGH,00H KEY3:      JMP     KEY1 SETI:      CMP     AL,12H      ;是否“P”命令            JNZ     KET1            MOV     SIGH,00H   ;“00”为预置时标志            MOV     HMS,00H            CALL    HIGH0            CMP     ERR1,01H            JZ      KEY3            CALL    LOW0            CMP     ERR1,01H            JZ      KEY3            MOV     HMS,11H   ;“11”为预置分标志 CALL    HIGH0            CMP     ERR1,01H            JZ      KEY3            MOV     HMS,22H  ;“22”为预置秒标志            CALL    HIGH0            CMP     ERR1,01H            JZ      KEY3            CALL    LOW0            JMP     KEY1 MAIN       ENDP INT_PROC:  STI            PUSH    AX            PUSH    BX            PUSH    CX            PUSH    DX PUSH    SI PUSH    DI PUAH    DS CMP     SIGH,00                     ;是否允许记数 JZ      ENDT1 INC     BUF                         ;记数单元加1 CMP     BUF,10 JL      ENDT MOV     BUF,0 INC     SEC1 CMP     SEC1,10 JL      ENDT MOV     SEC1,0 INC     SEC2 CMP     SEC2,6 JL      ENDT MOV     SEC2,0 INC     MIN1 CMP     MIN1,10 JL      ENDT MOV     MIN1,0 INC     MIN2 CMP     MIN2,6 JL      ENDT MOV     MIN2,0 INC     HOUR1 CMP     HPUR2,2 JL      HH CMP     HOUR1,4 JL      ENDT MOV     HOUR1,0 MOV     HOUR2,0 ENDT1:     JMP     ENDT HH:        CMP      HOUR1,10            JL       ENDT            MOV      HOUR1,0            INC      HOUR2 ENDT:      MOV      DX,INTA00            MOV      AL,20H            OUT      DX,AL            POP      DS            POP      DI            POP      SI            POP      DX            POP      CX            POP      BX            POP      AX            IRET KEY2       PROC     NEAR            MOV      DX,PORT1            MOV      AL,0D1H            OUT      DX,AL     ;清显示 WAEP:      CALL     DISP         ;调显示子程序            MOV      DX,PORT1            IN       AL,DX            AND      AL,07H            JZ       WAEP KETN:      MOV      DX,PORT0     ;读状态            IN       AL,DX            MOV      BL,AL            AND      AL,07H            AND      BL,38H            MOV      CL,03            SHR      BL,CL            CMP      BL,00H     ;是否第一行键            JNZ      LINE1            ADD      AL,08H            JMP      QUIT1 LINE1:     CMP      BL,01H            JNZ      LINE2     ;是否第二行键            JMP      QUIT1 LINE2:     ADD      AL,10H QUIT1:     RET KEY2       ENDP DISP       PROC     NEAR            PUSH     CX            MOV      AX,DATA            MOV      DS,AX            MOV      DX,PORT1            MOV      AL,90H            OUT      DX,AL            MOV      SI,OFFSET SEC1            MOV      CX,0006            MOV      BX,OFFSET LED DISP1:     CLD            LODSB            XLAT            MOV      DX,PORT0            OUT      DX,AL            LOOP     DISP1            POP      CX            RET DISP       ENDP ERR        PROC     NEAR            MOV      HOUR2,0AH            MOV      HOUR1,0BH            MOV      MIN2,0BH     ;显示“E----”            MOV      MIN1,0BH            MOV      SEC2,0BH            MOV      SEC1,0BH            MOV      ERR1,01H     ;出错标志            RET ERR        ENDP HIGH0      PROC     NEAR            CALL     KEY2            MOV      ERR1,00            CMP  HMS,00H  ;HMS是预置时、分、秒标志            JNZ      MIN0            CMP      AL,02H       ;00预置时            JG       ERROR       ;11预置分            MOV      HOUR2,AL     ;22预置秒            JMP      HOUT1 MIN0:      CMP      HMS,11H            JNZ      SEC0            CMP      AL,05H            JG       ERROR            MOV      MIN2,AL            JMP      HOUT1 SEC0:      CMP      AL,05H            JG       ERROR            MOV      SEC2,AL HOUT1:     RET ERROR:     CALL     ERR            RET HIGH0      ENDP LOW0       PROC     NEAR            CALL     KEY2     ;预置时、分、秒低位            MOV      ERR1,00            CMP      HMS,00H            JNZ      MIN3            MOV      DL,HOUR2            CMP      DL,01            JG       HOUR3            CMP      AL,09H            JG       ERROR            MOV      HOUR1,AL            JMP      LQUT1 HOUR3:     CMP      AL,03H            JG       ERROR            MOV      HOUR1,AL            JMP      LQUT1 MIN3:      CMP      HMS,11H            JNZ      SEC3            CMP      AL,09H            JG       ERROR            MOV      MIN1,AL            JMP      LQUT1 SEC3:      CMP      AL,09H            JG       ERROR            MOV      SEC1,AL LQUT1:     RET LOW0       ENDP CODE       ENDS END        START 四、测试分析 按要求在实验台上连好线,打开电源,然后在PC机上编译、连接、运行程序,再测试功能: 按P键设置时分秒 按C清零 按G启动计时 按D停止计时 按E返回DOS 输入有错显示E-----,此时按P可重新输入。 五、总结 本次设计是两人一组,实验设计中,能够感受到若是光靠自己的能力,是不能够完成这次设计的。自己分析原因:其一,没有对单片机了解不够详细,知识面欠缺。其二,自己做的许多过程有差误,不说自己到头来能否发现,即使发现,时间耽误太多了,自己过于粗心马虎。正是因为我们是团体合作,有异议提出来,将错误及时解决,避免了很多设计的复杂性。当然,这次设计,其他的同学也提供了不少援助,当然,老师为我们课程设计的成功提供了很重要的帮助。再次感谢我的老师,感谢我的合作伙伴,当然,这次的实验设计也看到自己的不足,以后自己会更加努力的学习,相信自己以后会越来越棒。 六、参考文献 《微型计算机原理与接口技术》 主编:吴秀清 中国科技大学出版社 微机原理与接口技术      主编:梁建武    中国水利水电出版社  IBM-PC汇编语言程序设计                  清华大学出版社 16
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服