ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:237.39KB ,
资源ID:10571792      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10571792.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机课程设计基于多路数字抢答器.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机课程设计基于多路数字抢答器.docx

1、单片机课程设计基于多路数字抢答器目 录1 引言 12 功能概述 12.1抢答器工作原理 12.2设计目的与要求 12.3设计任务 12.4运行环境及工具 23 系统硬件设计 23.1芯片的选择 23.2原理及电路总框图 23.3晶振复位及开始抢答电路 33.4选手抢答键 33.5显示与显示驱动电路 43.6蜂鸣器音频输出电路 44 系统软件设计 54.1系统主程序设计 54.2系统流程图 64.3程序清单 75 系统仿真结果 145.1开始抢答仿真 145.2抢答犯规仿真 155.3抢答成功仿真 166 课程设计的总结与体会 17参考文献资料 171 引言当今的社会竞争日益激烈,选拔人才,评选

2、优胜,知识竞赛之类的活动愈加频繁,那么也就必然离不开抢答器。而现在的抢答器有着数字化,智能化的方向发展,这就必然提高了抢答器的成本。鉴于现在小规模的知识竞赛越来越多,操作简单,经济实用的小型抢答器必将大有市场。本抢答器与其他抢答器电路相比较有分辨时间极短、结构清晰,成本低、制作方便等优点,并且还有防作弊功能。因此,我们制作了这款简易多路(十六路)数字抢答器摒弃了成本高、体积大、操作复杂。我们采用了数字显示器直接指示,自动锁存显示结果,因而本抢答器具有显示直观,操作简单的特点。而且在显示时抢答器会发出蜂鸣声使效果更为生动。工厂、学校和电视台等单位常举办各种智力竞赛, 抢答记分器是必要设备。2 功

3、能概述2.1抢答器工作原理抢答器的工作原理是采用单片机最小系统,用查询式键盘进行抢答。采用动态显示组号。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按纽(P3.2),有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽(P3.2),蜂鸣响声提示,且数码管10秒倒计时(10秒内抢答有效),有人在10秒抢答,蜂鸣器响声提示并显示他的组号,3秒开始20秒倒计时(20秒内必须回答完问题)。20秒后主持人按下复位开关为下一题的抢答做准备。单片机最小系统、抢答按键模块(四位并行数码显示、4*4矩阵式键盘)、显示模块、显示驱动模块、抢答开关模块、蜂鸣器音频输出

4、模块。2.2设计目的与要求(1)熟悉电路,理解各个元件之间的控制流程。(2)熟悉PROTEUS及WAV6000平台的运行环境。(3)熟练掌握汇编语言,调用中断子程序和对端口进行读写数据的操作。(4)理解掌握抢答器的原理及电路设计2.3设计任务(1)多路数字抢答器的硬件和软件设计(2)分析电路图(3)画出程序流程图(4)编写代码(5)程序分析与调试2.4运行环境及工具(1)WINDOWS XP系统(2)PROTUES软件 (3)汇编编译环境、汇编语言3 系统硬件设计3.1芯片的选择本设计使用到的元器件包括:AT89C51芯片、数码LED显示器、七段LED数码管的译码。其中AT89C51是系统的核

5、心,它主要负责控制各个部分的协调工作。在其外围接上复位电路,上拉电阻,数码管,按钮以及振荡器,p1.0-p1.7为抢答输入键接口,数码管段选P0口,位选P2口,蜂鸣器输出为P3.0口。3.2原理及电路总框图图3.2 抢答器总原理图3.3 晶振复位及开始抢答电路晶振的频率为12MHZ,提供89C51的时钟脉冲使89C51工作,复位电路是单片机初始化,使单片机重新开始执行程序。当复位开关按下RST由低电平变为高电平,则程序从头开始执行,在此次课程设计电路中当一个问题结束主持人后按下复位开关后进行下一题的准备。 图3.3 复位及开始抢答电路3.4选手抢答键(矩阵式键盘)89C51的P1口做一个4*4

