基于51单片机的8路抢答器【最新】

合集下载

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

基于单片机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)编写按键扫描函数,用于检测按键是否按下,并触发相应的抢答编号。

基于51单片机的8路抢答器

基于51单片机的8路抢答器

基于51单片机的8路抢答器摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。

作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。

本设计是以八路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。

同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

关键词:51单片机,抢答器,时间设定目录1 抢答器设计功能分析 (1)1.1 数字抢答器的概述 (1)1.2 设计任务与要求 (1)2 方案设计 (2)3 硬件电路设计 (3)3.1 总体设计 (3)3.2 外部振荡电路 (3)3.3 复位电路的设计 (4)3.4 显示电路的设计 (4)3.5按钮输入电路的设计 (4)3.6 发声 (5)4 系统软件设计 (6)4.1 程序系统结构图 (6)4.2 程序流程图 (6)4.3 程序代码: (9)4.3.1 查询程序: (10)4.3.2 非法抢答处理程序: (10)4.3.3 倒计时程序(包括有效抢答程序): (11)4.3.4 正常抢答处理程序: (13)4.3.5 犯规抢答程序: (14)4.3.6 显示程序: (15)4.3.7 延时(显示和去抖动用到): (16)4.3.8 TO溢出中断(响铃程序): (17)4.3.9 T1溢出中断(计时程序): (17)总结 (18)参考文献 (19)1 抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生,它是用于很多竞赛场合,真正实现先抢先答,让最先抢到题的选手来回答问题。

八路抢答器-基于单片机C语言

八路抢答器-基于单片机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。

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

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

摘要随着电子技术的飞速发展,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。

单片机具有体积小、功能强、成本低、应用面广等优点,可以说智能化控制与自动控制的核心就是单片机。

基于单片机的控制系统已广泛应用于各行业。

此次设计提出了以AT89C51单片机为核心控制元件,设计一个简易的八路抢答器,AT89C51单片机为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等设计的八路抢答器不仅具有实时显示抢答选手的号码和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。

本次设计的系统实用性强、判断精确、操作简单、扩展功能强。

关键词:八路报警AT89C51 抢答器定时With the rapid development of electronic technology, intelligent control in the electronics field especially automation, traditional discrete components or control system of digital logic circuits, are at an unprecedented rate sheets replaced by chip computer intelligent control. MCU has small size, functions and advantages of low cost, wide application, it can be said of intelligent control and automation of core is a single chip. Based on single chip microcomputer control system has been widely used in various industries.This design made has to AT89C51 single tablets machine for core control components , design a simple of eight - way preemptive answer device , AT89C51 single tablets machine mainly controlled core , and Crystal vibration , and digital tube , and bee Ming device , constitute eight - way preemptive answer device , using has single tablets machine of delay circuit , and press reset circuit , and clock circuit , and timer counter , design of eight - way preemptive answer device not only has real-time display preemptive answer players of number and preemptive answer time of function , while also using assembly language programming , makes its implementation reset , and scheduled and alarm of function . The design system of practical, accurate, simple operation and extended functions of judgment.Key words : eight – way alarm AT89C51 preemptive answer time第1章绪论 (1)1.1 选题背景、意义 (1)1.2 八路抢答器的功能简介 (1)第2章系统硬件设计 (2)2.1 芯片的选择 (2)2.1.1 控制器的选择 (2)2.1.2 显示模块的选择 (2)2.1.3 键盘的选择 (3)2.2.4 芯片最终选择方案 (3)2.2 AT89C51单片机简单概述 (4)2.2.1 51系列单片机的功能特性 (4)2.2.2 AT89C51单片机结构说明 (5)2.3 硬件的构成及功能 (6)2.3.1 抢答器的硬件图 (6)2.3.2 时钟频率控制电路 (7)2.3.3 复位电路的设计 (8)2.3.4 报警电路的设计 (8)2.3.5 显示电路的设计 (9)2.3.6 键盘扫描电路的设计 (10)第3章系统软件设计 (11)3.1 系统主程序设计 (11)3.2 键盘扫描程序设计 (12)3.3 显示程序设计 (13)第4章系统调试与软件仿真 (14)4.1 硬件调试 (14)4.2 Keil uVision2软件调试 (14)4.3 Proteus仿真 (15)第5章总结 (18)参考文献 (19)附录 (20)附录一主程序清单 (20)附录二单片机八路智能抢答器原理图 (28)附录三英文资料 (29)译文 (31)致谢 (33)第1章绪论1.1 选题背景、意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。

(完整版)基于51单片机的八路抢答器要点

(完整版)基于51单片机的八路抢答器要点

题目鉴于单片机的八路抢答器学院名称信息工程学院指导老师X X X班级11级电信 2班学号学生姓名时间摘要在平常生活中,我们能够在电视,或许现实生活活动现场能够看到在答题或许游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不用要的争议,那是什么,那就是抢答器。

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

自然此次我们做的是此中的一种那就是抢答器,它拥有很高的安全性、靠谱性,正确性,应用日趋宽泛。

本次设计使用 AT89C51 实现一鉴于单片机的抢答器设计,其主要拥有以下功能:(1)抢答时间调试,限不时间调试这两个功能都是要在最开始时调试。

能够改变调试抢答时间和限不时间。

(2)声光报警系统。

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

(3)锁定功能。

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

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

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

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

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

主要的设计实行过程:第一,采纳 ATMEL 企业的单片机 AT89C51,以及选购其余电子元器件。

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

第三步,使用 Medwin 软件编写单片机的 C 语言程序、仿真、软件调试。

第四部,使用 PROTEUS软件进行模拟软、硬件调试。

基于51单片机的8路抢答器

基于51单片机的8路抢答器

