基于单片机的抢答器设计报告

合集下载

基于单片机的抢答器系统设计报告(终稿)

基于单片机的抢答器系统设计报告(终稿)

基于单片机的抢答器系统设计报告(终稿)————————————————————————————————作者:————————————————————————————————日期:南昌航空大学计算机课程设计题目:基于单片机的抢答器系统设计学院:测试与光电工程学院专业名称:电子科学与技术班级学号:09083110学生姓名:XXX指导教师:王庆2012年6月基于单片机的抢答器系统设计摘要:单片机是一门技术性,应用性、实践性很强的学科。

课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。

在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义此次设计提出了用AT89C52单片机为核心控制元件,设计了一个简易的八路抢答器,本方案中AT89C52单片机与按键、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,利用汇编语言编程,以实现一些基本的功能,使设计的抢答器具有实时显示抢答成功的选手号和抢答后剩余时间以及选手抢答犯规报警的特点,并具有复位功能,使其能够开始新一轮的答题和比赛。

本设计的系统实用性强、判断精确、操作简单、扩展功能强,它的功能实现由按键控制.比赛开始,主持人读完题之后按下开始抢答键,数码管立即实时显示30秒倒计时,直到有一个选手抢答时,相应的会在数码管上显示出该选手的编号和抢答所剩的时间,同时蜂鸣器发出声音,以提示有人抢答本题,如果在规定的30s时间内没有做出抢答,则此题作废,即开始新一轮的抢答。

关键字:AT89C52单片机、实时显示、按键控制、复位目录1 绪论 (3)2 整体设计方案 (3)2。

单片机抢答器课程设计报告

单片机抢答器课程设计报告

单片机抢答器课程设计报告一、引言本篇报告主要介绍了单片机抢答器的课程设计,包括设计目的、设计原理、硬件系统和软件程序等方面。

单片机抢答器是一种基于单片机技术的电子设备,可以用于学校或公司内部的竞赛或考试等场合,提高参赛者的竞争力和活跃度。

二、设计目的本次课程设计的目的是通过实践操作,掌握单片机应用技术和电子电路基础知识,提高学生自主学习和解决实际问题的能力。

同时,也为学生提供一个锻炼自己竞争能力和团队协作能力的机会。

三、设计原理单片机抢答器主要由两个部分组成:硬件系统和软件程序。

硬件系统包括按键模块、LED显示模块、蜂鸣器模块、LCD液晶显示屏模块和单片机控制模块等。

软件程序则是由C语言编写而成,主要功能是控制各个模块之间的协调工作。

四、硬件系统1. 按键模块按键模块采用矩阵按键方式实现,可以同时检测多个按键的状态。

在设计中,我们采用了4x4的矩阵按键,即16个按键。

其中,有一个按键作为重置键,用于清除上一次抢答结果。

2. LED显示模块LED显示模块采用共阴极方式实现,可以同时控制多个LED的状态。

在设计中,我们采用了8个LED灯,分别代表1~8号选手。

3. 蜂鸣器模块蜂鸣器模块可以发出不同频率的声音信号,用于提示选手抢答成功或失败。

在设计中,我们采用了一个5V的主动蜂鸣器。

4. LCD液晶显示屏模块LCD液晶显示屏模块可以显示选手抢答结果和当前比赛状态等信息。

在设计中,我们采用了一个16x2字符型液晶显示屏。

5. 单片机控制模块单片机控制模块是整个硬件系统的核心部分,主要负责各个模块之间的协调工作。

在设计中,我们采用了AT89C51单片机作为控制芯片。

五、软件程序软件程序是整个系统的灵魂部分,主要负责实现各种功能。

在本次课程设计中,我们使用C语言编写了单片机抢答器的软件程序。

主要功能包括:初始化、检测按键状态、显示比赛状态、判断抢答结果等。

六、实验结果经过多次实验,我们成功地实现了单片机抢答器的设计。

基于51单片机智能抢答器的设计

基于51单片机智能抢答器的设计

基于51单片机智能抢答器的设计一、引言二、设计思路1.系统功能需求智能抢答器主要包括以下功能:(1)抢答功能:允许学生在教师提出问题后进行抢答;(2)提前设置答题时间:教师可以设置每次抢答的时间;(3)显示抢答结果:显示学生选手的抢答结果和答题情况;(4)记录抢答情况:记录学生的抢答情况,方便教师进行统计和评估。

2.系统硬件设计系统采用51单片机作为核心,通过按键、显示屏等外设实现系统的各项功能。

系统还需配备一套抢答设备,每位学生需要配备一个手持式抢答器,用于进行抢答操作。

3.系统软件设计系统需要设计相关的软件程序,包括抢答逻辑、结果显示、数据统计等功能。

需要考虑系统的稳定性和易用性,确保教师和学生可以轻松操作系统。

三、系统设计与实现1.抢答器的设计抢答器采用51单片机作为核心,通过按键输入学生答案,再通过无线通信将答题结果发送给主控系统。

抢答器还需配备显示屏,显示学生的抢答结果。

为了保证系统的安全性,还需设计防作弊功能。

2.主控系统的设计主控系统也采用51单片机作为核心,通过接收抢答器的信号,处理并显示抢答结果。

主控系统还需要设计相应的操作界面,方便教师进行设置和操作。

系统还需设计数据存储和统计功能,记录学生的抢答情况。

四、系统性能测试及改进1.系统性能测试完成系统的硬件和软件设计后,需要进行系统的性能测试,主要包括以下几个方面:(1)抢答功能测试:测试学生抢答器的响应速度和稳定性;(2)结果显示测试:测试主控系统的抢答结果显示效果;(3)数据统计测试:测试系统的数据统计和记录功能。

2.系统改进根据测试结果,对系统进行相应的改进和调整,确保系统能够稳定运行并满足实际教学需求。

需要特别关注系统的稳定性、易用性和安全性等方面的改进。

五、系统应用与展望1.系统应用智能抢答器可以广泛应用于教育教学领域,提高课堂互动和学生的参与度。

还可以应用于各类知识竞赛、学科竞赛等活动中。

2.系统展望智能抢答器作为新型的教学辅助工具,具有较大的市场前景。

单片机抢答器实验报告(2篇)

单片机抢答器实验报告(2篇)

单片机抢答器实验报告(2篇)以下是网友分享的关于单片机抢答器实验报告的资料2篇,希望对您有所帮助,就爱阅读感谢您的支持。

