文档库 最新最全的文档下载
当前位置:文档库 › 课程设计实验报告.doc

课程设计实验报告.doc

课程设计实验报告.doc
课程设计实验报告.doc

课程设计实验报告

——竞赛抢答器

计科0201班

第五小组张国成 7号

竞赛抢答器

一、需求分析

本实验要求大家了解微机化竞赛抢答器的基本原理,进一步学习使用并行接口8255芯片,以及8253定时计数器的六种工作方式,中断的基本概念,中断服务子程序的编写。

二、功能描述

基本功能:在主持人按下抢答开关后,各位选手即可开始抢答,并在数码管上显示最先抢答选手的号码。

扩展功能:在主持人按下抢答开关后,计数器开始9秒倒计时,若倒计时结束后没有人抢答,则本轮抢答无效,进入下一轮。

三、概要设计

由于本次实验要用到数码显示、中断控制、倒计时等功能,故初步分析需

要8255、8259、8253等芯片。下图为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答器按钮0~7号,当某个逻辑电平开关置“1”时,相当某组抢答按钮按下,在七段数码管上将其组号(0~7)显示出来。

四、方案论证

在计数器每次计数结束后,对于全局变量counter的减一操作有两种方式,一个是通过不断扫描计数器是否计数结束,另一种是通过8253芯片计数结束产生中断。

方案一:通过对8253计数器的控制端口写控制字进行锁存,然后用一个读命令读出计数器中的数放寄存器ax中,通过比较ax中的数是否为零来判

断这次计数是否结束。若为零,就使counter减一。

方案二:将8253的输出接到8259的中断输入端,通过8253计数结束产生中断来控制,在中断服务子程序中对counter减一操作。

方案比较:方案一采用扫描,没有用到8259,程序编制简单,但是cpu耗费了更多的时间在扫描,效率相对来说较低。方案二采用中断,程序结

构化更为清晰,且cpu少了循环扫描的时间,效率较高。但是多用

了一个8259中断控制芯片,程序编制上涉及到中断服务子程序的

编写,稍显复杂。可见两种方案各有优劣。

方案选择:经过小组讨论,先采用方案二,完成基本和扩展功能。若有时间,再采用方案一完成实验。

五、模块划分

由于本次课程设计采用团队合作的形式,故要将本次实验进行模块划分,小组成员要了解全部程序流程,但是主要是完成自己负责的功能模块。组长负责协调监督指导小组成员,并完成最后的程序的连调工作。具体划分如下:

- 1 -

相关文档