单片机C篮球计时计分器课程设计方案_第1页
单片机C篮球计时计分器课程设计方案_第2页
单片机C篮球计时计分器课程设计方案_第3页
单片机C篮球计时计分器课程设计方案_第4页
单片机C篮球计时计分器课程设计方案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机微机原理及应用课目:。篮球记分牌的设计学院:电气工程学院班级:自动化08-2姓名:库万古丽(20082102427)麦地楠木(20082102426)指导教师:帕子来提完成时间:2011年12月11日篮球赛计时计分器一设计目的设计并制作一个用于赛场的篮球赛计时计分器,实现如下基本功能:能记录整个赛程的比赛时间,并能修改比赛时间,暂停比赛时间.能随时刷新甲,乙两队在整个赛程中的比分。中场交换场地时,能交换甲,乙两队比分的位置。比赛时间结束时,能发出报警指令.二设计意义通过篮球计分计时器的制作,可以使我熟悉,了解单片机开发设计实例的过程,并能使读者加深对单片机的理解和运用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下的一些方面:篮球计分计时器包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些实用性强的外围接口。掌握键盘接口原理,能正确地把键盘使用到单片机系统中,可以了解到LED显示器的结构,工作原理以及这种显示器的接口实例。(3)学会调试电路,分析电路故障,积累电路调试经验。三具体设计内容1系统框图构成基于单片机系统的篮球计分计时器的系统构成框图如下所示:2硬件电路改进:由于原来的电路比较复杂,用了很多芯片,浪费成本,而且给后期调试的调试会带来较多麻烦,故对原来的硬件电路进行了改动.改动方面主要关于数码管显示的驱动和位选的,前期的电路设计采用了大量的CD4511和CD4094来进行数码管显示的驱动和位选,而这次的电路设计只用了8个三极管就实现了这项功能。下面前期电路设计的计时部分的原理图,还有更为复杂的计分原理图未给出后期改进的整体原理图:(3)软件调试及组装软件的编程调试首先要抓住计分和计时两大模块,在这两大模块成功的基础上再进行其他细小模块的组装和完善。主要编程的问题,所以就概述就举例子概述一下计分模块和计时模块刚开始均会出现显示数值范围不正确或者十位和个位二者之中只显示个位的情况,经软件调试,重新编程后成功的解决了问题。I上半场比赛结束,可按下交换比分按钮,交换甲乙两队的比分,重新调整计时时间为20分钟,按下启动按钮,下半场比赛开始八篮球赛计时计分器程序流程图及程序代码如下:K1ﻩBITﻩP1.0K2ﻩBIT P1。1K3BITP1.2K4BITP1。3K5 BITﻩP1.4K6ﻩBIT P1.5K7BITP1.6K8BITP1。7 ﻩMINEQU30HﻩﻩSECEQU31H SEC100EQU 32HDIS_BUFEQU33HBUF_MIN_H EQUﻩDIS_BUF BUF_MIN_LﻩEQUﻩDIS_BUF+1ﻩBUF_SEC_HﻩEQUﻩDIS_BUF+2 BUF_SEC_LﻩEQUﻩDIS_BUF+3ﻩK_OLDﻩEQU41HK_NEWEQU42HDIS_DIGITEQU 43HﻩDIS_INDEXEQU44HK_OLD1EQU45HK_NEW1EQU46HFLAGEQU47HCONVERTEQU48HORG 0000H JMPﻩMAINORG0003HLJMPINT_0ﻩORGﻩ0000BHﻩLJMPﻩTIMER0ﻩORGﻩ0001BHﻩLJMPﻩTIMER1ORG0030HMAIN:MOVSP,#60H MOVﻩP0,#0FFH MOVﻩP2,#0FFHﻩMOVﻩTMOD,#011HﻩﻩMOVﻩTH0,#0FCHﻩMOV TL0,#017H MOV TH1,#0DCHﻩCLR AﻩMOVﻩTL1,AMOVCONVERT,#00HMOVCONVERT+1,#00HMOVCONVERT+2,#00HMOVCONVERT+3,#00HCLRﻩAﻩﻩﻩﻩMOVﻩMIN,#20 MOV SEC,A MOV SEC100,AﻩMOVﻩBUF_MIN_H,#0A4HﻩﻩMOVﻩBUF_MIN_L,#0C0H ﻩMOVﻩBUF_SEC_H,#0C0H ﻩﻩMOVﻩBUF_SEC_L,#0C0H ﻩMOVDIS_BUF+4,#0C0HMOVDIS_BUF+5,#0C0HMOVDIS_BUF+6,#0C0HMOVDIS_BUF+7,#0C0HMOVFLAG,#00HMOVK_OLD,#00HBEEP_BL00:MOVR3,#10MOVR2,#200MAIN1100:CPLp3。7LCALLDELAY500LCALLDELAY500DJNZR2,MAIN1100CPLp3。6LCALLDELAY500LCALLDELAY500LCALLDELAY500MOVR2,#200MAIN2100:CPLp3.7LCALLDELAY500DJNZR2,MAIN2100DJNZR3,MAIN1100LJMPSTARTDELAY500:MOVR7,#230LOOP1:DJNZR7,LOOP1RETﻩSTART: MOV DIS_DIGIT,#0FEHﻩCLRﻩAﻩMOVﻩDIS_INDEX,ASETBEAﻩSETBET0ﻩSETB TR0ﻩSETBIT0SETBEX0SETBPT0MAIN_LP:CALLKEY_PROGﻩSJMPﻩMAIN_LPﻩﻩﻩKEY_PROG:CALLK_SCANMOVA,K_NEWCJNEA,K_OLD,KEY_P1JMPEND_PROC_KEYKEY_P1:MOVR4,#15KEY_P2:MOVR7,#10CALLDELAYMSDJNZR4,KEY_P2CALLK_SCANMOVA,K_NEWCJNEA,K_OLD,KEY_P3JMPEND_PROC_KEYKEY_P3:JBACC.0,PROC_K1JBACC.1,PROC_K2JBACC。2,PROC_K3JBACC.3,PROC_K4ﻩLJMPﻩEND_PROC_KEYPROC_K1:LCALLBEEP_BL001ﻩ ﻩﻩﻩINCﻩMINﻩﻩﻩﻩMOVﻩA,MINﻩﻩﻩ;ﻩCJNEA,#100,UPDATE_MIN21 ﻩ MOVﻩMIN,#00HUPDATE_MIN21:ﻩﻩﻩ ﻩMOVﻩA,MINﻩMOVﻩB,#10ﻩDIVﻩAB ﻩﻩ;A=MIN/10ﻩ MOVﻩDPTR,#DIS_CODEﻩMOVCﻩA,@A+DPTR MOVﻩBUF_MIN_H,A ﻩﻩﻩMOVﻩA,MIN MOVﻩB,#10 DIVﻩABﻩMOVﻩA,BﻩﻩﻩﻩMOVCﻩA,@A+DPTRﻩMOVﻩBUF_MIN_L,AﻩﻩﻩﻩSJMPﻩEND_PROC_KEYPROC_K2:LCALLBEEP_BL001DECﻩMIN ﻩﻩﻩﻩMOVﻩA,MIN ﻩCJNEA,#255,UPDATE_MIN1ﻩﻩﻩMOV MIN,#99ﻩUPDATE_MIN1:ﻩ ﻩﻩ MOVﻩA,MINﻩMOVﻩB,#10ﻩDIVﻩABﻩ ﻩﻩﻩMOV DPTR,#DIS_CODEﻩMOVCﻩA,@A+DPTRﻩMOV BUF_MIN_H,AﻩﻩﻩﻩMOV A,MINLﻩMOV B,#10ﻩDIV AB MOV A,BﻩﻩﻩﻩMOVC A,@A+DPTRﻩMOV BUF_MIN_L,AﻩﻩSJMP END_PROC_KEYPROC_K3:LCALLBEEP_BL001PUSHPSWINCFLAGMOVA,FLAGRRCAJNCSTOPCLRP3.6SETBET1SETBTR1POPPSWSJMPﻩEND_PROC_KEYSTOP:SETBP3.6CLRET1CLRTR1POPPSWSJMPEND_PROC_KEYPROC_K4:LCALLBEEP_BL001MOVR3,CONVERT+1MOVCONVERT+1,CONVERT+3MOVCONVERT+3,R3MOVR3,CONVERTMOVCONVERT,CONVERT+2MOVCONVERT+2,R3LCALLCONVETEREND_PROC_KEY:ﻩﻩRET;键扫描子程序K_SCAN:MOVP1,#0FFHMOVK_NEW,#00HMOVA,P1CPLAANLA,#0F0HSWAPAMOVK_NEW,ARETﻩUSINGﻩ0TIMER0:;定时器0中断服程序,用于数码管的动态扫描ﻩPUSHﻩACCﻩPUSH PSWﻩPUSHﻩAR0ﻩMOV TH0,#0FCH MOV TL0,#017Hﻩ MOVﻩP2,#0FFHﻩﻩﻩﻩMOVﻩA,#DIS_BUFﻩ ﻩADD A,DIS_INDEXﻩﻩ MOVﻩR0,Aﻩ ﻩMOVﻩA,@R0ﻩﻩ ﻩMOVﻩP0,Aﻩ ﻩﻩMOV P2,DIS_DIGITﻩMOVﻩA,DIS_DIGITﻩﻩﻩRLﻩAﻩMOV DIS_DIGIT,AﻩﻩINC DIS_INDEXﻩﻩMOVR5,DIS_INDEXﻩCJNER5,#08H,TTﻩMOVDIS_INDEX,#00HﻩMOVDIS_DIGIT,#0FEHTT:ﻩPOPﻩAR0 POP PSW POPﻩACCﻩRETI TIMER1:;定时器1中断服务程序,产生时基信号10ms PUSHﻩPSWﻩPUSHﻩACCﻩPUSH BﻩPUSHﻩDPHﻩPUSHﻩDPLﻩMOVﻩTH1,#0DCHﻩMOVTL1,#00HﻩINCﻩSEC100ﻩﻩMOVﻩA,SEC100ﻩCJNEA,#100,ﻩEND_TIMER1 ﻩMOVﻩSEC100,#00HﻩﻩﻩLCALLﻩDEC_SEC ﻩﻩﻩEND_TIMER1:ﻩPOP DPLﻩPOP DPH POP BﻩPOPﻩACCﻩPOP PSWﻩ RETIﻩ ﻩﻩ;DEC_SEC:ﻩDECﻩSECMOVA,MINJNZOBTAINCPLP3。6MOVA,SECJNZOBTAINMOVBUF_SEC_L,#0C0HCLRTR1CLRET1ﻩBEEP_BL:MOVR3,#10MOVR2,#200MAIN11:CPLp3.7LCALLDELAY500LCALLDELAY500DJNZR2,MAIN11CPLp3。6LCALLDELAY500LCALLDELAY500LCALLDELAY500MOVR2,#200MAIN21:CPLp3。7LCALLDELAY500DJNZR2,MAIN21DJNZR3,MAIN11LJMPOBTAINﻩOBTAIN:ﻩMOVﻩA,SEC CJNEA,#255,UPDATE_SECMOVﻩSEC,#59ﻩLCALLﻩDEC_MINﻩUPDATE_SEC:ﻩMOV A,SEC MOVﻩB,#10ﻩDIVﻩABﻩﻩﻩMOVﻩDPTR,#DIS_CODEﻩMOVCﻩA,@A+DPTR MOVﻩBUF_SEC_H,A ﻩMOVﻩA,SEC MOVﻩB,#10ﻩDIVﻩABﻩMOVﻩA,Bﻩ ﻩMOVCﻩA,@A+DPTRﻩMOV BUF_SEC_L,A RET DEC_MIN:ﻩDECﻩMINﻩﻩﻩﻩMOV A,MINﻩﻩﻩﻩCJNEA,#255,UPDATE_MINﻩﻩﻩMOVﻩMIN,#00HﻩUPDATE_MIN: ﻩ ﻩﻩMOVﻩA,MINﻩMOVﻩB,#10ﻩDIVﻩAB ﻩﻩ;A=MIN/10ﻩﻩMOV DPTR,#DIS_CODEﻩMOVCﻩA,@A+DPTRﻩMOVﻩBUF_MIN_H,Aﻩ ﻩﻩMOVﻩA,MINﻩMOVﻩB,#10ﻩDIVﻩABﻩMOV A,BﻩﻩﻩﻩMOVCﻩA,@A+DPTRﻩMOV BUF_MIN_L,A ﻩﻩRETRET;中断INT0服务程序INT_0:ﻩPUSHﻩPSW PUSHﻩACCﻩPUSHﻩBﻩPUSHﻩDPHﻩPUSH DPLJBk1,RKEY1MOVR7,#30LCALLDELAYMSJBk1,RKEY1LJMPKP1RKEY1:JBk2,RKEY2MOVR7,#30LCALLDELAYMSJBk2,RKEY2LJMPKP2RKEY2:JBk3,RKEY3MOVR7,#30LCALLDELAYMSJBk3,RKEY3LJMPKP3RKEY3:JBk4,RKEY4MOVR7,#30LCALLDELAYMSJBk4,RKEY4LJMPKP4RKEY4:LJMPKP5KP1:LCALLBEEP_BL001INCCONVERTMOVA,CONVERTCJNEA,#0AH,KP5MOVCONVERT,#00HINCCONVERT+1MOVA,CONVERT+1CJNEA,#0AH,KP5MOVCONVERT+1,#00HLJMPKP5KP2:LCALLBEEP_BL001DECCONVERTMOVA,CONVERTCJNEA,#255,KP5MOVCONVERT,#09HDECCONVERT+1MOVA,CONVERT+1CJNEA,#255,KP5MOVCONVERT+1,#09HLJMPKP5KP3:LCALLBEEP_BL001INCCONVERT+2MOVA,CONVERT+2CJNEA,#0AH,KP5MOVCONVERT+2,#00HINCCONVERT+3MOVA,CONVERT+3CJNEA,#0AH,KP5MOVCONVERT+3,#00HLJMPKP5KP4:LCALLBEEP_BL001DECCONVERT+2MOVA,CONVERT+2CJNEA,#255,KP5MOVCONVERT+2,#09HDECCONVERT+3MOVA,CONVERT+3CJNEA,#255,KP5MOVCONVERT+3,#09HLJMPKP5KP5:LCALLCONVETERPOPﻩDPL POPﻩDPHﻩPOP BﻩPOP ACCﻩPOPﻩPSWRETIDELAYMS:;延时子程序ﻩﻩDLY_LP1:ﻩMOVﻩR6,#185DLY_LP2:ﻩNOPﻩNOPﻩNOPﻩDJNZﻩR6,DLY_LP2 DJNZ R7,DLY_LP1END_DLYMS:ﻩRET;蜂鸣器响一声子程序ﻩBEEP_BL001:MOVR3,#1PUTOFF:;MOVR2,#30MAIN11001:CPLp3。7

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论