篇一:单片机抢答器实验报告单片机八路抢答器实验报告一实验任务1. 设计一个竞赛抢答器,可同时供8名选手或者8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8,各用一个抢答器的按钮,按钮的编号与选手的编号相对应。

2. 给节目主持人设计一个控制开关,用来控制系统的清零和抢答开始。

3.抢答器具有数据显示,声音提示的功能。

二.源程序(1)头文件#include#include#include#include#define uint unsigned int#define uchar unsigned char//-------------------------------------------------------------------------------------void show(); //液晶显示程序//-------------------------------------------------------------------------------------//12864液晶显示部分子程序模块//-------------------------------------------------------------------------------------sbit LCD_RS = P2 ; //寄存器输入sbit LCD_RW = P2; //液晶读/写控制sbit LCD_EN = P2; //液晶使能控制sbit LCD_PSB = P2;sbit SW1 = P1 ;sbit SW2 = P1;sbit SW3 = P1;sbit SW4 = P1;sbit SW5 = P1;sbit SW6 = P1;sbit SW7 = P1;sbit SW8 = P1;sbit beep = P3;#define LCD_data P0//sbit busy=P0; //lcd busy bitvoid lcd_xieping0(uchar x,uchar y,uchar date); void lcd_xieping(uchar x,uchar y,uchar *str); void chn_disp0(uchar code *chn);void img_disp(uchar code *img);void lcd_xieping1(uchar x,uchar y,uchar *str); void lcd_init();void write_cmd(uchar cmd); void delay_ms1(uint z);void delay_ms(uint z);void dingding(int a);//void Init_Timer0(void);void clr(void);extern unsigned char mmm[8][9]; char keynumber();(2)显示部分的程序#include “head.h”unsigned char mmm[8][9];void delay_ms(uint z)//长延时{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void delay_ms1(uint z)//长延时{uint x,y;for(x=z;x>0;x--)for(y=10;y>0;y--);}//-------------------------------------------------------------------------------------// 液晶显示部分//-------------------------------------------------------------------------------------void write_cmd(uchar cmd){LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;P0 = cmd;delay_ms1(1);LCD_EN = 1;delay_ms1(1);LCD_EN = 0;}void write_dat(uchar dat){LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;delay_ms1(1);LCD_EN = 1;delay_ms1(1);LCD_EN = 0;}void lcd_xieping0(uchar x,uchar y,uchar date) {switch(x){case 0: write_cmd(0x80+y); break;case 1: write_cmd(0x90+y); break;case 2: write_cmd(0x88+y); break;case 3: write_cmd(0x98+y); break;}write_dat(date);}void lcd_xieping(uchar x,uchar y,uchar *str) {switch(x){case 0: write_cmd(0x80+y); break;case 1: write_cmd(0x90+y); break;case 2: write_cmd(0x88+y); break;case 3: write_cmd(0x98+y); break;}while (*str){write_dat(*str);str++;}}void lcd_xieping1(uchar x,uchar y,uchar *str) {switch(x){case 0: write_cmd(0x84+y); break;case 1: write_cmd(0x94+y); break;case 2: write_cmd(0x8C+y); break; case 3: write_cmd(0x9C+y); break; }while (*str){write_dat(*str);str++;}}void lcd_init(){LCD_PSB = 1; //并口方式write_cmd(0x30); //基本指令操作delay_ms(5);write_cmd(0x0C); //显示开,关光标delay_ms(5);write_cmd(0x01); //清除显示内容delay_ms(5);}void chn_disp0(uchar code *chn) {uchar i,j;write_cmd(0x30); //void write_cmd(uchar cmd) write_cmd(0x84);j=0;for(i=0;iwrite_dat(chn[j*16+i]);write_cmd(0x8c);j=1;for(i=0;iwrite_dat(chn[j*16+i]);}void show(){lcd_xieping(0,0,mmm[0]);lcd_xieping(0,4,mmm[1]);lcd_xieping(1,0,mmm[2]);lcd_xieping(1,4,mmm[3]);lcd_xieping(2,0,mmm[4]);lcd_xieping(2,4,mmm[5]);lcd_xieping(3,0,mmm[6]);lcd_xieping(3,4,mmm[7]);}(3)抢答器:#include “head.h”unsigned int ms,i=0;//定义全局变量bit FLag=0;//定义停止,计时标志char yy[8]={0,0,0,0,0,0,0,0};void main(){unsigned char num=0,k,j,temp;EX0=1; //外部中断0开IT0=1; //IT1=0表示边沿触发EX1=1; //外部中断1开IT1=1; //IT1=1表示边沿触发Init_Timer0();lcd_init();for(k=0;kfor(j=0;jmmm[k][j]=0;//mmm[0][0]=…0‟;mmm[1][0]=…0‟;mmm[2][0]=…0‟;mmm[3][0]=…0‟;mmm[4][0]=…0‟;mmm[5][ 0]=…0‟;mmm[6][0]=…0‟;mmm[7][0]=…0‟;while(1){temp= keynumber();if(temp){mmm[i][0]=temp+‟0‟;mmm[i][1]=…:‟;mmm[i][2]= ms/1000+‟0‟;mmm[i][3]=ms%1000/100+‟0‟;mmm[i][4]=ms%100/10+‟0‟;mmm[i][5]=ms%10+‟0‟;mmm[i][6]=…m‟;mmm[i][7]=…s‟;mmm[i][8]=…\0‟;show();i++;}show();}}/*------------------------------------------------定时器初始化子程序------------------------------------------------*/ void Init_Timer0(void){TMOD |= 0x01;EA=1;ET0=1;TR0=1;}/*------------------------------------------------ 定时器中断子程序------------------------------------------------*/ void Timer0_isr(void) interrupt 1{TH0=0xFC; //重新赋值1ms TL0=0x66;if(FLag){ms++;if (ms==60000){ms=0;}}}/*------------------------------------------------ 外部中断0程序------------------------------------------------*/ void ISR_INT0(void) interrupt 0{EX0=0;dingding(50);lcd_xieping(0,2,” 可以开始抢答“); FLag=!FLag;}/*------------------------------------------------ 外部中断1程序------------------------------------------------*/ void ISR_INT1(void) interrupt 2 {if(FLag==0)//停止时才可以清零clr();}/*------------------------------------------------ 数值清零------------------------------------------------*/ void clr(void){unsigned char k,j;for(k=0;kmmm[k][j]=0;for(k=0;kms=0; //清空计时i=0;write_cmd(0x01); //清屏}char keynumber(){if((!SW1)&&(!yy[0])){delay_ms1(20);if((!SW1)&&(!yy[0])) {yy[0]=1;return 1;}}if((!SW2)&&(!yy[1])){delay_ms1(20);if(!SW2){yy[1]=1; return 2; } } if((!SW3)&&(!yy[2])) { delay_ms1(20); if(!SW3) { yy[2]=1; return 3; } } if((!SW4)&&(!yy[3])) { delay_ms1(20); if(!SW4) { yy[3]=1; return 4; } } if((!SW5)&&(!yy[4])) { delay_ms1(20); if(!SW5){ yy[4]=1; return 5; } } if((!SW6)&&(!yy[5])) { delay_ms1(20); if(!SW6) { yy[5]=1; return 6; } } if((!SW7)&&(!yy[6])) { delay_ms1(20); if(!SW7){yy[6]=1; return 7; }}if((!SW8)&&(!yy[7])) {delay_ms1(20); if(!SW8) {yy[7]=1; return 8; }}return 0;}void dingding(int a) {int k;for(k=0;kbeep=0;delay_ms(1); beep=1; }}篇二:单片机抢答器实验报告实习(设计) 报告姓名班级学号实习(设计) 科目基于51单片机的五路抢答器实习(设计) 地点实习(设计) 时间电气工程及自动化学院School of Electrical Engineering & Automation说明:(1)本日志用于记录实习(设计)过程中的各项活动内容,要求学生必须填写具体、齐全、工整。

