




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及系统课程设计报告摘 要本次课程设计制作的是智能抢答器。对于抢答器我们大家都很熟悉:是用于选手做抢答题目时用的,选手进行抢答,最先抢到题的选手回答问题。本实验设计的智能抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后智能抢答器成形。AbstractThe course design is smart Responder. The Responder of us are familiar with: use for players do Responder topic, players for the answer in the first to grab the title of players answer questions. Intelligent Responder of the experimental design is composed by the main circuit and the expansion of the circuit.The priority encoder circuit, a latch, the decoding circuit will be participating team of the input signal is output on the display; to start alarm circuit with the control circuit and a host switch, the above two-part main circuit. The second pulse signal generated by the timing circuit and a decoding circuit output on the display realize the chronograph function, constituting the expansion circuit. After wiring, welding, commissioning work smart Responder forming.1引言1.1设计目的对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。 本实验设计的数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。更具有实用性。1.2设计要求抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。在知识比赛中, 特别是做抢答题目的时候, 在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。1.3设计方法用单片机来实现,它的制作比较简单,与我们学的单片机原理联系紧密,能将我们所学知识用于实际,对巩固所学知识有重要意义,使总体方案易于实现。所以本方案用单片机来实现。2 总体设计方案2.1本数字抢答器的组成本抢答器的电路主要有四部分组成:数字抢答电路、时序控制电路、报警电路以及可预置时间的定时电路。其中数字抢答部分有一个74LS373锁存器和LED数码管显示器组成,可以将八位抢答者的按钮通过LED数码管显示器显示出他们最先抢答者的序号。而时序控制电路的功能是当参赛选手按动抢答器时,使扬声器发声,这时抢答电路和定时电路停止工作。而且设定的时间到达后若无人抢答,则报警电路工作。报警电路工作的条件是当设定时间到达后或者有人抢答时,报警电路被输入一个高电平,这时此电路工作。2.2数字抢答器主要功能抢答器原理:每个选手的座位前安装一只抢答按钮开关和一只信号灯。主持人的座位前安装一只复原按钮开关、一只蜂鸣器和一只抢答器工作状态指示灯。每当主持人口头发出允许抢答的号令之后,哪个队先按下座位上的按钮开关,该座位的信号灯就先被点亮,同时封锁其他按钮开关的活动。并且熄灭主持人座位上的状态指示灯和发出 3 声类似于电话振铃的提示声,以“声明”此次抢答动作已经完成。在主持人确认后,按下复原按钮,状态指示灯重新点亮,并且同时发出“笛笛”声,为下一次的抢答作好准备。电路中的蜂鸣器 FM 是一只带有助音腔的压电陶瓷蜂鸣器,用于模拟发出报警声的功率放大器和喇叭。在 FM 发声的同时,灯 D6 也在发光。FM 可以看作是一个电容性负载,本身不能流过直流电流。发声的原理是,作用在两个电极极板的电位在发生变化时,陶瓷材料就发生弯曲,从而振动空气发出声音。FM和 4 只按钮开关以及 4 只电阻都是在演示板的基础上额外添加的。由于RB端口内部具有上拉电阻,只要用软件设置其有效,即可省略在4 只端口引脚上外接上拉电阻。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示0。抢答器可以利用硬件电子元器件实现,但电路结构复杂,调试困难,涉及到的外围元件多,不便于安装,实验给实际操作带来很大的麻烦。如果有选手在规定的时间以前完成问题,主持人通过按键开始按钮来复位,开始新的问题作答,因为程序不是很大不需要扩展存储空间,选手按键跳入相应的子程序,回答倒记时。3 系统软件设计3.1 主程序系3.1.1 部分软件设计系统结构图软件系统结构图见图3.1按键模块系统初始化模块非 法 抢 答 模 块正确抢答模块调整抢答时间调整回答时间图3.1软件系统结构图3.1.2 键盘扫描程序流程图本系统的键盘采用独立式按键键盘程序流图见图3.2:开始 初始化依次扫描行线将第一根列线置高有信号吗 Y返回对应键盘延时一次 图3.2键盘扫描程序流程3.1.3抢答数码显示软件程序设计LED数码管采用静态显示,显示器由9个共阳极数码管组成。输入只有两个信号,它们是串行数据线DIN和移位信号CLK。9个串/并移位寄存器芯片74LS164首尾相连了九位共阳极七段数码管,共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起,通常,公共阳极接高电平(一般接电源),其他管脚接段驱动电路输出端。数码管显示程序流程图见图3-3:返回关显示数字是否显示完初始化查表取段码段码送驱动显示子程序入口位码送译码器选通低位数码管显示缓冲区左移 Y图3-3数码显示程序流程3.1.4程序代码见附录13.2 软件调试3.2.1 编译、连接项目,形成目标文件把程序文件添加到项目文件中,并且程序文件已经建立好存盘后,就可以进行编译、连接,形成目标文件。编译、连接用Project菜单下的Built Target命令(或快捷键F7),见图3.5和图3.6所示:图3-5 程序编译图3-6连接创建目标文件编译、连接时,如果程序有错,则编译不成功,并在下面的信息窗口给出相应的出错提示信息,以便用户进行修改,修改后再编译、连接,这个过程可能会重复多次。如果没有错误,则编译、连接成功,并且信息窗口给出提示信息。4 系统仿真测试系统硬件及系统软件设计完成,经硬件和软件调试成功后,可以将系统软件和硬件结合起来调试,这里采用Proteus单片机仿真软件进行仿真。完成电路原理图设计后,将Keil软件调试产生的HEX文件添加到Proteus软件中,运行后,其仿真结果如下图4.1、4.2、4.3:图4.1系统仿真图图4.2系统仿真图4.3系统仿真图5 总结这次的课程设计收获颇多。由于是自由选择课题,在最初选择课题的时候就遇到一点问题,参考了一些资料,最终确立了智能抢答器这个课题。课题选定之后,就注重搜集相关的资料,网上也下载了不少资料,对自己所要设计的智能抢答器有了初步的了解。我主要是负责软件方面的设计,编程方面,自己的基础不是很好,遇到了不少困难,借鉴了一些资料的相关程序,同时也回顾了单片机教科书上的内容,巩固了以前学习的知识,这一点也是这次比较大的收获。程序编完后,就开始了调试的过程,期间同样不可避免的遇到了一些问题,很多低级的错误都不应该,这点我尤其有体会,以后的编程中我会更加注意这个问题。最后就是用Proteus单片机仿真软件进行仿真,这部分由于前面的调试和检查,硬件和软件部分都接近预想的效果,这就导致软硬件综合仿真很顺利的完成。附录1程序代码 EQU20H;抢答开始标志位RINGEQU22H;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN:MOV R1,#30;初设抢答时间为30sMOV R2,#60;初设答题时间为60sMOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0HMOV TL0,#0FFH;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了查询程序:START:MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY;未开始抢答时候显示FFF JB P3.0,NEXTACALL DELAYJB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1-R6,因为R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面NEXT:JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START非法抢答处理:FALSE1:MOV R3,#01HAJMP ERRORFALSE2:MOV R3,#02HAJMP ERRORFALSE3:MOV R3,#03HAJMP ERRORFALSE4:MOV R3,#04HAJMP ERRORFALSE5:MOV R3,#05HAJMP ERRORFALSE6:MOV R3,#06HAJMP ERRORFALSE7:MOV R3,#07HAJMP ERRORFALSE8:MOV R3,#08HAJMP ERROR抢答时间调整程序:INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKOAJMP INT0SUBINC0:MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0:INC R1ACALL DELAY1AJMP INT0SUBDEC0:MOV A,R1JZ SETR1;如果R1为0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1:MOV R1,#63HACALLDELAY1AJMP INT0SUBBACK0:RETI 回答时间调整程序:INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB P3.4,INC1JNB P3.5,DEC1JNB P3.1,BACK1AJMP INT1SUBINC1:MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INT1SUBADD1:INC R2ACALL DELAY1AJMP INT1SUBDEC1:MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2:MOV R2,#63HACALLDELAY1AJMP INT1SUBBACK1:RETI 倒计时程序(抢答倒计时和回答倒计时都跳到改程序) :REPEAT:MOV A,R2 ;使用锦囊时重新计时MOV R6,ACLR RING COUNT:MOV R0,#00H;重置定时器中断次数MOV TH1,#3CHMOV TL1,#0B0H;重置定时器RECOUNT:MOV A,R6;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6MOVB,#0AHDIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;个位存于(31H)MOV R5,30H;取十位MOV R4,31H;取个位MOV A,R6SUBB A,#07HJNC LARGER;大于5s跳到LARGER,小于等于5s会提醒MOV A,R0CJNE A,#0AH,FULL;1s中0.5s向下运行CLR RINGAJMP CHECKFULL:CJNE A,#14H,CHECK;下面是1s的情况,响并显示号数并清R0,重新计SETB RINGMOV A,R6 JZ QUIT;计时完毕MOV R0,#00HDEC R6;一秒标志减1AJMP CHECKLARGER:MOV A,R0CJNE A,#14H,CHECK;如果1s向下运行,否者跳到查停/显示DEC R6;计时一秒R6自动减1MOV R0,#00HCHECK:JNB P3.1,QUIT;如按下停止键退出JNB OK,CHECKK ;只在回答倒计时才有效AJMP NEXTTCHECKK:JNB P3.0,REPEAT ;判断是否使用锦囊NEXTT:ACALL DISPLAYJB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)AJMP RECOUNTACCOUT:MOV A,36HJNB ACC.0,TRUE1JNB ACC.1,TRUE2JNB ACC.2,TRUE3JNB ACC.3,TRUE4JNB ACC.4,TRUE5JNB ACC.5,TRUE6JNB ACC.6,TZ1JNB ACC.7,TZ2AJMP RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8 QUIT:CLR OK;如果按下了停止键执行的程序CLR RINGAJMP START正常抢答处理程序:TRUE1:ACALL BARKMOV A,R2MOV R6,A;抢答时间R2送R6MOV R3,#01HCLROK;因为答题的计时不再查询抢答,所以就锁了抢答AJMP COUNTTRUE2:ACALL BARKMOV A,R2MOVR6,AMOVR3,#02H CLR OKAJMP COUNTTRUE3:ACALL BARK MOVA,R2 MOV R6,A MOV R3,#03HCLROKAJMP COUNTTRUE4:ACALL BARK MOVA,R2MOV R6,AMOVR3,#04HCLROKAJMP COUNTTRUE5:ACALL BARK MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK MOV A,R2MOVR6,AMOV R3,#06HCLR OKAJMP COUNTTRUE7:ACALL BARK MOVA,R2MOV R6,AMOV R3,#07HCLR OKAJMP COUNTTRUE8:ACALL BARK MOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT犯规抢答程序:ERROR:MOV R0,#00HMOVTH1,#3CHMOV TL1,#0B0HMOV 34H,R3;犯规号数暂存与(34H)HERE:MOV A,R0CJNE A,#06H,FLASH;0.3s向下运行-灭并停响CLR RING MOV R3,#0AHMOV R4,#0AHMOV R5,#0AH;三灯全灭AJMP CHECK1FLASH:CJNE A,#0CH,CHECK1;下面是0.8s的情况,响并显示号数并清R0,重新计SETB RINGMOV R0,#00HMOV R3,34H;取回号数MOV R5,#0BHMOV R4,#0BH;显示FF和号数AJMPCHECK1CHECK1:JNB P3.1,QUIT1ACALL DISPLAYAJMP HEREQUIT1:CLR RINGCLR OKAJMP START显示程序:DISPLAY:MOVDPTR,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,MOVA,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,A ACALL DELAY2 MOVDPTR,#DAT2MOV A,R5MOVC A,A+DPTR MOV P2,#0fdHMOVP0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0fbH MOVP0,AACALL DELAY2RETDAT1:DB00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H; 灭,1,2,3,4,5,6,7,8,9,灭,FDAT2:DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ; 第一个为零,其他与上相同,因为十位如果为零显示熄灭加减时间延时(起到不会按下就加N个数) :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苗木培育工工艺考核试卷及答案
- 2025年高二秋季开学摸底考试地理试卷(山东专用)(解析版)
- 会计从业考试题库买及答案解析
- 班组长现场安全管理题库及答案解析
- 2025年质量知识试题库及参考答案
- 2025年全国保密教育线上培训考试试题库及完整答案附
- 2025年处方授权试题及答案
- 2025年无菌操作测试题及答案
- 2025年查对制度考试试题题库及答案解析
- 2025年怎样讲解中考试题及答案
- 2025年秋统编版九年级上册道德与法治全册知识点复习提纲
- 2025年秋青岛版三年级数学上册第一二单元学业质量检测试题
- 铝材厂跟单员培训课件
- 硫酸安全培训与防范课件
- BIM概述课件教学课件
- 农作物施肥精准手册
- 医疗机构医疗质量安全专项整治行动自查自纠报告
- 中建土建劳务招标标准清单编制参考
- 待灭菌物品的装载
- 2025年职业病诊断医师考核试题(答案)
- 中学窗帘采购项目方案投标文件(技术文件)
评论
0/150
提交评论