《微机原理与接口技术》课程设计 抢答器.pdf
设计题目:竞赛抢答器
题目要求:
开关K0-K7代表竞赛抢答按钮0-7号,当某个逻辑电平开关置“1”时,相当
于某组抢答按钮按下,在七段数码管上将其组号(0-7)显示出来,并使喇叭响一
下。发一个脉冲开始下一轮抢答,按其他键程序退出。同时考虑抢答允许时间,
10秒内有效,10秒之后无人抢答,本次抢答作废。
设计思路:
抢答器设计可分为以下几部分:开始抢答信号的接收;计时器的倒计时;
检查抢答按钮并显示在数码管上;任意键退出程序。
对此,我们选用可编程并行接口芯片8255A,采用方式0,PA接口做输入,
接收抢答信号,并用PB接口做输出通过编程将抢答组号输出到数码管显示。
PC接口用PC0接扬声器通过芯片控制其发声,PC7接口接收开始的脉冲信号,
当接收到高电平时开始一轮抢答。
定时器我们选用可编程定时/计数器8254.,采用方式0在计数结束时产
生正跃变信号。我们使用计数器0,其中GATE0接8255的PC1端口,高电平
时开始计数,OUT0接8255的PC6,CLK0接试验箱上的频率为1HZ的脉冲发生
器,当做1秒计时信号。
编程对8255A初始化后,开始时由脉冲发生器产生一个正脉冲被8255A
的PC7接收,8255A则通过PC1输出高电平使定时器8254工作;这之前通过
编程使8254实现10秒倒计时。
当8254开始计时时,8255循环检查PA端口和PC6端口,若有人抢答,
则PA端口有高电平输入,此时若PC6仍然低电平,则抢答有效,通过编好的
程序判断是第几组抢答,并通过PB端口输出一段01代码使数码管显示组号,
同时PC0端口产生高电平使扬声器发声;若循环时PA端口一直低电平而PC6
产生高电平,说明时间已到,PC0端口产生高电平使扬声器发声。
扬声器发声后,编程使8254定时2秒,并在时间到时OUT0发出高电平
通知8255A使之将PC0输出变为低电平,扬声器停止发声。
至此,一轮抢答结束,插入一个任意键退出子程序,并等待脉冲信号开
始下一辆抢答。
设计电路原理图
1
程序流程图
开始
8255初始化
接收脉冲信号
2
对8254初始化10
秒计时
是
判断时间是否超过十
否
否有人抢答
是否
判断是第几组抢答并
由数码管显示组号
8254控制扬声器发声2秒
按下任意键
是