- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
桂林电子科技大学信息科技学院
《单片机原理及应用》实训报告
学 号 0000000000
姓 名 匿名者
指导教师:小行星
2015 年 9 月 27 日(请核对时间)
实训题目:篮球记分牌
1 系统设计
1.1 设计要求
1.1.1 设计任务
设计一个基于单片机的篮球计分牌,实现两队的计分功能与24秒计时功能。
1.1.2 性能指标要求
基本要求
(1) 按照题目要求独立设计系统所需电路,并完成硬件电路的制作及调试。(40分)
(2)结合硬件能够正常计分(1,2,3)。(10分)
(3)能够正常显示分值。(10分)
(4)能够正常修改工作模式(计分与24秒)。(10分)
(5)能够24秒的误差不小于1秒。(15分)
2、发挥部分
能够两队球员犯规次数计数。(15分)
1.2 设计思路及设计框图
1.2.1设计思路
在制作之前首先明确器件所要实现的功能,篮球记分牌顾名思义就是要记录篮球比赛中双方的比分(1分,2分,3分),进攻时间24s,双方的犯规次数等,明确功能之后便是分析与设计电路图,而此次的实训设计将分为两个部分,一个是硬件部分,另一个是软件部分;
首先是在硬件部分,通过按下各种按键实现比分分数的录入,犯规暂停及显示切换,然后输出至数码管显示相应的内容;在软件程序方面,通过去定义不同的按键,编写判断语句,当其被按下时要实现怎样的功能效果,是计分,切换,还是暂停,尤其是显示进攻24s的时间可以通过调用中断函数来实现;程序部分需要注意的几个地方就是中断内初值的设置,八段共阴数码管的位选和段选代码,这些地方设置如果不对会出现显示错误或者达不到预期;
1.2.2总体设计框图
在本题目中用到的参考原理图如下:
基本框图:
C51单
片
机
显
示
模
块
键盘
2 各个模块程序的设计
对于此次单片机实训来说,软件就像是人的大脑,而硬件就像是人的身体,硬件是个实体,软件则是灵魂;
这次实训的软件,我将其划分为五个部分的内容,分别是中断部分,延时部分,显示部分,按键部分以及主函数;
其中的中断函数void timer0 (void) interrupt 1 using 0承担了进攻24s倒计时,双方比分,犯规次数的显示,用到的是定时器T0中断,12MHz的晶振,为了能使计时时间的误差小于1s,在设置初始值时用到了此前实验课中使用的0x3CB0,这在12MHz的晶振中刚好是50ms的计时时间,定义一个变量,让其循环累加20次,则刚好是1秒钟的时间,每经过一秒就让24s减1,并输出至数码管显示;此外,还对双方比分,犯规次数进行了扫描显示,通过在主函数中改变变量的值,在中断中判断相应值的变化用来切换不同的显示内容;
延时函数void delay (uint t)在程序中的作用主要是作为按键的消抖,如果少了这个延时,则在按下按键时可能会出现错误,这个在硬件中的表现就是按键的灵敏性,如果延时不够(灵敏性高),按一次可能会加很多分;反之就是按键迟钝,所以适当的延时很重要。
显示函数void display(),因为功能中有一个暂停的功能,而要实现暂停就要关闭中断,从而会导致当暂停键按下后数码管不显示数值(全黑),所以另外写了个显示函数嵌套在暂停中,其内容基本和中断内的显示切换一致。
按键函数button(),是整个程序的核心,也是实现硬件电路的基础,这次实训的八个按键,要灵活运用,尽量用较少的按键实现最多的功能;基于篮球记分牌的计分功能,我将加3分的按键改为了减1分,因为加3分可以先按一次加1分再按一次加2分,这样就可以多出一个按键用来减分,这里有个好处就是防止按错计分的键而无法修改;此外再定义一个按键用来切换两支队的输入状态,并用不同LED灯的加以标注,当切换到A队时某一盏灯亮起,这时可以对其进行计分的操作,当然还有专门记录犯规的按键,切换显示模式的按键,暂停的按键,这八个按键就构成的可操作模块;主函数里则是对中断进行初始化,调用显示函数,按键函数;
3 调试过程
对于一个器件的硬件和软件刚设计出来以后,还不能马上用于实际,需要通过各种测试验证,对于出现的各种错误还得进行反复修改,硬件的修改,软件的修改,而这如果顺利的话是很快的,但往往不是这样,就比如这次我所做的单片机实训,虽然东西是做出来了,但在烧入程序进行验证时还是出现了很多问题;这些问题的出现6有很多不确定性,可能是电路的某一个地方焊得不好,或者是程序中的某个变量不合理,所以,在进行调试之前务必确保硬件电路的正确,将会节省很多时间;
很幸运,因为篮球记分牌所用到的元器件并不算多,所以电路板很好检查,刚开始我就把蜂鸣器错接在了三极管的发射极,
文档评论(0)