基于单片机的八路抢答器电路设计_第1页
基于单片机的八路抢答器电路设计_第2页
基于单片机的八路抢答器电路设计_第3页
基于单片机的八路抢答器电路设计_第4页
基于单片机的八路抢答器电路设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一部分 系统整体方案设计与比较一、实验目的1、掌握系统整体方案设计的方法2、培养分析系统设计方案的能力二、实验内容针对本次课题,提出几种总体设计方案,并比较其优缺点,确定一套方案为本课题采纳的方案。三、实验原理与方法本次课程设计设计的是一个多路定时抢答器,是一个多于两位选手参赛的一个抢答器,具有锁存和显示功能。同时有主持人控制系统的清零和抢答的开始。抢答开始后,若有任何一名选手按动抢答按钮,抢答器就会显示该选手编号直至系统被主持人清零,并有扬声器发出提示,同时其他人再抢答就无效了。这次设计的抢答器还有自动定时功能,主持人可以设定选手答题的时间。当主持人启动“开始”键后,定时器会自动减计时,这

2、个会显示在显示器上。选手只有在抢答时间内抢答才有效,若在答题时间内没有选手答题,时间到时,报警电路就会发出警报亮灯并且禁止抢答。抢答器由计数器、寄存器、集成定时器和译码显示等组合、时序电路组成。可分为抢答电路,定时电路,报警电路等几个单元部分。每个单元电路分别可以处理一些抢答竞赛中的基本问题。四、实验步骤1、方案设计按照目前的各种技术及要求,要设计一个八路抢答器主要有以下方案:方案一:采用数电技术实现。方案二:采用编程技术通过设计简单电路实现。2、方案比较方案一设计的抢答器的电路主要是由抢答器开关电路、触发电路、触发锁存电路、编程器、七段显示译码器几部分构成。抢答电路主要采用优先编码器74ls

3、148和74ls279完成。此外还有定时电路,报警电路,时序控制电路等。方案二设计的电路图简单明了,避免重复,控制起来更加方便。抢答器对参赛选手的动作的先后有很强的分辨力,即使先后只相差几毫秒,抢答器也能分辨出来,抢答器直接实现了动作选手的编号,并保持到主持人清零为止,且实现的功能较多,比如增设了开启锦囊,回答和抢答时间均可随意调整,故采用方案二。五、实验记录与结论方案一将抢答按钮先直接与锁存器而不是优先编码器相连,将最先抢答的选手的编号锁定,再依次经过优先编码器、译码器和七段显示器,最后显示的是抢答选手的编号,经过优先编码器后的信号到单稳态触发器,单稳态触发器又与报警电路直接连接,所以显示编

4、号的同时可以发出报警信号。另外由主持人控制开关和其他部分电路通过门电路实现对抢答电路、定时电路和报警部分电路的控制。方案二主持人按动开始抢答的开关后,最先抢答的选手的电平信号先经过优先编码器,再依次经过数据锁存器,此时已经限制了其他选手的抢答,信号再经过译码器和七段数码显示器,将最先抢答的该选手的编号显示出来,并同时产生报警信号,到此完成的是抢答功能;如果没有人抢答, 30秒减计数器减到00时也会发出报警信号,此是完成计时功能。这种方案原理比较简单,组装电路比较简单,相对方案一要简单,所以采用方案一能够完全实现本次设计的要求。第二部分 原理图的绘制及仿真软件训练一、实验目的掌握原理图的绘制方法

5、和protel软件的使用掌握电路仿真的方法和proteus软件的使用二、实验内容练习使用protel软件,并且用其绘制系统原理图。练习使用proteus软件,并且用来仿真单片机的部分实例。三、实验原理与方法本次实验主要用到了protel软件和proteus软件。protel软件介绍:protel是portel公司在80年代末推出的eda软件,在电子行业的cad软件中,它当之无愧地排在众多eda软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写

6、着要求会使用protel。proteus软件介绍:proteus软件是英国labcenter electronics公司出版的eda工具软件。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台。四

7、、实验步骤使用protel绘制原理图的步骤:1、设计图纸大小。首先要构思好零件图,设计好图纸大小。图纸大小是根据电路图的规模和复杂程度而定的,设置合适的图纸大小是设计好原理图的第一步。 2、设置protel 99 se/schematic设计环境。包括设置格点大小和类型,光标类型等等,大多数参数也可以使用系统默认值。 3、旋转零件。用户根据电路图的需要,将零件从零件库里取出放置到图纸上,并对放置零件的序号、零件封装进行定义和设定等工作。 4、原理图布线。利用protel 99 se/schematic提供的各种工具,将图纸上的元件用具有电气意义的导线、符号连接起来,构成一个完整的原理图。 5、