6、的行列式键盘。P1.0至P1.3轮流输出低电平在软件查询P1.4至P1.7的电平变化来输入组号。给每一个选手编号1至16,当选手按下按钮时,电平变化从P1口输入,经单片机处理后从P0输出由数码管显示抢答者编号。 图3.4 选手抢答电路3.5显示与显示驱动电路此电路包括显示和驱动,显示采用数码管,驱动用三极管PNP。数码管要显示抢答违规者编号、抢答10秒倒计时、正常抢答者编号和回答问题时间20秒倒计时,数码管采用动态显示。驱动电路PNP发射极接+5V电压,当基极为低电平是集电极为高电平则能驱动数码管使其显示数字。因为PNP是模拟器件而数码管为数字器件,PNP的集电极如果不接一个较大的电阻显示就会

7、出问题。所以在PNP的集电极接了一个10千欧的电阻。图3.5 显示与显示驱动电路3.6蜂鸣器音频输出电路蜂鸣器音频输出电路的功能是用来报警,当遇到报警信号时,发出蜂鸣声,以此来提醒操作者。本电路通过控制不同频率的矩形脉冲来控制蜂鸣器发声。此次课程设计中只需要一些简单的提示声音,如有抢答违规,开始抢答,抢答时间结束和回答问题时间到的提示声音。本课程设计从P3.0口输出一个矩形脉冲来控制驱动器PNP集电极的高低电平时间来控制蜂鸣器的声音。图3.6 蜂鸣器音频输出电路图4 系统软件设计4.1系统主程序设计为了能够达到抢答的公平、公正、合理,应该在主持人发布抢答命令之前必须先设定抢答的时间,因而在编开

8、始抢答前的程序得先编写设定时间的程序,当时间设好了之后,主持人按开始键发布抢答命令,若在主持人未按开始键之前,有选手提前答题,则为违规抢答,蜂鸣器会发出警告声,并在显示器上显示犯规的选手编号。当有选手抢答成功,则程序打开定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序,其他选手在此之后按键无效。当在扫描到有人按下了抢答键,马上关闭T0、调用显示程序、封锁键盘。4.2系统流程图4.2.1硬件复位流程图Y图4.2.1 硬件复位流程图4.2.2系统程序流程图调用抢答者获得回答的子程序 图 4.2.2 系统程序流程图4.2.3显示抢答违规流程图显示违者编号图4.2.3显示抢答违规流程图4.

9、2.4抢答成功流程图图RET图4.24抢答成功流程图4.3 程序清单 ORG 0000H LJMP MAIN ORG 0013H LJMP ESS1 ORG 0100HMAIN:SETB EA SETB EX1 SETB IT1 ;外部中断1初始化 L16:MOV P1,#0FFH MOV R2,#00H CLR P1.0 INC R2 JB P1.4,L0 LCALL DE0 L0:INC R2 JB P1.5,L1 LCALL DE0 L1:INC R2 JB P1.6,L2 LCALL DE0 L2:INC R2 JB P1.7,L3 LCALL DE0 L3:SETB P1.0 CLR

10、 P1.1 INC R2 JB P1.4,L4 LCALL DE0 L4:INC R2 JB P1.5,L5 LCALL DE0 L5:INC R2 JB P1.6,L6 LCALL DE0 L6:INC R2 JB P1.7,L7 LCALL DE0 L7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,L8 LCALL DE0 L8:INC R2 JB P1.5,L9 LCALL DE0 L9:INC R2 JB P1.6,L10 LCALL DE0 L10:INC R2 JB P1.7,L11 LCALL DE0 L11:SETB P1.2 CLR P1.3 INC

11、R2 JB P1.4,L12 LCALL DE0 L12:INC R2 JB P1.5,L13 LCALL DE0 L13:INC R2 JB P1.6,L14 LCALL DE0 L14:INC R2 JB P1.7,L15 LCALL DE0 L15:LJMP L16 ;读行列式键盘 ESS1:MOV 70H,#30D ;外部中断1 MOV R7,#0CH CLR P3.0 S2:LCALL DELAY DJNZ 70H,S2 SETB P3.0 ;蜂鸣器提示开始抢答 MOV TMOD,#00010000B MOV R3,#0AH L20:MOV 55H,#14H L19:MOV TH0,

