单片机实验8路抢答器C语言知识版_第1页
单片机实验8路抢答器C语言知识版_第2页
单片机实验8路抢答器C语言知识版_第3页
单片机实验8路抢答器C语言知识版_第4页
单片机实验8路抢答器C语言知识版_第5页
免费预览已结束,剩余11页可下载查看

付费下载

下载本文档

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

文档简介

1、湖北民族学院信息工程学院单片机综合实验报告题班姓学8路抢答器实验目: 级: 名:口号:指导老师:时 间:、实验内容:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮SOS7表示。本实验有Protues软件仿真。分别设置一个抢答控制开关S1和复位开关 S2,由主持人控制。抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。二、实验电路及功能说明11箭艳霄

2、事 丄匕丄5 Irof CSSlDnol fAmwnd-irg)?GU v)R2-Lt T*H匸刃3AT39C51EUirON FCMFRinn 吹LED-BWE LED-LiAEtHLED RlU RtSFACre RnOSCBV/A帥 TIOU41.inIII十戟F M 尸;is-i厂;I二::. L -I p iI -bl氧? aF *_ a I* sC? O 厂 + t II 卜 I Tai O卯liuyrihiri minrfiqninni(rpi izrrq分别设置一个抢答控制开关S1和复位开关 S2,由主持人控制。抢答器具有锁存与显示功能。即选手按按钮抢答时,锁存相应的编号,并且

3、优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。复位后参赛队员可继续抢答。如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。三、实验程序流程图:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。主流程图如下图所示子程序四、实验结果分析五、心得体会六、程序清单#in elude #defi ne uchar un sig ned char#

4、defi ne uint un sig ned intsbit wela_a=P 3人0;sbit wela1=卩3人1;sbit wela2=P 3人7;sbit rest=P 3人5;void keysca n();void mai n()ini t();dis play(s,ge,a);while(1)sbit host=卩3人6;if(host=0) /主持人控制开关sbit led1= P3A4;/绿灯sbit led2=卩3人3;/红灯delay(5);sbit led3=卩3人2;/黄灯if(host=0)sbit key1= PIP;flag=1;sbit key2=P 1人1

5、;start=1;sbit key3=卩1人2;sbit key4=卩1人3;sbit key5=PIM;delay(5);while(!host);延时检测开关sbit key6=卩1人5;sbit key7=PIW;sbit key8=卩1人7;if(rest=0) /复位uchar x,q,d,s,ge,t0,t1,start,flag;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void ini t();/*初始函数申明*/delay(5

6、);if(rest=0)q=30;led2=1;led3=1;x=0;void display(uchars,uchar ge,uchar a);delay(5);void delay( uint z);start=1;delay(5);while(!rest);void init()/* 初始化 */if(flag=1)to=o;t1=0;flag=0;led3=0;wela1=0;wela2=0;delay(1);TR0=0;TR1=1;dis play(s,ge,a);delay(1);q=30;d=10;wela_a=0;a=0;TMOD=0x11;TH0=(65536-50000)/

7、256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;if(start=0)/选手按下,倒计10秒开始ET0=1;if(start=1)/主持人按下,倒计时 30秒ET1=1;led1=0;TR0=0;wela1=0;TR1=0;wela2=0;delay(1);void dis play(uchar s,uchar ge,ucharTR0=1;a)/*数码管动态扫描*/TR1=0;dis play(s,ge,a);wela1=1;delay(1);P0=tablege;keysca n();del

8、ay(5);wela2=1;PO=tables;delay(5);delay(5);while(!key2);wela_a=0;P2=tablea;delay(5);void keyscan()/*按键扫描函数*/if(key1=0)delay(5);if(key1=0)a=1;P2=tablea;start=0;TR1=1;TR0=0;delay(5);while(!key1);if(key3=0)delay(5);if(key3=0)a=3;P2=tablea;start=O;delay(5);while(!key3);if(key4=0)delay(5);if(key4=0)if(key

9、2=0)delay(5);if(key2=0)a=2;P2=tablea;start=0;a=4;P2=tablea;start=0;delay(5);while(!key4);if(key5=0)delay(5);delay(5);if(key5=0)a=5;P2=tablea;start=0;delay(5);while(!key5);while(!key7);if(key8=0)delay(5);if(key8=0)a=8;if(key6=0)delay(5);if(key6=0)a=6;P2=tablea;start=0;delay(5);while(!key6);P2=tablea;

10、start=0;delay(5);while(!key8);void delay( uint z)/*uint i,j;for(i=z;i0;i-)延时函数*/for(j=110;j0;j-);if(key7=0)delay(5);if(key7=0)a=7;P2=tablea;start=0;void time0() in terru pt 1/*TH0=(65536-50000)/256;TL0=(65536-50000)%256;s=q/10;ge=q%10;t0+;定时器0*/if(t0=20)t1=0;t0=0;d-;q-;s=d/10;s=q/10;ge=d%10;ge=q%10;if(d=0)if(q=0)while(1)q=0;a=0;led1=1;led2=0;wela1=0;wela2=0;delay(1);dis play(s,ge,a);while(1)a=0;d=0;led1=1;led3=1;led2=0;wela1=0;wela2=0;delay(1);dis play(s,ge,a);void time1() in terru pt 3

温馨提示

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

评论

0/150

提交评论