基于51单片机的抢答器_第1页
基于51单片机的抢答器_第2页
基于51单片机的抢答器_第3页
基于51单片机的抢答器_第4页
基于51单片机的抢答器_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上/*51单片机实验开发板例程* 名称:本例程为一抢答器;其中主持人操控S7与S8两个按键。选手共六位,分别操控S1-S6中的一个按键。 当主持人按下抢答开始按键S7后,倒计时开始,计时5s。此后最先按下按键的选手号码将显示与数码管上。 后来按下的将无显示。 若五秒计时结束后,再按下按键也不会显示。 若主持人没有按开始键,就有选手抢答,则视为犯规。此时犯规的选手号码将被显示于数码管上(最多显示五位犯规选手) 同时,蜂鸣器发出长笛声报警,数码管全亮。 而当主持人按下清零键S8后,一切状态均恢复,可以开始新一轮的抢答。按键功能简介S8抢答开始 S7 清零S1-S6 分别为1

2、到6号选手按键*/#include<reg51.h>#define uchar unsigned charsbit dula=P26;sbit wela=P27;sbit beep=P23;uchar key,j,k,temp,daojishi=5,wei;bit begin,end,clear,fangui;uchar a0,b0=16;c0=16;d0=16;e0=16;f0=5;unsigned int pp;unsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7

3、c,0x39,0x5e,0x79,0x71,0x00;void delay(unsigned char i) for(j=i;j>0;j-) for(k=125;k>0;k-);void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f) dula=0; P0=tablea; dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delay(5); P0=tableb; dula=1; dula=0; P0=0xfd; wela=1; wela=0; delay(5); P0=

4、tablec; dula=1; dula=0; P0=0xfb; wela=1; wela=0; delay(5); P0=tabled; dula=1; dula=0; P0=0xf7; wela=1; wela=0; delay(5); P0=tablee; dula=1; dula=0; P0=0xef; wela=1; wela=0; delay(5); P0=tablef; dula=1; dula=0; P0=0xdf; wela=1; wela=0; delay(5);void keyscan()P3=0xfe; temp=P3; temp=temp&0xf0; if(t

5、emp!=0xf0) delay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xee: key=1; wei+; break; case 0xde: key=2; wei+; break; case 0xbe: key=3; wei+; break; case 0x7e: key=4; wei+; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) d

6、elay(10); if(temp!=0xf0) temp=P3; switch(temp) case 0xed: key=5; wei+; break; case 0xdd: key=6; wei+; break; case 0xbd: clear=1; /key=7; break; case 0x7d: begin=1; /key=8; break; while(temp!=0xf0) temp=P3; temp=temp&0xf0; beep=0; beep=1; void main()TMOD=0x01;TH0=(65536-46080)/256;/ 由于晶振为11.0592,

7、故所记次数应为46080,计时器每隔50000微秒发起一次中断。TL0=(65536-46080)%256;/46080的来历,为50000*11.0592/12ET0=1;EA=1;while(1)keyscan();if(begin)if(!end)TR0=1;/if(!daojishi)daojishi=5;/begin=0;/daojishi=5;if(pp=20)pp=0;daojishi-;f0=daojishi;if(key!=0)a0=key;/a1=a0;/if(a0!=0)end=1;if(!daojishi|a0)end=1;TR0=0;/daojishi=5;/begin=0;pp=0;elseif(key!=0)switch(wei)case 1: a0=key;break;case 2: b0=key;break;case 3: c0=key;break;case 4: d0=key;break;case 5: e0=key;break;/if(!fangui)fangui=1;beep=0;if(clear)a0=0;key=0;begin=0;end=0;fangui=0;beep=1;daojishi=5;f0=5;clear=0;b0=16;c0=16;d0=16;e0=16;wei=0; P1=0xff;display

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论