12、#3CH MOV TL0,#0B0H ;定时器1初始化 SETB TR1 ;启动定时器1 MOV A,R3 MOV B,#0AH DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV 53H,A CLR P2.4 MOV P0,53H LCALL DELAY1 SETB P2.4 MOV A,B MOVC A,A+DPTR MOV 54H,A CLR P2.5 MOV P0,54H LCALL DELAY1 SETB P2.5 L18:JNB TF1,L18 CLR TF1 DJNZ 55H,L19 DEC R3 CJNE R7,#00H,D6 LJMP D5 D6:C

13、JNE R3,#0FFH,L21 LJMP L22 L21:LJMP L20 ;抢答倒计时 L22:MOV 73H,#02D S5:MOV 70H,#20D MOV 71H,#20H CLR P3.0 S4:LCALL DELAY DJNZ 70H,S4 SETB P3.0 S6:LCALL DELAY DJNZ 71H,S6 DJNZ 73H,S5 ;抢答倒计时时间到声音提示 D5:RETI DE0:MOV DPTR,#TAB ;抢答违规报警并显示抢答违规组号 MOV A,R2 MOV B,#0A S10:MOV 72H,#20D MOV 73H,#10D CLR P3.0 S8:LCALL

14、 LCC DJNZ 72H,S8 SETB P3.0 S9:LCALL LCC DJNZ 73H,S9 DJNZ 71H,S10 L17:LCALL LCC LJMP L17 LCC:CLR P2.4 MOV P0,50H LCALL DELAYDELAY1:MOV P1,#0FFH ;正常抢答读键 MOV R4,#250D W17:MOV R2,#00H CLR P1.0 INC R2 JB P1.4,W0 LCALL DE1 W0:INC R2 JB P1.5,W1 LCALL DE1 W1:INC R2 JB P1.6,W2 LCALL DE1 W2:INC R2 JB P1.7,W3

15、LCALL DE1 W3:SETB P1.0 CLR P1.1 INC R2 JB P1.4,W4 LCALL DE1 W4:INC R2 JB P1.5,W5 LCALL DE1 W5:INC R2 JB P1.6,W6 LCALL DE1 W6:INC R2 JB P1.7,W7 LCALL DE1 W7:SETB P1.1 CLR P1.2 INC R2 JB P1.4,W8 LCALL DE1 W8:INC R2 JB P1.5,W9 LCALL DE1 W9:INC R2 JB P1.6,W10 LCALL DE1 W10:INC R2 JB P1.7,W11 LCALL DE1 W

16、11:SETB P1.2 CLR P1.3 INC R2 JB P1.4,W12 LCALL DE1 W12:INC R2 JB P1.5,W13 LCALL DE1 W13:INC R2 JB P1.6,W14 LCALL DE1 W14:INC R2 JB P1.7,W15 LCALL DE1 W15:DJNZ R4,W16 LJMP W18 W16:LJMP W17 W18:RET DE1:MOV P1,#0FFH ;抢答成功声音提示及回答问题时间20秒倒计时 MOV 70H,#20D CLR P3.0 S3:LCALL DELAY DJNZ 70H,S3 SETB P3.0 SETB

17、P2.0 SETB P2.1 MOV DPTR,#TAB MOV A,R2 MOV B,#0AH DIV AB MOVC A,A+DPTR MOV 56H,A MOV A,B MOVC A,A+DPTR MOV 57H,A MOV TMOD,#00000001B MOV R5,#16H L32:MOV R6,#14H L31:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 CLR P2.4 MOV P0,56H LCALL DELAY SETB P2.4 CLR P2.5 MOV P0,57H LCALL DELAY SETB P2.5 CJNE R5,#14H,L34

