基于80C51的八路抢答器的单片机课程设计.docVIP

  • 8
  • 0
  • 约4.91千字
  • 约 19页
  • 2018-12-22 发布于浙江
  • 举报

基于80C51的八路抢答器的单片机课程设计.doc

1 引言 此次设计提出了用80C51单片机为核心控制元件,设计一个简易的抢答器,本方案以80C51单片机作为主控核心,与数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有倒计时和实时显示抢答选手的号码的特点,还有复位电路,使其再开始新的一轮的答题和比赛。 它的功能实现是比赛开始,主持人读完题之后按下总开关,倒计时开始,此时数码管开始进行30s的倒计时,是选手的思考时间,倒计时完后,才允许开始抢答,若有人答题,对应的会在数码管上显示出该选手的编号并由蜂鸣器发出声音,在30s倒计时内答题无效。 2 总体方案设计 图2.1 总体电路设计框图 总体程序设计思路图为如图2.1所示。 复位电路:当一轮进行完时,由主持人按下,下一轮倒计时开始,复位电路接P3.3口。 独立式按键键盘:用于输入高低电平,连接到P1口,由P1口检测电平的变化。 抢答器倒计时显示电路:有三位数码管组成,前两位显示30s倒计时,由第三位显示成功抢答选手编号。 蜂鸣电路:有选手抢答成功,P3.1口发出脉冲,使蜂鸣器发出声音。 3 硬件电路设计 3.1 单片机微控制器采用AT89C5。AT89C5是美国ATMEL公司生产的与MCS-51系列单片机完全兼容的高性能CMOS 8位单片机,MCS-51系列单片机以其推出时间早、配套资源丰富、开发手段完善、性价比高等特点而得到了广泛的应用,是单片机的主流品种。 AT89C5的内部资源主要包括: ·与MCS--51 系列完全兼容的高性能8位CPU; ·K字节可重复编程的Flash存储器; ·256字节的SRAM; ·4个8位的并行口,共32条I/O口线; ·3个16位的定时器/计数器; ·6个中断源,2个中断优先级的中断系统; ·一个全双工的串行口; ·内部振荡器·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路3.2 硬件电路功能说明 (1)复位电路的设计 MCS-5l的复位输入引脚RST为MCS-51提供了初始化的手段,可以使程序从指定处开始执行,在MCS-5l的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作.只要RST保持高电平,则MCS-5l循环复位.只有当RST由高电平变低电平以后。MCS-51才从0000H地址开始执行程序。本系统采用按键复位方式的复位电路。 复位电路:当一轮进行完时,由主持人按下,下一轮倒计时开始,如图3.2所示。 图3.2 复位控制电路 (2)独立式键盘 键盘接口中使用多少根I/O线,键盘中就有几个按键,键盘接口使用了8根I/O口线,该键盘就有8个按键,这种类型的键盘,其按键比较少,且键盘中各按键的工作互不干扰。因此可以根据实际需要对键盘中的按键灵活的编码。 最简单的编码方式就是根据I/O输入口所直接反映的相应按键,按下的状态进行编码,称按键直接状态码,对于这样编码的独立式键盘,CPU可以通过直接读取I/O口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别,这样形式的键盘结构简单,按键识别容易。 独立式键盘的缺点是需要占用比较多的I/O口线,当单片机应用系统键盘中需要的按键比较少或I/O口线比较富余时,可以采用这样类型的键盘。 4 系统软件设计 系统软件分为主程序、中断服务程序和子程序三部分主程序 图4.1 主程序流程框图 主程序是系统上电或复位后首先要执行的程序,主程序主要完成系统的初始化、扫描显示、扫描键盘等工作。流程 图4.2 定时器T0中断子程序框图 首先要把累加器ACC和程序状态字PSW放入堆栈保护,然后进行倒计时的设置,设置为30S倒计时,先看看1S到没,如果到,倒计时自动减1,并在数码管显示,再判断倒计时的30s到没,没到继续倒计时并显示,倒计时计完为止,然后弹出累加器ACC与程序状态字PSW,中断退出,返回到中断入口处。 4.4 外部中断T1中断子程序:(外部T1中断子程序框图如图4.3所示) 图4.3 外部T1中断子程序框图 外部中断T1中断时要先把累加器ACC和程序状态字PSW放入堆栈保护,然后把20H标志位置0,再调用显示程序,T0开始定时,T1停止,然后设置30S倒计时,设置之后弹出累加器ACC与程序状态字PSW,中断退出,返回到中断入口处。 4.5 定时器T1中断子程序:(定时器T1中断程序框图如图4.4所示) 图4.4 定时器T1中断程序框图 定时器T1中断时要先把累加器ACC和程序状态字PSW放入堆栈保护,然后就是响铃,接上喇叭,利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。设置之后弹出累加器ACC与程序状态字PSW

文档评论(0)

1亿VIP精品文档

相关文档