八路电子抢答器课程设计Word格式.docx
- 文档编号:18470145
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:24
- 大小:457.54KB
八路电子抢答器课程设计Word格式.docx
《八路电子抢答器课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《八路电子抢答器课程设计Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
说明书格式
1.封面
2.课程设计任务书
3.目录
4.系统总体方案设计
5.系统硬件设计
6.软件设计(包括流程图)
7.系统的安装调试说明
8、总结
9、参考文献
10、附录
11、课程设计成绩评分表。
进度安排
设计时间为两周
第一周
星期一、上午:
布置课题任务,讲课及课题介绍
下午:
借阅有关资料,总体方案讨论
星期二、确定总体设计方案
星期三、硬件模块方案设计
星期四、软件模块方案设计
星期五、各硬件模块设计
第二周
星期一、各硬件模块设计
星期二、各软件模块设计
星期三、各软件模块设计
星期四、写说明书
星期五、上午:
写说明书,整理资料
下午:
交设计资料,答辩
参考文献
1、王迎旭.单片机原理及及应用.北京:
机械工业出版社,2012.
2、李建忠.单片机原理及应用.西安:
西安电子科技大学出版社,2002
3、高峰.单片微型计算机原理与接口技术.北京:
电子工业出版社,2003.
4、邹逢兴.单片机应用新技术教程.北京:
高等教育出版社,2008
5、朱宇光.16位微型计算机原理接口及其应用.北京:
电子工业出版社,
6、陈海宴主编.51单片机原理及应用—基于KeilC与Proteus.北京:
北京航空航天大学出版社,2010.
第1章课题概述…………………………………………………………6
1.1课题的设计要求…………………………………………………6
1.2课程设计的目的和意义…………………………………………6
第2章总体设计方案……………………………………………………7
2.1总体思路…………………………………………………………7
2.3总体设计框图……………………………………………………7
2.4系统工作原理……………………………………………………8
第3章系统的硬件设计…………………………………………………9
3.1单片机的选择……………………………………………………9
3.2LED显示器………………………………………………………10
3.3时钟电路设计……………………………………………………11
3.4复位电路设计……………………………………………………12
第4章系统软件设计……………………………………………………13
4.1系统软件设计方案………………………………………………13
4.2系统应用程序设计………………………………………………13
4.2.1主程序设计……………………………………………………13
4.2.21秒定时子程序设计…………………………………………14
4.2.3中断服务程序…………………………………………………15
4.2.4字形码的定义…………………………………………………16
第5章仿真与调试………………………………………………………17
第6章总结与体会………………………………………………………20
第7章参考文献…………………………………………………………21
第8章附录………………………………………………………………22
8.1总机硬件设计原理图……………………………………………22
8.2源程序清单………………………………………………………23
第1章课题概述
1.1课题的设计要求
以单片机为核心,设计一个8位竞赛抢答器:
1.2课题的设计目的和意义
在许多比赛活动中,为了准确、公正、直观地判断出第一抢答者,通常设置一台抢答器,通过数显、灯光及音响等多种手段指示出第一抢答者。
该系统设计就是针对上述各种要求设计出的供8名选手参赛使用的电子抢答器。
而且可以通过本次的课程设计我们可以学到关于单片机在实际生活中的设计应用,也可以深入地学习到单片机的编程。
第2章总体设计方案
2.1总体思路
该电路的根本任务是准确的判断出第一抢答者的信号和抢答的剩余时间并将其锁存。
而目前使用的小型抢答器基本上采用小规模数字集成电路设计,其功能比较单一,使用起来也不够理想。
但在各种知识、智力竞赛中,电子抢答器又是必不可少的设备之一。
因此研制开发一个更先进、更实用的电子抢答器显得很重要。
本次的课程设计就是为此而做。
因此选用单片机技术为核心的设计方法设计一款数字抢答器,其技术、功能等方面都能满足现行的各种知识、智力竞赛的要求。
2.2总体设计框图
图2.1总体设计框图
2.3系统工作原理
系统主要以单片机为核心,设计了开始、复位功能模块,抢答功能模块,倒计时显示模块和系统报警模块。
八名选手,意味着是八路输入的数字抢答器。
用AT89C51的单片机的P1口连接系统八位选手的抢答开关,而控制输入信号从P3口输入,分别都是外接了上拉电阻的按钮构成。
蜂鸣器只需要接到P3.2上,通过其电平输出驱动蜂鸣器发声,达到报警的效果。
工作原理软件的实现通过对各个按钮的扫描,实现抢答的功能,由于扫描时间相当小,所以可以很精确得判断出那一位选手最先抢答成功和准确地判断出那一位选手抢答失败而导致犯规,并显示。
在倒计时显示中,我使用了单片机的串行通信,到事先存好的字形码传送到显示上来,用的是查表方式。
倒计时还要一个秒单位的脉冲计时,系统使用了单片机内部硬件定时器,实现延时一秒的功能,使得倒计时以秒为单位准确地计时。
第3章系统硬件设计
3.1单片机的选择
AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片机。
AT89C51芯片不仅包括CPU、RAM、ROM、定时器、串行口、I/O接口等主要功能部件之外,还有驱动器、锁存器、指令寄存器、地址寄存器等辅助部分。
CPU是单片机最核心的部分,是单片机的大脑和心脏,主要完成运算和控制功能。
RAM用于存放变化的数据,其地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
ROM用于存放程序和固定不变的常数等等。
通常采用只读存储器,且其有多种类型,在89系列单片机中全部采用闪存、定时/计数器用于实现定时和计数功能。
AT89C51共有四个8位的并行I/O口,每个口都有一个锁存器和1个驱动器组成。
并行I/O口主要用于实现与外部设备中数据的并航输入输出,有些I/O口还有其他功能。
AT89C51有1个UART全双工异步串行口,用于实现单片机和其他具有相应接口的设备之间的异步串行数据传送。
AT89C51采用40Pin封装的双列直接DIP结构。
40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
图3.1AT89C51
3.2LED显示器
LED显示器是由发光二极管显示字段的显示器件。
由图可知它由8个发光二极管构成,通过不同的组合可用来显示0~9、A~F及小数点“.”等字符。
图中DP表示小数点,COM表示公共端。
数码管通常有共阴极和共阳极两种型号。
共阴数管的发光二极管阴极必须接低电平,当某一发光二极管的阳极连到高电平时,此发光二极管点亮;
共阳极数码管的发光二极管是阳极并接到高电平,须点亮的发光二极管阴极接低电平即可。
显然,要显示某字形就应使此字形的相应字段点亮,实际就是送一个用不同电平组合代表的数据到数码管。
LED显示器的驱动是一个非常重要得问题,显示电路由LED显示器、段驱动电路和位驱动电路组成。
由于单片机的并行口不能直接驱动LED显示器,所以必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。
如果驱动电路能力差,即负载能力不够,显示器亮度不够,而且驱动电路长期在超负荷下工作容易损坏。
LED显示器显示控制方式有两种:
静态和动态。
本设计方案选择的是动态控制方式。
由于一位数据的显示是由段码和位码信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。
图3.2显示器共阳极与共阴极
3.3时钟电路的设计
单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容器C1和C2对振荡频率有微调作用,通常取(30±
10)pF。
石英晶体选择12MHz。
如图3.3
图3.3时钟电路设计原理图
3.4复位电路的设计
单片机的RST管脚为主机提供了一个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。
单片机的复位方式由上电自动复位和手动复位两种。
电阻电容器件的参考值R=1K欧、C3=10uF。
如图3.4
图3.4复位电路设计
第4章系统软件设计
4.1系统软件设计方案
系统软件设计方案的确定可以把系统软件按照其功能分为6的模块,每个独立的模块在通过联系程序联系成一个完整的系统程序。
系统的6的功能模块分别是:
(1)主程序模块
(2)数码管显示模块
(3)按键扫描输入模块
(4)1秒的定时硬中断模块
(5)LED灯输出显示模块
(6)蜂鸣器报警输出模块
图4.1电子抢答器软件设计模块
4.2系统应用程序设计
4.2.1主程序的设计
AT89C-51系列单片机复位后,系统一启动,就显示00,这就是系统的初始状态。
此时等待复位键的输入信号,一直处于扫描P3.1的输入电平。
然后等待开始信号的输入,同时扫描所有选手的输入信号,检查是否发生犯规。
若开始键按下,则进行抢答过程,主要是扫描各选手的输入信号。
先产生输入信号的选手抢答成功,转到显示模块。
主程序流程图如图4.2
图4.2主程序流程图
4.2.21秒定时子程序的设计
1S定时有硬件定时和软件定时两种,由于软件定时浪费CPU的资源,在很多的地方都不才用。
相比之下,硬件定时他不浪费CPU资源,且定时准确,使用方便,因此得到了广泛的使用。
由于定时器定时初值较小,所以需扩展定时时间。
使用寄存器R2,设定R2=20,通过20个50ms为1S的方法来实现定时。
图4.3是硬件定时的使用流程图。
本系统要显示倒计时间,所以在1S定时子程序的中断服务程序中加如了修改倒计值的指令,从而实现计数的变化。
图4.31秒定时程序流程图
4.2.3中断服务程序
图4.4中断服务程序流程图
4.2.4字形码的定义
由于系统LED显示器使用的是共阴极的显示器,而显示器不能直接识别十进制和别的进制,他这样根据给定的字行码进行显示,有了十进制对应的字行码,就能实现十进制数通过编译然后在LED显示器上显示,准确无误。
字行码程序清单如下:
ORG10000H
TAB:
DAT1:
DB00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,1FH
DAT2:
DB3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,73H
第5章仿真与调试
1、主持人按下抢答开始键之前,抢答选手若按下抢答键,视为违规,显示其号码,同时报警,仿真电路如图5.1:
图5.1显示违规组号
2、当主持人按下抢答开始键后,进入30秒抢答倒计时,显示仿真电路如图5.2:
图5.2开始抢答并倒计时
3、主持人按下抢答开始键,若有选手进行抢答,显示其号码和剩余枪弹时间,显示仿真电路如图5.3:
图5.3显示抢答选手号码和抢答剩余时间
4、主持人可以调整抢答时间,仿真电路如图5.4:
图5.4调整抢答时间
第6章总结与体会
经过将近二周的单片机课程设计,终于完成了八路抢答器的设计,其中有着许多苦闷也有着许多实验成功的喜悦。
我们的课题并不是很难,在图书管里也有很多资料可查。
平时的学习只是理论性的,很难理解,而且很难知道自己有没有掌握。
在两周的时间里充分的把学过的东西拿来回味,拿来用。
不但了解了那些已经掌握,那些还不知道在设计的同时复习了掌握的知识,还在此基础上把知识扩开学到了更广的内容。
同时还学习掌握了以前没学好的知识。
现在我感受到课程设计的收获是很大的,它不但使我对单片机的知识有了一个整体的认识,使知识形成了一个连贯的体系,原来在课堂上学到的原理知识,感觉空洞了些,但是在这里实践了两周之后才发现,原来这些器件还可以实现这么多的功能。
而且随着课程设计的深入,我们对单片机及其扩展有了更深刻的认识。
虽然在设计过程中我遇到了很多困难,但还是收获良多。
设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。
在设计的过程中,遇到了很多的问题,有一些知识都已经不太清楚了,但是通过一些资料又重新的温习了一下数字电路部分的内容。
在这次设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法我们更好的理解知识,所以在这里非常感谢帮助我的同学。
在此要感谢我的指导老师,感谢老师给我这样的机会锻炼。
在整个设计过程中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。
而且大大提高了动手的能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。
虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次设计的最大收获和财富,使我终身受益。
我也将继续努力,不断完善和充实自己。
第7章参考文献
第8章附录
8.1总机硬件设计原理图
图8.1总机硬件设计原理图
8.2源程序清单
OKEQU20H;
抢答开始标志位
RINGEQU22H;
响铃标志位
DATOAEQU36H;
抢答按键口数据存放地址
ORG0000H
AJMPMAIN
ORG0003H
AJMPINT0SUB
ORG000BH
AJMPT0INT
ORG0013H
ORG001BH
AJMPT1INT
ORG0040H
MAIN:
MOVR1,#30;
初设抢答时间为30s
MOVTMOD,#11H;
设置未定时器/模式1
MOVTH0,#0F0H
MOVTL0,#0FFH;
越高发声频率越高,越尖
MOVTH1,#3CH
MOVTL1,#0B0H;
50ms为一次溢出中断
SETBEA
SETBET0
SETBET1
SETBEX0
SETBEX1;
允许四个中断,T0/T1/INT0/INT1
CLROK
CLRRING
SETBTR1
SETBTR0
START:
MOVDATOA,#0FFH;
查询程序
MOVR5,#00H
MOVR4,#00H
MOVR3,#00H
ACALLDISPLAY
JNBP3.3,INT0SUB
JNBP3.4,TZ1;
倒计时调整
JBP3.0,NEXT
ACALLDELAY
JBP3.0,NEXT;
去抖动,如果"
开始键"
按下就向下执行,否者跳到非法抢答查询
SETBEX0;
开放INT0
ACALLBARK;
按键发声
MOVA,R1
MOVR6,A;
送R1->
R6,因为R1中保存了抢答时间
SETBOK
MOVR3,#0AH;
抢答只显示计时,灭号数
AJMPCOUNT;
进入倒计时程序,"
查询有效抢答的程序"
在COUNT里面
NEXT:
JNBP1.0,FALSE1
JNBP1.1,FALSE2
JNBP1.2,FALSE3
JNBP1.3,FALSE4
JNBP1.4,FALSE5
JNBP1.5,FALSE6
JNBP1.6,TZ1
JNBP1.7,TZ2
AJMPSTART
TZ1:
JMPFALSE7
TZ2:
JMPFALSE8
;
非法抢答处理程序
FALSE1:
MOVR3,#01H
AJMPERROR
FALSE2:
ACALLBARK
MOVR3,#02H
FALSE3:
MOVR3,#03H
FALSE4:
MOVR3,#04H
FALSE5:
MOVR3,#05H
FALSE6:
MOVR3,#06H
FALSE7:
MOVR3,#07H
FALSE8:
MOVR3,#08H
AJMPERROR
INT0SUB:
MOVA,R1;
INT0(抢答时间R1调整程序)
MOVB,#0AH
DIVAB
MOVR5,A
MOVR4,B
MOVR3,#0AH
ACALLDISPLAY;
先在两个时间LED上显示R1
JNBP3.4,INC0;
P3.4为+1s键,如按下跳到INCO
JNBP3.5,DEC0;
P3.5为-1s键,如按下跳到DECO
JNBP3.1,BACK0;
P3.1为确定键,如按下跳到BACKO
INC0:
CJNEA,#63H,ADD0;
如果不是99,R2加1,如果加到99,R1就置0,重新加起。
MOVR1,#00H
ACALLDELAY1
AJMPINT0SUB
ADD0:
INCR1
DEC0:
JZSETR1
DECR1
SETR1:
MOVR1,#63H
BACK0:
RETI
COUNT:
MOVR0,#00H;
倒计时程序(抢答倒计时跳到改程序)
重置定时器
RECOUNT:
MOVA,R6
DIVAB;
除十分出个位/十位
MOV30H,A;
十位存于(30H)
MOV31H,B;
个位存于(31H)
MOVR5,30H;
取十位
MOVR4,31H;
取个位
MOVA,R6
SUBBA,#02H
JNCLARGER
MOVA,R0
CJNEA,#0AH,FULL
CLRRING
AJMPCHECK
FULL:
CJNEA,#14H,CHECK
SETBRING
JZQUIT;
计时完毕
MOVR0,#00H
DECR6;
一秒标志减1
LARGER:
CJNEA,#14H,CHECK;
如果1s向下运行,否者跳到查"
停/显示"
计时一秒R6自动减1
CHECK:
JNBP3.1,QUIT;
如按下停止键退出
ACALLDISPLAY
JBOK,ACCOUT
AJMPRECOUNT
ACCOUT:
MOVA,DATOA
JNBP1.0,TRUE1
JNBP1.1,TRUE2
JNBP1.2,TRUE3
JNBP1.3,TRUE4
JNBP1.4,TRUE5
JNBP1.5,TRUE6
JNBP1.6,TZ3
JNBP1.7,TZ4
TZ3:
JMPTRUE7
TZ4:
JMPTRUE8
QUIT:
CLROK;
如果按下了"
停止键"
执行的程序
AJMPSTART
TRUE1:
正常抢答处理程序
因为答题的计时不再查询抢答,所以就锁了抢答
AJMPCOUNT
TRUE2:
ACALLBARK;
AJMPCO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 八路 电子 抢答 课程设计