毕业论文内容介绍目录摘要...................................................................................................................................... 1引言............................................................................................................................................ 2第一章抢答器模块的设计.................................................................................................... 31.1总体设计思路...................................................................................................................... 31.2 功能介绍............................................................................................................................. 31.3 抢答器的软件设计............................................................................................................. 31.4 数码显示............................................................................................................................. 4第二章系统调试与仿真.......................................................................................................... 52.1 软件调试问题分析............................................................................................................. 52.2 Proteus 仿真........................................................................................................................ 6第三章电路板的制作与检查.................................................................................................. 7第四章总结.............................................................................................................................. 8参考文献.................................................................................................................................... 9致谢................................................................................................................................ 10附录...................................................................................................................................... 11附录一主程序清单...................................................................................................... 11附录二元件清单.......................................................................................................... 18附录三Proteus仿真原理图........................................................................................... 19摘要此次设计提出了用AT89S51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89S51单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用汇编语言编程,使其实现一些基本的功能。

20240710 基于51单片机的八路抢答器课程设计

20240710 基于51单片机的八路抢答器课程设计

基于51单片机的八路抢答器课程设计设计题目:八路抢答器系别:班级:设计学生:指导老师:设计时间:摘要针对课程设计要求设计一款八路抢答器。

利用AT89C51单片机为核心器件以及数码管、蜂鸣器、按键等外围器件作为硬件基础以及结合软件开发实现八路抢答器的课程设计。

本课程设计的与用户交互的为12个按键、一个4位数码管和一个蜂鸣器。

12个按键分别为“确认键”、“返回键”“UP键”“DOWN键”和8个选手键S1~S8。

上电后为初试状态显示“0 00”,短按确认键蜂鸣器滴一声后进入答题倒计时,显示“0 抢答倒计时”。

在倒计时归零之前选手S1~S8可以抢答,有选手抢答成功后滴一声后显示“选手号答题倒计时”。

若抢答倒计时小于5s则蜂鸣器滴滴报警,若抢答倒计时归零无人抢答则返回初试状态。

在答题倒计时过程中若选手答题完成,主持人可按返回键结束本轮答题,并等待主此人下一次按下确认键盘。

在初试状态下主持人长按确认键3s以上进入参数设置状态,可设置抢答倒计时初始值,显示“A 抢答倒计时初始值”,可通过UP或DOWN对参数进行修改。

为避免程序溢出,设置范围为5~99。

再次长按长按确认键3s以上可设置答题倒计时初始值,显示“V 抢答倒计时初始值”。

可通过UP或DOWN对参数进行修改。

为避免程序溢出,设置范围为5~99。

按下返回键,进入初始状态。

经过总体方案设计、原理图绘制、PCB板绘制、程序编写并通过proteus软件进行软硬件仿真。

仿真结果表明了本设计的有效性。

目录摘要 (2)第1章总体方案设计 (4)设计任务与要求 (4)方案设计 (4)器件选择方案 (5)第2章硬件设计与原理 (6)原理图设计 (6)2.1.1 时钟电路 (6)2.1.2 复位电路 (7)2.1.3 显示电路 (7)2.1.4 报警电路 (8)2.1.5 外部电源 (8)2.1.6 键盘输入 (8)2.1.7 主控制器件 (9)PCB设计 (9)第3章软件设计 (11)系统主程序设计 (11)主程序清单 (12)第4章软件仿真 (21)PROTEUS 简介 (21)仿真图 (22)第5章总结 (23)第1章总体方案设计设计任务与要求1.抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。

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

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

基于51单片机八路抢答器的设计八路抢答器是一种常见的电子设备,利用该设备可以实现多人同时抢答的功能。

本设计基于51单片机,通过电路和程序的设计,实现了一个八路抢答器。

一、硬件设计1.单片机选择本设计选择51单片机作为控制核心,采用STC89C52微控制器,该单片机具有丰富的外设接口和较大的存储空间,能够满足实现八路抢答器的要求。

2.抢答按键设备中需要设置八个抢答按键,用于参与者抢答。

按键采用常闭型按键,接通时为低电平,用于触发中断。

3.电源设计为了提供稳定的电源给抢答器,设计中采用了5V稳压电源电路,供电采用AC220V转DC5V电源适配器。

4.显示设计为了方便显示抢答结果,本设计采用了一个共阴数码管,用于显示抢答结果。

具体显示方式根据需求进行编程显示。

5.连接器设计为方便接线和扩展,设计中使用了排针排插连接器,将各个按键、数码管等连接到主控板上。

二、软件设计1.引脚设置首先需要对单片机的I/O引脚进行设置,将各个按键连接到相应的引脚上。

同时,还需要设置数码管的引脚,用于控制显示。

2.中断设置为了实现按键的检测和抢答功能,需要设置外部中断。

具体的中断设置根据引脚的连线情况进行配置。

3.抢答逻辑抢答的逻辑可以根据需求进行设计,本设计采用最先按下的键位为答题者,其他键位将被屏蔽。

按下按键后,相应的数码管会显示该答题者的编号或名称,并输出一个信号用于记录答题者的顺序。

4.结果显示抢答结束后,根据答题者的顺序,将结果显示在数码管上。

可以根据需求进行设计,如按照答题者的编号显示。

5.功能扩展除了基本的抢答功能外,还可以对设备进行功能扩展。

如设置答题时间限制,设置显示答题者的得分,设置答题者的排名等。

三、PCB设计完成硬件电路和软件设计后,需要进行PCB设计,将各个元件进行布局,进行连线和焊接。

PCB设计需要保证连接的正确性和布线的合理性。

四、测试与调试完成PCB的焊接后,需要进行设备的测试与调试。

通过逐个按下按键,观察数码管的显示结果是否正确。

