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

上传人:1888****888 文档编号:36591354 上传时间:2021-10-31 格式:DOC 页数:23 大小:328.02KB
返回 下载 相关 举报
基于单片机的八路抢答器电路设计_第1页
第1页 / 共23页
基于单片机的八路抢答器电路设计_第2页
第2页 / 共23页
基于单片机的八路抢答器电路设计_第3页
第3页 / 共23页
点击查看更多>>
资源描述
第一部分 系统整体方案设计与比较一、实验目的1、掌握系统整体方案设计的方法2、培养分析系统设计方案的能力二、实验内容针对本次课题,提出几种总体设计方案,并比较其优缺点,确定一套方案为本课题采纳的方案。三、实验原理与方法本次课程设计设计的是一个多路定时抢答器,是一个多于两位选手参赛的一个抢答器,具有锁存和显示功能。同时有主持人控制系统的清零和抢答的开始。抢答开始后,若有任何一名选手按动抢答按钮,抢答器就会显示该选手编号直至系统被主持人清零,并有扬声器发出提示,同时其他人再抢答就无效了。这次设计的抢答器还有自动定时功能,主持人可以设定选手答题的时间。当主持人启动“开始”键后,定时器会自动减计时,这个会显示在显示器上。选手只有在抢答时间内抢答才有效,若在答题时间内没有选手答题,时间到时,报警电路就会发出警报亮灯并且禁止抢答。抢答器由计数器、寄存器、集成定时器和译码显示等组合、时序电路组成。可分为抢答电路,定时电路,报警电路等几个单元部分。每个单元电路分别可以处理一些抢答竞赛中的基本问题。四、实验步骤1、方案设计按照目前的各种技术及要求,要设计一个八路抢答器主要有以下方案:方案一:采用数电技术实现。方案二:采用编程技术通过设计简单电路实现。2、方案比较方案一设计的抢答器的电路主要是由抢答器开关电路、触发电路、触发锁存电路、编程器、七段显示译码器几部分构成。抢答电路主要采用优先编码器74LS148和74LS279完成。此外还有定时电路,报警电路,时序控制电路等。方案二设计的电路图简单明了,避免重复,控制起来更加方便。抢答器对参赛选手的动作的先后有很强的分辨力,即使先后只相差几毫秒,抢答器也能分辨出来,抢答器直接实现了动作选手的编号,并保持到主持人清零为止,且实现的功能较多,比如增设了开启锦囊,回答和抢答时间均可随意调整,故采用方案二。五、实验记录与结论方案一将抢答按钮先直接与锁存器而不是优先编码器相连,将最先抢答的选手的编号锁定,再依次经过优先编码器、译码器和七段显示器,最后显示的是抢答选手的编号,经过优先编码器后的信号到单稳态触发器,单稳态触发器又与报警电路直接连接,所以显示编号的同时可以发出报警信号。另外由主持人控制开关和其他部分电路通过门电路实现对抢答电路、定时电路和报警部分电路的控制。方案二主持人按动开始抢答的开关后,最先抢答的选手的电平信号先经过优先编码器,再依次经过数据锁存器,此时已经限制了其他选手的抢答,信号再经过译码器和七段数码显示器,将最先抢答的该选手的编号显示出来,并同时产生报警信号,到此完成的是抢答功能;如果没有人抢答, 30秒减计数器减到00时也会发出报警信号,此是完成计时功能。这种方案原理比较简单,组装电路比较简单,相对方案一要简单,所以采用方案一能够完全实现本次设计的要求。第二部分 原理图的绘制及仿真软件训练一、实验目的掌握原理图的绘制方法和protel软件的使用掌握电路仿真的方法和proteus软件的使用二、实验内容练习使用protel软件,并且用其绘制系统原理图。练习使用proteus软件,并且用来仿真单片机的部分实例。三、实验原理与方法本次实验主要用到了protel软件和proteus软件。PROTEL软件介绍:PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。Proteus软件介绍:Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。四、实验步骤使用protel绘制原理图的步骤:1、设计图纸大小。首先要构思好零件图,设计好图纸大小。图纸大小是根据电路图的规模和复杂程度而定的,设置合适的图纸大小是设计好原理图的第一步。 2、设置protel 99 se/Schematic设计环境。包括设置格点大小和类型,光标类型等等,大多数参数也可以使用系统默认值。 3、旋转零件。用户根据电路图的需要,将零件从零件库里取出放置到图纸上,并对放置零件的序号、零件封装进行定义和设定等工作。 4、原理图布线。利用protel 99 se/Schematic提供的各种工具,将图纸上的元件用具有电气意义的导线、符号连接起来,构成一个完整的原理图。 5、调整线路。将初步绘制好的电路图作进一步的调整和修改,使得原理图更加美观。 6、报表输出。通过protel 99 se/Schematic提供的各种报表工具生成各种报表,其中最重要的报表是网络表,通过网络表为后续的电路板设计作准备。 7、文件保存及打印输出。最后的步骤是文件保存及打印输出。 使用proteus仿真的步骤1、添加元件;添加本次仿真所需要的元件到元件列表。2、放置元件;将添加进来的元件,放置到原理图编辑区中。3、电路图布线;将各个元件连接起来。4、系统仿真;导入程序文件,进行仿真,观察结果。五、实验记录与结论使用Protel绘制出来的单片机最小系统的原理图截图:使用Proteus设计的数码管显示实例截图(6号选手抢答成功):第三部分 系统软件设计及硬件设计一、实验目的1.掌握系统硬件电路部分设计的思路和单元模块设计的方法。2.掌握系统软件部分设计方法,理解模块化编程的概念。二、实验内容设计该抢答器系统各个部分的硬件电路,并且在Protel和Proteus中画出原理图。用wave软件,设计出系统软件的程序代码。三、实验原理与方法系统硬件电路模块设计1、控制模块,如下图:单片机(SCM)是单片微型计算机(Single Chip Microcomputer)的简称。它是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口电路、定时/计数器以及输入输出适配器都集成在一块芯片上,构成一个完整的微型计算机。它的最大优点是体积小,可放在仪表内部。但存储量小,输入输出适配器简单,功能较低。目前,单片机在民用和工业测控领域得到最广泛的应用,早已深深地融入人们的生活中。简单的说,用单片机系统来设计抢答器,实现两组的抢答时间即使是相差几微秒,也可分辨出哪组优先答题。时钟复位及振荡电路模块,如下图:晶振的频率为12MHZ,提供89C51的时钟脉冲使89C51工作,复位电路是单片机初始化,使单片机重新开始执行程序。当复位开关按下RST由低电平变为高电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。XTAL1和XTAL2分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器、石英晶体振荡器和陶瓷振荡器均可采用,如采用外部时钟源驱动 选手抢答模块,如下图:AT89C51的P1口做一个为选手抢答的输入按键引脚,P1.0至P1.7轮流输出低电位,给每一个选手编号1至8,当选手按下按钮时,P1口个端口的电平变化从P1口输入,经单片机处理后从P0输出由数码管显示抢答者编号。显示与显示驱动电路此电路包括显示和驱动,显示采用数码管,驱动用P2口, 违规者编号、抢答30秒倒计时、正常抢答者编号和回答问题时间60秒倒计时,数码管采用动态显示。驱动电路P2口,查询显示程序利用P0口做段选码口输出P2低3位做位选码输出,当为低电平则能驱动数码管使其显示数字。在+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 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 ACALL 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 ERRORFALSE4: 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,R1CJNE 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 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 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,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 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 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 MOV 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 DPTR,#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,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,AA1 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软件进行系统仿真,并且使用Proteus中自带的调试工具,修改设计过程中的错误。三、实验原理与方法用Proteus软件画出仿真图,如下图:四、实验记录及结果在Proteus软件加载好程序后,点击仿真控制面板中的全速运行,观察仿真结果,如下图:此时数码液晶显示器亮起,显示“F FF”,黄色发光二极管发光。若在此时按下开始按钮,显示器则显示“30”,则代表要在30秒内进行抢答,如下图所示(倒数到29秒时):此时抢答成功的号码及规定完成答题的60秒计时会显示在液晶显示器上,如下图所示(6号抢答成功60秒倒时器倒数到40时):第五部分 PCB图的绘制及制版一、实验目的1、掌握PCB图的绘制过程,初步掌握Protel软件的使用。2、了解PCB制作过程中各种工艺要求,掌握PCB制版的全过程。二、实验内容使用Protel软件绘制出系统PCB电路板,并指出制版过程中的工艺要求。三、实验原理、方法与步骤利用Protel绘制PCB版的基本流程,制作工艺包含在步骤内。1、绘制好原理图。首先保证原理图是完全正确的,进行ERC检查无错。2、制作PCB元件库。对于标准库和自己的常用库里面没有的元件封装进行制作。熟悉常用元件(电阻,电容,二极管,三极管) 的封状形式。3、生成网络表。在原理图里面加好封装,保存,ERC检查,生成元件清单检查。生成网络表。4、建立PCB。选择好公制,捕获和可见删格大小,按要求设计好外框(向导或自己画),然后放好固定孔的位置,大小(3.0mm的螺丝可以用3.5mm的内孔焊盘,2.5的可以用3的内孔),边缘的先改好焊盘,孔大小,位置固定。添加好需要用到的库。5、布局。调用网络表,调入元件,修改部分焊盘大小,设置好布线规则,可以改变标号的大小,粗细,隐藏标称值。然后先把需要特殊位置的元件放好并琐定。还要考虑散热,热敏元件。电阻,二极管的放置方式6、布线。先设置好规则里面的内容,VCC,GND 大功率等大电流的线可以设置的宽点(0.5mm-1.5mm),一般1mm可以通过1A的电流。对于大电压的线间距可以设置大点,一般1mm为 1000V。设置好了,先布VCC,GND 等一些比较重要的线。注意各个模块的区分。对单面板最好可以加一些条线。加过孔,不一定横平竖直,集成块的焊盘间一般不走线,大电流的宽线可以在 solder层画上线,以便后面上锡;走线用45度角7、手工修改线:修改一些线的宽度,转角,补泪地或包焊盘(单面板必须做),铺铜,处理地线。8、检查。DRC,EMC 等检查,然后可以打印检查,网络表对比。元件清单检查。需要注意的几点的地方:在印制板布线时,应先确定元器件在板上的位置,然后布地线,电源线。在安排高速信号线,最好考虑低速信号线。元气件的位置按电源电压,数字模拟,速度快慢,电流大小等分组。安全的条件下,电源线应尽量靠近地。减小差摸辐射的环面积,也有助于减小电路的交扰。当需要在电路板上布置快速,中速,低速逻辑电路时,高速的应放在靠近边缘连接器范围内,而低速逻辑和存储器,应放在远离连接器范围内。这样对共阻抗偶合,辐射和交扰的减小都是有利的。最后的接地最重要的了。四、实验记录及结果最后绘制出来的PCB电路板如下图:利用Protel中的3D预览功能,预览一下PCB成品的模样。如下图。PCB板的正面:PCB板的背面第六部分 系统的安装调试与鼓掌排除一、实验目的 掌握元件安装调试的方法。掌握调试过程中故障排除及系统功能和参数测试的方法。二、实验内容进行PCB元件安装,调试,并且排除安装测试过程所出现的故障。测试出系统的功能和各种系统参数。三、实验原理、方法与步骤(一)PCB板元件的焊接过程:1、焊前准备首先要熟悉所焊印制电路板的装配图,并按图纸配料,检查元器件型号、规格及数量是否符合图纸要求,并做好装配前元器件引线成型等准备工作。2、焊接顺序元器件装焊顺序依次为:电阻器、电容器、二极管、三极管、集成电路、大功率管,其它元器件为先小后大。3、对元器件焊接要求:a、电阻器焊接按图将电阻器准确装人规定位置。要求标记向上,字向一致。装完同一种规格后再装另一种规格,尽量使电阻器的高低一致。焊完后将露在印制电路板表面多余引脚齐根剪去。b、电容器焊接将电容器按图装人规定位置,并注意有极性电容器其 “ ” 与 “ ” 极不能接错,电容器上的标记方向要易看可见。先装玻璃釉电容器、有机介质电容器、瓷介电容器,最后装电解电容器。c、二极管的焊接二极管焊接要注意以下几点:第一,注意阳极阴极的极性,不能装错;第二,型号标记要易看可见;第三,焊接立式二极管时,对最短引线焊接时间不能超过 2S 。d、三极管焊接注意 e 、 b 、 c 三引线位置插接正确;焊接时间尽可能短,焊接时用镊子夹住引线脚,以利散热。焊接大功率三极管时,若需加装散热片,应将接触面平整、打磨光滑后再紧固,若要求加垫绝缘薄膜时,切勿忘记加薄膜。管脚与电路板上需连接时,要用塑料导线。e、集成电路焊接首先按图纸要求,检查型号、引脚位置是否符合要求。焊接时先焊边沿的二只引脚,以使其定位,然后再从左到右自上而下逐个焊接。对于电容器、二极管、三极管露在印制电路板面上多余引脚均需齐根剪去。4、具体焊接中可能出现的问题:a、加热时间过长,造成焊点外观变差,焊盘脱落。b、加热时间不够造成焊锡没有完全熔化。c、焊锡过多造成焊点不美观,焊接质量不好。d、焊锡过少,造成虚焊。(二)系统硬件调试过程安装好各个元件之后,接下来就是检测电路板是否有明显的裂痕,有无短路,开路等现象,如果有必要的话,可以检查一下电源跟地线之间是否足够大。这里我们主要借助了万用表来检测。在检测过程中,我们发现液晶数码管无显示,于是我们万用表对各部分部位电流电压进行测试,发现出现了虚焊,于是我们对虚焊部位进行了加焊排除了故障。初步检测通过了之后,现在我们就开始整个系统的功能进行了测试。四、实验记录及结果经过本次设计的测试,本系统可进行抢答或答题的时间设计,可以根据需要延长或缩短时间,并都能得到验证。最后总结一下,经过这段时间的设计以及学习,发现我们还是有很多需要学习的地方,这次的设计不仅拓宽了我的知识面,也提高了我们的动手实践能力和理论联系实际的能力。在这个过程中,不仅加深了我对Proteus软件各方面操作的熟悉程度,也让我多熟悉了另外一下对我们非常有用的软件-Protel99,这些对于我们未来的学习与工作来说都是非常重要的经验,也终于明白到社会上的工作要求中为什么要对工作经验方面的要求那么高,要加深对知识的熟练程度在于实践,能熟练的操作工作中的机器或软件,无疑能给我们带来很大的效益,所以,对于我们这些还没涉足社会的大学生来说,这次的课程设计是我们踏足社会前锻炼。我相信只要凭着我们的不懈的努力和像对待这次课程设计的态度,我们定能在学习和工作中收获成功。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!