基于单片机的八路抢答器毕业设计

基于单片机的八路抢答器毕业设计

基于单片机的八路抢答器毕业设计一、选题背景及意义1.1 选题背景抢答器是一种常见的电子竞赛设备,它可以被广泛应用于各种知识竞赛、智力竞赛和技能竞赛中。

抢答器的原理是通过按下按钮来触发电路,从而使得系统判断谁先按下了按钮。

由于抢答器具有响应速度快、准确性高等特点,因此在教育培训、科技竞赛等领域得到了广泛的应用。

1.2 选题意义本设计旨在通过单片机技术实现一个八路抢答器,以满足各种知识竞赛、智力竞赛和技能竞赛的需求。

该抢答器具有响应速度快、准确性高等特点,可以提高比赛的公正性和公平性,同时也可以增加比赛的趣味性和互动性。

二、设计思路及方案2.1 设计思路本设计采用基于单片机的八路抢答器方案,主要包括以下几个部分:(1)光电传感器模块:通过红外线发射管和接收管构成光电传感器,用于检测选手是否按下按钮。

(2)单片机模块:采用STC89C52单片机,负责控制整个抢答器的运行。

(3)LED显示模块:采用八个LED灯,用于显示哪个选手按下了按钮。

(4)音响提示模块:通过蜂鸣器发出声音提示哪个选手按下了按钮。

2.2 设计方案(1)硬件设计硬件设计主要包括光电传感器电路、单片机电路、LED显示电路和音响提示电路四个部分。

其中,光电传感器电路主要由红外线发射管和接收管构成;单片机电路采用STC89C52单片机,配合外部晶振、复位电路和ISP下载接口实现对整个系统的控制;LED显示电路采用常规的共阴极八段数码管,通过多工位选择来实现对不同选手的显示;音响提示电路采用蜂鸣器实现对选手按键行为的声音提示。

(2)软件设计软件设计主要包括系统初始化、中断服务程序、定时器控制程序和按键扫描程序四个部分。

其中,系统初始化主要负责对各个模块进行初始化设置;中断服务程序主要负责处理光电传感器的中断请求;定时器控制程序主要负责控制LED灯的显示和蜂鸣器的声音提示;按键扫描程序主要负责检测选手是否按下按钮,并触发相应的中断服务程序。

三、设计实现及测试3.1 设计实现本设计采用Protues仿真软件进行电路设计和调试,通过Keil C编译软件进行单片机程序编写和调试。

基于单片机的8路抢答器课程设计报告

基于单片机的8路抢答器课程设计报告

基于单片机的8路抢答器课程设计报告单片机原理及接口技术课程设计报告设计题目:基于单片机的8路抢答器学号:××××××姓名:××指导教师:×××信息与电气工程学院二零一五年七月基于单片机的8路抢答器单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。

若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。

而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。

本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。

单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。

对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。

抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。

选手们都站在同一个起跑线上,体现了公平公正的原则。

1. 设计任务结合实际情况,基于AT89C51单片机设计一个8路抢答器。

该系统应满足的功能要求为:(1) 设计一个可供8人进行的抢答器;(2) 系统设置复位按钮,按动后,重新开始抢答;(3) 抢答器开始时数码管显示序号0,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。

抢答后显示优先抢答者序号,同时发出音响。

,并且不出现其他抢答者的序号;(4) 抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间可设定在1~99秒(本例中设置为20s),当主持人启动“开始”开关后,定时器开始减计时,数码管显示倒计时的时间,同时蜂鸣器有短暂的声响;(5) 设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。

单片机实训抢答器课程设计报告实验

单片机实训抢答器课程设计报告实验

上海电机学院课程设计目录第1章绪论 (1)1.1 单片机抢答器的背景 (1)1.2 抢答器的意义 (1)第2章设计概述 (2)2.1 抢答器的工作原理 (2)2.2 设计任务 (2)第3章系统硬件电路设计 (2)3.1 AT89C51单片机硬件电路 (2)3.2原理及电路总框图 (3)第4章系统软件设计 (6)4.1 主程序设计 (6)4.2 子程序设计 (6)4.2.1数码管显示电路 (6)4.2.2键盘扫描段码表 (7)4.3 系统流程图 (7)4.3.1系统主程序流程图 (7)4.3.2系统中断程序流程图 (7)4.4 源程序代码 (9)第5章结束语 (17)5.1 小结 (17)5.2 心得体会 (17)参考文献 (18)第1章绪论1.1 单片机抢答器的背景对于抢答器我们大家来说并不陌生, 他是用于很多竞赛场合。

真正实现先抢先答, 让最先抢到题的选手来回答问题。

抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气, 选手们都站在同一个起跑线上, 体现了公平公正的原则。

1.2 抢答器的意义本系统采用单片机作为整个控制核心。