基于51单片机八路抢答器程序代码

基于51单片机八路抢答器程序代码

基于51单片机八路抢答器程序代码程序代码:```#include <reg51.h>// 定义IO口sbit buzzer = P2^0; // 蜂鸣器sbit led1 = P2^1; // LED1 sbit led2 = P2^2; // LED2 sbit led3 = P2^3; // LED3 sbit led4 = P2^4; // LED4 sbit led5 = P2^5; // LED5 sbit led6 = P2^6; // LED6 sbit led7 = P2^7; // LED7// 定义全局变量unsigned char num = 0; // 计数器int flag = 0; // 抢答标志位// 延时函数void delay(unsigned int t) {unsigned int i, j;for(i=0;i<t;i++) {for(j=0;j<110;j++);}}// 抢答函数void answer() interrupt 0 {flag = 1; // 标志位变为1 num ++; // 计数器加1 }}// 主函数void main() {// 初始化定时器TMOD = 0x01;TH0 = 0xF8;TL0 = 0xCC;ET0 = 1;EA = 1;TR0 = 1;buzzer = 0;led1 = 1;led2 = 1;led3 = 1;led4 = 1;led5 = 1;led6 = 1;led7 = 1;// 主循环while(1) {if(num == 1) { buzzer = 1; led1 = 0; delay(500);delay(2000);num = 0;} else if(num == 2) { buzzer = 1;led2 = 0;delay(500);buzzer = 0;led2 = 1;delay(2000);num = 0;} else if(num == 3) { buzzer = 1;led3 = 0;delay(500);delay(2000);num = 0;} else if(num == 4) { buzzer = 1;led4 = 0;delay(500);buzzer = 0;led4 = 1;delay(2000);num = 0;} else if(num == 5) { buzzer = 1;led5 = 0;delay(500);delay(2000);num = 0;} else if(num == 6) { buzzer = 1;led6 = 0;delay(500);buzzer = 0;led6 = 1;delay(2000);num = 0;} else if(num == 7) { buzzer = 1;led7 = 0;delay(500);delay(2000);num = 0;}}}```该代码实现了一个基于51单片机的八路抢答器系统,使用了定时器和中断来控制抢答过程。

毕业设计-基于AT89C51单片机的八位智力抢答器设计

毕业设计-基于AT89C51单片机的八位智力抢答器设计

八位智力抢答器摘要能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异更新。

本文介绍一种用AT89C51作为核心部件进行逻辑控制及信号产生的单片机技术和汇编语言编程设计的8路数字抢答器。

文章对抢答器的背景与现状、硬件设计、软件设计及其仿真都做了详细的介绍,使我们不仅答器的原理及设计有了深入的了解,也对单片机的设计研发过程有了更加深刻的体会本设计主要采用单片机控制,采用手动抢答的方式,有人抢答后,系统自动封锁其他人的抢答按钮,使其不能再抢答,从而实现抢答功能。

该系统还增加了抢答倒计时和答题倒计时功能,另外抢答倒计时和答题倒计时的时间都可以调整。

若有人在主持人按下开始按钮之前按下抢答按钮,系统自动视其为犯规,抢答器自动报警,显示器同时显示犯规选手的号码,使抢答达到公平、公开的效果。

关键字:单片机;抢答器;倒计时作者:指导老师:ABSTRACTResponder function can be achieved in different ways, can be used early in the analog circuits, digital circuits or analog and digital circuit combination. With the rapid development of science and technology in recent years, SCM applications are deepening, while the traditional control test drive rapid updated. This paper introduces a core component with AT89C51 as logical control signals and single-chip microcomputer and assembly language programming design of 8 digital vies to answer first. Article on the Responder's background and present, hardware design, software design and simulation have made a detailed introduction, so we not only answer the principle and design of devices with in-depth understanding of microcontroller design and development and also have a more profound experience. This design mainly uses the MCU control, with manual answer in the way, some people answer in, the system automatically block other people's answer in the button, so that it can not answer in order to achieve Responder feature.The system also increased the answer in the countdown countdown and answer features, and answer another answer in the countdown to the countdown time can be adjusted. If one host press the start button before pressing the answer in the button, the system automatically view them as foul, Responder automatic alarm, the display also shows the number of fouls players to answer in a fair, open effect.Keywords : single chip ;viing to answer first ;count downAuthor:GuidingTeacher:目录第1章绪论 (1)1.1课题研究的背景及意义 (1)1.2抢答器的分类 (1)1.3设计的主要目标任务 (3)第2章总体方案的设计 (4)2.1 功能要求 (4)2.2 系统功能框图 (4)第3章硬件电路的设计 (5)3.1 硬件主要组成电路 (5)3.2 电路工作的基本原理 (5)3.3主控电路的设计 (5)3.3.1 关于AT89C51单片机 (5)3.3.2振荡器电路的设计 (6)3.3.3复位电路的设计 (7)3.4 按键电路的设计 (8)3.5 显示电路的设计 (8)3.5.1 LED显示器件简介 (8)3.5.2 显示部分的设计 (9)3.6报警电路的设计 (9)3.6.1蜂鸣器的介绍 (9)3.6.2 报警电路 (10)3.7 总电路图 (11)第4章软件的设计 (12)4.1 语言选择 (12)4.2 软件总体设计 (12)4.3系统程序 (13)第5章仿真及调试 (23)5.1 仿真软件介绍 (23)5.1.1 Proteus软件介绍 (23)5.1.2 keil软件介绍 (23)5.2 仿真过程 (23)5.2.1仿真过程操作如下: (23)5.2.2 仿真结果: (24)第六章总结 (26)参考文献 (27)附录 (28)附录1 电路原理图 (28)第1章绪论1.1课题研究的背景及意义无论是学校、工厂、军队还是益智性电视节目,都会举办各种各样的智力竞赛,都会用到抢答器。

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

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

