篮球记分器单片机课程设计Word文件下载.docx
- 文档编号:19686985
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:19
- 大小:406.27KB
篮球记分器单片机课程设计Word文件下载.docx
《篮球记分器单片机课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《篮球记分器单片机课程设计Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
甲显示器
乙显示器
图2-1硬件电路设计方框图
2.2系统组成
硬件电路由复位按钮、80C51单片机、矩阵键盘和两个4位共阴极LED显示器等组成。
软件部分主程序主要由系统初始化段、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序组成。
第3章硬件设计
3.1AT89C51的介绍
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
3.2复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±
5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
目前为止,单片机复位电路主要有四种类型:
(1)微分型复位电路;
(2)积分型复位电路;
(3)比较器型复位电路;
(4)看门狗型复位电路
现在详细介绍看门狗复位电路:
看门狗型复位电路主要利用CPU正常工作时,定时复位计数器,使得计数器的值不超过某一值;
当CPU不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产生复位脉冲,使得CPU恢复正常工作状态。
典型应用的Watchdog复位电路如图3-1所示。
图3-1看门狗型复位电路
此复位电路的可靠性主要取决于软件设计,即将定时向复位电路发出脉冲的程序放在何处。
一般设计,将此段程序放在定时器中断服务子程序中。
然而,有时这种设计仍然会引起程序走飞或工作不正常[3]。
原因主要是:
当程序“走飞”发生时定时器初始化以及开中断之后的话,这种“走飞”情况就有可能不能由Watchdog复位电路校正回来。
因为定时器中断一真在产生,即使程序不正常,Watchdog也能被正常复位。
为此提出定时器加预设的设计方法。
即在初始化时压入堆栈一个地址,在此地址内执行的是一条关中断和一条死循环语句。
在所有不被程序代码占用的地址尽可能地用子程序返回指令RET代替。
这样,当程序走飞后,其进入陷阱的可能性将大大增加。
而一旦进入陷阱,定时器停止工作并且关闭中断,从而使Watchdog复位电路会产生一个复位脉冲将CPU复位。
当然这种技术用于实时性较强的控制或处理软件中有一定的困难。
3.3键盘控制电路
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
如图3-2所示。
图3-2矩阵式键盘电路
需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
具体的识别及编程方法如下所述。
矩阵式键盘的按键识别方法
确定矩阵式键盘上何键被按下介绍一种“行扫描法”。
行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
若所有列线均为高电平,则键盘中无键按下。
判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:
依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。
在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。
若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键,矩阵键盘与80C51的接口电路如图3-3所示。
图3-3矩阵键盘与80C51的接口电路
3.4显示电路
显示器采用两个四位共阴极LED显示器,来实现显示器的动态扫描,八个二极管连接一个阴极的结构,只要另一段为高电平,二极管就会发光,从而形成一段。
将八段顺序排列后就成为具有一定编码的共阴显示器了。
动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。
如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。
显示电路如图3-4所示。
图3-4显示电路接线图
第4章软件设计
4.1主程序设计
开始
主程序主要由系统初始化段、开中断、键盘识别、键值处理、两个4位共阴极LED显示器扫描显示子程序和中断处理子程序等组成。
通过对以上各段和子程序的结合,以实现系统功能。
该系统主程序流程图如下图4-1所示。
始初化
图4-1主程序流程图
4.2键盘识别及处理程序设计
按键识别及处理程序主要由键盘识别和键值处理组成。
其中键盘识别子程序不断地对键盘进行判断是否有键按下。
当有键按下时则转到键码处理即甲、乙总分处理子程序对相应按键进行相应处理,即可实现对甲、乙两队总分的计算与处理。
键盘识别即依次判断第一列、第二列、第三列、第四列是否有键按下。
如果有键按下,先得出列,再反向赋值得出行,最后得出所在行和列的位置。
键值处理即先定义0~9这九个按键,再对三次按键值进行保存,再来判断是甲队还是乙队加减分,再判断是加还是减,最后判断加或减多少分,实现分别给甲、乙总分进行加分和减分。
键值处理即甲、乙总分处理子程序流程图如下图4-2所示。
图4-2键值处理子程序流程图
4.3显示子程序设计
由于该系统使用的是8位LED显示器显示计分器比分,因此显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。
这样虽然在任一时刻只要一个显示器点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果一样。
显示器扫描显示子程序显示每一位用如图4-3所示流程方法完成。
图4-3显示子程序流程图
4.4复位程序设计
按钮与单片机P0.6/AD6引脚相连,当每次按下该按钮后,系统将通过软件实现对计分复位功能。
在主程序运行过程中,只要系统识别到与单片机P0.6/AD6引脚相连的按键按下,程序则会转去执行复位程序,完成对甲、乙总分寄存单元的清零,显示器各位的显示数寄存单元的复位,执行完毕后,返回主程序。
流程图如4-4所示。
图4-4复位程序流程图
第5章系统调试
5.1软件模拟调试
本设计主要是用proteus软件绘图以及伟福软件进行编程仿真的。
调试步骤由两个部分组成:
首先,确定程序中错误的确切性质和位置;
然后,对程序代码进行分析,确定问题的原因,并设法改正这个错误。
具体地说,由以下步骤组成:
1.从错误的外部表现入手,确定程序中出错的位置;
2.分析有关程序代码,找出错误的内在原因;
3.修改程序代码,排除这个错误;
4.重复进行暴露了这个错误的原始测试以及某些回归测试,以确保该错误确实被排除且没有引入新的错误;
5.如果所作的修正无效,则撤消这次改动,重复上述过程,直到找到一个有效的办法为止。
5.2硬件接线及调试
这个电路是在老师的指导下设计的,电路的设计在理论上完全行得通,不过接线是设计中最关键的一步,我的接线原则是从全局出发,逐个模块连接调试,最后总体调试。
在这个指导思想下,我的安装还算是是成功的。
逐个模块接线再调试,可以为总体调试省去很多时间,只要每个模块正常运行,几个模块通过地址总线连接之后,就不会出现太大的问题了。
调试前的直观检查:
1、连线是否正确,在通电之前应先检查一下电路的连线是否正确,包括错线,少线和多线的情况。
查找的方法有:
按照电路图检查安装的线路,这种方法的特点是,根据电路图来确定,按一定的顺序逐一检查安装好的线路,由此,可容易查出错线和少线的情况,还有一种方法就是按照实际的线路来对照原理电路进行查线,这是一种以元件为中心进行查线的方法。
把每个元件引脚的连线一次查清,检查每个接线处在电路图上是否存在,这种方法不但可以查出错线和少线,还容易查处多线的情况。
2、元器件安装时情况
检查元、器见引脚之间有无短路;
连接处有无接触不良;
二极管和电容极性等是否连接有误。
电源、信号源连接是否正确。
4、电源端对地是否存在短路,在通电前,断开一根电源线,用万用表检查电源对地端是否存在短路
模拟调试结果记录如下:
通电后,显示器初始显示“100--100”。
按照键盘分布说明按键,分布给甲、乙加1分、2分和3分,显示器跟踪显示出总分,然后模拟比赛细节,随意给甲、乙加分或是减分,均达到预期效果。
在甲、乙均有一定总分的情况下对甲、乙进行减分处理,当减到0后便不能够再进行减分操作,与程序设计相符。
在甲、乙均有一定总分的情况下,按清零按钮,显示结果清零。
重复进行上面操作,结果均符合设计要求。
第6章总结
6.1设计心得
为期两周的单片机课程设计拉下了帷幕,我深刻体会到了其中的苦与乐,感悟甚是深切.
在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,学以致用,不再是纸上谈兵,。
对我们学生来说,理论与实际同样重要,这是我们以后在工作中说明自己能力的一个重要标准。
在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。
而且,课程设计中涉及到的电路图用了比较新的一款PROTEUS进行设计和仿真,使我多掌握了一个得力的仿真工具。
我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。
不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;
还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。
虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;
最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!
通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,理论与实际同样重要。
实习中,我感受到了老师对学生的那种悔人不卷的精神,每天的固定时间,老师都来给我们指导,使我们少走弯路,顺利完成实习任务,请允许我向你们致意崇高的敬意,感谢你们,老师!
在这次课程设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。
虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。
6.2参考文献
[1]、《微型计算机原理及应用》许立梓编
机械工业出版社2002
[2]、《微型计算机接口技术及应用》刘乐善编
华中理工大学出版社2000
[3]、《计算机硬件技术基础试验教程》邹逢兴编
高等教育出版社2000
[4]、《16位微型计算机原理接口及其应用》周佩玲编
中国科学技术大学出版社2000
[5]、《微型计算机原理与接口技术》吴秀清编
中国科学技术出版社2001
[6]、《微型计算机接口技术》邓亚平编
清华大学出版社2001
[7]、《单片机原理及及应用》王迎旭编
机械工业出版社2001
[8]、《单片机应用程序设计技术》周航慈著
北京航空航天大学出版社2002
[9]、《单片机实用技术问答》谢宜仁主编
人民邮电出版社2002
附录
附录A程序清单
ORG0000H
START:
MOV2AH,#100
MOV4AH,#100
MOVDPTR,#TAB
MOV6AH,#0FEH
MOV6BH,#0FDH
MOV6CH,#0DFH
MOV6DH,#0F7H
MOV6EH,#0EFH
MOV6FH,#0FBH
MAIN:
MOVP2,#0F0H
K0:
JBP2.4,K1
MOVA,P2
MOV30H,A
MOVP2,#0FFH
MOVP2,#0FH
ORLA,30H
MOV31H,A
LJMPKK
K1:
JBP2.5,K2
K2:
JBP2.6,K3
K3:
JBP2.7,LL
KK:
MOVDPTR,#TAB
MOVA,31H
MOV31H,#0H
CJNEA,#07EH,Z0
MOVA,#4H
ADDA,2AH
MOV2AH,A
LJMPLOOP
Z0:
CJNEA,#07DH,Z1
MOVA,2AH
SUBBA,#4H
MOV2AH,A
LJMPLOOP
Z1:
CJNEA,#07BH,Z2
MOVA,#4H
ADDA,4AH
MOV4AH,A
Z2:
CJNEA,#077H,Z3
MOVA,4AH
Z3:
CJNEA,#0D7H,Z4
SUBBA,#2H
Z4:
CJNEA,#0EBH,Z5
MOVA,#1H
ADDA,2AH
Z5:
CJNEA,#0DBH,Z6
MOVA,#2H
Z6:
CJNEA,#0BBH,Z7
MOVA,#3H
LL:
Z7:
CJNEA,#0EDH,Z8
SUBBA,#1H
Z8:
CJNEA,#0DDH,Z9
Z9:
CJNEA,#0BDH,Z10
SUBBA,#3H
Z10:
CJNEA,#0EEH,Z11
Z11:
CJNEA,#0DEH,Z12
Z12:
CJNEA,#0BEH,Z13
Z13:
CJNEA,#0E7H,Z14
Z14:
CJNEA,#0B7H,LOOP
LOOP:
MOVA,2AH
MOVB,#100
DIVAB
MOV3AH,A
MOVA,B
MOVB,#10
MOV3BH,A
MOV3CH,B
MOVR0,#3AH
MOVR1,#6AH
MOVR3,#3
L0P1:
MOVA,@R0
MOVCA,@A+DPTR
MOVP1,A
MOVA,@R1
MOVP0,A
MOVR6,#0FFH
DJNZR6,$
MOVP0,#0FFH
INCR0
INCR1
DJNZR3,L0P1
MOV5AH,A
MOV5BH,A
MOV5CH,B
MOVR0,#5AH
MOVR1,#6DH
LOP2:
MOVP3,A
MOVR6,#8FH
DJNZR3,LOP2
JNBP0.6,SS
LJMPMAIN
SS:
LJMPSTART
TAB:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
附录B总电路原理图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 篮球 记分 单片机 课程设计