八位竞赛抢答器.docx
《八位竞赛抢答器.docx》由会员分享,可在线阅读,更多相关《八位竞赛抢答器.docx(51页珍藏版)》请在冰豆网上搜索。
八位竞赛抢答器
八位竞赛抢答器
姓名:
(电子与信息工程系电子信息工程专业09级,陕西安康725000)
指导教师:
王磊
【摘要】随着电子技术的飞速发展,基于单片机的控制系统已广泛应用于工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。
同时楼宇智能化的发展与成熟,也为基于单片机的照明控制系统的普及与应用奠定了坚实的基础。
电子智能抢答计分器在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
如果在抢答中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。
抢答组数可以在八组以内任意使用,本系统设计为模块形式采用九针插头进行连接,系统工作原理本系统采用AT89S51单片机作为核心。
【关键词】单片机;矩阵式键盘;显示;驱动;抢答。
EightoftheCompetitionforViestoAnswerFirst
Author:
Gaoke
(Grade3,Class2,MajorElectronicandInformationEngineering,ElectronicInformationEngineeringDept.,AnkangUniversity,Ankang725000,Shaanxi)
DirectedbyWanglei
Abstract:
WiththerapiddevelopmentofelectronictechnologythecontrolsystembasedonSCMhasbeenwidelyusedinindustryagricultureelectricityelectronicsintelligentbuildingsindustrymicro-computersembeddedcontrolsystemasthemainandcoreinsteadofthetraditionalcontrolSystemofconventionalelectroniccircuits.AtthesametimethedevelopmentofintelligentbuildingsandmaturitybutalsobasedonthelightingcontrolsystemMCUandpopularityofapplicationlaidasolidfoundation.PointsforelectronicsmartQiangdaQiangdaintheprocessinordertoknowwhichgrouporwhichoneplayertoanswerwemustdesignasystemtocompletethistask.IftheQiangdarelyonthevisualisverydifficulttodeterminewhichgrouptoanswer.SCMsystemusedtodesign.Qiangdabringingtheaboveproblemsareresolvedevenifthetwogroups.Qiangdathedifferenceintimeafewmicrosecondswhichcanalsobedistinguishedgroupofpriorityanswer.Qiangdagroupofeightcanwithinthearbitraryuseofthesystemdesignedtobemodularformofanine-pinplugstoconnectthesystemworkingprincipleofthesystemusedAT89S51SCMasacore.
Keywords:
SCMmodulesdisplaydrivermoduleQiangdaswitchmodules.
1引言
1.1单片机的发展史
单片机是在一块硅片上集成了各种部件的微型计算机。
随着大规模集成电路技术的发展,可以将中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)定时器\计数器以及输入/输出(I/O)接口电路等主要计算机部件,集成在一块电路芯片上。
虽然单片机只是一个芯片,但从组成和功能上,都已具有了微机系统的含义。
由于单片机能独立执行内部程序,所以又称它为微型控制器(Microcontroller)。
单片机自从问世以来,性能在不断的提高和完善,它不仅能够满足很多应用场合的需要,而且具有集成度高、功能强、速度快、体积小使用方便、性能可靠、价格低廉等特点。
因此,在工业控制、智能仪器仪表、数据采集和处理、通信、智能接口、商业营销等领域得到广泛的应用,并且正在逐步取代现有的多片微机应用系统。
单片机的潜力越来越被人们所重视,所以更扩大了单片机的应用范围,也进一步促进了单片机技术的发展,单片机的发展史大致可分为三个阶段。
第一阶段(1976-1978):
初级单片机微处理阶段。
该时期的单片机具有8位CPU,并行I/O端口、8位时序同步计数器,寻址范围4KB,但是没有串行口。
第二阶段(1978-1982):
高性能单片机微机处理阶段,该时期的单片机具有I/O串行端口,有多级中断处理系统,15位时序同步技术器,RAM、ROM容量加大,寻址范围可达64KB。
第三阶段(1982-至今):
8位单片机微处理改良型及16位单片机微处理阶段。
1.2单片机的应用
由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。
它的应用遍及各个领域,主要表现在以下几个方面:
(1)单片机在智能仪表中的应用
单片机广泛地用于各种仪器仪表,使仪器仪表智能化,并可以提高测量的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。
(2)单片机在机电一体化中的应用
机电一体化是机械工业发展的方向。
机电一体化产品是指集成机械技术、微电子技术、计算机技术于一体,具有智能化特征的机电产品,例如微机床、钻床等。
单片机作为产品中的控制器,能充分发挥它的体积小、可靠性高、功能强等优点,可大大提高机器的自动化、智能化程度。
(3)单片机在实时控制中的应用
单片机广泛地用于各种实时控制系统中。
例如,在工业测控、航空航天、尖端武器、机器人等各种实时控制系统中,都可以用单片机作为控制器。
单片机的实时数据处理能力和控制功能,可使系统保持在最佳工作状态,提高系统的工作效率和产品质量。
(4)单片机在分布式多机系统中的应用
在比较复杂的系统中,常采用分布式多机系统。
多机系统一般由若干台功能各异的单片机组成,各自完成特定的任务,它们通过串行通信相互联系、协调工作。
单片机在这种系统中往往作为一个终端机,安装在系统的某些节点上,对现场信息进行实时的测量和控制。
单片机的高可靠性和强抗干扰能力,使它可以置于恶劣环境的前端工作。
(5)单片机在人类生活中的应用
自从单片机诞生以后,它就步入了人类生活,如洗衣机、电冰箱、电子玩具、
收录机等家用电器配上单片机后,提高了智能化程度,增加了功能,倍受人们喜
爱。
单片机将使人类生活更加方便、舒适、丰富多彩。
1.3单片机发展趋势
目前,单片机正朝着高性能和多品种方向发展,其发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势:
(1)CMOS化
近年,由于CHMOS技术的进小,大大地促进了单片机的CMOS化。
CMOS芯片除了低功耗特性之外,还具有功耗的可控性,使单片机可以工作在功耗精细管理状态。
这也是今后以80C51取代8051为标准MCU芯片的原因。
因为单片机芯片多数是采用CMOS(金属栅氧化物)半导体工艺生产。
CMOS电路的特点是低功耗、高密度、低速度、低价格。
采用双极型半导体工艺的TTL电路速度快,但功耗和芯片面积较大。
随着技术和工艺水平的提高,又出现了HMOS(高密度、高速度MOS)、CHMOS工艺以及CHMOS和HMOS工艺的结合。
目前生产的CHMOS电路已达到LSTTL的速度,传输延迟时间小于2ns,它的综合优势已大于TTL电路。
因而,在单片机领域,CMOS电路正在逐渐取代TTL电路。
(2)低功耗化
单片机的功耗已从mA级,甚至1uA以下;使用电压在3~6V之间,完全适应电池工作。
低功耗化的效应不仅是功耗低,而且带来了产品的高可靠性、高抗
干扰能力以及产品的便携化。
(3)低电压化
几乎所有的单片机都有WAIT、STOP等省电运行方式。
允许使用的电压范围越来越宽,一般在3~6V范围内工作。
低电压供电的单片机电源下限已可达1~2V。
目前0.8V供电的单片机已经问世。
(4)低噪声与高可靠性
为提高单片机的抗电磁干扰能力,使产品能适应恶劣的工作环境,满足电磁兼容性方面更高标准的要求,各单片厂家在单片机内部电路中都采用了新的技术措施。
1.4数字时钟方案论证比较
1.4.1数字电路与单片机性能比较
数字时钟系统可采用数字电路实现,也可以采用单片机来完成。
若用数字电路完成,所设计的电路相当复杂,大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。
若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用AT89S52单片机,它是低功耗、高性能的CMOS型8位单片机,内带有8KB的Flash程序存储器,且允许在系统内改写或用编程器编程。
另外,AT89C51系统和引脚与8051完全兼容,片内有256B的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,由此可见使用单片机作为数字时钟的核心器件将更加具有快捷、高效的性能。
1.4.2单片机编程时钟与时钟芯片性能比较
在单片机系统的应用过程中,经常需要一个时钟电路定时、测控之用;数字时钟的实现方法有很多种,最简单的就是利用单片机中都集成的定时器,通过软件编程来构成一个时钟来使用,但是基于这种方法,由于定时器工作在中断方式,它会频繁地中断CPU的工作。
每次开机都要重新设置标准时间,使用不方便而且还占用单片机的定时器资源,单片机直接编程做时钟电路虽然节省成本,但功能却有许不足,而且单片机工作不是很稳定,容易出现死机、跑错等等,电路一复位就又要从新调整时间,显然这在实际情况中是很麻烦的,与社会的主流发展——智能化,不相符合。
但是美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟电路DS1302,它可以对年、月、日、周、日、时、分、秒进行计时,且具有闰年补偿等多种功能。
采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能,因此我们在这里将会采用采用DS1302作为我们单片机数字时钟的时钟芯片。
2系统的硬件设计与实现
2.1系统概述
蜂鸣器
本系统是由AT89C51控制核心,系统总体设计图如下。
图1系统总体框图
2.2模块电路的设计
2.2.1复位电路
复位电路如图2。
图3复位电路
该复位电路采用上电自动复位和手动复位两种复位方式,图中网络标号所指9连接到单片机的复位引脚。
要实现复位只需在,51系列单片机的RESET引脚上加上5ms的高电平就可以了。
上电复位是利用电容的充电来实现的,即上电瞬间RESET端的电位与Vcc相同,随着电容上储能增加,电容电压也逐渐增大,充电电流减小,RESET端的电位。
这样就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲的持续时间进行调节。
通常若采用12MHz的晶振时,复位元件参数为22μF的电解电容和10kΩ的电阻。
按钮复位电路是通过按下复位按钮时,电源对RESET端维持两个机器周期的高电平实现复位的。
2.2.2晶振电路
晶振电路设计如图3。
图3晶振电路
MSC-51单片机的定时控制功能是用时钟电路和振荡器完成的,而根据硬件电路的不同,连接方式分为内部时钟方式和外部时钟方式。
本设计中采用内部时钟方式。
单片机内部有一个反相放大器,XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。
时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。
一般来说单片机内部有一个带反馈的线性反相放大器,外界晶振(或接陶瓷振荡器)和电容就可组成振荡器,如图2-2所示。
加电以后延时一段时间(约10ms)振荡器产生时钟,不受软件控制,图中Y1为晶振,震荡产生的时钟频率主要由Y1确定。
电容C1,C2的作用有两个:
一是帮助振荡器起振,二是对振荡器的频率起微调作用,典型值为30pF。
2.2.3数码管电路
数码管电路如图4
图4数码管显示
2.3总体电路设计
下图为总体电路设计图,如图5.1和图5.2所示。
XTAL1、XTAL2分别为反相放大器的输入端和输出端,外接定时反馈元件组成振荡器(内部时钟方式),产生时钟送至单片机内部各元件。
RST连接复位电路
P0口控制数码管段代码
P2口的低三位,控制数码管位选
P3口:
P3.0接开始按钮
P3.1接停止按钮
P3.2接抢答时间调整
P3.3接回答时间调整
P3.4接加1
P3.5接减1
P3.6接喇叭
图5.1单片机电路图
图5.2总体电路
3系统的软件
3.1程序功能
抢答器程序主要完成以下的功能:
1、如果想调节抢答时间或答题时间,按"抢答时间调节"键或"答题时间调节"键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按一下"加1s"键,如果想减一秒按一下"-1s"键,时间LED上会显示改变后的时间,调整范围为0s~99s,0s时再减1s会跳到99,99s时再加1s会变到0s。
2、主持人按"抢答开始"键,会有提示音,并立刻进入抢答倒计时(预设30s抢答时间),如有选手抢答,会有提示音,并会显示其号数并立刻进入回答倒计时(预设60s抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。
倒数时间到小于5s会每秒响一下提示音。
3、如倒计时期间,主持人想停止倒计时可以随时按"停止"按键,系统会自动进入准备状态,等待主持人按"抢答开始"进入下次抢答计时。
4、如果主持人未按"抢答开始"键,而有人按了抢答按键,犯规抢答,LED上不断闪烁FF和犯规号数并响个不停,直到按下"停止"键为止。
5、P3.0为开始抢答,P3.1为停止,p1.0-p1.7为八路抢答输入数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。
P3.2抢答时间调整结,P3.3回答时间调整,P3.4为时间加1调整,P3.5为时间减1调整。
3.2编程思路
抢答器的工作原理是利用单片机的定时器T0、T1中断完成,其余状态循环调用显示子程序,用4个共阴极LED数码管来显示,用P0口作为数码管的八个段选,用P2口中的P2.0、P2.1、P2.2、作为4个数码管其中3个位选,P1口接8个按键,提供选手抢答,P3.0-P3.5四个接四个按键,提供开始、结束、答题时间调整、枪答时间调整,加1、减1调整之用。
3.3程序设计流程图
系统主程序首先对系统进行初始化,主程序如图6所示。
图6程序流图
此程序的及时采用定时器T0和T1中断完成,其余状态循环调用显示子程序。
(代码见附录1)
3.3.1显示子程序的设计
由于采用软件动态扫描实现数据显示,显示用十进制BCD码的数据对应段码存放在ROM表中。
显示时,先取出70H~75H某一地址中的数据,然后查得对应的显示段码从P0口输出。
P2口将对应的数码管选中,就能显示该地址单元的数据值。
(代码见附录1)
3.3.2定时器T0、T1中断服务程序的设计
定时器T0用于响铃程序,定时器T1用于计时程序。
当答题剩余5秒种时P3.6口不断取反使喇叭发出一定频率的声音,提示选手,如下图所示。
(代码见附录1)
图7中断服务程序设计
3.3.3抢答处理程序的设计
当有选手第一个按下抢答器按扭时数码管显示选手号码,开始倒计时,并锁定抢答。
当在此选手之后再有选手按下按扭时无效,数码管不变。
流程如图8所示。
(代码见附录1)
图8抢答处理
4仿真软件ProteusISIS使用方法简单介绍
4.1简介
Proteus软件是一款强大的单片机仿真软件,对于单片机学习和开发帮助极大。
ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和数字集成电路,包括单片机。
在单片机课程中我们主要利用它实现下列功能:
绘制硬件原理图,并设置元件参数。
仿真单片机及其程序以及外部接口电路,验证设计的可行性与合理性,为实际的硬件实验做好准备。
如有必要可以利用它来设计电路板。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,可以实现从构想到实际项目完成全部功能。
图9ProteusISIS集成环境
图10ISIS主窗口
界面介绍:
双击桌面上的ISIS7Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus7Professional”→“ISIS7Professional”,出现如图4-1所示屏幕,表明进入ProteusISIS集成环境。
进入之后的界面类似如图:
4.2简单项目设计过程
建立新项目:
启动软件之后,首先,新建一个项目。
点击菜单:
File→NewDesign,如图11所示,即可出现如图12所示的对话框,以选择设计模板。
一般选择A4图纸即可,点击OK,关闭对话框,完成设计图纸的模板选择,出现一个空白的设计空间。
图11新设计图12选模板
这时设计名称为UNTITLED(未命名),你可以点击菜单file→savedesign来给设计命名。
也可以在设计的过程中任何时候命名。
调入元件:
在新设计窗口中,点击对象选择器上方的按钮P(如图13所示),即可进入元件拾取对话框,如图14所示。
图13调入元件
图14查找元件
要其他元件,还可以再次调入。
设计原理图放置元件:
在对象选择器中的元件列表中,单击所用元件,再在设计窗口单击,出现所用元件的轮廓,并随鼠标移动,找到合适位置,单击,元件被放到当前位置。
至此,一个元件放置好了。
继续放置要用的其他元件。
移动元件:
如果要移动元件的位置,可以先右击元件,元件颜色变红,表示被选中,然后拖动到需要的位置放下即可。
放下后仍然是红色,还可以继续拖动,直到位置合适,在空白在图14所示的对话框左上角,有一个Keywords输入框,可以在此输入要用的元件名称(或名称的一部分),右边出现符合输入名称的元件列表。
我们要用的单片机是AT89C52,输入AT89C,就出现一些元件,选中AT89C52,双击,就可以将它调入设计窗口的元件选择器。
在Keywords中重新输入要用到的元件,比如LED,双击需要用的具体元件,比如LED-YELLOW,调入。
继续输入,调入,直到够用。
点击OK,关闭对话框。
以后如果需处单击鼠标左键,取消选中。
移动多个元件:
如果几个元件要一起移动,可以先把它们都选中,然后移动。
选中多个元件的方法是,在空白处开始,点击左键并拖动,出现一个矩形框,让矩形框包含需要选中的元件再放开,就可以了。
如果选择的不合适,可以在空白处单击,取消选中,然后重新选择。
图15选中多个元件
移动元件的目的主要是为了便于连线,当然也要考虑美观。
连线:
就是把元件的引脚按照需要用导线连接起来。
方法是,在开始连线的元件引脚处点击左键(光标接近引脚端点附近会出现红色小方框,这时就可以了),移动光标到另一个元件引脚的端点,单击即可。
移动过程中会有一根线跟随光标延长,直到单击才停住(图16)。
(a画线开始)(b划线中)(c画线完毕)
图16画线过程
在第一根线画完后,第二根线可以自动复制前一根线,在一个新的起点双击即可。
如图17所示。
a新的起点双击b很快画完
图17自动复制前一根线
注意:
如果第二根线形状与第一根不同,那可不能自动复制,否则会很麻烦。
修改元件参数:
电阻电容等元件的参数可以根据需要修改。
比如限流电阻的阻值应该在200到500欧姆左右,上拉电阻应该在几千欧姆。
以修改限流电阻排为例,先单击或右击该元件以选中,然后再单击,出现对话框如图图18所示。
在ComponentValue:
后面的输入框中输入阻值200(单位欧姆),然后点击OK按钮确认并关闭对话框,阻值设置完毕。
图18修改电阻值
添加电源和地线:
在左边工具栏点击终端图标
,即可出现可用的终端,图17-a所示。
在对象选择器中的对象列表中,单击POWER,图17-b所示,在预览窗口出现电源符号,在需要放置电源的地方单击,即可放置电源符号,如图17-c所示。
放置之后,就可以连线了。
放置接地符号(地线)的方法与放置电源类似,在对象选择列表中单击GROUND,然后在需要接地符号的地方单击,就可以了。
注意:
放置电源和地之后,如果又需要放置元件,应该先点击左边工具栏元件
图标,就会在对象列表中出现我们从元件库中调出来的元件。
a选择端口b选择电源符号c放置电源符号
图19添加电源和地
添加程序:
单片机应用系统的原理图设计完成之后,还要设计和添加程序,否则无法仿真运行。
实际的单片机也是这样。
在原理图中点击单片机以选中,再次点击打开元件编辑对话框,如图20所示。
图20编辑单片机—添加机器码程序
在图中看到:
在ProgramFile:
后边的方框里显示P1P2.HEX,说明机器码已经装入。
如果没有装入,这里将是空白。
这时可以点击其右边的打开文件图标
,查找并选中机器码文件即可。
这样,就可以在仿真时执行程序。
4.3仿真执行
Program软件可以仿真模拟电路和数字电路,还可以仿真若干型号的单片机。
我们使用的目的主要就是仿真单片机和外围的接口电路。
这里简要介绍MCS-51单片机和部分接口电路的仿真过程,其他方面的内容请自行查找资料。
5系统组装与调试
系统组装与调试分为硬件的组装调试和软件的调试,硬件的组装与调试侧重于原理设计的正确性验证和印刷电路板的工艺性错误的检测;软件的调试则侧重于子模块的功能验证和模块与模块的接口配合。
5.1硬件系统的组装与调试
硬件组装前首先要仔细核对硬件系统设计原理的正确性,包括参数选用的正确性和原理的正确性,对没有把握的电路可以通过在通用实验板上直接焊接实际电路来进行实物调试和验证,调试分为断电调试和通电调试。
(1)断电调试
为了安全起见,首先必须进行断电调试,断电调试的内容至少包含短路检测和原理正确性确认;系统电路焊接完成后,首先对实物进行原理正确性的确认,其次必须进行短路检测,选用合适的万用表欧