8、调整线路。将初步绘制好的电路图作进一步的调整和修改,使得原理图更加美观。 6、报表输出。通过protel 99 se/schematic提供的各种报表工具生成各种报表,其中最重要的报表是网络表,通过网络表为后续的电路板设计作准备。 7、文件保存及打印输出。最后的步骤是文件保存及打印输出。 使用proteus仿真的步骤1、添加元件;添加本次仿真所需要的元件到元件列表。2、放置元件;将添加进来的元件,放置到原理图编辑区中。3、电路图布线;将各个元件连接起来。4、系统仿真;导入程序文件,进行仿真,观察结果。五、实验记录与结论使用protel绘制出来的单片机最小系统的原理图截图:使用proteus设计

9、的数码管显示实例截图(6号选手抢答成功):第三部分 系统软件设计及硬件设计一、实验目的1.掌握系统硬件电路部分设计的思路和单元模块设计的方法。2.掌握系统软件部分设计方法,理解模块化编程的概念。二、实验内容设计该抢答器系统各个部分的硬件电路,并且在protel和proteus中画出原理图。用wave软件,设计出系统软件的程序代码。三、实验原理与方法系统硬件电路模块设计1、控制模块,如下图:单片机(scm)是单片微型计算机(single chip microcomputer)的简称。它是把中央处理器cpu、随机存储器ram、只读存储器rom、i/o接口电路、定时/计数器以及输入输出适配器都集成在

10、一块芯片上,构成一个完整的微型计算机。它的最大优点是体积小,可放在仪表内部。但存储量小,输入输出适配器简单,功能较低。目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。简单的说,用单片机系统来设计抢答器,实现两组的抢答时间即使是相差几微秒,也可分辨出哪组优先答题。时钟复位及振荡电路模块,如下图:晶振的频率为12mhz,提供89c51的时钟脉冲使89c51工作,复位电路是单片机初始化,使单片机重新开始执行程序。当复位开关按下rst由低电平变为高电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。xtal1和xtal2分别

11、为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器、石英晶体振荡器和陶瓷振荡器均可采用,如采用外部时钟源驱动 选手抢答模块,如下图:at89c51的p1口做一个为选手抢答的输入按键引脚,p1.0至p1.7轮流输出低电位,给每一个选手编号1至8,当选手按下按钮时,p1口个端口的电平变化从p1口输入,经单片机处理后从p0输出由数码管显示抢答者编号。显示与显示驱动电路此电路包括显示和驱动,显示采用数码管,驱动用p2口, 违规者编号、抢答30秒倒计时、正常抢答者编号和回答问题时间60秒倒计时,数码管采用动态显示。驱动电路p2口,查询显示程序利用p0口做段选码口输出p2低3位做位选码输出,当为低

12、电平则能驱动数码管使其显示数字。在+5v电压下接10k的电阻,保证正常压降。蜂鸣器音频及led灯输出电路通过控制不同频率的矩形脉冲来控制蜂鸣器发声。此次课程设计中只需要一些简单的提示声音和稍微显眼的灯控,有抢答违规,开始抢答,抢答时间结束和回答时间到得提示声和亮灯提醒。2、系统软件实现方法系统程序流程图如下:四、实验记录与结论硬件原理图如下:程序源代码如下:ok equ 20h ring equ 22h org 0000h ajmp main org 0003h ajmp int0sub org 000bh ajmp t0int org 0013h ajmp int1sub org 001bh

13、 ajmp t1int org 0040hmain: mov r1,#30 mov r2,#60 mov tmod,#11h mov th0,#0f0h mov tl0,#0ffh mov th1,#3ch mov tl1,#0b0h setb ea setb et0 setb et1 setb ex0 setb ex1 clr ok clr ring setb tr1 setb tr0start: mov r5,#0bh mov r4,#0bh mov r3,#0bh acall display jb p3.0,next;ddddddd acall delay jb p3.0,next ac

14、all bark mov a,r1 mov r6,a setb ok mov r7,#01h mov r3,#0ah ajmp countnext: jnb p1.0,false1 jnb p1.1,false2 jnb p1.2,false3 jnb p1.3,false4 jnb p1.4,false5 jnb p1.5,false6 jnb p1.6,false7 jnb p1.7,false8 ajmp startfalse1: mov r3,#01h ajmp errorfalse2: mov r3,#02h ajmp errorfalse3: mov r3,#03h ajmp er

15、rorfalse4: mov r3,#04h ajmp errorfalse5: mov r3,#05h ajmp errorfalse6: mov r3,#06h ajmp errorfalse7: mov r3,#07h ajmp errorfalse8: mov r3,#08h ajmp errorint0sub:mov a,r1 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display jnb p3.4,inc0 jnb p3.5,dec0 jnb p3.1,back0 ajmp int0subinc0: mov a,r

