基于AT89C51单片机的抢答器设计Word文档下载推荐.docx
《基于AT89C51单片机的抢答器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的抢答器设计Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
基于AT89C51单片机抢答器系统框图
本项目需要通过学习和查阅资料,掌握和了解如下知识:
●+5V电源原理及设计
●单片机复位电路工作原理及设计
●单片机晶振电路工作原理及设计
●按键电路设计
●蜂鸣器驱动电路设计
●数码管特性及使用
●AT89C51单片机引脚
●单片机汇编语言及程序设计
电路原理图:
其工作原理为:
电源电路为单片机以及其他模块提供标准5V电源。
晶振模块为单片机提供时钟标准,使系统各部分协调工作。
复位电路模块为单片机系统提供复位功能。
单片机作为主控制器,根据输入信号对系统进行相应的控制。
选手按下相应的键,蜂鸣器发出提示音,直到按键释放。
数码管显示最先按下选手的编号。
选手回答完毕,主持人按下准备按钮,数码管清零,蜂鸣器停止发声,可以进入下一题的抢答。
基于AT89C51的单片机抢答器元件清单如下:
序号
元件名称
规格
数量
用途
1
51单片机
AT89C51
1个
控制核心
2
晶振
12M立式
晶振电路
3
集成电路
74LS245(8路总线接收/发送器)
驱动
4
八段数码管
一位共阴极
显示电路
5
三极管
9015
蜂鸣器机器驱动电路
6
起振电容
30pF瓷片电容
2个
7
复位电容
10uF/10V
复位电路
8
复位电阻
10K欧
限流电阻
500欧
限流电路
9
喇叭
8欧/05W
蜂鸣器及其驱动电路
10
按键
主持人按键
8个
选手按键
11
电源
5V/05A
提供+5V
软件设计:
上电复位后数码管清零,P2.0置高电平,蜂鸣器不发声,循环扫描P3口,看是否有按键按下,如果有按键按下,则转入判断是哪个选手按下按键,并在数码管上显示选手号;
P2.0置低电平,蜂鸣器发生,主持人按键按下,系统重新进入主程序继续进行下一轮抢答。
程序流程图如下
程序流程图:
小结:
1.程序调试参考了好多资料,也请教了同学,最后编程问题都得到了解决
2.在Protus中画图失败,以至于不能仿真出来结果
3.理论联系实际,培养自学能力,和动手能力,学会了怎么更好的处理知识和实践相结合的问题
4.为以后有关单片机只是的学习积累宝贵经验
附:
源程序代码如下:
ORG0000H
JMPBEGIN
TABLE:
;
共阴极数码管显示代码表
DB3FH,06H,5BH,4FH,66H,;
01234
DB6DH,7DH,07H,7FH;
6789
DELAY:
MOVR5,#20
LOOP4:
MOVR6,#50H
LOOP5:
MOVR7,#100H;
延时20*20ms
DJNZR7,$
DJNZR6,LOOP5
DJNZR5,LOOP4
RET
BEGIN:
MOVP2,#0FFH;
P2口置高电平,准备接收信号
MOVR4,#0
MOVA,R4;
R4位标志值送A寄存器
AGIN:
MOVDPTR,#TABLE
MOVCA,@A+DPTR
MOVP1,A
LOOP1:
MOVA,P3;
接受P3口的抢答信号
CPLA
JZLOOP1
LOOP2:
RRCA;
有抢答信号则逐次移动判断哪一位抢答
INCR4
JNCLOOP2
***************
MOVA,R4
MOVCA,@A+DPTR;
找到相应位显示代码
LOOP3:
JNBP2.2,BEGIN;
若主持人按下复位键信号,则转向主程序
CPLP2.0;
若没有按复位信号键,则通过P2.2口给出高低信号驱动蜂鸣器
LCALLDELAY;
调用延时子程序
SJMPLOOP3;
P2.2口反复间隔0.4s变化,驱动蜂鸣器
END
程序仿真:
Protus中画电路图