课程设计实验报告
——竞赛抢答器
计科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 -