抢答器的设计智能仪器课程设计.doc
《抢答器的设计智能仪器课程设计.doc》由会员分享,可在线阅读,更多相关《抢答器的设计智能仪器课程设计.doc(16页珍藏版)》请在沃文网上搜索。
1、 目录一、 设计题目2二、 功能说明2三、 系统设计2四、 相关知识2五、 元器件清单2六、 硬件设计和软件设计3七、 总电路图与程序7八、 设计心得16一、 设计题目抢答器的设计二、 功能说明(1) 抢答器可同时供8名选手或8个代表队比赛,每名选手或代表队使用一个按钮,8个按钮分别用1-8号表示。(2) 设置系统复位和抢答开始控制开关,该开关由主持人控制。(3) 抢答器具有定时抢答功能,且一次抢答的时间有主持人设定(如30s)。当主持人启动“开始”键后,显示器显示抢答时间倒计时,同时扬声器发出短暂的提示声响,声响持续的时间为0.5s左右。(4) 参赛选手在设定的时间内进行抢答,抢答有效,显示
2、器上显示选手的编号和限答的时间倒计时,并保持到主持人将系统复位为止。(5) 可以通过按键操作修改答题限制时间和抢答限制时间。(6) 如果抢答时间已到,无人抢答,本次抢答无效,系统复位。三、 系统设计本系统采用80C51单片机作为控制器,主要由电源电路、时钟电路、复位电路、选手按键电路、数码显示电路、声音提示电路组成。四、 相关知识(1)80C51单片机工作原理(2)复位电路工作原理及电路设计(3)时钟电路工作原理及电路设计(4)按键电路的设计(5)蜂鸣器驱动电路的设计(6)数码显示的原理及应用(7)优先锁存程序的设计及调试方法五、 元器件清单控制器单片机80C51时钟电路晶体振荡器12MHz,
3、电容30pF复位电路电解电容22Uf/10V,电阻1k欧声音提示电路晶体管2N5088,喇叭0.5W/8欧,电阻100欧,电阻3.3欧选手按键按键SW-PB主持人按键按键SW-PB数码显示LED数码管,四联共阴,排阻8千欧*8六、 硬件设计和软件设计(1) 复位模块图1.复位模块电路图while(!Key_stop);while(1) /在显示选手回答倒计时时只有在stop按键按下时,才可按复位键display(num,Answer_time);/显示选手编号和回答倒计时if(Key_restart=0)delay(10);if(Key_restart=0)/热复位键,从头开始下一轮beep(
4、);goto Top;(2) 时钟模块图2.时钟模块电路图void init()/初始化函数EA=1;/开总中断;TMOD=0x11;/定时器工作方式1,16位定时计数器TH0=(65536-50000)/256;/50usTL0=(65536-50000)%256;ET0=1;/开定时器0中断(暂时不启动定时器)TH1=(65536-50000)/256;/50usTL1=(65536-50000)%256;ET1=1;/开定时器0中断(暂时不启动定时器)EX0=1;/启动外中断0EX1=1;/启动外中断1P1=0x00;/读P1口的数据要先置1准备count_0=0;/定时器中的计数清零c
5、ount_1=0;(3) 声音提示模块图3.声音提示模块电路图void beep() laba=1; delay(100); laba=0;void beep_last() laba=1; delay(500); laba=0; (4) 数码显示模块图4.显示模块电路图void displaySet(uchar Settime) Settime-;P2=0xfd;/1011 1111P0=tableSettime%10;/时间的个位delay(10);P2=0xfd;/1011 1111P0=0x00;/消余辉delay(10);P2=0xfe;/ 0111 1111P0=tableSetti
6、me/10;/时间的十位delay(10);P2=0xfe;/0111 1111P0=0x00;/消余辉delay(10);void display(uchar num,uchar time)/显示数字的函数 P2=0xfe;P0=tablenum;delay(10);P2=0xfe;/0111 1111P0=0x00;/消余辉delay(10); time-;P2=0xf7;/1110 1111P0=tabletime%10;/时间的个位delay(10);P2=0xf7;/1110 1111P0=0x00;/消余辉delay(10);P2=0xfb;/ 1101 1111P0=tablet
7、ime/10;/时间的十位delay(10);P2=0xfb;/1101 1111P0=0x00;/消余辉delay(10);(5) 按键模块图5.按键模块电路图if(Key_start=0) Button=P1; if(Key_start=0)/主持人按下抢答键,抢答正式开始!Race_time=Race_time_temp;Answer_time=Answer_time_temp;beep();TR1=1;/抢答时间开始倒计时 while(1) /查询是否有按键按下,进入抢答循环display(12,Race_time);/显示抢答倒计时if(Race_time=0)beep();TR1=
8、0;/关闭定时器1break;Data=P1;/把P1口的数据送给变量if(Data!=0xff)/有按键按下delay(10);if(Data!=0x00)/确定有按键按下 Button=Data;/传递数据扫描值 TR0=1;/启动定时器0 TR1=0;/关闭定时器1 break;/不再进行查询是否有按键按下了 switch(Button) case 0x01:num=1;beep();break;/1号选手 case 0x02:num=2;beep();break;/2号选手 case 0x04:num=3;beep();break;/3号选手 case 0x08: num=4;beep
9、();break;/4号选手 case 0x10:num=5;beep();break;/5号选手 case 0x20:num=6;beep();break;/6号选手 case 0x40: num=7;beep();break;/7号选手 case 0x80:num=8;beep();break;/8号选手 七、 总电路图与程序图6.八路抢答器总电路图总程序:#include#define uchar unsigned char#define uint unsigned intsbit Key_add=P34;/时间+sbit Key_subtract=P35;/时间-sbit Key_st
10、art=P30;/开始键,sbit Key_stop=P31;/停止键sbit Key_set_R=P32;/抢答时间设置键sbit Key_set_A=P33;/回答时间设置键sbit Key_restart=P31;/复位键sbit laba=P36;/蜂鸣器void displaySet(uchar Settime);uchar code table = 0xc0 ,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff,0xc6,0xf0,0xb6;/段码表void delay(uint z);/延时函数声明void display
11、(uchar num,uchar time);/显示数字函数声明void beep();/蜂鸣器函数void beep_last();void init();uchar Race_time,Answer_time,Race_time_temp=20,Answer_time_temp=30;/抢答时间、回答时间变量uchar count_0,count_1;/定时中计数uchar Button,Data,num;void main() init();Top: if(Key_start=0) Button=P1; if(Key_start=0)/主持人按下抢答键,抢答正式开始!Race_time=
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抢答 设计 智能 仪器 课程设计