控制系统的四个模块为: 显示模块、存储模块、抢答开关, 总开关模块。

该系统通过一个自锁按键输入抢答信号;利用一个数码管来完成显示功能;用按键来让选手进行抢答, 在数码管上显示哪一组先答题的, 从而实现整个抢答过程。

在知识比赛中, 特别是做抢答题目的时候, 在抢答过程中, 为了知道哪一组或哪一位选手先答题, 必须要设计一个系统来完成这个任务。

如果在抢答中, 靠视觉是很难判断出哪组先答题。

利用单片机系统来设计抢答器, 使以上问题得以解决, 即使两组的抢答时间相差几微秒, 也可分辨出哪组优先答题。

相对于类似电视台这类花几万元采购的抢答器系统, 如果个人组织小型的抢答比赛, 这毕竟不合适, 但是依靠单片机的低成本, 低功耗, 可以很好的解决个人用户需要举办小型抢答比赛的需求, 而且精度高, 操作性好。

基于AT89S52单片机的抢答器设计

基于AT89S52单片机的抢答器设计

基于AT89S52单片机的抢答器设计一、AT89S52 单片机简介AT89S52 是一款低功耗、高性能的 CMOS 8 位单片机,具有 8K 在系统可编程 Flash 存储器。

使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。

片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

二、抢答器的功能需求分析抢答器的主要功能是在多个参赛者同时抢答时,能够准确地判断出最先抢答的选手,并进行相应的显示和提示。

具体来说,抢答器应具备以下功能:1、抢答功能:参赛者在规定的时间内按下抢答按钮,系统能够准确地捕捉到最先抢答的信号。

2、计时功能:设置抢答时间和答题时间,时间到后进行相应的提示。

3、显示功能:能够显示抢答者的编号和答题剩余时间。

4、报警功能:在违规抢答或时间到后,发出声音或灯光报警。

三、硬件设计1、单片机最小系统AT89S52 单片机:作为核心控制单元。

晶振电路:为单片机提供时钟信号。

复位电路:确保单片机能够正常初始化。

2、抢答输入电路采用独立按键作为抢答按钮,每个参赛者对应一个按键。

通过上拉电阻将按键信号连接到单片机的 I/O 口。

3、显示电路采用数码管显示抢答者的编号和时间。

可以使用动态扫描的方式驱动数码管,以节省 I/O 口资源。

4、报警电路使用蜂鸣器和发光二极管进行报警。

通过三极管驱动蜂鸣器和发光二极管。

四、软件设计1、主程序流程系统初始化,包括设置 I/O 口状态、初始化定时器和中断等。

进入抢答等待状态,检测是否有抢答信号。

若有抢答信号,判断抢答是否合法,并进行相应的处理。

在答题过程中,进行计时,并在时间到后进行提示。

2、抢答检测程序采用中断方式检测抢答信号。

当有按键按下时,产生中断,在中断服务程序中读取按键状态,确定抢答者的编号。

单片机智能抢答器综合设计报告

单片机智能抢答器综合设计报告

综合控制系统工程设计任务书——基于单片机的智能抢答器系统设计一、设计任务利用单片机的定时器/计数器定时和计数的原理,结合显LED数码管、按键和声光报警等相应的外围电路来设计一个智能抢答器系统。

此抢答器可供8个代表队参加比赛,当主持人按键宣布开场时,各个选手开场在限定时间可以进展按键抢答。

假设有选手按动抢答按钮,其相应的选手编号和倒计时时间显示在LED 数码管上,同时伴随声音提示。

此时制止其他选手抢答,直到主持人将系统清零。

二、设计容与要求基于MCS-51系列单片机的抢答器根本要求如下:1.系统支持8名选手或8个代表队参加比赛,编号为1、2、3、4、5、6、7、8,各用一个按钮控制;2. 设置5个控制开关,分别控制系统清零、抢答的开场、抢答限制时间和答题限制时间以及各种时间的调节控制等〔各个环节都有相应的时间限制如:抢答的时间设定为60秒,最后5秒有声音提示等〕3. 主持人按下抢答按钮后,倒计时开场,选手抢答方可开场。

在倒计时间选手抢答实行优先锁存,抢答后显示优先抢答者序号,同时发出提示声音并在LED上显示抢答选手的编号,一直保持到主持人将系统恢复为止。

4 当抢答时间到,而无人抢答时,本次抢答无效,扬声器报警发出声音,并制止抢答。

LED显示无效编号0*FF。

5. 其他创新功能。

三、设计报告要求1. 完成课程设计任务,提交完整的设计论文〔字数3000-5000〕;2. 系统方案设计3. 系统硬件设计4. 系统软件设计5. 系统仿真与调试6. 总结与设计体会参考文献综合控制系统工程设计——基于单片机的智能抢答器系统设计一设计概述本综合控制系统工程设计的是较为复杂、更为实用的智能抢答器,具有时间限制、用时提醒、违规提醒等功能。

且通过声光信号进展提示。

其功能更为全面,实用性更强。

二系统设计方案基于单片机的智能抢答器系统设计主要采用于/2单片机带时间和声光提示的抢答器,由控制核心AT89S51单片机、8名选手按键、主持人按键、声光提示和数码显示等局部组成,系统框图如下列图1 所示:图1 基于AT89S51单片机的智能抢答器系统框图三系统硬件设计本设计基于AT89S51单片机为主控器,采用12M晶振。

基于单片机的抢答器设计[开题报告]

基于单片机的抢答器设计[开题报告]

开题报告
电子信息工程
基于单片机的抢答器设计
三、课题研究的方法及措施
智能抢答器的实现传统的方法是采用中小规模集成电路实现,这种方法虽然精确可靠,但繁琐、费时,成本高,易出错。

本设计是基于单片机结合数字电路设计一款体积小、成本低、电路简单却不失精确可靠的抢答器。

方法及措施:
基于抢答器的功能要求,设计框图如图所示:
以单片机为主控制器,辅以简单的外围硬件电路。

主控电路由单片机控制。

当主持人按下开始开关,时钟开始倒计时。

选手开始抢答,第一个抢答信号经主控电路锁存,传入单片机,对应LED指示灯亮并显示组号。

若在主持人按下抢答键前,主控电路不锁存信号,违规抢答选手信号都能传入单片机,单片机记录后对应指示灯亮并显示犯规组号,同时蜂鸣器报警。

四、课题研究进度计划
2011/2012第一学期第8周至第9周:学习和查找资料。

