




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中州大学毕业设计学 号:201025090229 中州大学毕业设计设计题目:基于单片机的篮球计分器的设计 学 院:工程技术学院 专 业:机电一体化对口班 级 二班 姓 名:周 康 指导教师:沈娣丽 日 期:2013 年 4 月 22 日诚信声明本人郑重声明:所提交的毕业设计(论文)是本人在指导教师的指导下,独立工作所取得的成果并撰写完成的,郑重确认没有剽窃、抄袭等违反学术道德、学术规范的侵权行为。文中除已经标注引用的内容外,不包含其他人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确的说明并表示了谢意。本人完全意识到本声明的法律后果由本人承担。毕业设计
2、(论文)作者签名: 指导导师签名: 签字日期: 签字日期:毕业设计任务书班级: 学生: 学号 设计题目: 设计内容及要求:1)设计一款显示篮球比分的记分牌; 2)通过加分按钮可以给a队,或b队加分; 3)设计对调功能,更换场地后,ab队分数互换; 4)计时:能实现099分和059秒任意调整,具有启动、暂停、复位功能; 5)秒计时:能实现099秒任意调整,具有启动、暂停、复位功能; 6)增加局数比分功能; 7)增加比赛时间倒计时功能; 8)报警:099秒违例自动声、光报警:099分终场自动声响; 9)可实现a、b两队暂停次数和犯规的显示和任意加减;指导老师(签字): 年 月 日 摘要:本设计是采
3、用单片机at89c51作为本设计的核心元件。利用7段共阴led作为显示器件。在此设计中共接入了8个7段共阴led显示器,其中4个用于记录ab队的分数,每队2个led显示器显示范围可达到099分,足够满足赛程需要,另外4个led显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。赛程计时采用倒计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到099分钟,也完全满足实际赛程的需要。当比赛队a队得1分时,按下a+1键;得2分时,按下a+2键;得3分时,按下a+3键;当加分出现错误时,可以按a-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录b
4、队的得分。采用单片机控制使这个系统按键操作使用简洁,led显示,安装方便。解决了篮球比赛计分器的安装问题,节约了线材,适合在各种规模的体育场馆使用,完全可以代替传统的用钟表进行计时的方法,当然稍加改动也可以用于其他球类比赛,是体育器材向智能化发展的一个实例。关键词:单片机 篮球计分器 数码管序言51系列单片机有许多制造商,而国产宏晶科技的stc系列单片机使用更为方便,可有效减少外隔器件的数量,并支持isp功能,可通过串口下载用户应用程序,数秒就可完成一片。数码管和键盘驱动电路可以使用逻辑电路搭建,但这种方法用到的器件多,造成接口的浪费,使电路的抗干扰能力弱,不便于使用。南京沁恒公司的数码管、键
5、盘驱动芯片at89c5i有效地解决了这个问题,既减少了器件数目,又提供了相应电路的许多常用功能,便于编程实现。通过采用以上两种芯片,大大简化r没汁,既方便了后续程序的程序开发,也很好地控制了成本目 录一. 设计的基本步骤及方案 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61at89c51简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62数码管显示原理. . . . . . .
6、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63总体方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8二. 硬件电路设计及描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1. 硬件原理电路图. . . . . . . . . . . . . . . . . . .
7、 . . . . . . . . . . . . . . . . . . . . . 9 2. 硬件电路设计及描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10三. 软件设计思想及流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 .主流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8、. . . . . . . 112.记分流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.时间中断流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134.源程序代码见附录一. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16四硬软件的调试过程
9、及调试方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . .16五课程设计心得体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18附录一 源程序代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19六参考文献. . . . . . . . . . . . . . . . . . . . . . . .
10、. . . . . . . . . . . . . . . . . . . . . . . . .29一设计的基本步骤及方案1at89c51简介单片机是在一块芯片中集成了cpu、ram、rom、定时/计数器和多功能i/o口等计算机所需要的基本部件的大规模集成电路。其以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说c语言程序设计课程设计软件设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。2数码管显示原理数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们
11、分别把他命名为a,b,c,d,e,f,g,h。 图1 数码管内部结构图假设我们要显示一个数字2, 那么 a、b、g、e、d这5个段的发光管亮就可以了,c、f、h不亮,同时由于接法为共阴接法,那么为高电平是亮,低电平是灭。从高往低排列, p1.7-p1.0写成二进制为01011011, 把他转化为16进制则为5bh。我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。数码管的接口有静态接口和动态接口两种。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阴接gnd,本次课程设计由于所需数码管不多,故可用些种方法接线。这种接法占用接
12、口多,仅能接少量数码管。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。多位一体的数码管原理和单个的差不多。表2 共阴极数码管显示显示 p1.7 小数点 p1.6 g p1.5小fp1.4 ep1.3 dp1.2 cp1.1 bp1.0 a he代码 0 00111 11 13fh1 0 0 0 0 0 11 0 06h 2 0 1 0 1 1 01 1 5bh 3 0 1 0 01 1 11 4fh 4 0 11 00 1 1 0 66h5 01 1 0 1 1 0
13、16dh 6 01 1 1 1 1 0 1 7dh 7 00 00 0 1 11 07h 8 0 1 1 11 1 1 1 7fh 9 0 1 10 1 1 1 1 6fh 3总体方案:基于单片机系统的篮球赛计时计分器的系统构成图如下图所示: 图3 系统结构图本系统采用单片机at89c51作为at89c51本设计的核心元件。利用7段共阴led作为显示器件。在此设计中共接入了8个7段共阴led显示器,其中4个用于记录ab队的分数,每队2个led显示器显示范围可达到099分,足够满足赛程需要,另外4个led显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。赛程计时采用到计时方式。即
14、比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到099分钟,也完全满足实际赛程的需要。其次,为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了11个按键,其中8个用于设置,交换场地,启动和暂停等功能。二. 硬件电路设计及描述1.硬件原理电路系统硬件图如下图4所示:记分图如下图5所示:计时图如下图6所示:2.硬件电路设计及描述硬件部分的设计是整个设计中的一个重要部分。在进行硬件部分设计时,首先要确定元器件,并且知道这些器件的工作原理和功能。然后才可以进行设计。本设计的硬件电路包括两部分:计时电路、计分电路。硬件电部分的设计除了硬件电路的设计,还包括pcb板
15、的绘制。 图7 at89c51引脚图三. 软件思想及流程1 主流程图8: 开始定时清零两队分数设置定时开始按键是否按下定时时间是否到倒计时开始计时暂停键是否按下计分键是否按下对应甲乙队加减的分数交换键是否按下甲乙两队交换分数显示ynyyyynnnn2. 记分流程图9:比分显示程序:dispf:mov r0,#34h mov r3,#7fh mov a,r3playf:mov p2,a mov a,r0 mov dptr,#dseg1 movc a,a+dptr mov p0,a lcall dl1 mov p2,#0ffh mov a,r3 rr a jnb acc.3,ld1 inc r0
16、mov r3,a ljmp playf ajmp ld1键盘扫描子程序调用判断有无按下子程序有键按下吗?调用确定键值子程序执行所按键的相应功能子程序返回ny3. 时间中断流程图10时间中断程序:time: push acc push psw mov th0,#0d8h mov tl0,#0f0h djnz r2,ret0 mov r2,#64h mov a,20h clr c dec a mov 20h,a mov a,21h cjne a,#00h,pff ;非0分跳转; mov a,20h cjne a,#00h,pff ;非0分0秒情况跳转; clr tr0 ;比赛结束停止计时; mov
17、 20h,#00h mov 21h,#00h mov 32h,#00h mov 33h,#00h lcall mingyin mov 21h,26h mov 30h,#00h mov 31h,#00h mov 32h,24h mov 33h,25h ljmp ret0pff: mov a,20h cjne a,#0ffh,out mov 20h,#59 ; mov 30h,#09h mov 31h,#05h mov a,21h dec a mov 21h,aout: mov a,20h mov b,#0ah div ab mov 30h,b mov 31h,a mov a,21h mov b,
18、#0ah div ab mov 32h,b mov 33h,aret0: pop psw pop acc retiyanshi:push acc ;定时器1中断 push psw mov th1,#0d8h mov tl1,#0f0h djnz r2,ret1 mov r2,#64hdjnz 39h,ret1mov 39h,#03h ;tian heiheimov r2,#64h clr tr1clr p3.6ret1: pop psw pop acc reti时间显示程序:dispt: mov r0,#30h mov r3,#0f7h mov a,r3playt:mov p2,a mov a
19、,r0 mov dptr,#dseg1 movc a,a+dptr mov p0,a lcall dl1 mov p2,#0ffh mov a,r3 rr a jnb acc.7,ld1 inc r0 mov r3,a ljmp playtld1: ret开始退出循环停止记时a=0时间中断程序流程图:a=a-1yny4. 源程序代码见附录一四. 硬软件的调试过程及调试方法1.进入比赛,先设置时间为一节或者半场。默认是12分钟(按下“a+1”进行分钟加1,按下“a-1”进行分钟减1),如图11 图112.按下“k1”开始比赛或者暂停,如图12313.上面的液晶显示为计时显示。下面的液晶显示为分数
20、显示“左侧为攻左半场的队的分数,右侧为攻右半场的对的分数。”换场后依然如此。4按下“k2”交换场地,重新计时。5a+1,a+2,a+3,a-1,b+1,b+2,b+3,b-1进行两队分数调整五课程设计心得体会俗话说:好的开始是成功的一半。说起课程设计,最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己感兴趣的题目。其次,老师对课程设计的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。本次设计,我查阅了相关书籍,做好各项准备后才开始进行设计,本次设计测试结果以及不足之处:计时电路可完成倒计时、暂停
21、、继续等功能,在比赛时间到后可进行报警。记分电路工作正常,可完成对比分的刷新与暂存。但在测试过程中发现,在比赛上半场时间到后,不能进行比分的交换。进行分析后得出结论如下:系统电路部分设计没有原则性的错误,在制版的过程中注意了走线,因此硬件部分功能完好。但因为软件系统编写方面的疏忽,在比分交换及计时部分没有能很好的实现。除此之外,软件达到了系统的要求。通过课程设计,发现了我们的很多不足,我们知识的很多漏洞,看到了我们的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这个过程中,我们也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。通过单片机课程设计,我们加深了对单片机理论的理解,学
22、回了怎样将理论很好地应用到实际当中去,而且我们还学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越自己,我们在这一设计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜了,胜利的钟声也就一定会为我们而敲响。此次课程设计充分锻炼了我们的设计能力和团队合作能力,给我们注入了一些全新的认识,为我们以后的设计和实验奠定了基础,也为引导我们以理论结合实践起到重要意义。附录一:源程序代码org 0000hljmp mainorg 0003hljmp changeorg 000bhljmp timeorg 0
23、013hljmp tiaoshiorg 001bhljmp yanshimain: mov sp,#50h mov tcon,#04h mov 20h,#00h ;秒 mov 21h,#0ch ;分 mov 22h,#00h ;a队分数; mov 23h,#00h ;b队分数; mov 24h,#02h ; mov 25h,#01h mov 26h,#0ch ;分钟定时区; mov 30h,#00h ; mov 31h,#00h ;时间缓冲区; mov 32h,#02h ; mov 33h,#01h ; mov 34h,#00h ; mov 35h,#00h ;分数显示缓冲区; mov 36h
24、,#00h ; mov 37h,#00h ; mov 39h,#03h ;tian heihei mov tmod,#11h mov th0,#0d8h mov tl0,#0f0hmov th1,#0d8hmov tl1,#0f0h mov ie,#10001111b mov ip,#05h mov r2,#64hclr p3.6start:lcall dispt lcall dispf jnb p1.0,pp1 ;a队加一分 jnb p1.1,pp2 ;a队加两分 jnb p1.2,pp3 ;a队加三分 jnb p1.3,pp4 ;a队减一分 jnb p1.4,pp55 ;b队加一分 jnb
25、 p1.5,pp66 ;b队加两分 jnb p1.6,pp77 ;b队加三分 jnb p1.7,pp88 ;b队减一分 jb p3.0,start lcall delay jb p3.0,startstop1:jnb p3.0,stop1 lcall delay jnb p3.0,stop1 cpl tr0 ;按键奇数次开始,偶数次暂停 ljmp startpp55: ljmp pp5pp66: ljmp pp6pp77: ljmp pp7pp88: ljmp pp8pp1: lcall delay jb p1.0,ppbstop11:jnb p1.0,stop11 lcall delay j
26、nb p1.0,stop11 inc 22h mov a,22h ljmp storeapp2: lcall delay jb p1.1,ppbstop22:jnb p1.1,stop22 lcall delay jnb p1.1,stop22 mov a,22h add a,#02 mov 22h,a ljmp storeapp3: lcall delay jb p1.2,ppbstop33:jnb p1.2,stop33 lcall delay jnb p1.2,stop33 mov a,22h add a,#03 mov 22h,a ljmp storeapp4: lcall delay
27、 jb p1.3,ppbstop44:jnb p1.3,stop44 lcall delay jnb p1.3,stop44 dec 22h mov a,22hstorea:mov b,#0ah div ab mov 34h,b mov 35h,appb: ljmp startpp5: lcall delay jb p1.4,ppcstop55:jnb p1.4,stop55 lcall delay jnb p1.4,stop55 inc 23h mov a,23h ljmp storebpp6: lcall delay jb p1.5,ppcstop66:jnb p1.5,stop66 lc
28、all delay jnb p1.5,stop66 mov a,23h add a,#02 mov 23h,a ljmp storebpp7: lcall delay jb p1.6,ppcstop77:jnb p1.6,stop77 lcall delay jnb p1.6,stop77 mov a,23h add a,#03 mov 23h,a ljmp storebpp8: lcall delay jb p1.7,ppcstop88:jnb p1.7,stop88 lcall delay jnb p1.7,stop88 dec 23h mov a,23hstoreb:mov b,#0ah
29、 div ab mov 36h,b mov 37h,appc: ljmp startdelay:mov r4,#5hdl00: mov r5,#0ffhdl11: djnz r5,dl11 djnz r4,dl00 ret;时间中断程序;time: push acc push psw mov th0,#0d8h mov tl0,#0f0h djnz r2,ret0 mov r2,#64h mov a,20h clr c dec a mov 20h,a mov a,21h cjne a,#00h,pff ;非0分跳转; mov a,20h cjne a,#00h,pff ;非0分0秒情况跳转;
30、clr tr0 ;比赛结束停止计时; mov 20h,#00h mov 21h,#00h mov 32h,#00h mov 33h,#00h lcall mingyin mov 21h,26h mov 30h,#00h mov 31h,#00h mov 32h,24h mov 33h,25h ljmp ret0pff: mov a,20h cjne a,#0ffh,out mov 20h,#59 ; mov 30h,#09h mov 31h,#05h mov a,21h dec a mov 21h,aout: mov a,20h mov b,#0ah div ab mov 30h,b mov
31、31h,a mov a,21h mov b,#0ah div ab mov 32h,b mov 33h,aret0: pop psw pop acc retiyanshi:push acc ;定时器1中断 push psw mov th1,#0d8h mov tl1,#0f0h djnz r2,ret1 mov r2,#64hdjnz 39h,ret1mov 39h,#03h ;tian heiheimov r2,#64h clr tr1clr p3.6ret1: pop psw pop acc reti;鸣音子程序;mingyin: setb p3.6setb tr1 reti;时间显示程序
32、;dispt: mov r0,#30h mov r3,#0f7h mov a,r3playt:mov p2,a mov a,r0 mov dptr,#dseg1 movc a,a+dptr mov p0,a lcall dl1 mov p2,#0ffh mov a,r3 rr a jnb acc.7,ld1 inc r0 mov r3,a ljmp playtld1: ret;比分显示程序;dispf:mov r0,#34h mov r3,#7fh mov a,r3playf:mov p2,a mov a,r0 mov dptr,#dseg1 movc a,a+dptr mov p0,a lc
33、all dl1 mov p2,#0ffh mov a,r3 rr a jnb acc.3,ld1 inc r0 mov r3,a ljmp playf ajmp ld1;调时时间显示程序;dispw: mov r0,#24h mov r3,#0f7h mov a,r3playw:mov p2,a mov a,r0 mov dptr,#dseg1 movc a,a+dptr mov p0,a lcall dl1 mov p2,#0ffh mov a,r3 rr a jnb acc.1,ld1 inc r0 mov r3,a ljmp playwdl1: mov r7,#05hdl: mov r6
34、,#0ffhdl6: djnz r6,dl6 djnz r7,dl retdseg1:db 3fh,06h,5bh,4fh,66h db 6dh,7dh,07h,7fh,6fh;调时子程序;tiaoshi:push acc push psw jb p3.3,chu lcall delay jb p3.3,chu stopq:jnb p3.3,stopq lcall delay jnb p3.3,stopqif10: lcall dispw lcall dispf jnb p1.3,dect jb p1.0,whait2 lcall delay jb p1.0,whait2stope:mov c,p1.0 jnc stope lcall delay mov c,p1.0 jnc stope inc 26h ljmp storedect: mov c,p1.3 lcall delay jc whait2stopy:mov c,p1.3 jnc stopy lcall delay mov c,p1.3 jnc stopy dec 26hstore: mov 21h,26h mov 20h,#00h mov a,26h mov b,#0ah div ab mov 24h,b mov 25h,a mov 30
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保鲜冰柜转让合同范本
- 企业合作性捐赠合同范本
- 《食物》幼儿园小班教案
- 人才转移合同范本
- 做空中花园合同范本
- 农田租赁合同范本样本
- 《气球》科学教案
- 厂房平房出售合同范本
- 《数的顺序》教案
- 关于农村水电安装合同范本
- 《调整心态迎接中考》主题班会
- 冠心病患者运动恐惧的现状及影响因素分析
- 全国2018年10月自考00043经济法概论(财经类)试题及答案
- 《又见平遥》课件
- 喷涂设备点检表
- 广东省佛山市《综合基础知识》事业单位国考真题
- 02 第2章 城市与城市化-城市管理学
- 六年级上册英语教案-Culture 2 Going Green 第二课时 广东开心英语
- 警察叔叔是怎样破案的演示文稿课件
- 2019石景山初三一模语文试题及答案
- 09式 新擒敌拳 教学教案 教学法 图解
评论
0/150
提交评论