基于单片机的篮球比赛计分器设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1单片机课程设计报告书课题名称基于单片机的篮球比赛计分器设计姓名刘文彬学号081250102院系物理与电信工程系专业电子科学与技术指导教师李梦醒副教授2011年6月10日※※※※※※※※※※※※※※※※※※※※※※※※2008级学生单片机课程设计2一、设计任务及要求:1)学习protel2004、proteus软件、keil2软件及visio2003,并熟练掌握其操作流程及方法。2)了解AT89C51的原理及应用。3)理解数码管显示原理及应用。4)利用proteus软件的仿真原理图及keil2保存的程序文档进行仿真5)在篮球比赛中,得分可分为1分、2分、3分三种情况,为防止出见加分错误要另设一减分开关,要求实现不同的加分和纠正加分错误的功能。指导教师签名:2011年04月22日二、指导教师评语:指导教师签名:2011年6月16日三、成绩验收盖章2011年6月16日3基于微处理器原理篮球比赛计分器设计刘文彬(湖南城市学院物理与电信工程系电子科学与技术专业,益阳,413002)1设计目的1)学习protel2004,proteus软件及keil2软件,并熟练掌握其操作流程及方法。2)了解AT89C51的原理及应用。3)理解数码管显示原理及应用。4)熟练运用visio2003,画出框图或程序流程图。2设计的主要内容和要求1)主要内容:利用7段共阳LED作为显示器件,在此设计中共接入了2个7段共阳LED显示器,用于记录该队的分数,2个LED显示器显示范围可达到0~99分,基本满足赛程需要。当比赛队得1分时,按下S1键加1分,得2分时按S2键加2分,得3分时按下S3键加3分。如分数计错需减分时,每按一次S4键减1分。通过AT89C51芯片和相应的程序实现仿真,利用4个开关实现加减分数。。2)设计要求:篮球比赛中,得分可分为1分、2分、3分三种情况,为防止出见加分错误要另设一减分开关,即可以实现不同的加分和纠正加分错误的功能。3整体设计方案因所设计的篮球比赛计分器功能较少,电路结构也相对简单。只有两个部分:开关控制和数码管的显示。P0口接四个开关,分别作为比分+1、+2、+3、-1的控制按键;P1口和P3口分别按静态接口方法接两个数码管来显示比分。采用数码管静态接法,P3口接数码管个位显示、P1口接数码管十位显示、P0口4接四个开关,中间串接上电阻作分压用,使得其高低电平能够清楚的分开从而可以实现开关上高低电平的跳变,使数码管工作。单片机AT89C51LED数码显示LED数码显示开关控制电路图3.1设计总框图4硬件电路设计4.1数码管显示原理数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为A,B,C,D,E,F,G,H。图4.1数码管内部结构图假设我们要显示一个数字2,那么A、B、G、E、D这5个段的发光管亮就可以了,C、F、H不亮,同时由于接法为共阳级接法,那么为低电平是亮,为高电平是灭。从高往低排列,P1.7-P1.0写成二进制为01111110,把他转化为16进制则为A2H。我们可以根据硬件的接线把数码管显示数字编制成一个表格,见下表,以后直接调用就行了。5表4.1共阳极数码管显示显示P1.7小数点P1.6GP1.5FP1.4EP1.3DP1.2CP1.1BP1.0AHE代码011000000C0H111111001F9H210100100A4H310110010B0H41001100199H51001001092H61000001082H711111000F8H81000000080H91001000090H数码管的接口有静态接口和动态接口两种。静态接口为固定显示方式,无闪烁,其电路可采用一个并行口接一个数码管,数码管的公共端按共阳接VCC,本次课程设计由于所需数码管较少,故可用些种方法接线。这种接法占用接口多,仅能接少量数码管。动态接口采用各数码管循环轮流显示的方法,当循环显示的频率较高时,利用人眼的暂留特性,看不出闪烁显示现象,这种显示需要一个接口完成字形码的输出,另一接口完成各数码管的轮流点亮。64.2电路原理图XTAL119XTAL218P1.68P1.67P1.56P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039RST9P0.6/AD633P0.5/AD534EA31ALE30RST29P1.23P2.2/A1023P2.1/A922P2.0/A821P0.7/AD732P1.01P1.45P1.34P2.5/A1326P2.4/A1225P2.3/A1124P1.12P3.3/NT113P2.7/A1528P3.4/T014P3.5/T115P3.7/RD17P3.6/WR16P2.6/A1427P3.0/RXD10P3.2/NT012P3.1/TXD11U1AT89C51220R220R220R220R220R220R10K10K220R220R220R220R220R10K10K220R220R220RS?SW-PBS?SW-PBS?SW-PBS?SW-PBA1f2g3e4d5A6c8DP7b9a10DS?DpyRed-CAA1f2g3e4d5A6c8DP7b9a10DS?DpyRed-CAVCCVCC图4.1电路原理图4.3定时/计数器篮球比赛计分器其实就是一个计数器,本次课程设计就是利用单片机中的定时/计数器来实现其计分的功能。在51单片机中有两个16位的定时/计数器T0,T1,分别由TH0、TL0和TH1、TL1组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON。用于选择和控制定时/计数器的工作。其格式见下面两表:7表4.2方式控制寄存器TMODGATEC/TM1M0GATEC/TM1M0门控开关计数/定时方式选择门控开关计数/定时方式选择表4.3控制寄存器TF1TR1TF0TR0IE1IT1IE0IT0T1请求T1工作T0请求T0工作INT1请求INT1工作INT0请求INT0工作篮球比赛计分器利用单片机的计数器进行工作,计数器对外部脉冲的下降沿进行加1计数,直至计满回零。作为可编程器件,单片机中的定时/计数器初始化编程步骤如下:根据定时时间要求或计数要求计算计数器初值;将工作方式控制字写入TMOD寄存器;将计数初值写入THX和TLX寄存器;启动定时器/计数器,即将TRX置位。如果工作于中断方式,需置位EA(中断总开关)及ETX(允许定时/计数器中断),并编写中断服务程序。5软件电路设计5.1程序流程图篮球比赛中,得分可分为1分、2分、3分三种情况,为防止出见加分错误要另设一减分开关。根据这样的设计要求,结合数码管的显示以及51单片机中计数器的工作实现方式、接口应用、中断控制等可设计出程序流程图如5.1所示:8开始总分寄存器R0清零七段码数据表首地址送DPTR读取P0口的值是否有键按下按键去抖动再次读取P0口的值取出低4位是否真有键按下哪个键按下的?总分加一分总分加二分总分加三分总分减一分等待按键释放将总分转换成BCD码再将BCD码转换成七段码经P1口和P3口输出显示取出低4位StartNNYYS1键S2键S3键S4键图5.1篮球比赛计分器95.2程序分析数码管的显示,在TAB中加入数码管显示数字时对应的16进制数MOVDPTR,#TABTAB:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,0F8H,80H,90H数码管显示程序:MOVA,R0MOVB,#10DIVABMOVCA,@A+DPTRMOVP1,AMOVA,BMOVCA,@A+DPTRMOVP3,A由于需要四个开关,取出A中的低四位来接开关,用ANL命令实现。其程序如下:MOVA,P0ANLA,#0FHCJNEA,#0FH,KEY1SJMPSTART四个开关加1、加2、加3、减1,直接通过加法在累加器中实现,以开关1为例,程序如下:MOVR1,#1MOVA,R0ADDA,R1MOVR0,A6仿真过程在用Proteus进行仿真之前,先要用keil2软件将我们编写好的汇编程序编译。具体方法是先新建一个项目,之后输入编写的程序,输入完成后保存然后执行项目、编译,在目标文件夹内生成编译好的程序文件,其中*.HEX文件就是我们所需要10的,在之后电路设计好后用于放入AT89C51中执行其功能。在生成*.HEX文件后,进入Proteus软件,此时软件已自动打开一个新建项目。我们可直接在其中构建电路图,点击板面左侧按键P,在弹出的Pickdevices对话框中进行元器件的选择,如下图6.1:图6.1元器件都找到后,先进行排版再按照电路图连接,如连接好后如图6.2所示:11图6.2在电路连接好后,双击AT89C51在弹出对话框中选择单片机中要输入的程序,见下图6.3:12图6.3向AT89C51中加入程序在输入程序后,即可开始进行仿真了,选择执行后点击开关可观察到数码管亮,并能实现加1、加2、加3、减1的功能。13图6.4仿真结果图7使用说明按照图5.4仿真结果图,通过按键S1,S2,S3,S4控制显示管的输出,按下S1键,表示加一分,按下S2键,加两分,按下S3键,加三分,而在比赛过程中,计分难免会出现错误,这时通过S4键来减分,按一下S4键相应减一分。8设计总结这次课程设计历时二个星期左右,通过这两个星期的学习,发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。在这个过程中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的极简单的课程制作,可是平心而论,也耗费了我们不少的心血。通过这次课程设计,我想说:为完成这次课程设计我确实很辛苦,但苦中仍有乐,当我们仿真实验成功的时候,当我们连好线,按下按钮,LED亮了起来的时候我们的心中就不免兴奋,不免激动。以前种种艰辛这时就变成了最14甜美的回忆!对我而言,知识上的收获重要,精神上的丰收更加可喜。让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。挫折是一份财富,经历是一份拥有。这次课程设计必将成为我人生旅途上一个非常美好的回忆!参考文献[1]徐益民,范红刚,苏凤武.零基础学AVR单片机—基于ATmega16、汇编及C语言[M].北京:机械工业出版社,2011:136-167[2]彭伟.单片机C语言程序设计实训100例—基于AVR+Proteus仿真[M].北京:北京航空航天大学出版社,2010:217-2263]秦志强,彭建盛,谭立新.AVR单片机与小型机器人制作[M].北京:电子工业出版社,2009:72-93[4]黄智伟.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2005:348-371[5]朱定华,马爱梅,林卫.微机应用系统设计[M].武汉:华中科技大学出版社,1999:130--133[6]顾德英,张健,马淑华.计算机控制技术[M].北京:北京邮电大学出版社,2006:64--70[7]夏扬.计算机控制技术[M].北京:机械工业出版社,2004:11--92[8]刘国钧,陈绍业,王凤翥.图书馆目录[M].北京:高等教育出版社,1957.15-18.[9]潘永雄,沙河,刘向阳.电子线路CAD实用教程〔M〕.西安:西安电子科技大学出版社,2001.13-118.[10]张毅刚,彭喜源,谭晓昀,曲春波.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,1997.53-61.附录A程序清单ORG0000HMOVR0,#015MOVDPTR,#TABSTART:MOVA,P0;取A的低四位ANLA,#0FHCJNEA,#0FH,KEY1SJMPSTARTKEY1:LCALLDELAY;调用延迟子程序MOVA,P0;确认按

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功