六路抢答器设计版_第1页
六路抢答器设计版_第2页
六路抢答器设计版_第3页
六路抢答器设计版_第4页
六路抢答器设计版_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、六路抢答器设计doc版六路抢答器设计doc版单片机原理及应用课程设计报告 题目六路抢答器的设计 姓名XXX、XX、 XX专业班级11电子信息工程 2班指导教师许长安日 期2013.12.20目 录一、设计任务及要求 1二、元器件清 单及简介1 1、元器件清单1 2、AT89C52简介2三、设计原 理及分析3 1、总原理图3 2、时钟频率电路 4 3、显示电路4 4、抢答电路4 5、软件设计5四、设计中遇到的问题与改进 6五、总结6六、参考文献6附录一:7 一、设计任务及要求 1、设计一个六路抢答器;2、系统设置复位按钮,按动后,重新开始抢答;3、选手抢答实行优先锁存,优先抢答选手的编号一直保持

2、到主持人按下 复位键为止。抢答后显示优先抢答者序号,同时红LED亮。并且不由现其他抢答者的序号;4、抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间 设定为20秒,当主持人启动 开始”开关后,定时器开始减 计时,同时绿LED亮;5、设定的抢答时间内,选手可以 抢答,这时定时器停止工作,显示器上显示选手的号码和抢 答时间。并保持到主持人按复位键。二、元器件清单及简介 1、元器件清单 元器件清单如表2-1所示:AT89C52 1片12M晶振1个30pf普通电容 2个10uf电 解电容1个2K电阻1个10K排阻2个100Q电阻4个 四角按键7个红LED 1个绿LED 1个 四位共

3、阴八段数码 管 1 个表 2-1 2、AT89C52 简介 AT89C52 是美国 ATMEL 公司生产的低电压,高性能 CMOS 8位单片机,片内含 8k bytes的可反复擦写的只读程序存储器(PEROM )和256 bytes的随机存取数据存储器(RAM),器件采用 ATMEL公司的 高密度、非易失性存储技术生产,与标准 MCS-51指令系统 及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大 AT89C52单片机适合于许多较 为复杂控制应用场合。12主要性能参数:与MCS-51产品指令和引脚完全兼容8k字节可重擦写Flash闪速存储器1000次擦写

4、周期 全静态操作:0Hz24MHz三级加密程序存储器 256 >8字节内部 RAM 32个可编程I/O 口线3个16位定时/计数器 8个中断源 可编程串行UART通道 低功耗空闲和掉电模式 功能特性概 述:AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部 RAM , 32个I/O口线,3个16位定时/计数器,一个 6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种 软件可选的节电工作模式。空闲方式停止 CPU的工作,但允许RAM ,定时/计数器, 串行通信口及中断系统继续工作。掉电方式保存

5、RAM中的内容,但振荡器停止工作并禁止 其它所有部件工作直到下一个硬件复位。AT89C52引脚图 三、设计原理及分析 该系统采用51系 列单片机AT89C51作为控制核心,该系统可以完成运算控 制、信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便、简 单并且单片机周围的辅助电路也比较少,便于控制和实现。整个系统具有极其灵活的可编程性,能方便地对系统进行 功能的扩张和更改。抢答器的工作原理是利用单片机的定时器 T0、T1中断完 成,其余状态循环调用显示子程序,用4个共阴极LED数码管 来显示,用P0 口作为数码管的八个段选, 用P2 口中的P2.0、 P2.1、P2.2

6、、作为4个数码管其中3个位选,P1 口接6个按 键,提供选手抢答,P3.0接按键实现复位功能。1、总原理图 单片机实现抢答的电路图如图3-1所示:图3-1 2、时钟频率电路 单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元决定单片机的工作速度。一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,具振荡频率主要由 石英晶振的频率确定。电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为 30PF

7、。单片机在工作时,由内部振荡器产生或由外直接输入的送 至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数 ,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为 1/12 s。外部时钟电路如图 3-2所示:图3-2 3、显示电路 显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。4、抢答电路 AT89C52的P1 口做一个为选手抢答的输入 按键引脚,P1.0至P1.5轮流输由低电位,给每一个选手编号 1至6,当选手按下按钮时,P1 口个端口的电平变化从 P1口输入,经单片机处理后从P0输由

8、由数码管显示抢答者编号。电路如图3-3所示:图3-3 5、软件设计 为了能够达到抢答的公平、 公正、因而 在编开始抢答前的程序得先编写设定时间的程序,当时间设 好了之后,程序开始打开定时中断开始倒计时,然后调用键 盘扫描子程序,编写键盘扫描程序。当在扫描到有人按下了答题键,马上关闭T0、调用显示程序、封锁键盘。系统程序流程图 四、设计中遇到的问题与改进1、开始设计复位功能时选择的是上电复位,但是仿真过程中发现 上电复位无法满足设计要求,所以后来选择软件复位复位的 方式仿真中才满足了复位的要求;2、在设计的过程中,要求在有人抢答后倒计时显示必须停止,开始时再抢答后会 继续倒计时,后来在程序中加了

9、一个处理程序将抢答那一刻 的倒计时显示存储了起来,在显示抢答位数是,同时将保存 的倒计时数显示由来。五、总结开始时,对于单片机的课程设计我显得有些无 从下手,通过对课本上的例题的参考,以及对网上的大量实 例的研究,了解了课程设计大概的流程。实在话,让我自己亲手动手去做实在不能完成,只有通过 书本和通过网络才可完成。经过为期一周的单片机课程设计,终于完成了六路路抢答器的设计,虽然没有交由一份完美的答卷,但还是收获良 多。通过这次课程设计,使我更进一步地熟悉了单片机芯片的 工作原理和其具体的使用方法。单片机课程设计重点就在于软件算法的设计,需要有很巧 妙的程序算法,这锻炼了自己独立思考问题的能力和

