1、 单片机课程设计题 目: 八路抢答器 院 别: 机电学院 专 业: 机电工程 摘 要本课程设计主要由硬件部分和软件部分组成。硬件部分中,STC89C52 是核心,时钟电路、复位电路、显示电路以及电源电路等为辅助部分;软件部分是用汇编语言编程,用 Keil 软件来编译、调试的。本设计是以八路抢答为基本理念。将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,蜂鸣器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,抢答限定时间为 30s 和回答问题的时间为 10s;可以显示是哪位选手有效抢答;抢答时间和回答问题时间倒记时显示,倒计时时间
2、到蜂鸣器将响起提醒主持人;按键锁定,在有效状态下,按键无效非法。关键词单片机;数码管;抢答器;八路抢答器目 录前言 .1一、系统的主要功能、作用以及主要技术性能指标 .21.1 系统主要功能 .21.2 作用 .21.3 主要技术性能指标 .2二、总体设计 .32.1 系统整体方案设计 .32.2 工作原理 .32.3 组成原理框图 .4三、系统设计 .53.1 接口电路设计 .53.2 程序设计 .93.3 硬件调试 .143.4 KeiL 调试 .153.5 开发板调试 .15四、设计总结 .16参考文献 .16附录 .171前言目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知
3、识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用STC89C52 单片机为核心控制元件,设计一个简易的八路抢答器。本次设计的系统实用性强、判断精确、操作简单。在学习了数字电子技术和单片机原理及应用这两门课程之后,该课程设计加深对理论知识的理解,学习理论知识在实际中的应用,培养动手能力和解决问题的能力。熟悉 Keil 及 Ptoteus 软件的调试和仿真。通过实践提高对数字电路、单片机的认识。启发我们的思维,锻炼团结互助的精神。2一、系统的主要功能、作用以及主要技术性能指标1.1 系统主要功能1.1.1 抢答功能 当主持人按下开始抢答按键后,八路按键中任一路按
4、键首先按下都将闭锁其他各路按键,抢答成功,通过单片机程序处理后在数码管上显示抢答者的分组号。1.1.2 限时抢答 设定抢答时间 30s(可调整) ,当主持人按下抢答按键后,30s 内抢答有效,抢答时间已过,报警并封锁各路按键,抢答无效。1.1.3 限时答题 设定答题时间 10s(可调整) ,当抢答者按下答题按键后开始倒计时,数码管显示剩余时间,剩余时间为 0 则发出报警信号。1.1.4 显示功能 在数码管上可显示抢答时间倒计时、 答题倒计时及抢答成功者的分组号。1.2 作用抢答器是一个机关学校开展智力竞赛活动必不可少的设备,其广泛应用于学校、教育部门、企业事业工会组织、俱乐部等单位组织举办各种
5、知识、技术竞赛及文娱活动时作抢答工具使用。1.3 主要技术性能指标(1)抢答器同时供 8 名选手或 8 个代表队比赛,分别用 8 个按钮 S0S7 表示。(2)设置一个系统清除和抢答控制开关 S,该开关由主持人控制。(3)抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在 LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选3手的编号一直保持到主持人将系统清除为止。(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如 30 秒) 。当主持人启动“ 开始答题“ 键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间 1 秒。(5)参赛选
6、手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号和答题的时间,并保持到主持人将系统清除为止。二、总体设计2.1 系统整体方案设计该抢答器以 STC89C52 单片机为控制核心,其他外围电路包括复位电路、时钟电路、报警电路、LED 显示电路、抢答按键等。利用 C 语言编程,使其实现复位、定时和报警的功能。通过按键扫描输出按键信息,并通过单片机将它转化为在七段数码上显示的字符型。单片机的 P1 口为 8 组抢答按键的输入口,P0.0P0.7 为双位数码管的段选口,P2.0P2.7 为一位数码管的段选口,P3.0P3.1 为双位数码管的位选口,P3.2为一位数码管的位选口。P3.7 和 P
7、3.4 分别实现时间调整的加 1 和减 1 功能;P3.6 为报警电路的控制口。2.2 工作原理接通电源后,主持人将系统复位“清零“ ,抢答器处于禁止状态,编号显示为零,定时器显示设定时间“30”秒;主持人按下“开始“ 按钮,宣布“ 开始“,抢答器开始工作。双位数码管“30”秒开始倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,单位数码管显示抢答选手编号,双位数码管显示回答时间“10”秒,并禁止二次抢答。主持人按下回答倒计时“开始” ,双位数码管开始“10”秒倒计时,倒计时时间到,蜂鸣器发出报警信号,主持人停止选手答题并
8、按下“复位”按键停止系统工作。如果再次抢答必须由主持人再次操作“开始”状态开关。42.3 组成原理框图图 2.3.1 组成原理框图5三、系统设计3.1 接口电路设计3.1.1 时钟电路设计MCS- 51 的时钟可以由两种方式产生, 一种是内部方式, 利用芯片内部的振荡电路; 另外一种为外部方式. 本论文根据实际需要和简便, 采用内部振荡方式. MCS- 51 内部有一个用于构成振荡器的高增益反相放大器, 引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端. 这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器.MCS- 51 虽然有内部振荡电路, 但要形成时钟,
9、必须外接元件所以实际构成的振荡时钟电路.外接晶体以及电容 C1 和 C2 构成并联谐振电路接在放大器的反馈回路中,对接电容的值虽然没有严格的要求, 但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。晶体频率可在 1. 2MHz 12MHz 之间任选, 电容 C1 和 C2 的典型值在 20pF 100pF 之间选择, 考虑到本系统对于外接晶体的频率稳定性要求不高, 所以采取比较廉价的 11.0592MH 晶振, 根据调试电容选择 30pF。如图 3.1.1 所示图 3.1.1 晶振电路图3.1.2 独立式按键键盘设计键盘接口中使用多少根 I/O 线,键盘中就有几个
10、按键,键盘接口使用了 8 根 I/O 口线,该键盘就有 8 个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作6互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。最简单的编码方式就是根据 I/O 输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接读取 I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。 独立式按键键盘:用于输入高低电平,八位选手抢答时高低电平发生变化,如图3.1.2 所示。图 3.1.2 独立按键接线图3.1.3 数码管显示部分设计 LED 动态显示是单片机中应用最为广泛的一种显示方式,其接口电路是把所有显示器的 8 个笔划段 a-dp 同名端并联在一起,而每一个显示器的公共极 COM 是各自独立地受 I/O 线控制,CPU 的字段输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟哪个显示器亮,则取决于 COM 端,而这一端是由 I/O 控制的,所以就可以自行决定何时显示哪一位了,在轮流点亮扫描过程中,每位显示器的点亮时间表是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉将就尽管实际上各位显示器并非间时点亮,但只要扫描速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。