18、 LJMP L35L34: JC L35 LJMP L30L35: MOV A,R5 MOV B,#0AH DIV AB MOVC A,A+DPTR MOV 58H,A MOV A,B MOVC A,A+DPTR MOV 59H,A CLR P2.6 MOV P0,58H LCALL DELAY SETB P2.6 CLR P2.7 MOV P0,59H LCALL DELAY SETB P2.7 L30:JNB TF0,L30 CLR TF0 DJNZ R6,L31 DEC R5 CJNE R5,#0FFH,L32 MOV P1,#0FFH MOV 70H,#50D CLR P3.0 S7:

19、LCALL DELAY DJNZ 70H,S7 SETB P3.0 MOV P2,#0FFH MOV R3,#00H MOV R7,#00H RETDELAY:MOV 51H,#10D ;延时子程序 D0:MOV 52H,#248D D1:DJNZ 52H,D1 DJNZ 51H,D0 RET TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END5 系统仿真结果5.1开始抢答仿真 主持人按开始按钮后,进入抢答10秒倒计时。图5.1.1 10秒抢答倒计时开始图5.1.2 10秒抢答倒计时结束5.2抢答犯规仿真 若在主持人还未按开始按钮时,

20、就抢答则为抢答犯规。仿真为4号犯规。图5.2.1 未开始状态图5.2.2 4号选手犯规抢答5.3抢答成功仿真主持人按开始按钮后,10秒内抢答则为成功抢答。仿真为15号选手成功抢答,抢答后进入20秒倒计时答题时间。图5.3.1 10秒抢答倒计时开始图5.3.2 15号选手成功抢答6 课程设计的总结与体会通过本次课程设计使我对proteus仿真软件的使用和汇编语言有了更进一步的了解和掌握。在最初编写过程中,我也曾经因为实践经验的缺乏失落过,也曾经因仿真成功而热情高涨。特别是Proteus仿真软件的使用,不知是由于电脑的问题还是怎么,这个软件的安装就花了我很长的时间,好不容易安装好了,又对软件的使用

21、一点都不熟悉,要从头开始学起,对着老师发给我们的芯片原理进行仿真画图,刚刚开始时候真的很难下手,因为是英文版的软件,很多东西都看不太明白,都是通过自己一个个来慢慢琢磨,才把仿真图画了出来,然后把写好的程序导入芯片,进行仿真,当看到程序正常运行的那一刻,心中真是有几分的喜悦。虽然这只是一次的较简单的课程设计,可是平心而论,也耗费了我不少的心血。我想说:为完成这次课程设计我们确实很辛苦,但苦中仍有乐,和同学们相互帮助,当LED亮了起来,喇叭响了起来是对我这段日子以来最好的告慰。而且对于论文的总体构思也有了很多经验,相信自己经过这一次的训练与学习,对于今后的毕业论文会有更多帮助。这次课程设计让我充分

22、理解了89C51芯片的工作原理,知道了抢答器的硬件和软件的实现过程,并且通过自己动手编写程序来控制抢答器的工作,我感到非常有成就感,也锻炼了我的编程能力。在刚开始编程的时候,我感到很茫然,不知道怎么样下手,但是通过自己的仔细的分析和老师的细心的指导,在认真分析了原来已有的代码后,和应有的硬件后,经过多次调试和测试终于成功了。在此我非常要感谢的是我的指导老师刘伟春老师,感谢老师的细心认真的辅导,教给我许多原来不知道的知识。这次课程设计能够顺利的完成,当然有我个人的努力,但同时也离不开指导老师的答疑解惑和同学的帮助。参考文献资料1 李泉溪. 单片机原理与应用实例仿真.北京航天航空大学出版社 2009年2 江世明. 基于Proteus的单片机应用技术. 电子工业出版社 2008年3 喻宗泉. 单片机原理与应用技术.西安电子科技大学出版社 2005年4 万光毅. 单片机实验与实践教程. 北京航天航空大学出版社 2003年5 张俊谟. 单片机初级教程.北京航天航空大学出版社 2000年

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2