10、通过查 看相关资料来解决问题的习惯。还有了解了课程设计的一般步骤,和设计中应注意的问 题。在这里我要感谢老师和同学对我的帮助,没有你们的帮助我也无法完成这次任务,谢谢!六、参考文献(1)单片机原理及应用张毅刚 高等教育由版社,2010 (2)单片机课程设计实例指导李光飞北京航天航空大学生版社,2004 (3)51单片机应用系统开发典型实例戴佳中国电力由版社,2009 (4)单片机原理与接口技术吴亦峰 电子工业由版社,2005附录一:OK EQU 20H ;抢答开始标志位 DATA0 EQU 36H 枪答按 键口数据存放地址 ORG 0000H AJMP MAIN ORG 0003H AJMP

11、INTT0 ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,#20 ;初设抢答时间为 20s MOV TMOD,#11H ;设置 未定时器 /模式 1 MOV TH1,#3CH MOV TL1,#0B0H ;50ms 为 一次溢由中断 SETB EA SETB EX0 SETB ET1 CLR OKCLR P3.6 SETB P3.7 SETB TR1 SETB TR0 ;查询程序START: MOV DATA0,#0FFH ;初始化 MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ; SETB EX0

12、 ; 开 放 INT0 MOV A,R1 MOV R6,A ; 送 R1->R6,因为 R1 中保存了 抢答时间SETB OK ;抢答标志位,用于COUNT只程序中判 断是否查询抢答(在使用锦囊时用作判断是抢答倒计时还是 回答倒计时)MOV R3,#0AH ;抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT 里面;倒计时程序 COUNT: MOV R0,#00H ;重置定时器中断 次数 MOV TH1,#3CH MOV TL1,#0B0H ;重置定时器 RECOUNT: MOV A,R6 ;R6 保存了倒计时的时间,之前先将抢 答时间或回答时

13、间给 R6 MOV B,#0AH DIV AB ; 除十分由个 位/十位 MOV 30H,A ;十位存于(30H) MOV 31H,B ;个位存于 (31H) MOV R5,30H ;取十位 MOV R4,31H ;取个位 MOV A,R6 SUBB A,#07H JNC LARGER ;大于 5s 跳至U LARGER, 小于等于 5s 会提醒 MOV A,R0 CJNE A,#0AH,FULL ;1s 中 0.5s 向下运行 AJMP CHECK FULL: CJNE A,#14H,CHECK ; 下面是1s的情况,响并显示号数并清 R0,重新计 MOV A,R6 JZ QUIT ;计时完

14、毕 MOV R0,#00H DEC R6 ;一秒标志减 1 AJMP CHECK LARGER: MOV A,R0 CJNE A,#14H,CHECK ; 如果1s向下运行,否者跳到查 停/显示“DEC R6 ;计时一秒 R6 自动减 1 MOV R0,#00H CHECK: JNB P3.0,QUIT ; 如按下停止键退由 ACALL DISPLAY JB OK,ACCOUT ;如果是抢 答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到 锁抢答作用)AJMP RECOUNT ACCOUT: MOV A,DATA0 JNB P1.0,TRUE1 JNB P1.1,TRUE2 JNB P

15、1.2,TRUE3 JNB P1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 AJMP RECOUNT QUIT: CLR OK ;如果按下了 复位执行的程序 CLR P3.6 SETB P3.7 AJMP START ;抢答程序 TRUE1: MOV R3,#01H CLR OK SETB P3.6 CLR P3.7 ;因为答题的计时不 再查询抢答,所以就锁了抢答 AJMP ERROR TRUE2: MOV R3,#02H CLR OK SETB P3.6 CLR P3.7 AJMP ERROR TRUE3: MOV R3,#03H CLR OK SETB P

16、3.6 CLR P3.7 AJMP ERROR TRUE4: MOV R3,#04H CLR OK SETB P3.6 CLR P3.7 AJMP ERROR TRUE5: MOV R3,#05H CLR OK SETB P3.6 CLR P3.7 AJMP ERROR TRUE6: MOV R3,#06H CLR OK SETB P3.6 CLR P3.7 AJMP ERROR ;抢答处理程序 ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3 ;犯规号数暂存与 (34H) HERE: MOV A,R0 CJNE A,#0AH,F

17、LASH ;0.5s 向下运行,灭并停响AJMPCHECK1 FLASH: CJNE A,#14H,CHECK1 ; 下面是 1s 的情况, 响并显示号数并清 R0,重新计 MOV R0,#00H MOV R3,34H ;取回号数 AJMP CHECK1 CHECK1: JNB P3.0,QUIT1ACALL DISPLAY AJMP HERE QUIT1: CLR OK AJMP START ;显示程序 DISPLAY: MOV DPTR,#DAT1 ;查表显示 程序,利用P0 口做段选码口输由/P2低三位做位选码输由, MOV A,R3 MOVC A,A+DPTR MOV P2,#0feH

18、 MOV P0,AACALL DELAY MOV DPTR,#DAT2 MOV A,R5 MOVC A,A+DPTR MOV P2,#0fdH MOV P0,A ACALL DELAY MOV A,R4 MOVC A,A+DPTR MOV P2,#0fbH MOV P0,AACALLDELAYRETDAT1:DB00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,00H; “ 灭“,”1 ”,”2 ”,”3 ”,”4 ”,”5 灰 ”6 ”M "7DAT2:8)B, “9 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,

温馨提示

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

评论

0/150

提交评论