篮球记分器单片机课程设计报告书Word格式.docx
- 文档编号:14649954
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:17
- 大小:340.35KB
篮球记分器单片机课程设计报告书Word格式.docx
《篮球记分器单片机课程设计报告书Word格式.docx》由会员分享,可在线阅读,更多相关《篮球记分器单片机课程设计报告书Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
(1)方案合理、正确,系统稳定、可靠。
(2)软件设计要求尽可能精练、简短和运行可靠。
(3)硬件电路要求简单明了,以节约成本。
第2章系统方案设计
2.1总体方案
此记分器的设计采用模块化结构,主要由以下2个组成,即键盘模块、以及译码显示模块。
以单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。
它由硬件部分和软件部分组成。
系统设计方案的硬件电路设计方框图如图2-1所示。
矩
形
键
盘
89C51
甲显示器
乙显示器
图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所示。
甲或乙
除以100
除以10
个位
十位
百位
商
余数
图4-2键值处理子程序流程图
4.3显示子程序设计
由于该系统使用的是8位LED显示器显示计分器比分,因此显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。
这样虽然在任一时刻只要一个显示器点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果一样。
显示器扫描显示子程序显示每一位用如图4-3所示流程方法完成。
从80C51的P1口送显示器位码
读相应位存储单元数据(中间两位显示“——”无此步)
由读得数据查表确定段码由80C51送相应显示器位
下一位显示
上一位显示
图4-3显示子程序流程图
4.4复位程序设计
按钮与单片机P0.6/AD6引脚相连,当每次按下该按钮后,系统将通过软件实现对计分复位功能。
在主程序运行过程中,只要系统识别到与单片机P0.6/AD6引脚相连的按键按下,程序则会转去执行复位程序,完成对甲、乙总分寄存单元的清零,显示器各位的显示数寄存单元的复位,执行完毕后,返回主程序。
流程图如4-4所示。
P0.6为0
甲、乙显示器复位
返回
图4-4复位程序流程图
第5章系统调试
5.1软件模拟调试
本设计主要是用proteus软件绘图以及伟福软件进行编程仿真的。
调试步骤由两个部分组成:
首先,确定程序中错误的确切性质和位置;
然后,对程序代码进行分析,确定问题的原因,并设法改正这个错误。
具体地说,由以下步骤组成:
1.从错误的外部表现入手,确定程序中出错的位置;
2.分析有关程序代码,找出错误的在原因;
3.修改程序代码,排除这个错误;
4.重复进行暴露了这个错误的原始测试以及某些回归测试,以确保该错误确实被排除且没有引入新的错误;
5.如果所作的修正无效,则撤消这次改动,重复上述过程,直到找到一个有效的办法为止。
5.2硬件接线及调试
这个电路是在老师的指导下设计的,电路的设计在理论上完全行得通,不过接线是设计中最关键的一步,我的接线原则是从全局出发,逐个模块连接调试,最后总体调试。
在这个指导思想下,我的安装还算是是成功的。
逐个模块接线再调试,可以为总体调试省去很多时间,只要每个模块正常运行,几个模块通过地址总线连接之后,就不会出现太大的问题了。
调试前的直观检查:
1、连线是否正确,在通电之前应先检查一下电路的连线是否正确,包括错线,少线和多线的情况。
查找的方法有:
按照电路图检查安装的线路,这种方法的特点是,根据电路图来确定,按一定的顺序逐一检查安装好的线路,由此,可容易查出错线和少线的情况,还有一种方法就是按照实际的线路来对照原理电路进行查线,这是一种以元件为中心进行查线的方法。
把每个元件引脚的连线一次查清,检查每个接线处在电路图上是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 篮球 记分 单片机 课程设计 报告书