基于单片机的八路抢答器的设计(C语言版)
基于单片机8路抢答器的设计与实现
基于单片机8路抢答器的设计与实现引言:抢答器是一种用于比赛或考试中进行抢答的设备,它可以实现多个参与者同时抢答,实时显示最先抢答者的编号。
本文将介绍一种基于单片机的8路抢答器的设计与实现。
一、设计方案:1.硬件设计:本设计采用单片机作为主控制器,使用LED显示器显示抢答编号。
按键用于选择参与抢答的编号。
____________________+------------------,P1.0,,P1.1,,P1.2,,P1.3Infrared sensor ----- ------- ----- -----+------------------,P1.4,,P1.5,,P1.6,,P1.7LED display ----- ------- ----- -----+---------------+---------+---------+---------+---------+AVRMicrocontroller+---------------+---------+---------+2.软件设计:本设计的软件部分主要涉及中断、定时器、按键扫描和显示控制几个方面的内容。
(1)中断:使用外部中断响应红外传感器的触发信号,并处理中断程序。
(2)定时器:使用定时器来实现LED显示的时序控制,以达到流畅的显示效果。
(3)按键扫描:定时扫描按键,当一些按键按下时,触发相应的抢答编号。
(4)显示控制:根据抢答编号,通过对LED显示器的控制,实现编号的显示。
二、实现步骤:1.硬件部分的实现:(1)按照上述连接图的方式,将红外传感器和LED显示器与单片机进行连接。
(2)编写硬件程序,对红外传感器和LED显示器进行初始化配置。
2.软件部分的实现:(1)编写中断服务函数,用于响应红外传感器的触发信号,并完成相应的中断处理。
(2)编写定时器中断服务函数,用于控制LED显示的时序。
(3)编写按键扫描函数,用于检测按键是否按下,并触发相应的抢答编号。
基于单片机8路抢答器的设计与实现
基于单片机8路抢答器的设计与实现基于单片机的8路抢答器是一种常见的电子竞赛设备,用于测验、培训或竞赛等活动中进行抢答的过程。
它能够为多个参与者提供公平竞争机会,并通过显示屏和声音提示来呈现结果。
下面是一个基于单片机的8路抢答器的设计与实现的参考内容。
一、硬件设计:1. 微控制器选择:可以选择一款适合的单片机作为抢答器的主控芯片,常见的选择有STC89C52、AT89C52、PIC16F877A 等。
2. 输入部分设计:为每个参与者设置一个按钮,用于抢答。
可以使用电子按键、触摸按钮等。
3. 显示部分设计:可以选择LCD液晶显示屏或数码管进行显示,显示参与者的编号或抢答进度等信息。
4. 声音提示设计:可以使用蜂鸣器或扬声器作为声音提示装置,用于鸣笛提示抢答结果。
5. 电源部分设计:选择合适的电源模块,如直流电源模块或电池供电。
二、软件设计:1. 系统初始化:设置IO口的输入输出状态,初始化LCD显示屏,配置中断等。
2. 抢答逻辑:设置抢答模式,设定抢答者数量,记录抢答时间,并根据抢答顺序进行显示和提示。
3. 显示与提示:根据抢答结果,将结果显示在LCD屏幕上,并通过声音提示器进行声音提示。
4. 延时与计时:设置合适的延时函数和计时器用于计算抢答的时间长度。
5. 节拍控制:设置一个节拍控制函数,用于判断抢答按钮的按下时间是否在某一节拍内,以增加抢答的公平性。
6. 按键检测与处理:使用中断或轮询方式对抢答器上的按键进行检测和处理,并根据按键的触发来执行相应的命令。
三、实现步骤:1. 硬件搭建:按照上述设计,完成抢答器的硬件搭建,包括连接单片机与按钮、显示屏和声音提示器等。
2. 程序编写:根据所选的单片机型号,使用对应的编程软件,编写相应的程序。
3. 调试与测试:将编写好的程序下载到单片机中,通过串口或者编程器与单片机进行连接,进行调试与测试。
4. 优化与改进:根据实际使用情况,进行程序的优化和改进,以提高系统的稳定性和可靠性。
基于单片机的八路抢答器设计
基于单片机的八路抢答器设计单片机作为一种高性能的微处理器,能够实现实时控制、高速计算、数据存储等功能,被广泛应用于各种电子设计中。
本文将介绍一种基于单片机的八路抢答器设计。
一、设计思路本设计的主要目的是实现一个简单实用的抢答器系统,主要功能包括抢答、计分、显示和控制等。
为了实现这些功能,我们采用了AT89C52单片机,利用它的GPIO口实现八路输入、八路输出等控制功能。
同时,为了提高可靠性和稳定性,我们还加入了复位电路、晶振电路、滤波电路等必要的辅助电路。
二、硬件设计1.复位电路为了确保单片机能够正常工作,我们需要加入一定的复位电路。
复位电路的作用是在单片机上电时,将单片机复位,并确保单片机在正常工作时不出现异常。
常见的复位电路包括电容复位电路、复位芯片电路等。
本设计采用的是电容复位电路,具体电路如下图所示:2.晶振电路晶振电路是单片机正常工作的关键部分,晶振电路的稳定性直接影响系统运行稳定性。
因此,我们需要选择高质量的晶振,并且在电路设计过程中注意规范布局,保证信号传输的稳定性。
具体的电路如下图所示:3.输入电路本设计要实现的是八路输入,因此我们需要设计八路独立的输入电路。
输入电路的作用是将外部输入信号有效地输入到单片机GPIO口,以实现控制功能。
由于输入信号有可能受到外部干扰,因此我们需要加入滤波电路,此处采用RC滤波器。
4.输出电路本设计要实现的是八路输出,因此我们需要设计八路独立的输出电路。
输出电路的作用是将单片机的控制信号输出到外部电路,以实现八路LED灯的控制。
由于LED的电流较小,因此我们适当加入一个三极管,以保证LED正常工作。
三、软件设计1.主程序本设计采用C语言编写,主程序包括初始化、读取输入、判断输入、显示得分等步骤。
主程序的框架如下图所示:2.中断程序为了实现抢答功能,我们需要使用到单片机的中断功能。
当检测到有按键按下时,单片机会进入中断程序,中断程序的作用是停止倒计时并保存得分,然后将LED显示出得分数。
八路抢答器-基于单片机C语言
#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit k1=P1^0;sbit k2=P1^1;sbit k3=P1^2;sbit k4=P1^3;sbit k5=P1^4;sbit k6=P1^5;sbit k7=P1^6;sbit k8=P1^7; //选手按键sbit beep=P3^6; //蜂鸣器uchar code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77}; //0-9代码(共阴极)uchar shiwei,gewei,xuanshou,count,i,second;uchar score1,score2,score3,score4,score5,score6,score7,score8;//选手1~8的分数uint t,m,n,a,a1,a2,a3,a4,a5,a6,a7,a8;void Timer(){TMOD|=0x01;TH0=0xd8; //初值55536,计数10000次,每次1US,总计10msTL0=0xf0;IE=0x82; //这里是中断优先级控制EA=1(开总中断),ET0=1(定时器0允许中断),这里用定时器0来定时TR0=1;}void tim(void) interrupt 1 using 1 //为定时中断TR0{TH0=0xd8; //重新赋值TL0=0xf0;count++;if(count==100) //100*10ms=1秒{count=0;second--; //秒减1}}void delay(uint z) //延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);//延时1ms}void display (uchar shiwei,gewei,xuanshou) //显示函数{P2=0xfe; //打开显示时间十位的位选低电平有效1111 1110 P0=shiwei;//显示十位delay(5);P2=0xfd; //个位位选1111 1101P0=gewei;delay(5);P2=0xf7; //选手位选1111 0111P0=xuanshou;delay(5);}void dis(void)//调用显示函数{shiwei=tab[second/10];gewei=tab[second%10];xuanshou=tab[i];display (shiwei,gewei,xuanshou);}void init() //初始化函数{P2=0x04;//0000 0100P0=0x3f;//数码管共阴0011 1111显示0t=0;beep=0;//蜂鸣器i=0;second=29;score1=60;score2=60;score3=60;score4=60;score5=60;score6=60;score7=60;score8=60;a1=1;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;}void main()//主函数{init();//调用初始化函数if(k==1){ m=0; if(k1==0) {delay(5);if(k1==0);while(!k1);beep=1;delay(500);beep=0;} // 违规抢答显示号码报警while(t){if(m==0) //开关,保证程序只执行一次{switch(t){case 1:{TR0=0;i=1;second=score1;beep=1;delay(500);beep=0;a1=0;a2=1;a3=1;a4=1;a5=1;a6=1;a7=1;a8=1;m=1;break; //有选手抢答时显示选手号码蜂鸣器响,时间为0,t和i对应}}} }if(k2==0) {delay(5);if(k1==0);while(!k1);t=2;beep=1;delay(500);beep=0;}if(k3==0) {delay(5);if(k1==0);while(!k1);t=3;beep=1;delay(500);beep=0;}if(k4==0) {delay(5);if(k1==0);while(!k1);t=4;beep=1;delay(500);beep=0;}if(k5==0) {delay(5);if(k1==0);while(!k1);t=5;beep=1;delay(500);beep=0;}if(k6==0) {delay(5);if(k1==0);while(!k1);t=6;beep=1;delay(500);beep=0;}if(k7==0) {delay(5);if(k1==0);while(!k1);t=7;beep=1;delay(500);beep=0;}if(k8==0) {delay(5);if(k1==0);while(!k1);t=8;beep=1;delay(500);beep=0;}}if(k==0){Timer();//中断定时器打开delay(10);while(!k);while(1){dis();m=0;n=0;if (second==29){beep=1;delay(500);beep=0;}if(second==0){TR0=0;n=1;if(k1==0){delay(5);if(k1==0);while(!k1);t=1;beep=1;delay(500);beep=0;} // 违规抢答显示号码报警if(k2==0){delay(5);if(k1==0);while(!k1);t=2;beep=1;delay(500);beep=0;}if(k3==0){delay(5);if(k1==0);while(!k1);t=3;beep=1;delay(500);beep=0;}if(k4==0){delay(5);if(k1==0);while(!k1);t=4;beep=1;delay(500);beep=0;}if(k5==0){delay(5);if(k1==0);while(!k1);t=5;beep=1;delay(500);beep=0;}if(k6==0){delay(5);if(k1==0);while(!k1);t=6;beep=1;delay(500);beep=0;}if(k7==0){delay(5);if(k1==0);while(!k1);t=7;beep=1;delay(500);beep=0;}if(k8==0){delay(5);if(k1==0);while(!k1);t=8;beep=1;delay(500);beep=0;}if(k==0){beep=1;delay(500);beep=0;second=29;TR0=1;m=1;}}//如果再次按下开始按钮,蜂鸣器响0。
基于单片机的8路抢答器设计
图 2 电源电路 2.2 复位电路
采用按键复位电路,AT89SC51 的 9 脚外接 RC 电路及按键.由于 51 系列单片机为高电 平复位,开始时要先按下抢答开始按钮 S9,以清除系统信息,同时开放各按钮,以备各参赛 选手进行抢答.每次答题结束,需要进行下一轮的抢答前都需按一下按钮 S9。如下图所示。
单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟 信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用 fosc 表示。如时钟频率为 8MHz, 即 fosc=8MHz,则时钟周期为 1/8µs。
-4-
2.4 开关阵列电路
该电路又多路开关组成,每一竞赛者与一组开关相对应。开关应为常开型,当按下开关时, 开关闭合;当松开开关时,开关自动弹出断开。电路参见附录 1-总原理图。
3 抢答器电路设计
图 5 发声电路
3.1 抢答器原理分析
正常情况按钮 S1~S9 处于常开状态,工作时,按下按钮 S9 ,发布抢答命令,电路进入就 绪状态,开始接收各选手的信号。8 位参赛选手通过按下各自的抢答按钮(键)进行抢答,当任 一选手的开关 S1~S8 按下时,相应的输出为低电平,即 P0 口相应的 I/ O 口线为低电平 , 单片机程序判断是谁最先按下 ,程序然后从 P1. 0~P1. 6 输出抢答者号码的七段段码值, 送数码管显示,并封锁键盘、 禁止其他人按键的输入,从而实现抢答功能。当要进行下一次 抢答时 ,再先按下复位按钮 S9,电路复位,进入下一次抢答就绪状态。
3.3 PCB 图
作为实际电路的焊接模板 PCB 是非常重要的,本次电路设计为双面布线,具体布线如 PCB 总图图所分布。PCB 总图见附录 2.
4 抢答器系统设计
基于单片机的八路抢答器设计
基于单片机的八路抢答器设计
本文介绍了一种基于单片机的八路抢答器设计。
抢答器是一种用于学校、培训机构等教育场所的工具,可以帮助教师进行学生抢答活动的管理和记录。
基于单片机的设计可以提供稳定可靠的性能。
首先,我们需要准备一块适配的单片机开发板,如STC89C52或ATmega328P等。
这些开发板都具备处理器和必要的输入输出接口,适合本项目的需求。
其次,我们需要设计一套抢答器的硬件电路。
这包括按键、显示屏(LCD)和音响等功能。
按键可以用于学生抢答,LCD显示屏可以显示当前的抢答状态和得分情况,而音响用于提示正确和错误的抢答。
在软件方面,我们需要编写相应的程序来控制抢答器的功能。
这些功能包括学生抢答有效性的判断、得分的记录和显示,以及音响的控制等。
最后,将硬件电路和软件程序结合起来,完成整个抢答器系统的搭建和调试。
确保系统能够正常运行,并满足设计要求。
在使用抢答器时,教师可以根据需要设定抢答游戏的规则和题目,在抢答过程中,系统会自动记录学生的得分和答题情况,以便教师进行统计和评估。
总之,基于单片机的八路抢答器设计,能够提供便捷有效的学生抢答管理和记录功能,为教育教学活动提供帮助。
8路抢答器设计
8路抢答器设计抢答器被广泛应用于交互式教学、竞赛、互动游戏等场合。
本文介绍一种基于单片机的8路抢答器设计方案。
1. 系统功能本设计实现以下功能:1. 设定问题和倒计时时间;2. 按下抢答器键后,选手答题;3. 答对或答错均计分,答错扣分;4. 显示当前排名和得分情况;5. 比赛结束后,显示最终排名和得分情况。
2. 系统硬件本设计采用STM32F103C8T6单片机作为主控制器,其主要特点是成本低廉、易于学习和上手。
硬件主要包括以下部分:1. 单片机板:采用STM32F103C8T6开发板,外接LCD显示屏;2. 抢答器:包括8个按键和8个LED指示灯,用于选手抢答和显示选手答题情况;3. 扫描电路:对抢答器按键进行扫描,获取选手输入。
本设计的软件分为如下模块:1. 初始化模块:对单片机系统进行初始化,包括外部时钟、GPIO端口等的配置;2. 显示模块:用于显示问题、倒计时、选手答题情况和最终排名和得分情况;3. 时钟模块:用于倒计时和计时,倒计时结束后停止答题;4. 抢答模块:用于接收选手抢答信息,并根据答题情况进行得分;5. 判断模块:用于判断选手答题是否正确;6. 得分模块:用于计算选手得分;7. 排名模块:用于计算选手最终得分和排名。
4. 抢答器操作流程5. 总结本设计实现了一种基于单片机的8路抢答器功能,并且硬件成本相对较低,易于制作。
软件上分模块化设计,便于扩展和修改。
但是由于时间和技术限制,还存在一些功能没有完善,比如数据记录、多轮比赛等功能。
此外,对于选手的选手答题有些限制,只能按照先后顺序抢答,如果需要加入随机抢答等功能,需要进行扩充。
单片机实验8路抢答器C语言版
单片机综合实验报告题目: 8路抢答器实验班级:姓名:学号:指导老师:时间:一、实验内容:以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。
本实验有Protues软件仿真。
分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。
抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30秒。
当主持人启动“开始”键后,定时器进行减计时,同时绿色LED灯亮。
二、实验电路及功能说明分别设置一个抢答控制开关S1和复位开关S2,由主持人控制。
抢答器具有锁存与显示功能。
即选手按按钮抢答时,锁存相应的编号,并且优先抢答选手的编号一直保持显示在显示器上,直到主持人将系统复位为止。
参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统复位为止。
复位后参赛队员可继续抢答。
如果定时时间已到,无人抢答,本次抢答无效,系统报警红色LED灯亮,并禁止抢答,定时显示器上显示00。
三、实验程序流程图:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。
主流程图如下图所示子程序四、实验结果分析五、心得体会六、程序清单#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit wela_a=P3^0;sbit wela1=P3^1;sbit wela2=P3^7;sbit rest=P3^5;sbit host=P3^6;sbit led1=P3^4;//绿灯sbit led2=P3^3;//红灯sbit led3=P3^2;//黄灯sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit key5=P1^4;sbit key6=P1^5;sbit key7=P1^6;sbit key8=P1^7;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 init();/*初始函数申明*/void display(uchar s,uchar ge,uchar a); void delay(uint z); void keyscan();void main(){init();display(s,ge,a);while(1){if(host==0) //主持人控制开关{delay(5);if(host==0){flag=1;start=1;delay(5); 延时while(!host); 检测开关}}if(rest==0) //复位{delay(5);if(rest==0){q=30;led2=1;led3=1;x=0;delay(5);start=1;delay(5);while(!rest);}}if(flag==1){if(start==0)//选手按下,倒计10秒开始 {led3=0;wela1=0;wela2=0;delay(1);TR0=0;TR1=1;display(s,ge,a);delay(1);}if(start==1)//主持人按下,倒计时30秒{led1=0;wela1=0;wela2=0;delay(1);TR0=1;TR1=0;display(s,ge,a);delay(1);keyscan();}}}}void init()/*初始化*/{t0=0;t1=0;flag=0;q=30;d=10;wela_a=0;a=0;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-50000)/256;TL1=(65536-50000)%256;EA=1;ET0=1;ET1=1;TR0=0;TR1=0;}void display(uchar s,uchar ge,uchar a)/*数码管动态扫描*/{wela1=1;P0=table[ge];delay(5);wela2=1;P0=table[s];delay(5);wela_a=0;P2=table[a];delay(5);}void keyscan()/*按键扫描函数*/ {if(key1==0){delay(5);if(key1==0){a=1;P2=table[a];start=0;TR1=1;TR0=0;delay(5);while(!key1);}}if(key2==0){delay(5);if(key2==0){a=2;P2=table[a];start=0;delay(5);while(!key2);}}if(key3==0){delay(5);if(key3==0){a=3;P2=table[a]; start=0;delay(5);while(!key3);}}if(key4==0){delay(5);if(key4==0){a=4;P2=table[a]; start=0;delay(5);while(!key4);}}if(key5==0){delay(5);if(key5==0){a=5;P2=table[a]; start=0;delay(5);while(!key5);}}if(key6==0){delay(5);if(key6==0){a=6;P2=table[a]; start=0;delay(5);while(!key6);}}if(key7==0){delay(5);if(key7==0){a=7;P2=table[a]; start=0;delay(5);while(!key7);}}if(key8==0){delay(5);if(key8==0){a=8;P2=table[a];start=0;delay(5);while(!key8);}}}void delay(uint z)/*延时函数*/{uint i,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}void time0() interrupt 1/*定时器0*/ {TH0=(65536-50000)/256;TL0=(65536-50000)%256;s=q/10;ge=q%10;t0++;if(t0==20){t0=0;q--;s=q/10;ge=q%10;if(q==0){while(1){q=0;a=0;led1=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}void time1() interrupt 3/*定时器1*/ {TH1=(65536-50000)/256;TL1=(65536-50000)%256;s=d/10;ge=d%10;t1++;if(t1==20){t1=0;d--;s=d/10;ge=d%10;if(d==0){while(1){d=0;a=0;led1=1;led3=1;led2=0;wela1=0;wela2=0;delay(1);display(s,ge,a);}}}}//最后,给朋友们一点点提示,本程序有一点点小问题,有个中断没关,当主持人复位之后,后面的选手回答问题的时间就没有10秒了(可怜啊)。
基于c语言单片机8位竞赛抢答器设计课程设计
课程设计报告课程名称:单片机课程设计报告题目:8位竞赛抢答器的设计学生姓名:所在学院:信息科学与工程学院专业班级:学生学号:指导教师:2013 年12月25日课程设计任务书摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
本设计是以八路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-30s设定;可以显示是哪位选手有效抢答,正确按键后有5s的音乐提示(即扬声器发出响声);抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键词:89c52;电路;显示;按键目录一、概述 (1)二、方案设计 (1)三、硬件电路设计 (2)1、抢答器的电路框图 (2)2、单元电路 (3)2.1、抢答器电路 (3)2.2、时序控制电路 (3)2.3、复位电路 (3)3、时钟震荡电路 (3)4、报警电路 (3)四、软件设计 (4)1、系统主程序 (4)2、系统程序 (5)五、结论与心得 (10)六、参考文献 (10)一、概述本实验电路由抢答电路、译码显示电路、主持人控制电路、定时电路、报警电路组成。
通过复位按键FW,电路进入准备就绪状态。
将抢答时间设定在30S,然后按下开始键开始抢答。
,在电路中“S0-S7”为8路抢答器的8个按键,当有键按下,程序锁定信号,从P2口输出抢答者号码的七段码值,送到数码管显示,并封锁按键,保持刚才按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。
基于单片机的八路抢答器的设计(C语言版)
毕业论文基于单片机的8路抢答器专业院系: 信息工程系班级名称: 计算机硬件与外设****: *******: ***完成时间: 2011年12月28日湖南铁道职业技术学院信息工程系2012届毕业设计任务书专业:硬件与外设班级:硬件091 填表日期:2011年11月20日指导教师王昱煜职称讲师联系电话159****7341学生姓名周俊兵课题名称基于单片机的8路抢答器的设计课题工作内容介绍单片机的选型、引脚功能等,然后分析抢答器的设计原理,从各个硬件的总体设计到局部电路设计,分析并阐述设计思路;再进行软件的设计,从程序总体流程图到关键部分的设计思路以及中断处理,最后附上程序代码。
该论文的主要内容应包括:1、单片机芯片选择(1)单片机选择(2)模块性能分析2、硬件设计(1)总体设计(2)外部振荡电路设计(3)复位电路设计(4)显示电路设计(5)按键电路设计(6)报警电路设计3、系统软件设计(1)程序总体结构图(2)程序流程图(3)主程序(4)中断处理4、总结本论文的撰写需要先设计出产品的电路图及软件系统,然后再自己焊接组装成产品,然后根据自己的设计思路及产品焊接组装流程用文字加图片的形式在文章中展示出来。
要求指标(目标)通过毕业设计,应达到以下要求:(1)熟悉单片机的型号及各引脚功能。
(2)熟悉单片机硬件电路设计。
(3)熟练单片机C语言程序设计。
(4)用C语言实现软件系统,并在仿真环境下调试运行。
(5)熟练电子元器件的焊接。
(6)根据硬件电路图和程序代码将产品制作出来并调试。
(7)撰写符合规范的毕业设计论文,对毕业设计所做的工作表达出来。
(8)掌握团队合作开发的方法。
(9)进一步积累实际的单片机产品的开发和研究经验。
进程安排(1)第1周:落实毕业设计任务,明确工作内容,部署毕业设计各项工作。
(2)第2周:查阅与课题相关或针对性强的文献5~10篇,阅读并进行归纳、总结。
(3)第3周:根据课题要求进行资料收集、整理,并写出分析报告。
单片机课程设计 八路抢答器(C语言)
单片机课程设计8路抢答器指导老师:宋*******学号:************ 班级:12电子卓越班目录一绪论 (3)二基本设计方案 (4)三具体设计 (5)四电路板的制作 (7)五电路功能测试与调试 (7)六心得体会 (8)附录 (9)一绪论1.1单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。
若在抢答中,只靠人的视觉(或者是听觉)是很难判断出哪一组(或哪一个选手)先抢答到题的。
利用单片机编程来设计抢答器,可以使以上问题得以解决,即使两组的抢答时间相差几微秒,也能轻松的分辨出哪一组(或哪个选手)先抢答到题的。
本文主要介绍了抢答器的工作原理及设计,以及它的实际用途。
1.2设计要求:一、基本功能:1、六路抢答,抢答有效时相应的灯亮,并有音乐提示;2、每轮抢答需主持人按“开始”后,抢答才有效;3、抢答无效时,有相应的灯及音乐提示;二、扩展功能:1、扩展到8路或以上;2、抢答倒计时提示;3、各路的参赛者有得分显示;4、其他自行增加的功能;二基本设计方案2.1 单片机的选择我选择STC89C52单片机芯片的理由如下:1、在设计过程中可能会出现很多问题,89C52可重复烧程序;2、是80C51的增强型,功能与我们所学的51单片机基本相同;3、学校配套发的单片机开发板用的就是89C52,有很多相关教程,程序的测试与烧写都十分方便;4、器材室很方便就能领到。
《单片机应用技术(C语言)》实训课件—4.1 8路抢答器设计
硬件电路
51单片机
4个按键由P0.0~P0.3控制; 共阳数码管由P1口静态控制; 由P3.0引脚控制的发光二极管 的亮灭模拟开锁电路的打开和 锁定。
程序设计思路
密码设定为“2”
if……else if …… else switch语句
#include <reg51.h> 器
P0=0xff;
//读引脚状态,需先置1
P1=disp[8];
//显示“”
while(1)
{
button=P0;
//第一次读按键状态
delay(1200);
//延时消抖
button=P0;
//第二次读按键状态
switch(button) //根据按键的值进行多分支跳转
{
case 0xfe: P1=disp[0];delay(10000);while(1);break; //0按下,显示0,待机
9 1 0 0 1 0 0 0 0 0x90 0 1 1 0 1 1 1 1 0x6F
三、程序设计
软件设计思路
使用数组存储显示数据
//定义数组led,依次存储包括0~7和“”的共阳极数码管显示码表 unsigned char code disp[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0xbf};
//从数组中取出数码管的显示字符“” P1=disp[8];
数组定义语句中,关键字“code”是为了把disp[] 数组存储在片内程序存储器ROM中。
程序设计:
系统上电时,数码管显示“”,表示开始抢答, 当记录到最先按下的按键序号后,数码管将显示该参赛 者的序号,同时无法再接受其它按键的输入;当系统按 下复位按钮S时,系统显示“”,表示可以接受新一轮 的抢答。
基于单片机的八路智能抢答器的设计_毕业设计
基于单片机的八路智能抢答器的设计_毕业设计华北科技学院毕业设计(论文)根据抢答器的功能,智能抢答器的设计要求如下:抢答器可以同时供8名选手或8个代表队比赛使用;主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间;具有清零和非法抢答控制功能,设置一个系统清除和抢答控制开关,并由主持人操控;当主持人启动“开始抢答按键”后,定时器进行减计时,抢答时间耗尽后禁止抢答;倒计时5秒时,如果仍无人抢答,则系统每1s报警一次,用以提示参赛选手;抢答器具有锁存与显示功能。
即选手按下按键,锁存相应选手的参赛编号,并在LED数码管上显示,选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者;参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号,同时进入回答问题的时间倒计时;倒计时期间,主持人想终止倒计时,可以按下“停止”键,系统会自动进入准备状态。
本系统采用软硬件结合的方法而设计,其中硬件设计是借用单片机AT89C51为中心控制模块,采用模块化设计思想,根据系统功能划分成六个模块,分别为:核心控制模块、电源模块、时钟与复位模块、按键输入模块、显示模块、报警模块。
软件设计是采用汇编语言编程。
按键输入模块共有14个按键,分为抢答按键和控制按键。
抢答按键共有八个,分别为S1―S8,供抢答选手进行抢答使用;控制按键有六个,分别为S9―S14,其中S9和S10分别为“抢答时间调整键”和“回答时间调整键”;S11和S12分别为时间“加1”和“减1”按键;S13和S14分别为“抢答开始按键”和“停止按键”。
显示模块本系统采用四个共阳极LED数码管显示,一个数码管用来显示抢答到问题的选手的号码,两个用来显示倒计时时间,一个未使用的数码管作为以后的扩展使用。
时钟与复位模块包括时钟电路和复位电路,单片机的时钟信号用来提供单片机片内各种操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
基于c语言单片机8位竞赛抢答器设计课程设计
课程设计报告课程名称:单片机课程设计报告题目:8位竞赛抢答器的设计学生姓名:所在学院:信息科学与工程学院专业班级:学生学号:指导教师:2021 年12月25日课程设计任务书摘要抢答器作为一种工具,已普遍应用于各类智力和知识竞赛场合。
但抢答器的利用频率较低,且有的要么制作复杂,要么靠得住性低。
作为一个单位,若是专门购一台抢答器尽管在经济上能够经受,但每一年利用的次数极少,往往因长期寄存使(电子器件的)抢答器损坏,再购买的麻烦和及时性就会阻碍活动的开展,因此设计了本抢答器。
本设计是以八路抢答为大体理念。
考虑到依需设定限时回答的功能,利用AT89C52单片机及外围接话柄现的抢答系统,利用单片机的按时器/计数器按时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时刻。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,若是在开始抢答前抢答为无效;抢答限按时刻和回答下列问题的时刻可在1-30s设定;能够显示是哪位选手有效抢答,正确按键后有5s的音乐提示(即扬声器发出响声);抢答时刻和回答下列问题时刻倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键词:89c52;电路;显示;按键目录一、概述 (1)二、方案设计 (1)三、硬件电路设计 (2)1、抢答器的电路框图 (2)2、单元电路 (3)、抢答器电路 (3)、时序操纵电路 (3)、复位电路 (3)3、时钟震荡电路 (3)4、报警电路 (3)四、软件设计 (4)1、系统主程序 (4)2、系统程序 (5)五、结论与心得 (10)六、参考文献 (10)一、概述本实验电路由抢答电路、译码显示电路、主持人操纵电路、按时电路、报警电路组成。
通过复位按键FW,电路进入预备就绪状态。
将抢答时刻设定在30S,然后按下开始键开始抢答。
,在电路中“S0-S7”为8路抢答器的8个按键,当有键按下,程序锁定信号,从P2口输出抢答者号码的七段码值,送到数码管显示,并封锁按键,维持适才按键按下时刻的时刻,禁止其他人按键的输入,从而实现了抢答的功能。
基于单片机的八路抢答器设计
基于单片机的八路抢答器设计一、介绍抢答器是一种常见的电子设备,用于组织学生进行抢答活动。
传统的抢答器设备通常采用机械按钮或者红外线传感器,但是这些设备具有限制,例如按钮设备需要人工操作,而红外线传感器则需要维护激光束的稳定性。
基于单片机的抢答器能够解决这些问题,并给予更多的功能扩展。
二、系统设计本设计的基本需求是能够同时支持八个参与者进行抢答,并实时显示第一个抢答者的编号。
设计采用单片机进行控制,为了满足多个参与者的需求,需要使用多个按键进行输入,并通过数码管显示抢答结果。
具体系统设计如下。
1.硬件设计硬件设计基于单片机STM32F103C8T6,具有30个可编程输入/输出引脚。
为了支持八个参与者的抢答,我们使用了八个按钮进行输入,并使用七段数码管显示抢答结果。
引脚的分配如下表:引脚功能PA0 参与者1按钮输入PA1 参与者2按钮输入...PA7 参与者8按钮输入PB0-6 七段数码管段选择PC0-3 七段数码管位选择2.软件设计软件设计基于Keil uVision软件进行编写。
主要功能包括按键输入检测、抢答者编号判断以及数码管显示。
具体的设计流程如下。
(1)按键输入检测使用GPIO口作为输入模式,每个参与者的按键连接到相应的引脚。
通过读取GPIO口的电平来检测按钮是否被按下。
当检测到按键按下时,会触发中断并执行相应的处理函数。
(2)抢答者编号判断通过记录按键按下的时间顺序来判断抢答者的编号。
每次有按钮按下时,会先检测当前是否已经有抢答者,并且记录下第一个抢答者的编号。
在抢答者确认后,会将其他按钮的输入禁用,以防止其他参与者的干扰。
(3)数码管显示使用GPIO口作为输出模式,将七段数码管的段选择信号连接到PB0-6引脚,位选择信号连接到PC0-3引脚。
通过依次设置段和位选择信号的电平,来控制数码管的显示内容。
三、系统实现四、总结本文介绍了基于单片机的八路抢答器设计。
通过使用多个按钮进行输入,以及数码管进行显示,实现了同时支持八个参与者进行抢答的功能。
基于单片机的8路抢答器的设计
基于单片机的八路抢答器设计方案第一章抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生, 它是用于很多竞赛场合, 真正实现先抢先答, 让最先抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上, 体现了公平公正的原则。
1.2 设计任务与要求1.基本要求:给主持人设置一个开关, 用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。
抢答器具有数据锁存和显示的功能。
抢答开始后, 若有选手按动抢答器按钮, 编号立即锁存, 并在LED数码上显示选手的编号, 同时扬声器给出音响提示。
此外, 要封锁输入电路, 禁止其他选手抢答。
1.发挥部分:2.抢答器具有定时抢答的功能, 且一次抢答的时间可以由主持人设定(如30秒)。
当节目主持人启动“开始”键后, 要求定时器立即减计时, 并用显示器显示, 同时扬声器发出短暂的声响, 声响持续时间0.5秒左右。
3.参加选手在设定的时间内抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答时刻的时间, 并保持到主持人将系统清零为止。
如果定时抢答的时间已到, 却没有选手抢答时, 本次抢答无效, 系统短暂报警, 并封锁输入电路, 禁止选手超时后抢答, 时间显示器上显示00。
选手如果在主持人按开始键之前违规抢答, 系统报警, LED显示违规选手号码和FF, 直到主持人按下停止键。
第二章抢答器方案论证抢答器的实现方式有种多样, 通过纯电子器件搭建电路实现, 如优先编码器, 锁存器, 555定时器译码器等, 纯电子器件实现没有软件参与, 调试简单, 但是它不易于扩展和修改, 而且电路结构复杂, 调试困难电子, 电子器件管脚很多, 实际搭建起来费时费力, 焊接很容易出错。
于是, 我想到了用单片机实现。
单片机体积小价格低, 应用方便, 稳定可靠。
单片机将很多任务交给了软件编程去实现, 大大简化了外围硬件电路, 使外围电路的实现简单方便。
基于单片机的8路抢答器简单设计
基于单片机的8路抢答器简单设计
要设计一个基于单片机的8路抢答器,需要使用以下材料和工具:
1.单片机:使用AT89C52或AT89S52单片机。
2.显示屏:使用8位共阴极数码管进行显示。
3.按钮开关:使用8个按键来进行答题。
4.蜂鸣器:用于提示抢答成功或失败。
5.电源:使用12V直流电源供电。
6.电路板、电线、焊接工具等。
设计步骤:
1.通过AT89C52单片机的端口P1.0~P1.7来控制各个数码管的显示,并通过P
2.0~P2.7控制对应的按钮。
2.在程序中设定一个计数器,每当有一个用户答题成功后,计数器加一。
3.如果出现两个或以上的用户同时答对,由单片机判断并发出蜂鸣声提示。
4.根据计数器的值来确定当前的排名,并在数码管上进行显示。
5.当抢答结束后,将计数器清零,等待下一轮抢答。
6.设计完整的电路图,进行焊接和调试。
7.将电路板安装在合适的外壳内,添加电源等其他必要设备,完成8路抢答器的制作。
以上就是基于单片机的8路抢答器的简单设计步骤。
基于单片机的八路抢答器程序设计
基于单片机的八路抢答器程序设计(C语言)#include <reg51.h>#define uchar unsigned char#define GPIO_KEY P1sbit key1_zhuchi=P3^1; //主持人按键sbit key2_addt=P3^0; //加时按键sbit key3_mint=P3^2; //减时按键sbit beep=P1^5; //蜂鸣器报警sbit LED=P2^0; //LED指示灯sbit LSA=P2^2; //数码管位选sbit LSB=P2^3;sbit LSC=P2^4;//8段共阴数码管0~9段选uchar time,KeyValue,flag,count,m,a,tsbz;//倒计时时间,检测到的选手号,允许抢答标志,主持人按键检测次数,溢出标志,加时判断,时间调整标志uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};void keyscan(); //键盘扫描函数void display(); //数码管显示函数void delay(uchar i); //延时函数void Key_down(); //选手按键按键扫描函数void main() //主函数{time=10; //初设抢答时间为10sKeyValue=0; //设置抢答没开始时选手号为0tsbz=1; //调时间标志flag=0; //答题允许标志m=0; //产生1S的溢出标志TMOD=0x01; //定时器0工作与方式1EA=1;ET0=1;while(1){keyscan();display();}}void keyscan() //键盘扫描{if(key2_addt==0&&tsbz==1) //为抢答或答题加时间{delay(8); //消抖if(key2_addt==0&&tsbz==1){while(!key2_addt);a++;if(a==1){TR0=0;time++;flag=0;}if(a==2){TR0=0;a=0;time++;flag=0;}}}if(key3_mint==0&&tsbz==1)//为抢答或答题减时间{delay(8);if(key3_mint==0&&tsbz==1){while(!key3_mint);a++;if(a==1){TR0=0;time--;flag=0;}if(a==2){TR0=0;a=0;time--;flag=0;}}}if(key1_zhuchi==0)//主持人按键按下{delay(8); //延时消抖if(key1_zhuchi==0){while(!key1_zhuchi); //按下count++;if(count==1) //主持人按键按下一次,开始抢答倒计时{tsbz=0; //不允许调时flag=1; //允许抢答TH0=0x3c;TL0=0xb0;TR0=1; //开启计时器}if(count==2) //主持人按键按下两次,切换到30s答题倒计时界面,可进行答题时间调整{LED=1;tsbz=1; //允许调整时间time=30;TR0=0; //停止计时flag=0; //不允许抢答}if(count==3) //主持人按键按下三次,答题时间开始倒计时{tsbz=0; //不允许调时TH0=0x3c;TL0=0xb0;TR0=1; //开启计时器flag=0; //不允许抢答}if(count==4) //主持人按键按下四次,全部清零{tsbz=1;TR0=0;time=10;flag=0;count=0;KeyValue=0;LED=1;}}}if(flag==1) //允许抢答后进行选手按键扫描{Key_down();}}void display() //显示函数{LSA = 1;LSB = 1;LSC = 1;P0=table[KeyValue]; //选手号码显示delay(100);P0=0x00; //消隐LSA = 0;LSB = 1;LSC =1;P0=0x40; //用来隔开时间显示和号码显示delay(100);P0=0x00; //消隐LSA = 1;LSB = 0;LSC =1;P0=table[time/10]; //计时十位显示delay(100);P0=0x00; //消隐LSA = 0;LSB = 0;LSC =1;P0=table[time%10]; //计时个位显示delay(100);P0=0x00; //消隐}void INT_0() interrupt 1 //中断函数{TH0=0x3c; //50ms定时初值TL0=0xb0;m++;if(m==20) //产生1S的时间{m=0;time--; //倒计时if(time<=5&&time>=0){uchar b=100;while(b--) //蜂鸣器报警{beep=~beep;delay(100);LED=~LED; //LED闪烁报警delay(50000);}}}if(time==0) //没选手抢答或答题时间结束{LED=0;TR0=0; //关闭定时器flag=0;//不允许抢答}}void delay(uchar i) //延时{while(i--);}void Key_down() //扫描选手按键{uchar c=100;uchar n=0;GPIO_KEY=0x0f;if(GPIO_KEY!=0x0f)//读取按键是否按下delay(8);//延时10ms进行消抖if(GPIO_KEY!=0x0f)//再次检测键盘是否按下{GPIO_KEY=0X0F;//测试列switch(GPIO_KEY){case(0X07): KeyValue=1;break;case(0X0b): KeyValue=2;break;case(0X0d): KeyValue=3;break;case(0X0e): KeyValue=4;break;}GPIO_KEY=0XF0;//测试行switch(GPIO_KEY){case(0X70): KeyValue=KeyValue;break;case(0Xb0): KeyValue=KeyValue+4;break;case(0Xd0): KeyValue=KeyValue+9;break;case(0Xe0): KeyValue=KeyValue+9;break;}}}while((n<50)&&(GPIO_KEY!=0xf0)) //检测按键松手检测{delay(8);n++;}switch(KeyValue) //读取选手按键{case 1: //一号选手抢答成功delay(8);if(KeyValue==1){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 2: //二号选手抢答成功delay(8);if(KeyValue==2){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 3: //三号选手抢答成功delay(8);if(KeyValue==3){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 4: //四号选手抢答成功delay(8);if(KeyValue==4){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 5: //五号选手抢答成功delay(8);if(KeyValue==5){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 6: //六号选手抢答成功delay(8);if(KeyValue==6){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 7: //七号选手抢答成功delay(8);if(KeyValue==7){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;case 8: //八号选手抢答成功delay(8);if(KeyValue==8){flag=0;TR0=0;while(c--) //蜂鸣器提示抢答成功{beep=~beep;delay(100);}LED=0;}break;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业论文基于单片机的8路抢答器专业院系: 信息工程系班级名称: 计算机硬件与外设****: *******: ***完成时间: 2011年12月28日湖南铁道职业技术学院信息工程系2012届毕业设计任务书专业:硬件与外设班级:硬件091 填表日期:2011年11月20日指导教师王昱煜职称讲师联系电话159****7341学生姓名周俊兵课题名称基于单片机的8路抢答器的设计课题工作内容介绍单片机的选型、引脚功能等,然后分析抢答器的设计原理,从各个硬件的总体设计到局部电路设计,分析并阐述设计思路;再进行软件的设计,从程序总体流程图到关键部分的设计思路以及中断处理,最后附上程序代码。
该论文的主要内容应包括:1、单片机芯片选择(1)单片机选择(2)模块性能分析2、硬件设计(1)总体设计(2)外部振荡电路设计(3)复位电路设计(4)显示电路设计(5)按键电路设计(6)报警电路设计3、系统软件设计(1)程序总体结构图(2)程序流程图(3)主程序(4)中断处理4、总结本论文的撰写需要先设计出产品的电路图及软件系统,然后再自己焊接组装成产品,然后根据自己的设计思路及产品焊接组装流程用文字加图片的形式在文章中展示出来。
要求指标(目标)通过毕业设计,应达到以下要求:(1)熟悉单片机的型号及各引脚功能。
(2)熟悉单片机硬件电路设计。
(3)熟练单片机C语言程序设计。
(4)用C语言实现软件系统,并在仿真环境下调试运行。
(5)熟练电子元器件的焊接。
(6)根据硬件电路图和程序代码将产品制作出来并调试。
(7)撰写符合规范的毕业设计论文,对毕业设计所做的工作表达出来。
(8)掌握团队合作开发的方法。
(9)进一步积累实际的单片机产品的开发和研究经验。
进程安排(1)第1周:落实毕业设计任务,明确工作内容,部署毕业设计各项工作。
(2)第2周:查阅与课题相关或针对性强的文献5~10篇,阅读并进行归纳、总结。
(3)第3周:根据课题要求进行资料收集、整理,并写出分析报告。
(4)第4~5周:抢答器的硬件电路设计。
(5)第6~7周:抢答器的软件设计。
(6)第8周:元器件购买,电路组装。
(8)第9~10周:整理资料,撰写毕业设计论文。
(9)第11周:制作答辩PPT讲稿,做好毕业答辩各项准备工作。
主要的参考文献[1].王静霞.单片机应用技术(C语言版)[M].北京:电子工业出版社,2009年.[2].蔡朝阳.单片机控制实习与专题制作[M].北京:北京航空航天大学出版社,2006年.[3].杨凌霄.微型计算机原理及应用[M].江苏:中国矿业大学出版社,2004年.[4].丁建伟.抢答器电路设计[J].兰州工业高等专科学校学报,2008,(04).[5].胡学海.单片机原理及应用系统设计[M].北京:北京电子工业出版社,2005年.地点C#实训室起止日期2011.10.1~2011.12.13系主任:陈承欢指导教师(签名):王昱煜2011年10月11日2011 年10 月11 日摘要伴随着科技的进步和时代的发展,在很多公开竞争场合要求有公正的竞争裁决,比如证券、股票交易以及各种智力竞赛等等,因此出现了——抢答器。
抢答器一般是由很多逻辑电路组成的,线路复杂,可靠性不高,功能也比较简单,特别是当抢答路数很多时,实现起来就更为困难。
因此我们设计了以单片机为核心的新型智能的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管显示电路实现了其它功能。
抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。
抢答器的设计就是在这种社会条件下诞生的,这次设计用AT89S51单片机为核心控制元件,设计一个实用的抢答器,本方案以单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用C语言编程,使其实现一些基本的功能。
本设计的系统实用性强、判断精确、操作简单、扩展功能强。
它的功能实现是比赛开始,主持人读完题之后按下总开关,即计时开始,此时数码管开始进行20s的倒计时,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号和抢答所用的时间,如果在规定的20s时间内没有做出抢答,则此题作废,即开始重新一轮的抢答。
在抢答和回答时间的最后5s,蜂鸣器和数码管都会给予相应报警提示。
【关键词】:单片机、C语言、抢答器、智能竞赛目录第一章绪论 (1)1.1课题研究的相关背景 (1)1.2选题的目的和意义 (1)1.3课题研究的内容 (2)第二章抢答器系统的概述 (3)2.1系统的主要功能 (3)2.2抢答器的工作过程 (4)2.3AT89C51的功能及简介 (5)第三章抢答器的电路设计 (7)3.1振荡电路的设计 (7)3.2复位电路的设计 (8)3.3显示电路的设计 (9)3.4按键电路的设计 (9)3.5发声电路的设计 (10)3.6总体电路图 (11)第四章程序的设计 (12)4.1程序系统结构图 (12)4.2程序流程图 (12)4.3主函数以及子函数 (13)4.3.1主函数 (13)4.3.2延时函数 (15)4.3.3数码管显示函数 (15)4.3.4开始键扫描函数 (16)第五章抢答器的仿真实验 (18)5.1仿真系统PROTEUS (18)5.2KELL简介 (18)5.3仿真试验 (20)5.3.1 上电后的初始状态 (20)5.3.2 开始倒计时 (21)5.3.3 抢答成功并正常显示 (21)第六章抢答器的制作及调试 (23)6.1采购元件 (23)6.2焊接准备 (24)6.3焊接元件 (24)6.3.1焊接注意事项 (24)6.3.2焊接的技巧 (25)6.4调试电路板 (25)6.5通电调试 (26)第七章总结与展望 (28)7.1总结 (28)7.2展望 (29)致谢 (30)参考文献 (31)第一章绪论1.1 课题研究的相关背景抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。
早期的抢答器只由几个三极管、可控硅、发光管等组成,能通过发光管的指示辩认出选手号码。
现在大多数抢答器均使用单片机(如MCS-51型)和数字集成电路,并增加了许多新功能,如选手号码显示、抢答时间的显示以及最后几秒钟的报警等等。
本课题利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和选手号码。
用开关做键盘输出,扬声器发声提示。
系统达到要求:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间20s;可以显示是哪位选手有效抢答,时间完后系统自动复位;按键锁定,在有效状态下,按键无效非法。
1.2 选题的目的和意义在现在的科技水平下,促使人们学科学、学技术、学知识的手段多种多样,抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率校低,且有的要么制作复杂,要么可靠性低,减少兴致。
作为一个单位若专购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展。
而且目前多数抢答器存在以下3个不足之处:第一,现场线路连接复杂。
因为每个选手位于抢答现场的不同位置,每个选手与控制台之间要有长长的连接线。
选手越多,连接线就越多、越乱,这些连接线不仅影响了现场的美观,而且降低了抢答器的可靠性,增加了安装的难度,甚至影响了现场人员的走动。
第二,电路复杂。
因为单片机只完成号码处理、计时、数据运算等功能,其它功能如选手号码的识别、译码、计分显示等仍只能通过数字集成电路完成。
采用单片机扫描技术识别选手抢按号码时,电路的延迟时间较大。
第三,选手抢按成功,但出现没有抢答被记录的问题。
鉴于上述原因和不足,设计了这个抢答器,主要是掌握51单片机的原理,了解简单多功能抢答器组成原理,初步掌握多功能抢答器的调整及测试方法,提高动手能力和排除故障的能力。
同时通过本课题设计与装配、调试,提高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解多功能抢答器各单元电路之间的关系及相互影响,从而能正确设计、计算定时计数的各个单元电路。
初步掌握多功能抢答器的调整及测试方法。
提高动手能力和排除故障的能力。
1.3 课题研究的内容本系统采用模块化设计智能抢答器,在抢答比赛中广泛应用,各组分别有一个抢答按键。
主持人有开始和结束、复位键。
开始时设定为初始的抢答时间20s 主持人按键开始后,选手开始抢答为有效,数码显示屏显示抢答时间倒计时和选手号,在最后五秒扬声器发生提示、数码管开始闪烁提示。
如果主持人没有按下开始键而选手就抢答视为无效,数码显示屏显示不做显示。
主持人再可按键开,新一轮抢答将展开。
通过研究并在设计验证后发现,采用单片机技术设计的抢答器与目前常用的抢答器相比,首先,电路连接简单,因为大多数功能单元都通过程序设计在单片机内部,第二,工作性能可靠,抗干扰能力优于目前抢答器。
所以本研究是一个实用的工程设计,而且课扩展的到许多人的抢答模式,具有创新性。
本论文章节的结构和内容如下:第一章:绪论。
简要介绍了抢答器的发展现状,说明了本课题研究的内容。
第二章:抢答器系统概述。
说明了抢答器的工作过程和主要功能,并定下了本课题要达到的设计目标。
第三章:抢答器的电路的设计。
详细描述了本课题各个组成电路单元的设计思路。
第四章:程序的设计。
设计单片机内部运行的程序实现抢答及其他功能。
第五章:抢答器的仿真试验。
阐述了抢答器通过设计,制作成仿真原图之后的仿真试验。
第六章:抢答器的制作及调试。
简要的讲述了抢答器的电路制作焊接过程。
第七章:总结与展望。
总结课题设计,指出设计中的一些问题,提出改善的意见,并展望抢答器的未来设计。
第二章抢答器系统的概述抢答器是生活和娱乐中重要的一环,而且老式的抢答器不能胜任现在的需求或者是接线复杂故障率高,不方便使用,所以我们开始了基于单片机的八路抢答器的设计。
本章主要讲述设计的主要功能分析,和抢答器的工作过程,以及我们所采用的单片机的功能简介。
2.1 系统的主要功能本系统是借用单片机采用模块化设计的八路抢答器,包括8路抢答按纽、倒时显示、提示功能等(根据需要可另设或多设相关功能)、开始与结束控制按键、各种相关显示调控功能等(根据需要也可另设或多设相关功能)。
参赛者系统,除享有抢答按纽的权利功能外,还有人性化的提示功能和时间提示功能,也可设定由主持控制在参赛者终端表现的趣味性功能等;主控系统的控制按键做开始和结束按键对结束的控制,对抢答限时及回答问题限时设为倒计时,并有显示提示。