




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计摘 要 随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C51RC单片机为核心的八路智能抢答器。我们采用了数码管直接指示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间
2、相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。本设计是以八路智能抢答为基本理念。考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,蜂鸣器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。关键词:STC89C51RC 4;数码管;按键 目录引
3、言1引言31.设计背景41.1课题背景41.2设计内容41.2.1基本功能42智能抢答器简介52.1方案选择52.2系统设计原理53系统组成硬件部分53.1电源的设计53.2单片机最小系统53.3数码管显示电路93.4按键输入电路103.5报警电路124系统组成软件部分124.1proteus软件简介125电路仿真结果14参考文献16附录:源程序代码1729引言最近几年来,随着科技的飞速发展,单片机领域正在不断的走向社会各个角落,还带动传统控制检测日新月异更新。在实时运作和自动控制的单片机应用到系统中,单片机如今是作为一个核心部件来使用,仅掌握单片机方面知识是不够的,还应根据其具体硬件结构,以
4、及针对具体应用对象特点的软件结合,加以完善。“单片机原理及应用课程设计”是电子类专业的学科基础科,它是继“汇编语言程序设计”,“接口技术”等课程之后开出的实践环节课程。1.设计背景1.1课题背景由于现在社会竞争力加大,竞赛类项目十分流行,而其中用到的抢答器更是热销,而市场上的抢答器多售价太高,结构复杂,因此我们准备设计一款基于单片机的智能抢答器。该抢答器结构简单,功能也是十分简洁。1.2设计内容 1.2.1基本功能1、同时供8名选手比赛,分别用8个按钮K1 K8表示。2、设置一个由主持人控制的的开始抢答开关K0。3、抢答器开始工作,在主持人按下抢答按钮K0后,数码管显示抢答倒计时。当某一选手最
5、先按下自己的按钮,则数码管显示该选手号数,表示该选手抢答成功。在主持人按下开始按钮之前按下抢答按钮的动作无效,并且会引发蜂鸣器报警。4、同时该设计还可以使抢答倒计时由主持人自行更改。 5、参赛选手在规定时间内抢答成功的,则数码管会显示该选手号数和抢答的时间。如果没有人抢答,则本次抢答无效,系统会报警并禁止抢答。2智能抢答器简介2.1方案选择针对所要实现的功能,我们选用由STC89C51芯片组成的八路智能抢答系统。2.2系统设计原理以STC89C51RC单片机为核心,起着控制作用。系统包括LED显示电路、复位电路、时钟电路、按键输入电路。设计思路分为五个模块:复位电路、晶振电路模块、STC89C
6、51RC、LED显示电路和按键输入电路这五个模块。3系统组成硬件部分3.1电源的设计系统电源使用外接直流5V3.2单片机最小系统51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的为单片机之一。单片机是在一块芯片内集成了CPU、RAM、ROM、定时器计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。51系列单片机内包含以下几个部件:一个位CPU;一个片内振荡器及时钟电路;4KB的ROM程序存储器;一个128B的RAM数据存储器;寻址64KB外部数据存储器和64
7、KB外部程序存储空间的控制电路;32条可编程的I/O口线;两个16位定时计数器;一个可编程全双工串行口;个中断源、两个优先级嵌套中断结构。如图2-2-1所示为STC89C51RC单片机基本构造,其基本性能介绍如下:STC89C51RC本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,3个16位可编程定时计数器,2个全双工串行通信口,STC89C51RC可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。图2-2-1 STC89C51RC单片机STC89C51RC的主要
8、特性如下表所示:表2-2-1 STC89C51RC主要功能描述兼容MCS51指令系统32个可编程I/O线4k字节可编程闪烁存储器可编程UARL通道三个16位可编程定时/计数器中断时钟频率0-24MHz2个外部中断源,共8个中断源256×8bit内部RAM2个读写中断口线可直接驱动LED软件设置睡眠和唤醒功能低功耗空闲和掉电模式STC89C51RC为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控
9、制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口
10、,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通
11、过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)
12、。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash 闪速存储器
13、编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个AL脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE激活。此外
14、,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C51RC由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许
15、电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器的输出端及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。图2-2-2 单片机最小系统单片机最小系统说明:时钟信号的产生:在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,这就是单片机的时钟振荡电路。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。一般地,电容C2和C3取30pF左右,晶体的振荡频率范围是1.2-12MH
16、z。如果晶体振荡频率高,则系统的时钟频率也高,单片机的运行速度也就快。单片机复位使CPU和系统中的其他功能部件都处在一个确定的初始状态下,并从这个状态开始工作。单片机复位条件:必须使9脚加上持续两个机器周期(即24个振荡周期)的高电平。、3.3数码管显示电路显示系统采用四位一体数码管来显示,LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阳极连在一起,如图(图2-2-4)所示。这样,一个LED数码
17、管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。为方便起见,本文主要讨论八段LED数码显示管,其他类形的显示管与其类似。图 LED数码管LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如 H,G,F,E,D,C,B,A全亮显示为8,采用共阴极连接驱动代码,代码表如下表(表2-2-2)所示。表2-2-2 驱动代码表显示数值H,G,F,E,D,C,B,A驱动代码0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH60111110
18、17DH70000011107H8011111117FH9011011116FH3.4按键输入电路图2-2-4 按键电路按键是由一组按压式或触摸式开关构成的阵列,是一种常用的输入设备。键盘可分为编码式键盘和非编码式键盘两种。1.编码键盘通过硬件电路产生被按按键的键码,这种键盘所需程序简单,但硬件电路复杂、价格昂贵通常不被单片机系统采用。2.非编码键盘常用一些按键排列成行列矩阵,其硬件逻辑与按键编码不存在严格的对应关系,而要由所用的程序来决定。非编码键盘的硬件接口简单,但是要占用较多的CPU时间,通常采用可编程键盘管理芯片来克服这个缺点。本设计使用两种按键,一种是按键式非编码键盘和轻触式非编码开
19、关。在接线时由于有四个引脚,连接时需要用万用表进行测量,然后接通两个引脚,原理图如下。要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。3.5报警电路图2-2-5 报警电路4系统组成软件部分4.1proteus软件简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS23
20、2动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。(2)支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。(3)提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。(4)具有强大的原理图绘制功能。可以仿真51系列、
21、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。 PROTEUS 是单片机课堂教学的先进助手。 PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬
22、件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。5电路仿真结果图2-2-6抢答器初始状态图2-2-7 抢答开始后6号抢答成功,并显示其抢答时的剩余时间图2-2-8六号的回答倒计时开始计时图2-2-9元件清单参考文献1孙育才.单片微型计算机及其应用. 南京:东南大学出版社.20042潘新民
23、 王燕芳.微型计算机控制技术. 北京:电子工业出版社2003 4李群芳.单片机原理及接口技术.北京:电子工业出版社,20085李光飞.单片机课程设计实例指导.北京:北京航空航天大学出版社,2004附录:源程序代码#include<regg51.h>typedef unsigned char uchar;typedef unsigned int uint;sbit K0=ff0;/开始抢答按键sbit beep=gg0;/蜂鸣器sbit K1=ee0;/1号选手抢答按键sbit K2=ee1;/2号选手抢答按键sbit K3=ee2;/3号选手抢答按键sbit K4=ee3;/4号选
24、手抢答按键sbit K5=ee4;/5号选手抢答按键sbit K6=ee5;/6号选手抢答按键sbit K7=ee6;/7号选手抢答按键sbit K8=ee7;/8号选手抢答按键sbit S1=ff1;/答题计时键sbit S2=ff2;/开始抢答时间调整键sbit S3=ff3;/答题计时时间调整键char s;uchar num=0;char time1;/抢答时间char time2;/答题限时时间uint m,n;/T0,T1定时器定一秒时bit flag1,flag2,flag3,flag4;/标志位bit aa,bb;/时间调整标志位/延时子函数void delay(uint z)
25、uint x,y;for(x=z;x>0;x-)for(y=120;y>0;y-);uchar code table1=/共阴数码管段码值0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code table2=/共阴数码管位码值0x7f,0xbf,0xdf,0xef;/初始化子函数void init()TMOD=0x11;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-2000)/256;TL1=(65
26、536-2000)%256;ET0=1;ET1=1;EA=1;dd=0x00;time1=10;time2=10;flag2=1;beep=0;/开始键扫描子函数void key1()uchar i=100;if(K0=0)delay(10);if(K0=0)while(K0=0&&i)i-;delay(10);TR0=1;s=time1;m=0;flag1=1;flag2=1;flag3=1;num=0;beep=0;flag4=0;/清除违规标志位aa=0;bb=0;/选手抢答按键扫描子函数void key() uchar i=100;if(K1=0)delay(10);i
27、f(K1=0)while(K1=0&&i)i-;delay(10);num=1;/数码管显示1号"1"TR0=0;/关闭定时器0,时间停止TR1=1;/打开定时器1,使扬声器响一声flag2=0;/关闭开始键标志位,使再按其他七个键不会响应if(K2=0)/下面七个键的处理同上delay(10);if(K2=0)while(K2=0&&i)i-;delay(10);num=2;TR0=0;TR1=1;flag2=0;/重要if(K3=0)delay(10);if(K3=0)while(K3=0&&i)i-;delay(10);
28、num=3;TR0=0;TR1=1;flag2=0;if(K4=0)delay(10);if(K4=0)while(K4=0&&i)i-;delay(10);num=4;TR0=0;TR1=1;flag2=0;if(K5=0)delay(10);if(K5=0)while(K5=0&&i)i-;delay(10);num=5;TR0=0;TR1=1;flag2=0;if(K6=0)delay(10);if(K6=0)while(K6=0&&i)i-;delay(10);num=6;TR0=0;TR1=1;flag2=0;if(K7=0)delay
29、(10);if(K7=0)while(K7=0&&i)i-;delay(10);num=7;TR0=0;TR1=1;flag2=0;if(K8=0)delay(10);if(K8=0)while(K8=0&&i)i-;delay(10);num=8;TR0=0;TR1=1;flag2=0;/数码管显示子函数void display()if(flag1=1)/开始键按下,开始计时抢答if(num!=0)/如果有人抢答,则显示相应的几号dd=table1num;/显示几号抢到了ff=table20;delay(2);dd=0;ff=0xff;else/否则没人抢答,
30、则前面不显示几号dd=0x00;ff=0xff;dd=table1s/10;/下面为显示抢答倒计时ff=table21;delay(2);dd=0;ff=0xff;dd=table1s%10;ff=table22;delay(2);ff=0xff;dd=0x00;else/如果开始键没有按下,则显示F FF(若有违规者,则显示违规号码及 FF)或时间调整if(flag4=1)/违规显示if(num!=0)dd=table1num;/显示几号违规了ff=table20;delay(2);dd=0x00;ff=0xff;dd=table115;/下面显示 FF,表示违规了ff=table21;de
31、lay(2);dd=0x00;/消隐ff=0xff;dd=table115;ff=table22;delay(2);dd=0x00;ff=0xff;elsedd=0x00;ff=0xff;else/没有人违规才显示调整时间if(aa=1)dd=0x76;/第一位数码管显示"5(S)"(表示抢答时间调整)ff=table20;delay(2);dd=0x00;ff=0xff;dd=table1time1/10;/下面显示调整的抢答时间ff=table21;delay(2);dd=0x00;ff=0xff;dd=table1time1%10;ff=table22;delay(2
32、);dd=0x00;ff=0xff;else if(bb=1)dd=0x38;/第一位与第二位数码管合起来显示"T",表示答题时间调整ff=table20;delay(2);dd=0x00;ff=0xff;dd=table1time2/10;ff=table21;delay(2);dd=0x00;ff=0xff;dd=table1time2%10;ff=table22;delay(2);dd=0x00;ff=0xff;else/否则显示F FFdd=table115;ff=table20;delay(2);dd=0x00;dd=table115;ff=table21;delay(2);dd=0x00;/消隐ff=0xff;dd=table115;ff=table22;delay(2);dd=0x00;ff=0xff;/调整时间键扫描子函数void key2()uc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子商务专业毕业生就业能力测试试题及答案
- 2025年公共政策分析师考试试题及答案
- 2025年海洋科学与技术专业考试试题及答案
- 基因编辑技术临床试验数据合作协议
- 虚拟偶像IP与教育培训合作运营协议
- 民航物流运输车队委托调度与机场保障服务协议
- 新能源汽车换电站土地使用权及设备租赁综合协议
- 直播电商MCN机构与短视频平台合作推广协议
- 娱乐直播平台用户体验设计师劳务合同
- 《CD制造流程》课件
- 2025年二级风力发电运维值班员职业技能鉴定考试题库(浓缩500题)
- 江苏省南京市、盐城市2025届高三年级5月第二次模拟考试化学试题及答案(南京盐城二模)
- 2025新能源汽车技术的应急管理策略试题及答案
- 八年级下学期家长会课件《携手同行共筑梦想》
- 建筑劳务分包合同中的税务问题3篇
- 2024-2025人教版一年级下册数学期末考试卷附答案 (三套)
- 消防作战训练安全常识及灾情处置考试题库
- 教育培训机构加盟经营合同书
- 2025年人教版小学二年级下册奥林匹克数学竞赛测试卷(附参考答案)
- 中央2025年国家民委直属事业单位招聘48人笔试历年参考题库附带答案详解
- 2025年北京市丰台区九年级初三一模英语试卷(含答案)
评论
0/150
提交评论