2011/2012第一学期第10周至第12周:完成资料的搜集,文献综述,外文翻译以及开题报告。

2011/2012第一学期第13周至第14周:完成原理图以及单片机C语言程序。

2011/2012第一学期第15周至第16周:连接芯片并调试。

2011/2012第一学期第17周至第18周:听取指导老师的意见并修改。

2011/2012第二学期第1周至第4周:完成系统,上交硬件以及论文并进行修改。

2011/2012第二学期第5周至第9周:上交论文的最终版并制作答辩使用的PPT。

基于单片机的多路抢答器课程设计报告

基于单片机的多路抢答器课程设计报告

基于单片机的多路抢答器摘要抢答器是一种应用非常广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。

目前大多数抢答器均使用单片机和数字集成电路。

本设计利用89C51单片机及外围接口实现多路抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

关键词:抢答器;单片机89c51 ;数字集成电路;定时器/计数器AbstractResponder is a kind of widely used equipment, in all kinds of competition, it can quickly and objectively identify the players get voice. Now most of the responder all use SCM and digital integrated circuit, This topic USES 89 c51 and peripheral interface implementation vies to answer first system, with the help of the microcontroller timer/counter timing and number principle, software and hardware organically, and makes the system can correctly to the time, at the same time make digital tube display the time correctly.Key Words: Responder, 89c51, Digital integrated circuit, Timer/counter1.引言目前电视节目日益丰富,其中的竞赛环节也越来越多,其中抢答器是不可或缺的器材。

基于某单片机的抢答器设计报告材料

基于某单片机的抢答器设计报告材料

基于某单片机的抢答器设计报告材料一、设计目的:本设计旨在利用单片机技术制作一个简单的抢答器,用于进行课堂或者活动中的抢答活动。

通过本设计,可以提高学生们的积极性和参与度,增加互动性,使课堂更加生动有趣。

二、设计原理:本设计基于单片机技术,利用单片机的输入输出功能和定时器等模块实现。

抢答器由一个发射器和多个接收器组成,发射器用于发射信号,接收器用于接收信号并显示抢答者的编号。

具体原理如下:1.发射器:发射器由一个按钮和一个LED灯组成。

当按钮按下时,单片机产生一个信号,并同时点亮LED灯表示开始抢答。

单片机发送一个指令给接收器,并记录抢答者的编号。

2.接收器:接收器由若干LED灯和一个蜂鸣器组成。

当接收器接收到发射器发送的信号时,单片机点亮对应的LED灯并发出声音提示抢答成功。

同时,单片机记录并显示抢答者的编号。

三、硬件设计:本设计的硬件主要包括发射器和接收器两部分。

1.发射器硬件设计:-单片机:选用STM32系列单片机作为控制核心。

-按钮:用于启动抢答器。

-LED灯:用于指示抢答器状态。

-电池供电:为了方便携带和使用,采用电池供电。

2.接收器硬件设计:-单片机:选用STM32系列单片机作为控制核心。

-LED灯:用于显示抢答者编号。

-蜂鸣器:用于抢答成功提示。

-电源模块:接收器需要外接电源供电。

四、软件设计:1.发射器软件设计:-初始化:设置单片机的输入输出引脚。

-按钮检测:检测按钮是否按下。

-发送信号:当按钮按下时,发送抢答信号给接收器。

-点亮LED灯:同时点亮LED灯表示抢答开始。

-记录编号:记录抢答者编号。

2.接收器软件设计:-初始化:设置单片机的输入输出引脚。

-接收信号:接收发射器发送的信号。

-点亮LED灯:根据接收到的编号点亮对应的LED灯。

-发出声音:抢答成功时发出蜂鸣器声音。

五、实验结果:经过搭建和测试,本设计的抢答器能够正常工作,发射器按下按钮后,接收器能够准确接收并显示抢答者编号。

单片机课程设计报告--三组抢答器

单片机课程设计报告--三组抢答器

1功能描述(课程设计内容及要求)基于单片机控制的智力竞赛抢答器1)能实现3组抢答。

2)能显示抢答组号。

3)各组计分,并能计分显示。

4)比赛结束时,能发出报警声。

5)显示实时温度(扩展功能)2 方案设计2.1 系统分析根据系统功能要求,可将系统组成结构分成六大部分:单片机控制中心、按键控制、选手显示、得分显示、倒计时显示和光电报警,如下图为系统的组成结构图。

其中,单片机控制中心是核心。

MCU根据按键输入,可切换不同的显示模式或设置不同的参数。

选手显示是显示抢答选手的信息。

得分显示是显示选手得分信息。

倒计时显示是显示开始抢答与选手回答时间倒计时。

光电显示可完成抢答时间与回答时间到的警示。

系统组成结构图2.2 器件选择2.2.1 微处理器市场上微处理器种类很多。

这里,选取微处理器从多方面考:成本低、性能高、能够满足功能要求等等。

这里,选取STC89C52芯片。

因为其功能与普通51芯片相同,其价格非常低廉、程序空间大、资源较丰富、在线下载非常方便。

同时,使用该芯片,编程上亦可采用所熟悉的KEIL软件,使课程设计非常简单。

2.2.2 显示器常见的显示器件LED数码管和LED灯。

由于系统要求显示选手号,选手分数和倒计时时间和时间到的报警显示,采用四位数码管显示与一个LED灯的显示。

2.2.3 按键按键是用来选手用来抢答与主持人按键启停,加分减分与查分功能的。

这里采用普通按键即可,选用原则:以最少的按键,实现尽可能多的功能。

所以这里,设置六个按键:模式键、加分键、减分键与三个抢答键。

模式键:主持人按键,对应于P32接口的按键。

加分键:对应于P10接口。

减分键:对应于P11接口。

抢答键:三个选手1、2、3分别对应于P20、P21、P22接口。

3、硬件电路设计3.1 最小系统设计图3.1 单片机最小系统3.2 显示电路设计图3.2 数码管显示3.3 按键电路设常见的键盘种类可分为:独立式按键和矩阵式键盘。

本设计采用独立式按键结构,如图3.3与图3.4所示。

基于单片机AT89C51控制的抢答器_课题设计报告

基于单片机AT89C51控制的抢答器_课题设计报告

宁波技师学院课程设计报告论文题目抢答器摘要:在日常生活中,我们可以在电视,或者现实生活活动现场可以看到在答题或者游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不必要的争议,那是什么,那就是抢答器。

