基于.--51单片机的4人抢答器课程设计汇本.docx

上传人:王** 文档编号:1033137 上传时间:2024-03-16 格式:DOCX 页数:6 大小:35.86KB
下载 相关 举报
基于.--51单片机的4人抢答器课程设计汇本.docx_第1页
第1页 / 共6页
基于.--51单片机的4人抢答器课程设计汇本.docx_第2页
第2页 / 共6页
基于.--51单片机的4人抢答器课程设计汇本.docx_第3页
第3页 / 共6页
基于.--51单片机的4人抢答器课程设计汇本.docx_第4页
第4页 / 共6页
基于.--51单片机的4人抢答器课程设计汇本.docx_第5页
第5页 / 共6页
基于.--51单片机的4人抢答器课程设计汇本.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于.--51单片机的4人抢答器课程设计汇本.docx》由会员分享,可在线阅读,更多相关《基于.--51单片机的4人抢答器课程设计汇本.docx(6页珍藏版)》请在优知文库上搜索。

1、基于51单片机的4人抢答器设计设计要求:以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0S3表示。设置一个系统去除和抢答控制开关S,开关由主持人控制。抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统去除为止。抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动“开场键后,定时器进展减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。参赛选手在设定的时间内进展抢答,抢答有效,定时器停顿工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统去除为止。如果定时时

2、间已到,无人抢答,本次抢答无效,系统报警并制止抢答,定时显示器上显示00。工作原理:通过键盘改变抢答的时间,原理与闹钟时间的设定一样,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进展按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停顿计数,同时将选手编号(按键号)和抢答时间分别显示在LEDOinclude#defineucharunsignedchar#defineuintunsignedintucharnum;ucharnum1;定义中断变量,num计满20表示1秒时间到uchartlagi,flag2;uchar

3、ag3,flag4=0;ucharcodetabled=0x3f,0x06,0x5b,0x4f,0x66,Ox6d,Ox7d,0x07,0x7f,0x6f);sbitdula=Pl6;sbitwela=Pl7;sbitsp=P30;sbitclear=P10;sbitstart=Pll;sbitkeyl=Pl2;sbitkey2=Pl3;十秒倒计时显示初始值清零键及开场键按下标志位定义键盘按下标志位数码管编码定义段选端口定义位选端口定义蜂鸣器端口定义清零键/开场键清零函数(主持人按下清零键后数码管显示0)sbitkey3=Pl4;sbitkey4=Pl5;voiddelay(uintz)(ui

4、nti,j;fbr(i=z;iO;i-)for0=H0;j0;j-);)voidbeep()(sp=0;delay(500);sp=l;)voiddisplay(uinta)(wela=l;P2=0xff;wela=0;dula=l;P2=tablea;dula=0;P2=0xff;wela=l;P2=0xfd;wela=0;delay(5);)voidclr()(dula=l;P2=table0;dula=0;/keyl到key4为选手按键延时函数定义蜂鸣器函数选手编号显示函数/防止锁存干扰P2=0xff;wela=1;P2=0xfc;wela=0;delay(5);voiddis30s()

5、/十秒倒计时显示函数ucharshi,ge;shi=numl30;ge=numl%30;wela=l;P2=0xff;wela=0;dula=l;P2=tableshi;dula=O;P2=0xff;wela=l;P2=0xfe;wela=0;delay(5);wela=l;P2=0xff;wela=0;dula=l;P2=tablegeJ;dula=O;P2=0xff;wela=l;P2=0xW;wela=0;delay(5);)voidplayer()选手按键检测函数(if(keyI=0&flag4=0)(delay(10);if(keyI=0&flag4=0)(display;TRO=O

6、;flagl=flag2=0;flag4=l;bee();while(!keyl);)1if(key2=0&flag4=0)(delay(10);if(key2=0&flag4=0)display;TRO=O;flagl=flag2=0;flag4=l;beep();while(!key2);1)if(key3=0&flag4=0)(delay(10);if(key3=0&flag4=0)(display(3);TR0=0;flagl=flag2=0;flag4=1;bee();while(!key3);)1if(key4=0&flag4=0)(delay(10);if(key4=0&flag

7、4=0)(display(4);TR0=0;flagl=flag2=0;flag4=1;bee();while(!key4);voidkeyscan()检测按键(if(clear=0&flag2!=l)/判断清零键,判断语句的作用是按下开场键清零键失效(delay(10);if(clear=O&flag2!=l)while(!ciear);等待按键释放flag1=0;flag2=0;flag3=O;flag4=O;num=0;num 1 = 10;clr();flagl = l;清零/按下清零键标志位if(flagl=l)如果按下清零键if(start=0&flag3=0) 下开场键后开场键失

8、效判断开场键,判断语句的作用是按delay(10);if(start=0&flag3=0)flag2=l;flag3=l;while(!start);if(flag2=l)(TRO=I;dis30s();layer();1)void main()(TMOD=OxOI;TH0=(65536-50000)256;TL0=(65536-50000)%256;EA=I;ETO= 1;while(l)(keyscan();按下开场键启动定时器0设置定时器0工作方式1开总中断开定时器。中断一直检测按键voidTO_ser()interrupt1TH0=(65536-50000)256;TL0=(65536-50000)%256;num+;if(num=20)(num=0;num1-;1if(nutn1=0)(TRO=O;flag1=0;flag2=0;num=0;num1=30;cr();bee();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!