16、1cjne a,#63h,add0 mov r1,#00h acall delay1ajmp int0subadd0: inc r1 acall delay1 ajmp int0subdec0: mov a,r1 jz setr1 dec r1 acall delay1 ajmp int0subsetr1: mov r1,#63h acall delay1 ajmp int0subback0: reti int1sub:mov a,r2 mov b,#0ah div abmov r5,a mov r4,b mov r3,#0ah acall display jnb p3.4,inc1 jnb

17、p3.5,dec1 jnb p3.1,back1 ajmp int1subinc1: mov a,r2 cjne a,#63h,add1 mov r2,#00h acall delay1ajmp int1subadd1: inc r2 acall delay1 ajmp int1subdec1: mov a,r2 jz setr2 dec r2 acall delay1 ajmp int1subsetr2: mov r2,#63h acall delay1 ajmp int1subback1: reti repeat:mov a,r2 mov r6,a clr ring count: mov

18、r0,#00h mov th1,#3ch mov tl1,#0b0hrecount:mov a,r6;r6 mov b,#0ah div ab mov 30h,a mov 31h,b mov r5,30h mov r4,31h mov a,r6 subb a,#07h jnc larger mov a,r0 cjne a,#0ah,full clr ring ajmp checkfull: cjne a,#14h,check setb ring mov a,r6 jz quit mov r0,#00h dec r6 ajmp checklarger: mov a,r0 cjne a,#14h,

19、check dec r6 mov r0,#00hcheck: jnb p3.1,quit jnb ok,checkk ajmp nexttcheckk:jnb p3.0,repeat nextt: acall display jb ok,accout ajmp recountaccout: mov a,36h jnb acc.0,true1 jnb acc.1,true2 jnb acc.2,true3 jnb acc.3,true4 jnb acc.4,true5 jnb acc.5,true6 jnb acc.6,tz1 jnb acc.7,tz2 ajmp recount tz1:jmp

20、 true7 tz2:jmp true8 quit: clr ok clr ring ajmp starttrue1: acall bark mov a,r2 mov r6,a mov r3,#01h clr ok ajmp counttrue2:acall bark mov a,r2 mov r6,a mov r3,#02h clr ok ajmp counttrue3:acall bark mov a,r2 mov r6,a mov r3,#03h clr ok ajmp counttrue4:acall bark mov a,r2 mov r6,a mov r3,#04h clr ok

21、ajmp counttrue5:acall bark mov a,r2 mov r6,a mov r3,#05h clr ok ajmp counttrue6: acall bark mov a,r2 mov r6,a mov r3,#06h clr ok ajmp counttrue7:acall bark mov a,r2 mov r6,a mov r3,#07h clr ok ajmp counttrue8:acall bark mov a,r2 mov r6,a mov r3,#08h clr ok ajmp counterror: mov r0,#00h mov th1,#3ch m

22、ov tl1,#0b0h mov 34h,r3here: mov a,r0 cjne a,#06h,flash clr ring mov r3,#0ah mov r4,#0ah mov r5,#0ah ajmp check1flash: cjne a,#0ch,check1 setb ring mov r0,#00h mov r3,34h mov r5,#0bh mov r4,#0bh ajmp check1check1: jnb p3.1,quit1 acall display ajmp herequit1: clr ring clr ok ajmp startdisplay:mov dpt

23、r,#dat1 mov a,r3 movc a,a+dptr mov p2,#0feh mov p0,a acall delay2 mov dptr,#dat2 mov a,r5 movc a,a+dptr mov p2,#0fdh mov p0,a acall delay2 mov a,r4 movc a,a+dptr mov p2,#0fbh mov p0,a acall delay2 retdat1:db 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h ;灭,1,2,3,4,5,6,7,8,9,灭,fdat2:db 3fh,06h,5bh,

24、4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71hdelay1: mov 35h,#08hloop0: acall display djnz 35h,loop0 retdelay: mov 32h,#12hloop: mov 33h,#0afhloop1: djnz 33h,loop1 djnz 32h,loop retdelay2: mov 32h,#43hloop3: mov 33h,#1eh mov a,r7 jnz aaaa1 loop2: djnz 33h,loop2 djnz 32h,loop3 retaaaa1: mov a,p1 cjne a,#0ffh,a

25、a1 aa0: mov 36h,a ajmp loop2 aa1: dec r7 ajmp aa0bark: setb ring acall delay1 acall delay1 clr ringt0int: mov th0,#0ech mov tl0,#0ffh jnb ring,out; cpl p3.6; out: retit1int: mov th1,#3ch mov tl1,#0b0h inc r0 retiend第四部分 电路仿真及修改一、实验目的1、掌握软件仿真的原理及方法2、掌握proteus软件中调试工具的使用方法二、实验内容利用proteus软件进行系统仿真,并且使用pr