通过一次又一次科学的进步,单片机在发展,各种功能运用到现实生活的各种领域让我们生活更加的接近理想话以及通过简单的操作完成手工无法完成或者很难做到的事情,例如家电,通信,商业,工业,航空,航天,军事以及汽车方面。

当然这次我们做的是其中的一种那就是抢答器,它具有很高的安全性、可靠性,准确性,应用日益广泛。

随着人们经济生活的发展以及生活条件的上去,大家都希望生活在一个无争议的日子里,那么科学就努力的去完成它,这次的抢答器就是一个很好的反馈以及显示更加直观的展现在大家的眼前。

基于以上思路,本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的抢答器设计,其主要具有如下功能:(1)抢答时间调试,限时时间调试这两个功能都是要在最开始时调试。

可以改变调试抢答时间和限时时间。

(2)声光报警系统。

抢答时间倒计时时会报警闪烁,以及蜂鸣器报警还有时间提示。

(3)锁定功能。

为了很好的在第一时间锁定第一位,抢答器做了很好的反馈功能,为此能够更加精确的锁定反馈第一位抢答器是由一个AT89C51、输出八段显示电路。

另外系统还有 LED 提示灯,报警蜂鸣器等。

抢答器的功能在于反馈以及最快的时间做出选择:(1)限时时间调试·抢答时间调试功能:这是一个十分人性化的设计,他可以在不同的场合用不同的时间来限定抢答以及限时时间的调试。

(2)抢答锁定功能:当按下抢答键时,抢答器会判断第一个抢答的以及显示抢答人的编号。

(3)报警系统:当抢答倒计时到5秒时开始二极管开始闪烁报警蜂鸣器开始鸣叫。

主要的设计实施过程:首先,选用 ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。

第二步,使用Protel设计硬件电路原理图,并设计 PCB图完成人工布线。

基于单片机的八路抢答器设计

基于单片机的八路抢答器设计

基于单片机的八路抢答器设计一、介绍抢答器是一种常见的电子设备,用于组织学生进行抢答活动。

传统的抢答器设备通常采用机械按钮或者红外线传感器,但是这些设备具有限制,例如按钮设备需要人工操作,而红外线传感器则需要维护激光束的稳定性。

基于单片机的抢答器能够解决这些问题,并给予更多的功能扩展。

二、系统设计本设计的基本需求是能够同时支持八个参与者进行抢答,并实时显示第一个抢答者的编号。

设计采用单片机进行控制,为了满足多个参与者的需求,需要使用多个按键进行输入,并通过数码管显示抢答结果。

具体系统设计如下。

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引脚。

通过依次设置段和位选择信号的电平,来控制数码管的显示内容。

三、系统实现四、总结本文介绍了基于单片机的八路抢答器设计。

通过使用多个按钮进行输入,以及数码管进行显示,实现了同时支持八个参与者进行抢答的功能。

单片机实训报告抢答器

单片机实训报告抢答器

一、实训目的1. 熟悉单片机的编程环境和调试方法。

2. 掌握单片机外围电路的设计与连接。

3. 学会使用单片机实现抢答器的功能。

4. 提高实际动手能力和解决问题的能力。

二、实训背景随着电子技术的不断发展,单片机在各个领域得到了广泛应用。

抢答器作为一种常见的电子设备,在竞赛、培训等场合中发挥着重要作用。

本实训项目旨在通过设计一款基于单片机的抢答器,使学生掌握单片机的编程、调试及外围电路设计等方面的知识。

三、实训内容1. 硬件设计(1)主控芯片:选用AT89C52单片机作为主控芯片。

(2)按键模块:设计6个按键K0~K5,分别对应6个选手。

(3)显示模块:采用LED数码管显示选手编号。

(4)声音模块:采用蜂鸣器发出报警声响。

(5)其他电路:电源电路、复位电路等。

2. 软件设计(1)程序编写:使用C语言编写单片机程序,实现抢答器功能。

(2)程序调试:使用Keil uVision5软件进行程序编译、调试。

3. 抢答器功能(1)选手抢答:6个选手分别按动对应的按键,抢答器会根据按键优先级显示选手编号,并发出报警声响。

(2)锁存功能:优先抢答的选手编号会一直保持,直至主持人清除系统。

(3)显示功能:LED数码管显示抢答选手的编号。

(4)报警功能:蜂鸣器发出报警声响。

四、实训步骤1. 硬件搭建(1)将AT89C52单片机、按键、LED数码管、蜂鸣器等元器件焊接在电路板上。

(2)连接电源电路和复位电路。

2. 程序编写(1)在Keil uVision5软件中创建新工程,并添加AT89C52单片机头文件。

(2)编写按键扫描程序,实现按键的识别和优先级判断。

(3)编写LED数码管显示程序,显示抢答选手的编号。

(4)编写蜂鸣器报警程序,实现报警声响。

(5)编写主函数,实现抢答器的整体功能。

3. 程序调试(1)在Keil uVision5软件中编译程序,生成HEX文件。

(2)使用Proteus仿真软件进行仿真,观察程序运行效果。

基于单片机的8路抢答器的设计

基于单片机的8路抢答器的设计

基于单片机的八路抢答器设计方案第一章抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生, 它是用于很多竞赛场合, 真正实现先抢先答, 让最先抢到题的选手来回答问题。

抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。

选手们都站在同一个起跑线上, 体现了公平公正的原则。

1.2 设计任务与要求1.基本要求:给主持人设置一个开关, 用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。

抢答器具有数据锁存和显示的功能。

抢答开始后, 若有选手按动抢答器按钮, 编号立即锁存, 并在LED数码上显示选手的编号, 同时扬声器给出音响提示。

此外, 要封锁输入电路, 禁止其他选手抢答。

1.发挥部分:2.抢答器具有定时抢答的功能, 且一次抢答的时间可以由主持人设定(如30秒)。

当节目主持人启动“开始”键后, 要求定时器立即减计时, 并用显示器显示, 同时扬声器发出短暂的声响, 声响持续时间0.5秒左右。

3.参加选手在设定的时间内抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答时刻的时间, 并保持到主持人将系统清零为止。

如果定时抢答的时间已到, 却没有选手抢答时, 本次抢答无效, 系统短暂报警, 并封锁输入电路, 禁止选手超时后抢答, 时间显示器上显示00。

