学位论文微机原理与接口技术课程设计键盘显示控制器.docx

上传人:b****2 文档编号:24465242 上传时间:2023-05-27 格式:DOCX 页数:19 大小:114.59KB
下载 相关 举报
学位论文微机原理与接口技术课程设计键盘显示控制器.docx_第1页
第1页 / 共19页
学位论文微机原理与接口技术课程设计键盘显示控制器.docx_第2页
第2页 / 共19页
学位论文微机原理与接口技术课程设计键盘显示控制器.docx_第3页
第3页 / 共19页
学位论文微机原理与接口技术课程设计键盘显示控制器.docx_第4页
第4页 / 共19页
学位论文微机原理与接口技术课程设计键盘显示控制器.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

学位论文微机原理与接口技术课程设计键盘显示控制器.docx

《学位论文微机原理与接口技术课程设计键盘显示控制器.docx》由会员分享,可在线阅读,更多相关《学位论文微机原理与接口技术课程设计键盘显示控制器.docx(19页珍藏版)》请在冰豆网上搜索。

学位论文微机原理与接口技术课程设计键盘显示控制器.docx

学位论文微机原理与接口技术课程设计键盘显示控制器

 

课程名称

微机原理与接口技术

项目名称

键盘显示控制器

班级

学号

姓名

指导教师

 

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—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以及键盘和数码显示电路,

设计一个电子钟。

由8253中断定时,小键盘控制电子钟的启停及初始值的预置。

电子钟显示格式如下:

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

           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汇编语言程序设计                  清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1