26、oteus中自带的调试工具,修改设计过程中的错误。三、实验原理与方法用proteus软件画出仿真图,如下图:四、实验记录及结果在proteus软件加载好程序后,点击仿真控制面板中的全速运行,观察仿真结果,如下图:此时数码液晶显示器亮起,显示“f ff”,黄色发光二极管发光。若在此时按下开始按钮,显示器则显示“30”,则代表要在30秒内进行抢答,如下图所示(倒数到29秒时):此时抢答成功的号码及规定完成答题的60秒计时会显示在液晶显示器上,如下图所示(6号抢答成功60秒倒时器倒数到40时):第五部分 pcb图的绘制及制版一、实验目的1、掌握pcb图的绘制过程,初步掌握protel软件的使用。2、

27、了解pcb制作过程中各种工艺要求,掌握pcb制版的全过程。二、实验内容使用protel软件绘制出系统pcb电路板,并指出制版过程中的工艺要求。三、实验原理、方法与步骤利用protel绘制pcb版的基本流程,制作工艺包含在步骤内。1、绘制好原理图。首先保证原理图是完全正确的,进行erc检查无错。2、制作pcb元件库。对于标准库和自己的常用库里面没有的元件封装进行制作。熟悉常用元件(电阻,电容,二极管,三极管) 的封状形式。3、生成网络表。在原理图里面加好封装,保存,erc检查,生成元件清单检查。生成网络表。4、建立pcb。选择好公制,捕获和可见删格大小,按要求设计好外框(向导或自己画),然后放好

28、固定孔的位置,大小(3.0mm的螺丝可以用3.5mm的内孔焊盘,2.5的可以用3的内孔),边缘的先改好焊盘,孔大小,位置固定。添加好需要用到的库。5、布局。调用网络表,调入元件,修改部分焊盘大小,设置好布线规则,可以改变标号的大小,粗细,隐藏标称值。然后先把需要特殊位置的元件放好并琐定。还要考虑散热,热敏元件。电阻,二极管的放置方式6、布线。先设置好规则里面的内容,vcc,gnd 大功率等大电流的线可以设置的宽点(0.5mm-1.5mm),一般1mm可以通过1a的电流。对于大电压的线间距可以设置大点,一般1mm为 1000v。设置好了,先布vcc,gnd 等一些比较重要的线。注意各个模块的区分

29、。对单面板最好可以加一些条线。加过孔,不一定横平竖直,集成块的焊盘间一般不走线,大电流的宽线可以在 solder层画上线,以便后面上锡;走线用45度角7、手工修改线:修改一些线的宽度,转角,补泪地或包焊盘(单面板必须做),铺铜,处理地线。8、检查。drc,emc 等检查,然后可以打印检查,网络表对比。元件清单检查。需要注意的几点的地方:在印制板布线时,应先确定元器件在板上的位置,然后布地线,电源线。在安排高速信号线,最好考虑低速信号线。元气件的位置按电源电压,数字模拟,速度快慢,电流大小等分组。安全的条件下,电源线应尽量靠近地。减小差摸辐射的环面积,也有助于减小电路的交扰。当需要在电路板上布置

30、快速,中速,低速逻辑电路时,高速的应放在靠近边缘连接器范围内,而低速逻辑和存储器,应放在远离连接器范围内。这样对共阻抗偶合,辐射和交扰的减小都是有利的。最后的接地最重要的了。四、实验记录及结果最后绘制出来的pcb电路板如下图:利用protel中的3d预览功能,预览一下pcb成品的模样。如下图。pcb板的正面:pcb板的背面第六部分 系统的安装调试与鼓掌排除一、实验目的 掌握元件安装调试的方法。掌握调试过程中故障排除及系统功能和参数测试的方法。二、实验内容进行pcb元件安装,调试,并且排除安装测试过程所出现的故障。测试出系统的功能和各种系统参数。三、实验原理、方法与步骤(一)pcb板元件的焊接过程:1、焊前准备首先要熟悉所焊印制电路板的装配图,并按图纸配料,检查元器件型号、规格及数量是否符合图纸要求,并做好装配前元器件引线成型等准备工作。2、焊接顺序元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。3、对元器件焊接要求:a、电阻器焊接按图将电阻器准确装人规定位置。要求标记向上,字向一致。装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。焊完后将露在印制电路板表面多余引脚齐根剪去。b、电容器焊接将电容器按图装人规定位置,并注意有极性电容器其 “ ” 与 “ ” 极不能接错,电容器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论