选手如果在主持人按开始键之前违规抢答, 系统报警, LED显示违规选手号码和FF, 直到主持人按下停止键。

第二章抢答器方案论证抢答器的实现方式有种多样, 通过纯电子器件搭建电路实现, 如优先编码器, 锁存器, 555定时器译码器等, 纯电子器件实现没有软件参与, 调试简单, 但是它不易于扩展和修改, 而且电路结构复杂, 调试困难电子, 电子器件管脚很多, 实际搭建起来费时费力, 焊接很容易出错。

于是, 我想到了用单片机实现。

单片机体积小价格低, 应用方便, 稳定可靠。

单片机将很多任务交给了软件编程去实现, 大大简化了外围硬件电路, 使外围电路的实现简单方便。

完整版)基于单片机的抢答器设计

完整版)基于单片机的抢答器设计

完整版)基于单片机的抢答器设计nThe purpose of this project is to design a quiz buzzer system based on a microcontroller。

The project was carried out by Yang Cunen。

a student from the Department of Physics and Mechatronics Engineering。

majoring in Electrical Engineering and n 122.The project was supervised by Associate Professor Xiang Genxiang and was completed on June 28.2015.Design ObjectivesThe main objective of this project is to design a quiz buzzer system that can be used in XXX。

The system should be able to handle XXX winner.Design RequirementsThe quiz buzzer system should have the following features: XXX 4 participantsFast response timeClear and audible soundEasy to operate and resetLow power nDesign PlanThe quiz buzzer system will be based on a microcontroller and will consist of the following components:XXX (MCU)Input/output (I/O) portsLED indicatorsXXXPower supplyXXXXXX used in the system is the ATmega328P。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

湖南商学院《单片机应用系统》课程设计(实习)报告题目基于单片机的抢答器设计姓胡飘名:学100910122号:专电子信息工程业:班电信1004班级:指导教肖婧师:职实验师称:计算机与信息工程学院2013年6月课程设计(实习)评审表课程设计(实习)作品验收表注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。

2. “验收情况”栏由验收小组按实际验收的情况如实填写。

目录1 设计任务与要求 (1)2 系统功能描述 (1)3 系统总体设计 (1)4 系统详细设计 (3)4.1 主要电路设计 (3)4.1.1 输入模块设计 (3)4.1.2 单片机模块 (4)4.1.3 显示模块 (4)4.1.4 声音模块 (5)4.2 软件设计 (6)4.2.1 主程序设计 (6)4.2.2 定时器设计 (7)5 系统实现与测试 (7)5.1 Proteus软件 (7)5.2 安装和调试过程 (8)5.2.1 软硬件调试 (8)5.2.2 硬件安装 (8)6 课程设计总结 (10)6.1 心得体会 (10)6.2. 实践总结 (10)参考文献 (11)附录 (11)基于单片机的抢答器设计1 设计任务与要求具有3路抢答输入(由独立按键实现),时间分辨率小于100ms 。

显示抢答剩余时间,初始为10秒。

抢答成功,蜂鸣器响,同时显示抢答成功的号码。

2 系统功能描述(1)具有3路抢答输入(由独立按键实现),时间分辨率小于100ms 。

(2)主持人按“开始”键,显示抢答剩余时间,初始为10秒。

(3)抢答成功,蜂鸣器响,同时显示抢答成功的号码。

(4)主持人按“清除键”键,复位为初始10秒,进入准备状态。

(5)若十秒倒计时时间到,则蜂鸣器响。

3 系统总体设计抢答输入和控制输入共同控制单片机输出显示和蜂鸣器响,输出锁存控制输入的优先性。

各模块如下:(1)输入模块:由独立按键实现抢答输入和“开始”“清除”控制输入。

(2)单片机控制模块:采用AT89S51芯片控制输出。

(3)输出锁存模块:采用74HC573芯片锁存数据。

(4)显示输出模块:由四位共阳数码管输出显示倒计时和抢答者号码。

(5)声音输出模块:由蜂鸣器的工作来控制声音。

原理方框图如图1所示。

图1 原理方框图整体电路图如图2所示。

图2 基于单片机的抢答器系统整体电路图4 系统详细设计4.1 主要电路设计4.1.1 输入模块设计(1)抢答键输入模块抢答键输入电路图如图3所示。

图3 抢答键输入电路图由3个独立按键表示1号,2号,3号抢答者,一端接地一端分别接接单片机的P1.0,P1.1,P1.2,如果按下,则相应I/O口变为低电平,从而控制单片机P1口。

(2)“开始”“清除”控制键输入模块“开始”“清除”控制键输入电路图如图4所示图4 “开始”“清除”控制键输入电路图由2个独立按键控制“开始”和“清除”,一端接地一端分别接接单片机的P3.6,P3.7,如果按下,则相应I/O口变为低电平,从而控制单片机P1口。

4.1.2 单片机模块单片机主要由程序设计和输入模块信号控制,用于对显示、声音等模块进行控制。

单片机控制输出电路图如图5所示。

接排阻和74HC753接数码管位选端接蜂鸣器图5 单片机控制输出电路图P0口连接有一个排阻,用作P0口的上拉电阻,保证P0口没有数据输出时候处于高电平状态。

还接在74HC753芯片的D端,作为它的输入,锁存输出到数码管。

P2口低四位接数码管未选端,P3.4接蜂鸣器。

4.1.3 显示模块显示模块主要是显示抢答倒计时的时间,抢答者号码。

数码管显示方法包括两种:一种是静态显示,一种是动态显示。

其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态显示的特点是:显示稳定性没静态好,程序编写复杂,但是相对静态显示而言占用端口资源少。

在本设计中根据实际情况采用的是动态显示方法。

4位七段数码管显示电路如图6所示。

接74HC753即P0口接AT89S51的P2端口低四位图6 4位七段数码管显示电路图上图中数码管采用的是4位一体七段共阳数码管,其中A~G段分别接到单片机的P0口,由单片机输出的P0口数据来决定段码值,位选码COM1, COM2,COM3,COM4分别接到单片机的P2.0,P2.1,P2.2 ,P2.3,由单片机来决定当前该显示的是哪一位。

通过查表法,将其在数码管上显示出来,其中P0口为字型码输入端,P2口低4位为字选段输入段。

在这里我们通过查表将字型码送给7段数码管显示的数字。

4.1.4 声音模块声音模块主要是单片机控制蜂鸣器发声。

