基于单片机的简易多路智力抢答器Word文档格式.docx
- 文档编号:19236639
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:16
- 大小:251.69KB
基于单片机的简易多路智力抢答器Word文档格式.docx
《基于单片机的简易多路智力抢答器Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的简易多路智力抢答器Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
1.识别最先选手按键并锁存。
2.实时显示当前状态和抢答号码。
3.8路输入与显示。
4.对最先抢答人亮灯。
5.主持人能开始,停止/清零抢答器状态。
2.2各种方案选择比较
2.2.1实现方式的选择
方案一:
采用纯数字门电路。
通过各种逻辑门电路的组合连接,实现系统功能。
此方案设计复杂,电路复杂,功能单一,且需要门电路较多,成本较高,也不美观。
维护调试都比较麻烦。
方案二:
采用单片机为主控制器。
此方案电路简单,设计工作主要是软件设计,设计较为灵活,功能都是通过软件实现,硬件花费少;
应用KEIL软件,C语言编程,软件设计也较为方便。
系统易于调试维护。
应用单片机使得系统更具有智能化的特色,是当今的主流。
故采用本方案。
2.2.2控制器的选择
采用AT89C51系列单片机。
由于AT系列单片机烧录调试程序需要专门烧写器。
购买烧写器成本较高,且烧录不方便。
采用STC89C51系列单片机。
STC8951系列单片机为AT8951的同类替代产品,除去和AT8951具有的相同性能外,还可以直接用串口烧录程序,大大简化了程序烧写的流程。
降低了成本,加快了开发周期。
考虑到单片机内部存储器的大小(STC89C52的flash为8K,RAM为512),本系统选用STC89C52单片机。
2.2.3显示模块的选择
采用L12864液晶显示。
此器件能显示4*8个字符,操作简便,但器件很小,视觉效果差。
采用数码管显示。
此器件价格较低廉,能显示数字,亮度较高,且规格较多,本系统可选用大尺寸、高亮度的LED数码管。
故选用此方案。
2.3系统的描述
图2.3.1抢答器的系统框图
本系统以STC89C52单片机为控制核心,结合周边电路,通过单片机引脚I/O口实现对按键抢答的迅速响应;
应用单片机外部中断实现对按键的快速响应,单片机的相应时间可达几微妙,满足系统快速响应要求。
在此基础上,实现了按键响应并识别。
主持人能够通过“开始”键开始答题,此时选手可以抢答。
单片机通过中断的方式响应最先抢答的选手并识别选手号码,此时选手们的按键锁定,
所有人按键无效,数码管显示最先抢答人的号码,相应选手的LED发光二极管点亮,此时主持人可以按“停止/清零”键停止抢答,停止时,数码管显示“FF”。
第三章电路设计
3.1系统总体设计
本设计的主要电路有:
单片机STC89C52最小系统、数码管显示驱动模块、按键输入模块。
LED发光二极管电路。
外围电路都与单片机引脚I/O口相连,以实现单片机对外围电路的控制,实现相应功能。
3.2单元电路设计
3.2.1单片机最小系统
图3.2.1单片机最小系统
如图3.2.1单片机最小系统包括单片机、时钟电路、复位电路。
其他引脚I/O相应的扩充功能,P1口接8个独立按键,P3.4-5为功能控制按键,P3.6-7为数码管扫描位,INT0、INT1接按键门电路处理的信号中断,P2接LED发光二极管,PO接数码管数据位。
3.2.2电源电路
图3.2.2电源电路
本电源电路如上图所示,应用7805三端稳压电源模块构成。
输出稳压5V电压,为单片机、LED灯和数码管提供工作电压。
电容为滤波作用,使输出电源更平滑稳定。
3.2.3数码管驱动电路
本电路由数码管、三极管构成。
三极管的作用是为数码管提供驱动,使之更亮。
单片机引脚接三极管基极,控制三极管的导通对数码管选择位控制。
数码管为共阳极数码管。
如图3.2.3所示。
图3.2.3数码管驱动电路
3.2.4按键电路
图3.2.4按键电路
如上图所示,按键电路分为两部分,第一部分是选手按键阵列,共有8个独立按键,接到单片机P1口,同时8位按键通过一个8输入与门接入单片机外部中断位INT1。
第二部分是主持人按键阵列,共有2个独立按键,接到P3的两个普通I/O口,同时2位按键通过一个2输入与门接入单片机外部中断位INT0。
主持人的优先级高于选手。
3.2.5LED发光二极管电路
图3.2.5LED发光二极管电路
本电路由高亮度发光二极管组成,共阳极连接,阴极接P2口。
由P2口控制发光二极管的亮灭。
第四章程序设计
4.1程序总体流程图
图4.1.1系统总体流程图
图4.1.2中断程序流程图
主程序实现当主持人按开始时,等待按键并显示最先抢答人号码,相应二极管灯点亮,此时其他人抢答无效。
当主持人按停止清零时,选手按键无效,数码管和二极管灯清零。
中断程序有两个,分别实现1.如果主持人按键,触动外部中断1,识别是否是开始还是停止清零,如果是开始,则开选手按键中断,选手可按键抢答。
如果是停止清零,则选手按键关,选手按键无效。
2.选手按键中断,识别按键并关选手按键,其他人按键无效。
程序见附录。
第五章测试与仿真
5.1测试方法
测试仿真工具:
Protues软件仿真
5.2测试效果
图5.2.1Protues仿真总体效果图
上图为系统启动时,当前为停止清零状态,选手此时不能按键,按键无效,数码管显示"
FF"
,发光二极管都不亮。
图5.2.2开始后效果图
图5.2.3选手抢答后效果图
图5.2.2为主持人按键开始时,此时数码管为00,等待选手抢答。
图5.2.3为选手抢答后,数码管显示选手号码,相应二极管灯点亮。
此时其他选手抢答按键无效。
综上所述,仿真效果完全符合题目要求指标。
第五章总结
本系统以STC89C52单片机为控制核心,结合周边电路。
经过测试,各项功能指标均达到设计要求,且电路设计简洁,程序设计也较为简单,界面效果简洁美观,操作简单实用。
通过此次毕业课题的设计,让我学到很多东西,一方面,它是3年大学所学知识的一个综合应用,考察了我大学所学的知识,是一次彻底的知识巩固和提高。
另一方面,通过综合的应用设计,锻炼了我应用知识的能力和动手能力。
同时,在设计的过程中,也锻炼了我解决问题的能力,遇到问题坚持不懈的毅力和细心程度。
让我在以后求职就业中更好的学习和提高自己。
第六章参考文献
[1]李全利.单片机原理及接口技术.高等教育出版社
[2]公茂法.单片机原理与实践.北京航空航天出版社
[3]全国大学生电子设计竞赛组委会.第九届全国大学生电子设计竞赛获奖作品选编.北京理工大学出版社
[4]及力.Protel99原理图与PCB设计教程.电子工业出版社
第七章附录
/*===========================程序清单========================*/
#include<
reg51.h>
typedefunsignedcharuchar;
typedefunsignedintuint;
#defineKEYP1//8个按键
#defineDATAP0//数码管段
sbitLED1=P2^0;
sbitLED2=P2^1;
sbitLED3=P2^2;
sbitLED4=P2^3;
sbitLED5=P2^4;
sbitLED6=P2^5;
sbitLED7=P2^6;
sbitLED8=P2^7;
//发光二极管
sbitWEI1=P3^6;
//数码管高位
sbitWEI2=P3^7;
//数码管地位
sbitstart=P3^4;
//开始按键
sbitstop=P3^5;
//停止按键
ucharnum,temp,work_mode;
ucharcodelab[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,//数码管编码
0x07,0x7f,0x6f,0x71};
//0123456789F
/*======================自定义子程序===================*/
voiddelay10ms();
//延时10ms
voiddelay5ms();
//计时器计时
voiddisplay_num();
//显示数码管数字
voidinit_INT0();
//初始化
voidinit_INT1();
voidkey_process();
//按键处理
voiddisplay_led();
//LED灯显示
voidinit_port();
//初始化I/O口
/*========================主程序=====================*/
voidmain()
{
init_INT0();
init_INT1();
//系统初始化
init_port();
while
(1)
{
EX1=1;
//开抢答人按键中断,
while(work_mode)//当主持人按键开始抢答时
{
display_num();
//显示抢答号码
display_led();
}
while(!
work_mode)//当主持人按键停止抢答时
EX1=0;
//关抢答按键中断,抢答无效
num=0;
//数字清零
P2=0XFF;
//LED灭灯
WEI1=1;
WEI2=1;
DATA=~lab[10];
//显示FF停止
}
}
voidinit_port()
WEI1=0;
WEI2=0;
voiddelay10ms()
unsignedchara,b,c;
for(c=1;
c>
0;
c--)
for(b=38;
b>
b--)
for(a=130;
a>
a--);
voiddelay5ms()
unsignedchara,b;
for(b=18;
voiddisplay_num()
DATA=~lab[num/10];
WEI1=1;
delay5ms();
DATA=~lab[num%10];
WEI2=1;
voidinit_INT0()
EX0=1;
IT0=1;
EA=1;
voidinit_INT1()
EX1=1;
IT1=1;
voidINT1_SIR()interrupt2
EA=0;
temp=KEY;
key_process();
voidINT0_SIR()interrupt0
if(!
(start&
stop))
delay10ms();
if((!
start)&
stop)work_mode=1;
stop)&
start)work_mode=0;
voidkey_process()
switch(temp)
case(~0x01):
num=1;
EX1=0;
break;
case(~0x02):
num=2;
case(~0x04):
num=3;
case(~0x08):
num=4;
case(~0x10):
num=5;
case(~0x20):
num=6;
case(~0x40):
num=7;
case(~0x80):
num=8;
default:
voiddisplay_led()
switch(num)
case1:
LED1=0;
case2:
LED2=0;
case3:
LED3=0;
case4:
LED4=0;
case5:
LED5=0;
case6:
LED6=0;
case7:
LED7=0;
case8:
LED8=0;
P2=0XFF;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 简易 智力 抢答