基于单片机的四路抢答器的课程设计
- 格式:pdf
- 大小:6.88 MB
- 文档页数:33
基于单片机的四路抢答器1.由于剩余4个引脚,所以可以扩展到8路2.矩阵键盘输入任意两位数倒计时初值一、功能要求以8051系列单片机为核心,设计一个4路竞赛抢答器。
具体功能要求如下:1、该抢答器最多可供4名选手参赛,用4个按钮S0~S3表示,设置一个系统复位和抢答控制开关S,由主持人控制。
2、当主持人启动“抢答开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,LED显示器上显示选手的编号和抢答的时间并保持到主持人将系统清除为止;如规定的时间内无人抢答则蜂鸣器发声,计时器复位,为下一次计时做好准备。
3、抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。
4、只有主持人的操作将电路复位后,方可结束上一次的抢答,为下一次抢答做好准备。
二.设计方案(1)倒计时用矩阵键盘输入,程序中用keycount来记录按下按键的次数,我只设置两次,只能输入两位数,多按下几次是没有效果的,相当于键盘自锁,之后单片机读取键值,缓存入一个两位的数组table【2】。
(2)采用的是3位led动态扫描的方式显示(3)中断扫描选手按键,选手按键用的用独立键盘,用与门接选手按键,当有人按下时,与门由高到低,产生下降沿而引起中断,单片机扫描独立键盘。
(4)蜂鸣器电路(5)开始按键和复位按键1-1主流程图1-2 外部中断扫描选手按键1-3 定时器中断电路图如下图由于仿真软件proteus不能用PnP仿真,所以去掉了PnP,直接用IO口驱动;真实是不行的。
#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit FUW=P3^5; //抢答键sbit CLR=P3^4; //清零,复位键sbit xuan1=P2^4;//选手1,2,3,4sbit xuan2=P2^5;sbit xuan3=P2^6;sbit xuan4=P2^7;sbit wei1=P2^0;//位选1,2,3,4sbit wei2=P2^1;sbit wei3=P2^2;sbit wei4=P2^3;sbit buz=P3^0;uchar code numtab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极uint table[3]={0,0,0};//倒计时缓存uchar keycount=0;uint time=0;uchar num=0;uint ge,shi;/***********延时函数*****************/void delayms(uint xms){uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}/************蜂鸣器****************/void buzzer(){buz=0;delayms(50);buz=1;}/************报警部分独立按键扫描********************/ void kscan(){uchar sk;if(xuan1==0){delayms(10);if(xuan1==0){buzzer();sk=1;table[2]=sk;}}else if(xuan2==0){delayms(10);if(xuan2==0){buzzer();sk=2;table[2]=sk;}}else if(xuan3==0){delayms(10);if(xuan3==0){buzzer();sk=3;table[2]=sk;}}else if(xuan4==0){delayms(10);if(xuan4==0){buzzer();sk=4;table[2]=sk;}}}/**********矩阵键盘扫描***************/ void keyscan(){uint temp,key;P1=0xfe;//第一行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2))delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xde:key=0;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfd;//第二行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2))delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xed:key=1;table[keycount]=key;keycount++;break;case 0xdd:key=2;table[keycount]=key;keycount++;break;case 0xbd:key=3;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xfb;//第三行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2)){delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xeb:key=4;table[keycount]=key;keycount++;break;case 0xdb:key=5;table[keycount]=key;keycount++;break;case 0xbb:key=6;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}P1=0xf7;//第四行为0temp=P1;temp=temp&0xf0;//与上11110000if((temp!=0xf0)&&(keycount<2)){delayms(10);//去抖temp=P1;temp=temp&0xf0;if(temp!=0xf0){temp=P1;switch(temp){case 0xe7:key=7;table[keycount]=key;keycount++;break;case 0xd7:key=8;table[keycount]=key;keycount++;break;case 0xb7:key=9;table[keycount]=key;keycount++;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}}}/********显示函数*********/ void display(){ge=time%10;shi=time/10;wei1=1;wei2=0;wei3=0;P0=numtab[shi];delayms(5);P0=0xff;wei1=0;wei2=1;wei3=0;P0=numtab[ge];delayms(5);P0=0xff;wei2=0;wei1=0;wei3=1;P0=numtab[table[2]];delayms(5);P0=0xff;wei3=0;}/****************主函数**********************/ main(){EA=1;TMOD=0x01;TH0=(65536-50000)/256;//定时50msTL0=(65536-50000)%256;ET0=1;EX0=1;IT0=1; //下降沿触发PX0=1;PT0=0;while(1){if(keycount<2){ keyscan();if(keycount==2){time=10*table[0]+table[1];}}if(keycount==2){display(); }/******按下开始抢答键********/if(FUW==0){delayms(10);if(FUW==0){TR0=1;while(!FUW);}}/********按下清零键*********/if(CLR==0){delayms(10);if(CLR==0){TR0=0;EX0=1;time=0;ge=0;shi=0;table[0]=0;table[1]=0;table[2]=0;keycount=0;while(!CLR);}}}}/**************定时器0中断******************/ void t0() interrupt 1{TH0=(65536-50000)/256;//定时50msTL0=(65536-50000)%256;num++;if(num==20){num=0;time--;if(time==0){TR0=0;}}}/*********外部中断0***********/void estern0() interrupt 0{uchar ks;EX0=0;//关掉中断,防止键盘抖动,多次中断,还有就是//只扫描第一次按键的选手,之后按键不扫描if(TR0==0||time==0){kscan();}else if(xuan1==0&&TR0==1 ){delayms(10);if(xuan1==0){ks=1;table[2]=ks;TR0=0;while(!xuan1);}}else if(xuan2==0&&TR0==1 ) {delayms(10);if(xuan2==0){ks=2;table[2]=ks;TR0=0;while(!xuan2);}}else if(xuan3==0&&TR0==1 ){delayms(10);if(xuan3==0){ks=3;table[2]=ks;TR0=0;while(!xuan3);}}else if(xuan4==0&&TR0==1 ){delayms(10);if(xuan4==0){ks=4;table[2]=ks;TR0=0;while(!xuan4);}}}。
课题名称:单片机控制四路抢答器设计专业:电机与电器班级:电测092班学号:200901370225姓名:戴兴国指导教师:陈新喜目录摘要 (3)关键词 (3)作品说明 (3)设计思路 (4)(一)设计任务 (4)(二)设计要求 (4)第一章器件功能介绍 (5)1.1元器件清单 (5)1.2 主要元器件介绍 (5)2.74F245驱动器: (6)第二章单片机控制LED显示四路抢答电路设计 (7)2.1 硬件电路设计 (7)2.2 软件设计 (7)2.3 程序设计 (7)参考文献 (9)摘要现在开展的竞赛抢答活动越来越多,而在大多数比赛当中都是采用抢答器进行抢答的。
本设计的核心是使用A T89S52单片机控制,抢答器可同时满足4名选手或4个代表队参加竞赛抢答比赛。
且本文设计的抢答器具有功能强大,造价低廉,维修方便等特点。
该抢答器同时具有锁存,数码LED显示功能,彩灯指示,抢答报警,违规抢答报警等功能。
即选手按动按钮,会锁存相应的编号,并且在LED数码管上同步显示,彩灯指示,同时蜂鸣器会发出报警声响提示。
关键词A T89S52单片机控制LED数码显示抢答器作品说明该作品电路面板上有一个电源开关,一个复位开关,一个开始按钮,四个抢答按钮,一个电源指示灯和六个指示彩灯。
打开电源开关,面板电源指示灯(红色)亮代表抢答器已通电可以正常工作了。
复位按钮和开始按钮由主持人操控。
四个抢答按钮分别有4名选手或4个代表队操控。
当主持人问完问题按下“开始”按钮后会有三个绿色彩灯亮,这时4个代表选手可以进行抢答了,其中一路选手在抢答完毕后LED 显示屏会显示相应选手的编号,蜂鸣器会发出报警提示,同时绿色彩灯熄灭而三个红色彩灯亮。
抢答器这时不会再接受其他任一路的指令抢答。
抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统复位为止。
这时主持人可以按下“复位”键进行下一轮比赛抢答了。
而在主持人没有按下“开始”键之前如有选手违规抢答,这时LED显示屏会显示选手的编号并不断闪烁,同时扬声器发出报警声绿色彩灯也会不断闪烁,直到主持人按下复位键。
课程设计(论文)题目名称多路数字抢答器设计课程名称单片机原理及其应用学生姓名学号系、专业指导教师2013年6月24日摘要近年来随着科技的飞速发展单片机的应用正在不断深入同时带动传统控制检测日新月异。
此次设计提出一种用AT89C51单片机作为核心控制元件与电阻、液晶显示屏、蜂鸣器等构成硬件操作再利用C语言编程来控制抢答器的功能实现。
本论文对抢答器的背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍使我们不仅对抢答器的原理及设计有了深入的了解也对单片机的设计研发过程有了更加深刻的体会。
本次设计的系统主要采用单片机控制、采用手动抢答的方式。
有人抢答后,系统自动封锁其他选手的抢答按钮,使其不再抢答,从而实现抢答功能。
该系统还增加了抢答倒计时功能,可以调整。
通过自主的设计、编程和调试出一个简单的四路抢答并在液晶屏显示抢答成功者;熟悉C语言编程;了解单片机仿真系统的使用方法,达到提高综合运用相关知识的能力;进一步熟悉和掌握Proteus7的使用方法;掌握单片机系统设计全部过程的目的。
关键字:抢答单片机液晶屏显示目录第1章前言 (1)第2章方案设计 (2)第3章硬件电路的工作原理 (3)3.1抢答器的电路图 (3)3.2液晶屏显示电路 (3)3.3按键控制电路 (4)第4章软件设计 (5)4.1软件编程 (5)4.2系统调试和结果分析 (6)总结 (11)参考文献 (12)附录1 源程序 (14)第1章前言电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。
单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。
因此一块芯片就构成了一台计算机。
它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。
抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。
1 设计任务和方案1.1设计任务(一)设计题目:抢答器(二)设计目的与任务:学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
1.2功能要求说明该抢答器上电或按键复位后能自动显示系统提示符“P.”。
设定S2键、S3键、S4键、S5键、S9键分别为一号选手键、二号选手键、三号选手键、四号选手键、开始键。
若在主持人按下开始键之前有人按下抢答键,则抢答违规,数码管显示器显示违规台号,违规指示灯亮(接在P3.0上的灯),其他按键不起作用,只有主持人按复位键后才能重新开始抢答。
主持人按下开始键后,抢答开始并限定时间30S;10S 内无人抢答,蜂鸣器发出音响;若30S后依然无人抢答,蜂鸣器发出音响,违规指示灯亮。
正常抢答下,从抢答键按下开始30S内,答完后键没按下,则数码管显示器显示违规台号,违规指示灯亮,蜂鸣器发出音响。
各台数字显示的消除、蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位键实现。
1.3设计总体方案及工作原理说明设计中采用AT89S52芯片、LED显示器、蜂鸣器、LED灯和一些独立式按键构成一个简易四路抢答器。
设计中是采用单片机的内部定时器进行定时,原理框图如图1.1所示整个抢答器的工作原理是:在正常的供电状态下,开始抢答时利用单片机倒计时,并由单片机将所需要显示的数据送到LED显示器的输入口,当有键按下时则执行相应的键功能程序。
AT89S52单片机晶振电路单片机复位电路键盘输入8段LED显示器LED灯蜂鸣器图1.1 原理框图2抢答器的硬件系统的设计2.1 硬件系统各模块功能简要介绍该抢答器主要由单片机最小系统、独立式键盘模块、LED显示电路模块、蜂鸣电路模块和LED指示灯电路模块组成。
各模块的功能如下:(1)单片机最小系统由AT89S52单片机、时钟电路和复位电路构成。
摘要 (I)Abstract (II)引言 (1)1系统概述 (2)1.1抢答器需求分析 (2)1.2 抢答器工作过程 (2)2 单片机功能简介 (3)2.1 STC89C51的功能 (3)2.1.1 STC89C51特殊功能寄存器 (3)2.2 STC89c51单片机的内部结构 (5)3 系统硬件电路的设计 (6)3.1 系统总电路如图 (6)3.2 最小系统的设计 (7)3.2.1 电源的设计 (7)3.2.2 时钟频率电路的设计 (7)3.2.3 复位电路的设计 (9)3.3 显示电路的设计 (11)3.3.1 数码管简介 (12)3.3.2 CD4511七段译码器简介 (12)3.4 按键电路的设计 (14)3.5 蜂鸣器设计 (15)3.6元器件焊接及调试 (17)4 系统软件的设计 (17)4.1 延时子程序 (19)4.2 显示子程序 (19)4.3 倒计时加按键扫描子程序 (19)4.4主程序及分析 (20)5 结论 (23)参考文献 (24)致谢 (25)附录 1 (26)附录2 (27)Contents Abstract....................................................... I I Introduction. (1)1 System overview (2)1.1 The analysis of responder needs (2)1.2 Responder work process (2)2 MCU features (3)2.1 STC89C51 (3)2.1.1 Special function register (3)2.2 The internal structure of STC89c51 (5)3 The design of circuit system (6)3.1 The circuit system (6)3.2 The design of minimum system (7)3.2.1 The design of power supply (7)3.2.2 The design of clock circuit (7)3.2.3 The design of reset circuit (9)3.3 The design of display circuit (11)3.3.1 Digital tube profile (12)3.3.2 The introduction of CD4511 (13)3.4 The design of key circuit (15)3.5 The design of buzzer (15)3.6 Components and welding debuggin g (17)4 The design of software (19)4.1 Delay subroutine (19)4.2 Display program (19)4.3 The countdown and keyboard scanning subroutine (19)4.4 Main program and analysis (20)5 Conclusions (23)References (24)Acknowledgement (25)Appendix 1 (26)Appendix 2 (27)基于51单片机的四路抢答器设计作者:吴新春,指导教师:刘平(山东农业大学讲师)【摘要】本文设计以STC89C51单片机为核心的四路抢答器。
课程设计(论文)题目名称多路数字抢答器设计课程名称单片机原理及其应用学生姓名学号系、专业指导教师2013年6月24日摘要近年来随着科技的飞速发展单片机的应用正在不断深入同时带动传统控制检测日新月异。
此次设计提出一种用AT89C51单片机作为核心控制元件与电阻、液晶显示屏、蜂鸣器等构成硬件操作再利用C语言编程来控制抢答器的功能实现。
本论文对抢答器的背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍使我们不仅对抢答器的原理及设计有了深入的了解也对单片机的设计研发过程有了更加深刻的体会。
本次设计的系统主要采用单片机控制、采用手动抢答的方式。
有人抢答后,系统自动封锁其他选手的抢答按钮,使其不再抢答,从而实现抢答功能。
该系统还增加了抢答倒计时功能,可以调整。
通过自主的设计、编程和调试出一个简单的四路抢答并在液晶屏显示抢答成功者号码;熟悉C语言编程;了解单片机仿真系统的使用方法,达到提高综合运用相关知识的能力;进一步熟悉和掌握Proteus7的使用方法;掌握单片机系统设计全部过程的目的。
关键字:抢答单片机液晶屏显示目录第1章前言 (1)第2章方案设计 (2)第3章硬件电路的工作原理 (3)3.1抢答器的电路图 (3)3.2液晶屏显示电路 (3)3.3按键控制电路 (3)第4章软件设计 (5)4.1软件编程 (5)4.2系统调试和结果分析 (6)总结 (9)参考文献 (10)附录1 源程序 (11)第1章前言电子技术和微型计算机的迅速发展,促进微型计算机测量和控制技术的迅速发展和广泛应用,单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域,它起到了越来越重要的作用。
单片微型计算机就是将中央处理单元、存储器、定时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。
因此一块芯片就构成了一台计算机。
它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用的计算机。
抢答器一般是由很多电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。
单片机的四路电子抢答器设计设计四路电子抢答器可以用单片机来实现。
抢答器通常包括主控板、显示屏、按键模块、信号输入模块和声音模块,下面我将详细介绍设计过程。
一、系统硬件设计部分:1.主控板:使用单片机作为主控处理器,常见的有51系列、AVR系列和STM32系列等。
根据所选单片机的引脚分配情况,设计电路板布线。
2.显示屏:使用液晶显示屏来显示题目和选手答案情况。
选择适合的液晶显示屏,并连接到主控板上。
3.按键模块:设置每个选手的抢答按键,可以使用带有独立按键的矩阵键盘模块,也可以使用独立的按键和扩展IO口。
4.信号输入模块:接收抢答信号,可以使用红外接收器模块,当选手按下抢答键时发射红外信号,由红外接收器模块接收。
也可以选择其他合适的接收方式。
5.声音模块:用于提醒和提示答题情况,可以使用蜂鸣器模块,通过主控板控制发声。
二、系统软件设计部分:1.初始化:在主控板上编写程序,进行硬件初始化,包括液晶屏初始化、按键模块初始化、红外接收模块初始化等操作。
2.题目显示:通过液晶显示屏展示当前抢答题目。
3.抢答检测:主控板通过循环扫描检测按键状态,当检测到一些按键按下时,记录该选手抢答,并停止其他选手的抢答。
4.抢答结果显示:通过液晶显示屏显示抢答结果,标识各个选手的抢答顺序。
5.声音提示:根据抢答结果,通过蜂鸣器模块进行声音提示,例如正确答案和错误答案的不同提示音。
6.重复抢答:在抢答过程中,如果有选手重复抢答,可以通过程序进行判断并作相应的提示。
7.复位操作:可以设置一个复位按钮,用于清除抢答结果和重新开始抢答。
三、系统工作流程:1.开机初始化:主控板上电初始化,配置各个模块,显示“待机”状态。
2.显示题目:主控板从题库中读取题目内容,并通过液晶显示屏展示给选手。
3.抢答:选手按下抢答按钮,主控板检测到按键状态变化并记录抢答情况。
4.显示抢答结果:主控板通过液晶显示屏显示抢答结果,标识各个选手的抢答顺序。
基于单片机实现智能4路抢答器的设计报告惠州学院数字电子技术课程设计说明书题目:基于单片机(89C52)的四人抢答器系部:电子科学系班级:09级电信二班学生姓名:学号:指导教师:2011年12月29日智能四路抢答器目录一、前言 (2)二、方案设计 (2)1、方案比较 (2)2、系统总体设计方案与实现框图 (3)三、理论分析 (3)四、电路设计 (4)1、按键部分 (4)2、显示部分 (5)3、总原理图 (6)五、软件流程图模块 (7)六、结论 (8)七、程序 (9)一、前言本设计要求能够在主持人按下开始键后,四个参赛者开始抢按自己的按键,谁的按键先按下,谁面前的灯就会亮并且有相应的提示,当参赛者耗时太多时又会有相应的提示。
根据设计的要求,本系统采用独立式按键,通过单片机不停的扫描按键来控制LED灯和蜂鸣器,并用定时器T0、T1来定超时的时间,其中抢答定时时间可以由主持人随意的修改。
当超时的时候让蜂鸣器响和点亮相应的LED灯(T0用于参赛者回答问题的定时,T1用于参赛者抢答时间的选定)。
二、方案设计1、方案比较(1)、总体设计方案一:采用可编程I/O口扩展芯片81558155作为单片机的扩展接口能实现很多功能,但是这个系统并不复杂,用8155会浪费很多的资源,而且8155要用P0和P2端口作为地址线对它进行读写,这样不仅浪费端口还使得编程变的复杂。
从节省资源和简化编程的角度考虑,放弃了此方案。
方案二:直接采用AT89C51单片机直接用单片机不仅编程被简化,还有效的利用了各个端口。
8051单片机的资源完全够这个系统的要求。
所以最终选择了此方案。
(2)、模块方案一:采用4*4矩阵键盘此种键盘是常用的按键扫描方法,但是本系统只需要六个按键,这样就会浪费十个,而且矩阵按键扫描要送数读数,对于编程很复杂,最终放弃了此方案。
方案二:采用独立式键盘本系统只要8个按键就可以,用独立式键盘不仅节省端口还使编程变得简单。
课程设计说明书题目:基于STM32的四路抢答器学院:年级专业:学号:学生姓名:指导教师:摘要在各种智力竞赛场合,抢答器是必不可少的最公正的用具。
在我们各种竞赛中我们也经常能看到有抢答的环节,某些举办方采用让选手通过举答题板的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性,而抢答器的应用就能避免这种弊端。
今天随着科技的不断进步抢答器的制作也更加追求精益求精,人们摆脱了耗费很多元件仅来实现用指示灯和一些电路来实现简单的抢答功能,使第一个抢答的参赛者的编号能通过指示灯显示出来,避免不合理的现象发生。
但这种电路不易于扩展,而且当有更高要求时就无法实现,例如参赛人数的增加。
随着数字电路的发展,数字抢答器诞生了,它易于扩展,可靠性好,集成度高,而且费用低,功能更加多样,是一种高效能的产品。
而如今在市场上销售的抢答器大多采用可编程逻辑元器件,或利用单片机技术进行设计。
本文实现了一个基于嵌入式STM32单片机的4路抢答器系统设计,本系统设计主要分为硬件设备和软件控制两大部分。
外部硬件使用STM32单片机作为控制中心,用4个按键作为抢答输入,抢答开始后,抢答成功者的LED灯标识为红色闪烁,并且显示各抢答输入的时间。
关键词:智能抢答器,STM32,按键输入,数码管显示目录摘要 (2)目录 (3)第1章绪论 (5)1.1课题研究的相关背景 (5)1.2选题的目的和意义 (5)1.3课题研究的内容 (5)1.4国内外研究现状 (6)1.5抢答器目前存在的主要问题 (6)第2章抢答器的系统概述 (7)2.1系统的主要功能 (7)2.2抢答器的工作流程 (7)2.3STM32的功能及简介 (7)2.4抢答器的优点及组成 (10)2.5本章小结 (11)第3章系统的硬件设计与开发 (11)3.1系统硬件总体设计 (11)3.2STM32最小系统 (12)3.4时钟频率电路的设计 (14)3.5复位电路的设计 (15)3.6数码管显示 (16)3.7键盘电路的设计 (16)3.8LED电路 (18)3.9本章小结 (18)第4章系统的软件设计与开发 (19)4.4主要程序分析 (20)4.5本章小结 (29)第5章总结与展望 (30)5.1总结 (30)5.2展望 (31)致谢 (32)参考文献 (33)第1章绪论1.1 课题研究的相关背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
课程设计(论文)题目名称简易四路抢答器设计课程名称单片机原理及应用?学生姓名瞿永学号 04系、专业电气工程系测控类指导教师杨波、2010年 7 月 1 日邵阳学院课程设计(论文)评阅表%学生姓名瞿永学号 04 系别电气工程系专业班级 08电本二班题目名称简易四路抢答器课程名称单片机原理及应用%二、指导教师评定:目录摘要..... 错误!未定义书签。
一,设计任务与要求. 错误!未定义书签。
二,方案设计与论证. 错误!未定义书签。
三,硬件电路设计. 错误!未定义书签。
$四,软件设计.错误!未定义书签。
五,器件选型方案. 错误!未定义书签。
六,调试:... 错误!未定义书签。
七,结论与心得错误!未定义书签。
八,参考文献.错误!未定义书签。
单片机四路抢答器设计摘要;抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
本设计是以四路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT49C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
一,设计任务与要求1、抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。
简易四路抢答器设计目录摘要 (1)一、设计任务与要求 (2)二、方案设计与论证 (2)三、硬件电路设计 (2)1、抢答器的设计总电路 (2)四、软件设计 (3)1、系统主程序流程图 (3)五、器件选型方案 (4)六、调试 (5)1、上电 (5)2、开始 (5)3、仿真 (5)七、体会与心得 (6)八、参考文献 (7)附录主程序清单 (8)单片机四路抢答器设计摘要:本设计是以四路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器中断和外部中断,将软、硬件有机地结合起来,使得系统能够正确地进行工作,同时使数码管能够正确显示组别。
用开关做键盘输入,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;可以显示是哪位选手有效抢答,正确按键后有音乐提示;当有一组抢答成功后其他组抢答无效。
关键字:AT89C51单片机;四路抢答器;定时/计数器中断一、设计任务与要求1、抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。
2、设置一个复位按钮和抢答控制开关S,该开关由主持人控制。
3、抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统复位为止。
二、方案设计与论证方案:该系统采用单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。
由于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周围的辅助电路也比较少,便于控制和实现。
整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。
MCS-51单片机特点如下:1、可靠性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可靠性高,易扩充。
单片机四路抢答器的设计一、设计需求分析在设计四路抢答器之前,我们首先需要明确其功能需求。
1、能够同时支持四路选手进行抢答。
2、当有选手按下抢答按钮时,能够迅速锁定并显示抢答者的编号。
3、具备倒计时功能,在规定时间内无人抢答则显示超时。
4、要有声音提示,如抢答成功、违规抢答、倒计时结束等。
二、硬件设计1、单片机选择我们选用常见的 51 系列单片机,如 STC89C52 单片机。
它具有性能稳定、价格低廉、编程方便等优点。
2、输入模块使用四个独立按键作为四路选手的抢答按钮,分别连接到单片机的四个 I/O 口。
3、显示模块采用数码管显示抢答者的编号和倒计时时间。
可以选择共阴极或共阳极数码管,通过单片机的 I/O 口进行驱动。
4、声音模块使用蜂鸣器来实现声音提示功能。
通过单片机控制蜂鸣器的通断,产生不同频率的声音。
5、电源模块为整个系统提供稳定的电源,可以使用 5V 直流电源适配器。
三、软件设计1、编程语言选择 C 语言进行编程,C 语言具有语法简洁、可读性强、可移植性好等优点。
2、主程序流程系统初始化后,进入等待抢答状态。
当有选手按下抢答按钮时,判断是否违规抢答(即在倒计时未结束前抢答)。
如果是合法抢答,锁定抢答者编号并显示,同时发出抢答成功的声音提示;如果是违规抢答,则发出违规提示音并显示违规者编号。
在抢答成功后,开始倒计时,倒计时结束时发出超时提示音。
3、中断处理利用单片机的外部中断功能,实现对抢答按钮按下事件的快速响应。
4、计时与显示程序通过定时器实现倒计时功能,并将剩余时间实时显示在数码管上。
四、系统调试1、硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
然后测量各个电源点的电压是否正常,确保硬件工作在稳定的状态。
2、软件调试将编写好的程序下载到单片机中,通过单步调试、断点调试等方式,检查程序的执行流程和逻辑是否正确。
同时观察数码管显示和蜂鸣器发声是否符合预期。
五、设计优化与拓展1、增加更多的抢答通道,以满足更多选手参与的需求。