选取压电式无源蜂鸣器,声音的频谱范围约在几十到几千赫兹,编写程序控制单片机P3.4口的“高”“低”电平转换频率,产生一定频率的巨型波,接上蜂鸣器就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使蜂鸣器发出不同的声音。

单片机控制蜂鸣器电路图如图7所示。

图7 单片机控制蜂鸣器电路图单片机通过内部定时器的操作实现交替变换的波形输出驱动扬声器发声。

4.2 软件设计4.2.1 主程序设计一上电数码管显示10—0,表示初始时间为10s,0表示没有抢答,先扫描“开始”“清除”键,判断“开始”键是否按下,若按下,则开始倒计时,并扫描抢答键,若有抢答键按下,则显示抢答者号码和抢答的时间,判断倒计时是否为0,若是则蜂鸣器响。

程序流程图如图8所示。

图8 程序流程图4.2.2定时器设计采用定时器/计数器T0的方式1定时,定时时间为50ms,对应的十进制数的初始值为15536,因使用的时钟为12MHz,所以定时的时间为1us*(65536-15536)=1us*50000=50ms。

要想定时1s,需要20次中断,因此程序中定义了中断次数单元count,来对中断次数进行计数。

要使最小分辨率为50ms,在定时器计时一次即50ms时,对键盘进行一次扫描实现。

因为采用74HC753芯片,因此程序变得简单,只需将秒单元进行“second / 10”运算,即可得到秒的十位的BCD码,秒的个位BCD码只需取余数“second % 10”运算就可得到,并都送P0口经锁存器利用动态方式显示。

5 系统实现与测试5.1 Proteus 软件Proteus软件是由英国Labcenter Electronics公司于1989年推出的EDA工具软件,Proteus软件不仅具有原理布图,PCB自动制版或人工布线及互动电路仿真的功能,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出, 还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器,逻辑分析仪等,为单片机系统的虚拟仿真提供了功能强大的软硬件调试手段。

Proteus软件的特点:(1)除了既可以仿真模拟电路又可仿真数字电路以及数字、模拟混合电路外,其独特是能够仿真各种单片机及嵌入式处理器。

(2)具有各种仿真仪器仪表工具,如示波器、逻辑分析仪、各种信号发生器、计数器、电压源、电压表、电流表、虚拟终端等,同一种仪器仪表可在同一电路中随意调动。

(3)可以进行软、硬件结合的仿真系统,且仿真是交互的、可视化的。

5.2 安装和调试过程5.2.1软件调试利用Keil uVision4软件进行程序编写,编译,调试,生成.hex文件,利用Proteus 进行电路原理图描绘,然后把.hex文件载入AT89S51芯片中,再仿真,通过功能对照,来检查修改程序,一步步使仿真与实现功能相近。

一开始蜂鸣器怎么的都不响,通过查资料请教别人,最后发现是因为蜂鸣器的一次高低电平变换的程序没有循环,所以没有维持一定时间让它工作,通过在蜂鸣器的子程序中加入一个100次的循环,并是高低电平之间延时1ms发现蜂鸣器的工作是最合理的。

后来又发现按下抢答键,倒计时不停止,经过很多次试验之后,发现是应该在判断抢答键是否按下的肯定条件下是定时器的使能标示位置0。

当主持人按下开始键,2号抢答者按下抢答键时,Proteus仿真运行图如图所示图9 Proteus仿真运行图5.2.2 硬件安装由于经费的限制,元件数量也不是特别多,所以准备自己焊板子,晶振复位都准备自己焊。

精心策划每个元件的安装位置,和可以节省的引线,我把每个元件多余的引脚部分当做线路来用,以使电路美观一点。

完工之后运行不正常,分析可能是各个引脚和线路之间不稳定的原因,特别是所以电源和地都是通过引一根线出来接的电源孔悬在空中接的电源,觉得还是不可靠,于是最后还是决定用最小系统来作为硬件的核心,以避免不必要的影响。

后来又最小系统,杜邦线和排针再一次焊好了电路,一上电显示-1,8,8,0,蜂鸣器响的时间和仿真图里蜂鸣器该响的时间一样长,“开始”“抢答”“清除”键都不作用。

暂时连接数码管的各线我都用万用表测试过了,是连通的,我想可能会是以下的原因:(1)可能是排阻的问题,但是如果是的话,数码管应该不会亮。

(2)可能是数码管的问题,但是也已经测试过,是正确的对应的各引脚,而且可以显示。

(3)调用蜂鸣器响的程序放错位置了,但是检查了没错。

经过仔细检查、测试、修改、调试之后,硬件电路图如图10所示。

图10 硬件电路图6 课程设计总结6.1 心得体会此次课程设计,先从分析题目开始,从课本上找类似可能实现的功能块,明确整体思路,大概画出整体电路模块,由于第一次接触实际应用设计,思维比较混乱,很多功能觉得考虑的地方太多,很难。

后来去图书馆查阅了两天资料,找到类似的应用系统,仔细研究了一番,多了个没接触过的芯片,通过几本书上的资料,拼凑修改之后还是仿真不了,也请教了一些老师,后来通过比较另外一种方案,觉得性价比和简便程度更高,所以放弃了原有的方案,重新开始设计。

经过修改程序和仿真调试,显示的部分是差不多按我所想实现了,但蜂鸣器要么不响,要么能听到一丁点声响,参考了别的同学蜂鸣器响的程序,还有在网上找了很多关于蜂鸣器的资料,又请教老师问题,最终终于把蜂鸣器的问题解决了。

仿真出来后,焊接电路,中途发现焊反了,怕影响电路拆了又重焊,还是显示不正常,一上电是一些不该有的数字,按开始键三个数码管都一起显示倒计时,蜂鸣器一直响,一动电路又断断续续,问过老师之后,决定还是用最小系统来作为硬件的核心,以避免不必要的影响。

终于是又把电路板焊出来了,但是还是不如我所愿,显示还是不正常,一上电蜂鸣器响的时间和仿真蜂鸣器该响时的时间一样长,按开始键也没有反应。

经过同学帮助,检验了数码管以及和单片机连接的地方,都没有问题,按理来说一上电应该和主程序一开始设定的功能一样,只能再重新测好每一个电路线和元件。

经老师指导,应该在上电时,测每个脚应该有的电压,看元件输出功能是否正确,再逐步确定每一个芯片和电路的是否有问题,然后修改调试。

相关文档
最新文档