版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于eda技术的抢答器设计与实现 摘 要:本设计基于常用的eda工具proteus软件,以atmega16a单片机为核心芯片的八路数字抢答器系统,该系统满足了来自三方面的需求和解决了一个核心问题,这三个方面分别是抢答计时模式、表决模式,计分查询模式;核心问题是解决了8 个抢答选手按键的“自锁”与“互锁”操作,即系统要保存好成功实现抢答操作的第一按键信息,与此同时要屏蔽抢答期间其他抢答按键操作,以保证每一轮的抢答操作只有一名选手能够成功实现抢答。经过调试和运行使该系统达到预期目标,具有反应快、功能齐全、实用性和扩展性强的等特点。关键词:eda技术;proteus;抢答器;atmega16a;a
2、bstract:this design is based on commonly used eda tools proteus software, eight digital responder system to atmega16a microcontroller core chip, the system to meet the demand from the three aspects and resolve a core issue in these three areas are the answer in timing mode mode of voting, scoring qu
3、ery mode; the core problem is to solve the 8 responder player button "self-locking "and" inter-lock "operation, the system you want to save the successful answer in the operation of the first key information at the same time to be during the shield responder responder button oper
4、ation, to ensure that the responder operations in each round only one player is able to successfully achieve responder. after commissioning and operation of the system to achieve the desired goal, with a fast response, fully functional, usability and scalability characteristics.keyword:eda technolog
5、y; the proteus; responder; atmega16a;1 引言对于8路智能抢答器目前主要的的设计方法有模拟电路设计、数字电路设计、模拟电路和数字电路相结合设计、单片机设计、硬件描述语言vhdl设计。20世纪90年代,计算机和电子技术较为先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大的成功。在电子设计领域、可编程逻辑器件(如fpga)的广泛普及给数字系统的设计带来了极大地灵活性。对于可编程逻辑器件,设计人员可利用价格低廉的软件工具快速开发、仿真和测试其设计。然后,可快速将设计编程到器件中,并立即在实际运行的电路中对设计进行
6、测试。可编程逻辑器件的出现极大地改变了传统的数字电路系统的设计理念,提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。基于可编程逻辑器件设计的系统在克服了使用数字电路和模拟电路设计系统硬件电路复杂、成本较高的问题的同时,也克服了单片机i/o端口不足的问题,最终本设计已做成实物。2 系统概述2.1设计要求1)系统要具有鉴别锁存,抢答计时,计分电路,扫描显示四个方面的功能;2)方案成本低,软件编写简易,可扩展性强。3)核心芯片型号种类多、可靠性较高、灵敏可靠2.2系统的主要功能本设计主要实现三个功能抢答计时模式、表决模式,计分查询模式。单片机启动以后首先进入30秒倒计时,led按1秒速度流动
7、闪亮30秒,每秒响一短嘀,可用于检查计时器以及各位选手的指示灯是否正常。当主持人按下抢答键后抢答才有效,否则视为违规。超过30秒未抢答,此轮抢答作废:声响四长声。解决的主要功能有鉴别锁存,答题计时,计分电路,扫描显示四个方面。:1)鉴别锁存的关键是准确判断出第一抢答者并将其锁存,实现的方法是通过软件的方式,解决8 个抢答选手按键的“自锁”与“互锁”操作;2)抢答计时模块的任务是当主持人启动这个计时开关时开始计时;如果在主持人按下启动键后抢答则抢答有效,如果主持人未按下启动键,则抢答无效。计时器从规定的时间倒计时,计时为零时计时结束。3)计分电路主持人判定答题有效则加分,如无效则按照设定不加分或
8、者扣分。并将分数显示在计分屏幕上。4)扫描显示是计分结果通过扫描并显示出来于屏幕上,抢答者和观众则通过显示屏幕上的分数来判别竞赛都之间的成绩。系统的主要的功能模块方框图如下:复位抢答模式响声电路计分查询模式表决模式4位七段数码显示atmega 16aled灯显示8路抢答器输入按钮图1 系统的主要的功能模块方框图单片机是整个抢答器的核心,内部程序设计采用c语言编写。它完成抢答号码的译码、保存、输出显示;选手计分、保存、查询、输出显示;抢答第一信号的识别,违规报警;抢答计时等功能。本设计中,有一个共阳的数码管组。其中有两个显示时间,一个空着,一个显示抢答号。2.3系统的工作流程系统的工作原理:整个
9、系统实现三种功能,即抢答模式、表决模式、计分查询模式。每种模式有不同的工作流程,系统初始化以后首先进入抢答模式,倒计时30秒 整个工作流程如下图所示初始化程序运行进入倒计时表决键按下查询键按下启动键未按下有选手抢答启动键按下先显示组别号 延时一秒 然后显示分数 流水灯开始闪烁停止返回等待进入表决模式当表决键按下时对应的led灯点亮 数码管显示选手号数码管显示时间30秒倒计时开始显示违规选手号码并伴有响2短声倒计时结束超时报警四声长响有选手抢答启动键按下显示选手号码 一声短响表决复位键按下显示30 停止等待启动键按下答题完毕 由裁判决定答题是否正确错误 不加分 等待下一次抢答正确 加十分保存 等
10、待下一次抢答图2系统的工作流程3 硬件系统的设计硬件系统与软件系统的设计,两者相互结合,不可分离,随着eda技术的不断发展,使软硬件协同设计 3 思想解决上述问题成为可能。本系统就是基于proteus软件采用该思想进行硬件系统的设计。当然我们在硬件电路初步设计时也应该考虑以下几个方面:(1) 尽可能采用功能强的芯片, (2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用atmega16a单片机。(4) 多留一些空间ram空间,增强软件数据处理功能。(5) i/o端口沉余:预留出一些i/o端口,虽然当时空着没用,那么用的
11、时候就派上用场了。3.1硬件系统的详细设计与实现方法本系统划分为6个模块,每个模块负责的功能相对专一。整个抢答器的硬件系统如下图示:图3 抢答器的硬件系统3.2.1 抢答电路的设计独立键盘的接法是单片机测控系统中最常用的,它是指直接用i/o线构成的单个按键电路。相对于矩阵键盘,独立键盘每个按键占一个i/o口线,所以每根i/o口工作状态不受其它i/o口影响其次是消除在按键过程中产生的“毛刺” 现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10m
12、s)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。本设计的按键主要有:抢答按钮07 八个按键,一个启动/错误键、一个正确键键、一个表决键、一个计分查询键/表决复位键。按键的触点在闭合和断开时都会产生抖动,这时触点的逻辑电平是不稳定的,不妥善处理将会引起按键命令的重复执行或错误执行。现在常用采用软件延时的方法消除抖动影响,这一延时时间通常要大于5ms,可取10-20ms之间。当监控程序中的读键操作是在主程序(后台程序)或键盘中断(外部中断)子程序中时,那该延时子程序可直接插入读键过程之中。3.2.2 显示电路的设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下
13、提供尽可能丰富的信息,全靠软件来解决。根据驱动方式,数码管分为静态显示和动态显示两类。静态显示:静态驱动又叫直流驱动。静态驱动是指每个数码管段码都要一个单片机的i/o端口进行驱动,或者二-十进制译码器译码驱动。它的优点在于编程简单,显示亮度高,但不足之处是占用i/o端口多。动态显示驱动:单片机中应用较多的一种显示方式之一就是数码管动态显示,动态驱动是把数码管的"a,b,c,d,e,f,g,dp"8个显示码的同名端被组合一起,且每一个数码管的公共极增加控制位选通电路,位选通由各自相互独立的i/o线控制,当字形码由单片机输出时,所有数码管接收到相同的字形码,那个数码管会显示出字
14、形取决于单片机对位选通电路的控制。通过查表法,将其在数码管上显示出来,其中p0口为字型码输入端,p2口低3位为字选段输入端。在这里我们通过查表将字型码送给7段数码管显示的数字,电路图如下所示:段码端口连接pc(07)口,第一个显示器位码连接到pd.5口,最后两个分别连接到pd.2、pd.1口图 4 数码管显示3.2.3 led显示电路的设计led彩灯显示电路(如图所示)实际上是由8个发光二极管和8个电阻构成的电路。发光二极管与电阻对应串联,然后接在与之相对应的p2口上。通过软件编程对p2口输出高低电平来实现不同的闪烁花型。由于发光二极管的导通电压一般为1.7v以上,另外,他的工作电流根据型号不
15、同一般为1ma到30ma,电阻选择范围100欧姆3千欧姆在此我们这里选用470欧姆的电阻。3.2.4 复位电路的设计使cpu进入初始状态以后,将从0000h地址开始执行程序的过程叫系统复位。从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位10。硬件复位必须通过cpu外部的硬件电路给cpu的reset端加上足够时间的高电位才能实现。在8路智能抢答器中复位电路主要完成复位操作,当程序运行出现错误或者需要返回到初始状态时就要用到复位键。本设计采用自动、手动复位组合电路,手动复位一般采用按钮的方法使得avr单片机发生复位。当按下按钮复位键后,电容迅速放电,电容两端被短路,rest为低电平有效
16、,向rest引脚是加一定的宽度的复位脉冲,从而实现单片机的复位。3.2.5时钟频率电路的设计第 15 页 共 15 页选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在xtal2引脚产生幅度为3v左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 c1,c2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。c1,c2的典型值为22pf。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。图中时钟频率为1mhz,即fosc=1mhz,则时钟周期为1µ
17、;s。3.2.6响声电路的设计声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音11。若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。在软件设计中设计了两种发声子程序,用于控制扬声器发出不同的声音。4 软件系统的设计4.1软件分析软件任务分析环节的目的是为软件设计做一个总体上的规划。可根据软件的功能将其分为两大类:一类是称为监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度角色的软件:另一类是执行软件,它能完成
18、各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等,这两类软件的设计方法各有特色。执行软件的设计侧重于算法效率,与硬件关系密切,软件任务分析就是将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义(输入输出定义),执行模块任务明确单纯,比较容易编程;对于监控程序,它较易出问题,一般来讲在设计完执行程序后应根据系统功能和键盘设置选择一种最适合的监控程序结构,其主要作用是协调各执行模块与操作之间关系。4.2主程序系统结构图图6 主程序系统结构图4.3 主程序流程图图7 主程序流程图4.4软件系统的详细设计与实现方法本抢答器的软件系统主要包括主程序设计,按键扫描程序的设计,表决模
19、式程序的设计,计分查询程序的设计,时钟程序设计,显示程序的设计4.4.1主程序设计主程序的功能主要是完成内部各寄存单元的初始化 ,内部定时器的初始化,中断的初始化及调用显示程序对初始状态的显示以及对外部信号的等待处理,也就是说完成前期的准备工作等待随时对外部信号进行响应。初始化主程序进入30秒倒计时,开始键盘扫描,当启动键未按下时有人抢答视为违规,违规的抢答者相应的灯亮,违规抢答响2短声,有效抢答响一长声;当启动键按下时,重新30秒计时,有抢答键按下视为正常抢答,显示选手号等待判断对错,主程序初始化代码如下: cli(); /关总中断 port_init(); /初始化输出端口 timer1_
20、init(); /定时器1初始化 mcucr=0x00; gicr=0x80; /允许外部1中断 timsk=0x05; /允许定时器1中断 sei(); /开总中断4.4.2 时钟程序设计时钟电路要控制系统的时序,也有消除键盘抖动的功能,所以本程序通过软件延时的方法编写了两个延时子程序,延时单位分别为1ms和1us,从而实现消除抖动和动态扫描等程序对时钟的要求。此外本程序也通过定时计数器中断设定30秒抢答时间延时函数1:入口i,单位ms,最大65536msvoid delay_ms(uint i) uchar a; for(;i;i-) for(a=1141;a;a-) ; 延时函数2:入口
21、i,单位us,最大65536usvoid delay_us(uint i) for(;i;i-) ; 4.4.3显示程序的设计显示程序包含数据的动态显示和控制led灯的亮灭。数据的动态显示中显示码定义成数组采用查表的方式进行显示;led的显示是通过软件按位操作来实现的,显示子程序代码如下:void display(uchar x) /led数码管显示函数 portd|=0x02; /显示led数码管的个位 portc=dmx%10; /送个位的段码值到portc delay_ms(100); /保持一定时间 portd=0x02; portd|=0x01; /显示led数码管的十位 portc
22、=dmx/10; /送十位的段码值到portcdelay_ms(100); /保持一定时间 portd=0x01; 4.4.4响声函数的设计本次设计中多次用到扬声器发声用于报警或者提示,所以要求不同的模式下扬声器发出的声音不同,为了便于控制在本设计中一共定义了三响声函数,分别是响正确声函数和响错误声函数,程序代码如下:响声函数:入口i:响声长度i*10ms,n:响声次数*/ void sound1(uchar i,uchar n) for(;n;n-) uint a=i*10; for(;a;a-) on_spk; /开蜂鸣器 delay_us(100); off_spk; /关蜂鸣器 del
23、ay_us(100); delay_ms(200); 响正确音函数* void sound_ok(void) uchar a,b; for(a=4;a;a-) for(b=250;b;b-) on_spk;/开蜂鸣器delay_us(a+10)*10);off_spk;/关蜂鸣器delay_us(a+10)*10); delay_ms(20); 4.4.5表决模式程序的设计表决功能的实现是通过外部中断1来实现的,在主程序初始化时打开外部中断1,打开总中断。当表决模式键按下是进入外部中断1服务程序;在表决模式下,按下表决复位键,led灯以流水灯闪烁,led流水灯结束后进入下一轮表决,当按下抢答启
24、动建时,将进入抢答模式倒计时30秒。外部中断1程序流程图:图8 外部中断1程序流程图4.4.6计分查询模式程序的设计计分查询模式的实现主要是通过标志位实现,在程序开头定义了许多标志位,当进入表决模式时,停止定时计数器计时,使抢答标志位清零,当有按键按下时 先显示选手号 后显示所得分数。计分查询模式的程序流程图如下:图9 计分查询模式的程序流程图5 系统仿真调试5.1系统软件的仿真本设计主要使用的iccavr软件进行编程。系统的软件仿真主要是在proteus软件中进行,proteus中的isis(智能原理图输入软件)是labcenter开发的电路分析实物仿真系统,是常用的eda工具。它不仅是数字
25、电路、模拟电路、数/模混合电路的设计和仿真平台,更具特色的是它是目前世界上最完整、最先进的多型号微处理器的设计和仿真平台,它的出现实现了在计算机上完成原理图设计、微处理器的设计与仿真、电路的设计与仿真、系统的测试与功能验证到电路板的完整电子设计过程。5.1.1抢答成功与抢答犯规仿真当按下启动键时,如有选手按下时,程序将会检测第一信号锁存并送给数码管显示选手号码,同时扬声器会发出一声短响提示抢答成功,抢答成功以后选手再按下抢答键无效,然后进入等待状态;如果此时正确键被按下,扬声器将会升调提示答题,同时给相应的选手加十分,接着数码管将显示30;如果错误键按下,扬声器将会降调提示答案错误,相应的选手
26、将不加分,接着数码管将显示30当未按下启动键时,如有选手按下时,数码管会显示违规选手号码,同时扬声器会发出两声短响报警提示,报警之后将继续倒计时,30秒倒计时结束时启动键仍未按下则进行抢答结束报警四声长响,提示主持人和选手抢答结束。而后显示30程序进入等待状态,等待下次按下启动键进入下一次抢答5.1.2表决模式和计分查询模式的仿真图11 表决模式led灯图12 表决模式数码管显示5.2系统硬件的调试系统的硬件调试过程,是在软件仿真结束后进行的。到现在为止,我们完成了系统的简单的硬件测试。因为测试计划,测试方案和测试结果是硬件配置的重要部分,他们对硬件的可维护性影响很大,因此我们仍要做大量的测试
27、工作。为使硬件电路设计尽可能合理,应注意:尽可能采用功能强的芯片,以简化电路; 留有设计余地,在设计硬件电路时,要考虑到将来修改扩展的方便;程序空间,选用片内程序空间足够大的单片机;ram空间 不仅要满足一般场合的使用,同时也有效支持使用高级语言开发系统程序 avr片内汉高质量的flash程序存储器,并具有高保密性,擦写方便,支持isp和iap,ye 可扩展外部ram。单片机目标程序的下载和联合调试:源程序的编译是在iccavr软件平台下进行的,通过软件仿真后,就可以将iccavr编译产生的目标程序通过通用编程器烧写到amega16a内部的程序存储器中。程序烧写到atmega16a中之后,就要综合调试整个硬件部分,包括显示电路、流水灯电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版柳州住宅租赁协议
- 物流采购合同的验收标准
- 矿物原料购销合同
- 乳制品厂管件购销合同
- 污水泵设备采购招标指南
- 玩具购销合同格式
- 2024年度女方婚姻权益保障协议
- 司机服务外包协议书样本
- 工程设计委托合同协议
- 水果购销合同示范文本
- 中医操作评分表
- 冯晓霞教授的《幼儿学习品质观察评定表》
- 手工焊接作业指导书
- 拱桥悬链线计算表
- 半年分析----住院超过30天患者原因分析及改进措施
- 无公害农产品查询
- 国家公派出国留学经验交流PPT课件
- 研究生课程应用电化学(课堂PPT)
- 六宫数独可直接打印共192题
- 班会:如何克服浮躁心理PPT优秀课件
- Monsters歌词下载,Monsters原唱歌词中文翻译,Monsters简谱KatieSky
评论
0/150
提交评论