1、计时;报警目录第 1 章 引言1第 2 章 系统总体设计22.1 八路抢答器的工作原理22.2 八路抢答器的总体框图2第 3 章 系统硬件的设计33.1 单片机最小系统33.1.1 芯片统计33.1.2 硬件介绍33.2 复位电路设计43.3 晶振电路设计53.3 抢答器电路设计53.4 显示电路设计63.5 蜂鸣器电路设计7第 4 章 系统软件设计94.1 主程序设计94.2 倒计时 30s 子程序设计104.3 外部中断 T1 中断子程序设计114.4 定时器 T1 中断子程序设计124.5 选手按键程序124.6 数码管显示程序设计14第 5 章 仿真调试155.1 非法抢答155.2
2、抢答或回答时间修改155.3 正常倒计时165.4 回答时间175.5 复位18第 5 章 总结19第 6 章 致谢20第 7 章 参考文献21附录 A:Proteus 仿真图23附录 B:源程序24单片机课程设计第 1 章引言此次设计提出了用 AT98C51 单片机为核心控制元件,设计一个简易的抢答器,本方案以 AT89C51 单片机作为主控核心,与数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路, 设计的八路抢答器具有倒计时和实时显示抢答选手的号码的特点,还有复位电 路,使其再开始新的一轮的答题和比赛。它的功能实现是比赛开始,主持人读完题之后
3、按下总开关,倒计时开始, 此时数码管开始进行 30s 的倒计时,是选手的思考时间,倒计时完后,才允许开始抢答,若有人答题,对应的会在数码管上显示出该选手的编号并由蜂鸣器发出声音,在 30s 倒计时内答题无效。第 2 章系统总体设计2.1 八路竞赛抢答器的工作原理以单片机为核心,设计一个 8 路竞赛抢答器:同时供 8 名选手或 8 个代表队比赛,分别用 8 个按钮 S0S7 表示。设置一个系统清除和抢答控制开关 S,开关由主持人控制。抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(
4、如 30 秒)。当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为 0.5s 左右。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示 00。2.2 八路竞赛抢答器的总体框图图 2.1 总体框图30第 3 章系统硬件设计3.1 单片机最小系统微控制器采用AT89C51。AT89C51 是美国ATMEL公司生产的与MCS-51 系列单片机完全兼容的高性能CMOS 8 位单片机,MCS-51 系列单片机以其推出时
5、间早、配套资源丰富、开发手段完善、性价比高等特点而得到了广泛的应用, 是单片机的主流品种。3.1.1 芯片统计名称型号数量芯片AT89C511数码管7SEG-MPX4-CC按钮BUTTON15电容CAP2电解电容CAP-ELEC晶振CRYSTAL电阻RES8喇叭SPEAKER(DEVICE)3.1.2 硬件介绍与 MCS-51 系列完全兼容的高性能 8 位 CPU;4K 字节可重复编程的 Flash 存储器;256 字节的 SRAM;4 个 8 位的并行口,共 32 条 I/O 口线;3 个 16 位的定时器/计数器;6 个中断源,2 个中断优先级的中断系统; 一个全双工的串行口;内部振荡器;
6、 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路。其最小系统如下图 3.1.2 所示。图 3.1.2 单片机最小系统电路图3.2 复位电路的设计MCS-5l 的复位输入引脚 RST 为 MCS-51 提供了初始化的手段,可以使程序从指定处开始执行,在 MCS-5l 的时钟电路工作后,只要 RST 引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作只要 RST 保持高电平,则MCS-5l 循环复位只有当 RST 由高电平变低电平以后。MCS-51 才从 0000H 地址开始执行程序。本系统采用按键复位方式的复位电路。复位电路:当一轮进行完时,由主持人按下,下一轮倒计时开始,如
7、图 3.2所示。图 3.2 复位控制电路3.3 晶振电路设计MSC-51 单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。本设计中采用内部时钟方式。单片机内部有一个反相放大器,XTAL1、XTAL2 分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图 3.3 所示。加电以后延时一段时间(约 10ms)振荡器产生时钟,
8、不受软件控制,图中 Y1 为晶振,震荡产生的时钟频率主要由 Y1 确定。电容 C1,C2 的作用有两个:一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为 30pF。图 3.3 晶振控制电路3.4 抢答器电路设计键盘接口中使用多少根 I/O 线,键盘中就有几个按键,键盘接口使用了 8 根 I/O 口线,该键盘就有 8 个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。最简单的编码方式就是根据 I/O 输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU 可以通过直接读取 I/O
9、 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。独立式键盘的缺点是需要占用比较多的 I/O 口线,当单片机应用系统键盘中需要的按键比较少或 I/O 口线比较富余时,可以采用这样类型的键盘。独立式按键键盘:用于输入高低电平,八位选手抢答时高低电平发生变化, 如图 3.4 所示。图 3.4抢答按键部分3.5 显示电路设计LED 动态显示是单片机中应用最为广泛的一种显示方式,其接口电路是把所有显示器的 8 个笔划段 a-dp 同名端并联在一起,而每一个显示器的公共极 COM 是各自独立地受 I/O 线控制,CPU 的字段输出口送出字形码时,所有
10、显示器由于同名端并连接收到相同的字形码,但究竟哪个显示器亮,则取决于 COM 端, 而这一端是由 I/O 控制的,所以就可以自行决定何时显示哪一位了,在轮流点亮扫描过程中,每位显示器的点亮时间表是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉将就尽管实际上各位显示器并非间时点亮,但只要扫描速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。抢答器倒计时显示电路:有三位数码管组成,前两位显示 30s 倒计时,第三位显示成功抢答选手编号,如图 3.5 所示。图 3.5 显示控制部分图3.6 蜂鸣器电路设计我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单 片机某个口线的
11、“高”电平或低电平,则在该口线上就能产生一定频率的巨型 波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低” 电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声,有选 手抢答成功,使蜂鸣器发出声音,如图 3.6 所示。图 3.6蜂鸣器提示时间部分图第 4 章系统软件设计系统软件分为主程序、中断服务程序和子程序三部分4.1 主程序(主程序流程框图见图 4.1)开始设置堆栈倒计时设置设置定时方式赋值初值标志位设置中断允许设置键盘扫描程序显示程序无中断显示000等待中断结束图 4.1主程序流程框图主程序
12、是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。程序流程如图 4.1 所示,对单片机进行初始化,包括设置堆栈、倒计时 30S 设置、定时器 T0 设置,外部中断设置,键盘扫描设置,初始化状态时显示 00。4.2 倒计时 30s 子程序:(定时器 T0 中断子程序框图如图 4.2 所示)把A、PSW放入堆栈N1S到否Y倒计时存入59H中十位存入61H、个位存入60H中调用显示子程序弹出A、PSW退出中断图 4.2定时器 T0 中断子程序框图首先要把累加器 ACC 和程序状态字 PSW 放入堆栈保护,然后进行倒计时的设置,设置为 30S 倒计时,先看看 1
13、S 到没,如果到,倒计时自动减 1,并在数码管显示,再判断倒计时的 30s 到没,没到继续倒计时并显示,倒计时计完为止,然后弹出累加器 ACC 与程序状态字 PSW,中断退出,返回到中断入口处。4.3 外部中断 T1 中断子程序:(外部 T1 中断子程序框图如图 4.3所示)把A、PSW放堆20H位置0调用显示子程序使三个标志位清零T0开始定时T1停止使(21H)置0、30S倒计时设置退出ACC、PSW中断返回图 4.3外部 T1 中断子程序框图外部中断 T1 中断时要先把累加器 ACC 和程序状态字 PSW 放入堆栈保护, 然后把 20H 标志位置 0,再调用显示程序,T0 开始定时,T1 停止,然后设置30S 倒计时,设置之后弹出累加器 ACC 与程序状态字 PSW,中断退出,返回到中断入口处。4.4 定时器 T1 中断子程序:(定时器 T1 中断程序框图如图 4.4 所示)把A
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1