基于AT89C51单片机八位抢答器的设计一、本文概述随着电子技术的不断发展,单片机作为微型计算机的重要分支,已广泛应用于各种智能控制系统中。

AT89C51作为一款经典的8位单片机,以其高性能、低功耗、易编程等特点,在嵌入式系统设计中占据了重要地位。

本文旨在探讨基于AT89C51单片机的八位抢答器设计,通过分析其硬件组成、软件设计以及工作原理,为相关领域的开发人员提供一种实用的设计方案。

本文首先介绍了抢答器的应用场景和基本要求,随后详细阐述了AT89C51单片机的核心特性及其在系统中的作用。

接着,文章将重点介绍抢答器的硬件电路设计,包括按键输入电路、显示电路、声音提示电路等关键模块。

在软件设计方面,文章将给出抢答器程序的主要流程,包括按键扫描、状态判断、结果显示等功能模块的实现方法。

文章还将对抢答器的性能进行测试和分析,以确保其在实际应用中的稳定性和可靠性。

通过本文的研究,读者可以深入了解基于AT89C51单片机的八位抢答器的设计过程,掌握相关电子技术和编程技巧,为未来的嵌入式系统开发打下坚实基础。

本文的研究成果也可为类似系统的设计提供有益的参考和借鉴。

二、AT89C51单片机简介AT89C51是Atmel公司生产的一款低功耗、高性能的8位CMOS微控制器,它采用了Atmel公司的高密度、非易失性存储技术,并且与工业标准的8051指令集和输出管脚相兼容。

AT89C51单片机内部集成了4KB的可编程Flash闪烁存储器,这为用户提供了足够大的空间进行程序编写和存储。

它还拥有128字节的内部RAM、32个可编程的I/O口线、两个16位定时/计数器、一个5向量两级中断结构、一个全双工串行通信口、以及片内振荡器和时钟电路。

AT89C51单片机具有低功耗的空闲模式和掉电模式,使其在便携式产品和电池供电的应用中具有显著的优势。

其强大的功能集和灵活的编程能力使得AT89C51单片机在各种控制系统中得到了广泛的应用,包括抢答器设计、智能家居、工业自动化、医疗设备、安全系统等。

基于51单片机八路抢答器课程设计

基于51单片机八路抢答器课程设计

基于51单片机八路抢答器课程设计一、引言在现代教育中,抢答器作为一种教学辅助工具经常被用于进行课堂互动和知识点检测。

本课程设计旨在基于51单片机设计一个八路抢答器,通过硬件电路和软件程序的配合,实现对答题速度的测量和抢答器的控制。

二、实验目的1.熟悉并掌握51单片机的基本原理和编程方法;2.学会使用按键、LED等外设控制电路进行实验设计;3.理解抢答器的工作原理,掌握测量答题速度的方法;4.实际动手设计并制作一个八路抢答器。

三、实验原理3.1 51单片机基本原理51单片机是一种常见的单片机,具有低功耗、低成本和强大的功能特点。

它通过内部的CPU、存储器、I/O口等组成,可以实现各种控制任务。

在本次实验中,我们将使用51单片机来控制八路抢答器的功能。

3.2 抢答器的原理八路抢答器的原理是基于51单片机和按键、LED等外设的配合实现的。

抢答器中的每个按键对应一个LED灯,当某个按键被按下时,对应的LED灯会亮起。

同时,51单片机会记录下按键按下的时间,用于测量答题速度。

抢答器的控制逻辑可以通过编程实现。

四、实验步骤4.1 硬件电路设计1.连接51单片机与按键、LED等外设,确保电路连接正确;2.按照抢答器的八路设计,为每个按键连接一个LED灯;3.确保电路的供电正常,能够正常控制LED灯的亮灭。

4.2 软件程序设计1.编写51单片机的控制程序,实现按键与LED灯的互动;2.程序中需要包括按键检测、LED亮灭控制和答题速度记录等功能;3.调试程序,确保各个功能正常运行;4.将程序下载到51单片机中,进行全面测试。

五、实验结果5.1 硬件电路测试1.针对每个按键依次按下,观察对应的LED灯是否亮起;2.测试按键按下时的按键反馈是否正常;3.检查电路连接是否稳定,无松动情况。

5.2 软件程序测试1.模拟按键按下,观察对应的LED灯是否亮起;2.检查答题速度记录功能是否正常;3.检查程序逻辑是否正确,没有出现死循环等异常情况。

(完整版)基于51单片机的八路抢答器要点

(完整版)基于51单片机的八路抢答器要点

题目基于单片机的八路抢答器学院名称信息工程学院指导老师 X X X 班级11级电信2班学号学生姓名时间在日常生活中,我们可以在电视,或者现实生活活动现场可以看到在答题或者游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不必要的争议,那是什么,那就是抢答器。

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

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

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

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

(2)声光报警系统。

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

(3)锁定功能。

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

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

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

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

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

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

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

第三步,使用Medwin 软件编写单片机的 C语言程序、仿真、软件调试。

第四部,使用 PROTEUS 软件进行模拟软、硬件调试。

基于8051单片机的8路抢答器学士学位论文

基于8051单片机的8路抢答器学士学位论文
本 科 生 毕 业 设 计 (论 文)
题目:基于8051单片机的8路抢答器
Title:
教学单位
姓 名
学 号
年 级
专 业
指导教师
职 称
摘要
随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以AT89S51单片机为核心的八路抢答器,采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,充分利用了单片机系统结构简单、功能强大、可靠性好、实用性强的特点。
2.3.1抢答器的电路图…………………………………………………………3
2.3.2单元电路设计……………………………………………………………5
2.3.3定时电路设计……………………………………………………………7
2.3.4报警电路设计……………………………………………………………7
第3节 系统软件设计 …………………………………………………………9
1.2本设计任务及要求
任务:设计一个供8名选手参加八路扫描式抢答器。
1.3系统主要功能
每名选手有一个抢答按钮,按钮的编号与选手的编号相对应,抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。抢答开始后,若有选手按抢答按钮,刚该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0 为止。抢答器具有计分、显示功能。预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10分,答错扣10分。抢答器具有定时抢答的功能。一次抢答的时间由主持人设定,在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,声响时间持续0.5s左右。选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号和抢答时刻的时间,并保持到主持人将系统清0为止。

最新毕业设计(论文-基于at89c51单片机的八路多功能抢答器设计

最新毕业设计(论文-基于at89c51单片机的八路多功能抢答器设计

目录摘要 (2)绪论 (4)1 抢答器系概述 (6)1.1抢答器的功能模块 (6)1.2抢答器的工作原理 (8)1.3抢答器的特点及组成 (11)2硬件设计 (11)2.1硬件详细清单 (11)2.2 抢答器总电路图 (13)2.3 AT89C51的内部结构和功能 (14)2.4 晶体振荡器和电容的设计 (16)2.5 七段数码管显示电路的设计 (17)2.6 扬声器的设计 (17)2.7 按钮的设计 (18)2.8 芯片74HC30、74LS04的设计 (19)3软件设计 (19)3.1 软件系统结构图和程序流程图 (19)3.2 程序分析 (21)结束语 (41)致谢 (43)参考文献 (46)附录 (48)摘要在以往企业或学校举行知识竞赛中,都是主持人读题,观众选手得安静仔细听题目,有条件的花上万元买个电子抢答器,算是给知识竞赛赛场添彩了。

现实中大多数是依靠主持人发挥水平,但选手和观众要渴望类似跟电视台搞的知识竞赛中的效果一样是难以实现的。

而我们设计的抢答器节省的不小的开支,还能直观公正的看清哪位选手先抢答到题并有主持人来往下读题目。

它的功能实现是由主持人按键来控制总开关,在抢答中,只要主持人按下开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有声音提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主持人强制复位;按键锁定,在有效状态下,按键无效非法。

本次设计是用AT89C51单片机为核心控制元件,设计一个八路多功能抢答器。

以AT89C51单片机作为主控核心,与芯片74LS04、74HC30;扬声器等等构成硬件操作,再利用汇编语言来编程,来控制抢答器的功能实现。

这次设计的系统实用性强、判断精确、操作简单、扩展功能强。

关键词:抢答器 AT89C51 汇编语言计时绪论在知识竞赛中,特别是做抢答题时,在抢答过程中,为了更确切的知道哪一组或哪一位选手先抢答到题,必须要有一个系统来完成这个任务。

基于51单片机的8路智能抢答器

基于51单片机的8路智能抢答器

基于51单片机的8路智能抢答器__大学物理工程学院单片机课程设计报告题目:基于51单片机的8路智能抢答器小组成员:_______ 专业班级:测控技术与仪器2班指导老师: ___ 2021 年 1月 5 日摘要抢答器作为一种工具已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低且有的要么制作复杂要么可靠性低。

作为一个单位如果专门购一台抢答器虽然在经济上可以承受但每年使用的次数极少往往因长期存放使(电子器件的)抢答器损坏再购置的麻烦和及时性就会影响活动的开展因此设计了本抢答器本设计是以八路抢答为基本理念。

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

关键词:AT89C51 抢答器计时目录一.绪论.................................................... ....................... 1.1 课题研究的相关背景.................................................. .. 1.2 选题的目的和意义.................................................. .... 1.3 课题研究的内容.................................................. ...... 1.4 国内外研究现状.................................................. ...... 1.5 抢答器目前存在的主要问题..............................................二.可行性分析及主要器件选型............................三.硬件电路设计图....................................... 四.元器件清单............................................ 五.程序设计流程图...................................... 六.功能实现图........................................... 七.总结.................................................. 八.参考文献...............................................1 绪论 1.1 设计的相关背景抢答器是一种应用非常广泛的设备在各种竞赛、抢答场合中它能迅速、客观地分辨出最先获得发言权的选手。

基于MCS51单片机控制的八路答器设计

基于MCS51单片机控制的八路答器设计

摘要抢答器是一种常见的电子产品,尤其是在各类智力竞料中,为了实现选手的公平性,性能优良的抢答器往往更能取得各单位的青睐。

这里通过两种设计方案的对比,最终选定了用单片机实现抢答器电路。

由于单片机具有可编程按时器和中断设备,便于实现编程和时刻的精准控制。

所用方案电路结构简单,易于实现,它用4个七段数码管来显示,且具有简单精准的报警电路。

所选方案的一个很重要的特点在于具有灵活性,主持人能够按照题目难易进行时刻设定,如此进一步保证了公平性。

由于它具有本钱低廉,结构简单,且性能优良的诸多长处,一定会取得普遍的应用。

关键词:抢答器,单片机,七段数码管,时刻设定目录课程设计要求 (1)(1)抢答器同时为8组选手别离提供抢答按钮,按钮别离为PB一、PB二、PB3、PB4、PB五、PB六、PB7、PB8; (1)(2)设置一个复位按钮PB9,实现系统电路的复位,由主持人控制; (1)(3)设置一个启动按钮PB10,由主持人控制; (1)(4)设置一个限时开关PB11,由主持人控制; (1)(5)当主持人打开启动开关PB10后,在设按时刻T0 内,若是某一组抢先按下抢答按钮,则驱动音效电路发作声响,指示灯L1 亮,而且在七段LED显示出抢答成功的组号,现在电路实现互锁,其它组再按下抢答按钮为无效; (1)(6)若是在时刻T0 内,无人应答,则驱动音效电路发作声响,指示灯L2 亮,表示抢答者均舍弃该题; (1)(7)在抢答成功后,主持人打开限时开关PB11,启动按时器,显示倒计不时刻,在设定的时刻T1内回答有效,当抵达设按时刻T1 时,驱动音效电路,指示灯L3 亮,表示答题时刻到。

(1)原理示用意 (1)如图(1-1)所示为八路智力抢答器设计的物理模块划分如下: (1)抢答器的程序流程 (2)二抢答器单元设计及其说明 (8)主要芯片的介绍 (8)程序流程图 (11)MAX7219 (12)MAX7219引脚说明 (12)大体的工作方式 (13)MAX7219初始化 (15)部份程序功能介绍 (15)简介 (17)和LED的区别 (17)单片机和分立元件的区别 (17)显示电路设计和LCD的引脚功能说明 (18)液晶显示模块 (19)[1] 朱运利. 单片机技术应用. 北京:机械工业出版社, 2005年1月第一版 (21)[2] 张大彪. 电子技术与实训. 北京:电子工业出版社, 2004年7月 (21)[4] 阎石. 数字电子电路. 北京:中央广播电视大学出版社, 1993 (21)[7] 杨素行. 模拟电子电路. 北京:中央广播电视大学出版社, 1994 (21)[8] 康平光. 电子技术基础. 北京:高等教育出版社, 2003 (21)一绪论课程设计要求(1)抢答器同时为8组选手别离提供抢答按钮,按钮别离为PB一、PB二、PB3、PB4、PB五、PB六、PB7、PB8;(2)设置一个复位按钮PB9,实现系统电路的复位,由主持人控制;(3)设置一个启动按钮PB10,由主持人控制;(4)设置一个限时开关PB11,由主持人控制;(5)当主持人打开启动开关PB10后,在设按时刻T0 内,若是某一组抢先按下抢答按钮,则驱动音效电路发作声响,指示灯L1 亮,而且在七段LED显示出抢答成功的组号,现在电路实现互锁,其它组再按下抢答按钮为无效;(6)若是在时刻T0 内,无人应答,则驱动音效电路发作声响,指示灯L2 亮,表示抢答者均舍弃该题;(7)在抢答成功后,主持人打开限时开关PB11,启动按时器,显示倒计不时刻,在设定的时刻T1内回答有效,当抵达设按时刻T1 时,驱动音效电路,指示灯L3 亮,表示答题时刻到。

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

抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。

但抢答器的使用频率较低,且有的要么制作复杂,要么可幕性低。

作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设讣了本抢答器。

本设计毘以八路抢答为基本理念。

考虑到依需设定限时回答的功能,利用AT89C51单片机及外M接口实现的抢答系统利用单片机的定时器/讣数器定时和记数的原理,将软、侦件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。

用开关做键盘输出,扬声器发生提示。

同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99S设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统讣时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。

关键词:51单片机,抢答器,时间设定1抢答器设讣功能分析1.1数字抢答器的概述1.2设计任务与要求 2方案设计 3硬件电路设计 3.1总体设讣 3.2外部振荡电路 3.3复位电路的设计 3.4显示电路的设讣 3.5按钮输入电路的设讣 3.6 发声 4系统软件设汁4.1程序系统结构图 4・2程序流程图 4.3程序代码:4. 3.1査询程序: 4. 3. 2非法抢答处理程序:目录4. 3. 3倒il 时程序(包括有效抢答程序): 11 4. 3. 4正常抢答处理程序: 13 4. 3. 5犯规抢答程序: 14 4. 3. 6显示程序:15 4. 3. 7延时(显示和去抖动用到): 16 4. 3. 8 TO 溢出中断(响铃程序): 17 4. 3. 9 T1溢出中断(计时程序):17 总结 18 参考文献1910 101抢答器设计功能分析r 1数字抢答器的概述对于抢答器我们大家来说都不陌生,它是用于很多竞赛场合,真正实现先抢先答,让最先抢到题的选手来回答问题。

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

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

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

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

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

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

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

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

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

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

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

第1页共21页:2方案设计该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以及显示功能的实现。

山于用了单片机,使其技术比较成熟,应用起来方便、简单并且单片机周囤的辅助电路也比较少,便于控制和实现。

整个系统具有极其灵活的可编程性,能方便地对系统进行功能的扩张和更改。

MCS-51 单片机特点如下:〈1>可幕性好:单片机按照工业控制要求设计,抵抗工业噪声干扰优于一般的CPU,程序指令和数据都可以写在ROM里,许多信号通道都在同一芯片,因此可鼎性高,易扩充。

〈2>单片机有一般电脑所必须的器件,如三态双向总线,审并行的输入及输出引脚,可扩充为各种规模的微电脑系统。

<3>控制功能强:单片机指令除了输入输出指令,逻辑判断指令外还有更丰富的条件分支跳跃指令。

原理框图如下:图2-1原理框图3硬件电路设计 3・1总体设计根据抢答器的基本功能,可以设计出如下的单片机外H 电路::I E ■[:■O,0— n•TS . DILco-iue ^T&9> ・图3-1总体设计如图3-h P3・()为开始抢答,P3.2为停止,P1.0-P1.7为八路抢答输入,数码 管段选POD,位选P2口低3位,蜂鸣器(用绿灯代替)输出为P3. 6口。

P3.2为时 间加1调整,P3.3为时间减1调整。

3・2外部振荡电路+ C? I . . 4 TTT in I - 1 XI …,,I . -x&pzL jonvBTSt r-L CM .小巳』In • UTE ::'-图3-2外部振荡电路一般选用石英晶体振荡器。

此电路在加电大约延迟lOms 后振荡器起振,在XTAL2引脚产生幅度为3Y 左右的正弦波时钟信号,其振荡频率主要山石英晶振的频率确定。

电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振 荡器的频率进行微调。

C1,C2的典型值为30PF 。

U1XI-n I —-1 XI -LhizLcfivawx r - C3 TTn 1«U・,.「匸•十.・iwr rUlTAJU ♦OMXM IO^A*3 $0 l/A>4 in^Aic H1. 1K八»7»An ,S3Meaz a ~PTO PT 1 pts PT3 pt* rt» fM6 PT? ,TS2.e rasfn Tim口ic tel.I THftDca匚U2;AU2:CZOU2:B«a西安建筑科技大学课程设讣(论文)图3-5抢答按键3・3复位电路的设计单片机的第9脚RST 为硬件复位端,只要将该端持续4个机器周期的高电平即 可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图所示:• • C1 …....= TE :T图3-3复位电路在方案中使用到了硬件复位和软件复位两种功能,山上面的硕件复位可使寄 存器及存储器的值都恢复到初始值,而前面的功能提到了倒计•时间需要有记忆功 能,该功能实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位 功能。

软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让 它跳转到程序执行的起始地址。

3・4显示电路的设计显示电路使用了七段数码管7SEG-MPX4-CG 它是共阴极的,山高电平点亮。

ABCDEFG DP 4Sd4图3-4阴极七段数码管按钮输入电路的设计抢答器的输入按钮使用常开开关,・•-Os-. ——O ・ O — ・-J —I-» —O ・ O — —Q ・ Q — …—O ,O — —・ O-—O ・ O — …JZZL.这些常开开关组成了抢答按键,硬件电路简单,在程序设讣上也不复杂,只 要在程序中消除在按键过程中产生的"毛刺"现象就可以了。

这里采用最常用的 方法即延时法,其的原理为:因为"毛刺”脉冲一般持续时间短,约为儿ms,而 按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一 段时间(这里取lOms )后再判断此电平是否保持原状态,如果是则为有效按键,否 则无效。

3・6发声这里能利用程序来控制单片机P3. 6口线反复输出高电平或低电平,即在该口线上产生一定频率的矩形波,接上扬声器就能发出一定频率的声音,再利用延时程序控制“冶r “低"电平的持续时间,就能改变输出频率,从而改变音调,使扬声器发出不同的声音。

4系统软件设计4・1程序系统结构图硬件电路确定后,软件的编程要与硬件相匹配,软硬件才能结合完成所要实现的功能。

山功能分析得到以下的软件结构图:系统初始化模块按键模块图4-1软件系统结构图4・2程序流程图整个程序主要山定时器TO、定时器T1、外部中断0和主程序构成。

定时器TO用于使扬声器发声,当需要响铃时,把响铃标志位置一,每次中断都对P3. 7取反,扬声器发声,改变定时器初值,可改变扬声器频率。

定时器程流程图如下:图4-2响铃程丿芋流程图定时器T1用于倒计时,每次中断为50",当计数标志为20时即为一秒,显示数字减一。

其流程图如下:图4-3倒计时中断流程图外部中断0用于调整倒计时时间,流程图如下:图4-4调整抢答时间流程图西安建筑科技大学课程设讣(论文)主程序协调三个中断一起工作,实现抢答功能,其流程图如下:图4-5主程序流程图西安建筑科技大学课程设讣(论文)4・3程序代码:P3.0为开始抢答,P3.1为停止,P1.0-P1.7为八路抢答输入,数码管段选P0口,位选P2的低三位口, 蜂鸣器输出为P3. 6 口。

ORG 0000H AJMP MAIN ORG 0003H AJMP INTOSUB ORG OOOBH AJMP TOINT ORG OOIBH AJMP HINT ORG 0040H MAIN: MOV R1,#OFH;初设抢答时间为15sEXl;允许四个中断,TO/Tl/INTO/INTl CLR OK CLR RING SETB TRI OK EQU 20H 抢答开始标志位 RING EQU 22H 响铃标志位 MOV R2, #OAH;初设答题时间为10s MOV 设置未定时器/模式1 MOV THO, #OFOH MOV TLO, #OFFH; 越高发声频率越高,越尖 MOV THl, #3CH MOV TL1,#OBOH; 50nis 为一次溢出中断 SETS EA SETS ETO SETB ETl SETB EXO SETBSETB TRO:一开始就运行定时器,以开始显示FFF.如果想重新计•数,<置TH1/TL1就可以了4.3.1查询程序:START: MOV R5,#0BHMOV R4, #OBHMOV R3, #OBHACALL DISPLAY;未开始抢答时候显示FFFJB P3. 0, NEXTACALL DELAYJB P3. O,NEXT;去抖动,如果"开始键〃按下就向下执行,否者跳到非法抢答査询ACALL BARK;按键发声MOV A, R1MOV R6,A;送R1-〉R6,因为R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断是否査询抢答MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序r査询有效抢答的程序〃在COUNT里面NEXT: JNB Pl.O, FALSElJNB P1. 1, FALSE2JNB P1.2,FALSE3JNB Pl. 3, FALSE4JNB Pl. 4, FALSE5JNB Pl. 5, FALSE6JNB Pl. 6, FALSE?JNB Pl. 7, FALSE8AJMP START4. 3・2非法抢答处理程序:MOV R3, #01HFALSE 1: ACALL BARK;按键发声AJMP ERROR MOV R3, #01HJNB Pl. 5, TRUE6CLR CSUBB 扎 #07HMOV 扎 ROCJNE A, SOAH, FULL; Is 中0. 5s 向下运行CLR RINGAJMP CHECKSETB RINGMOV A, R6计时完毕 MOV RO, #00H—秒标志减1AJMP CHECKMOV RO, #00HACALL DISPLAYJNB Pl. 0, TRUElJNB Pl. 1, TRUE2JNB Pl. 2, TRUESJNB Pl. 3, TRUE4JNB Pl. 4, TRUESMOV R5, 30H 取十位 MOV R4, 31H取个位 MOV A, R6JNC LARGER ;大于5s 跳到LARGER,小于等于5s 会提醒FULL:CJNE A, #14H, CHECK;Is 时,响并显示号数并清RO,重新计时 JZ QUITDEC R6LARGER: MOV 扎 ROCJNE A, #14H, CHECK如果Is 向下运行,否者跳到査"停/显示〃 DEC R6; 计时一秒R6自动减1CHECK:JNB P3. 1, QUIT;如按下停止键退出JNB Pl. 6, TRUE?西安建筑科技大学课程设讣(论文)MOV R6, A西安建筑科技大学课程设讣(论文) MOV R6, AJNB P1. 7, TRUE8AJMP RECOUNTCLR RINGACALL BARKAJMP START4 3. 4正常抢答处理程序:TRUEl: ACALL BARK;按键发声AJMP L00P2TRUE2:ACALL BARK;AJMP L00P2TRUES:ACALL BARK;AJMP L00P2TRUE4:ACALL BARK;QUIT: CLR OK如果按下了"停止键“a 新回到开始MOV A, R2MOV R3, #04HCLR OKMOV 扎R2 MOV R6,A;抢答时间R2送R6MOV R3, #01HCLR OK;MOV A, R2MOV R6, AMOV R3, #02HCLR OKMOV A, R2MOV R6, AMOV R3, #03HCLR OKTRUE5: ACALL BARK;MOV 扎R2MOV R6, AMOV R3, #05HCLR OKAJMP L00P2TRUE6: ACALL BARK;MOV A, R2MOV R6, AMOV R3, #06HCLR OKAJMP L00P2TRUE?: ACALL BARK;MOV A, R2MOV R6, AMOV R3, #O7HCLR OKAJMP L00P2TRUES: ACALL BARK;MOV A, R2MOV R6, AMOV R3, #08HCLR OKL00P2; AJMP DISPLAY ;抢答后停止计时,等待返回SETB RINGJNB P3. 1 QUITAJMP L00P24 3. 5犯规抢答程序:ERROR: SETB RING ;犯规响铃MOV R4,#0BH;显示FF和犯规号数LOOPS: ACALL DISPLAYJNB P3. 1 QUITl; 等待“停止”键按下AJMP LOOPSQUITl: CLR RINGCLR OKAJMP START4 3. 6显示程序:査表显示程序,利用PO 口做段选码口输di/P2低三位DISPLAY:MOV DPTR,#DAT1;做位选码输出MOV A, R5Move A, @A+DPTRMOV P2, #01HMOV PO, AACALL DELAYMOV DPTR, SDAT2MOV A, R4Move A, @A+DPTRMOV P2, #02HMOV PO, AACALL DELAYMOV A, R3Move A, @A+DPTRMOV P2, #04HMOV PO, AACALL DELAYRETDAT1:DB OOH, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh, OOH, 71H /灭n rn m m “5","甘、"Y、"苦、"y、〃灭 n P西安建筑科技大学课程设讣(论文)CJNEA,#63H,ADD0;如果不是99,R2加1,如果加到99 j\Rl 就置0,重新加第1页共21页:3FH, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh, OOH, 71HDAT2:DB DELAY1: MOV 35H, #08HLOOPO: ACALL DISPLAYDJNZ 35H, LOOPORET4 3・7延时(显示和去抖动用到):DELAY:MOV 32H, #12H LOOP:MOV 33H, #OAFH LOOPl:DJNZ 33H, LOOPl DJNZ 32H, LOOPRET发声程序: BARK: SETS RINGACALL DELAY1ACALL DELAY1CLR RING;按键发声 RETINTO (抢答时间R1调整程序):INTOSUB:MOV A, R1MOV B, #OAHDIV ABMOV R5, AMOV R4,BMOV R3, #OAHACALL DISPLAY ; 先在两个时间LED 上显示R1JNB P3. 2, INCO; P3. 2为+1S 键,如按下跳到INCOJNB P3. 3, DECO; P3. 3为-Is 键,如按下跳到DECOJNB P3. 4, BACKO; P3. 4为确定键,如按下跳到BACKO AJMP INTOSUBINCO: MOV A, R1西安建筑科技大学课程设讣(论文)第1页共21页:发出一定频率的声音OUT: RETI 4 3.9 T1溢出中断(计时程序):T1INT: MOV TH1, #3CHMOV TLl, #OBOHINC RORETIENDADDO: DECO: SETRl: BACKO: MOV R1, #00HACALL DELAY1AJMP INTOSUBINC R1ACALL DELAY1AJMP INTOSUBMOV A, R1JZ SETRl;如果R1 为0, R1 就置99,DEC R1ACALL DELAY1AJMP INTOSUBMOV Rl, #63HACALL DELAY1AJMP INTOSUBRETI4. 3.8 TO 溢岀中断(响铃程序):TOINT:MOV THO, #OECHMOV TLO,#OFFHJNB RING, OUTCPL P3.6RING 标志位为1时候P3・6口不短取反使喇叭西安建筑科技大学课程设讣(论文)CJNEA,#63H,ADD0;如果不是99,R2加1,如果加到99 j\Rl就置0,重新加总结通过此次的课程设计,让我更进一步的巩固了单片机的各种知识。

相关文档
最新文档