欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于单片机的篮球计分器设计_课程设计(18页).doc

    • 资源ID:37160067       资源大小:522KB        全文页数:18页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机的篮球计分器设计_课程设计(18页).doc

    -基于单片机的篮球计分器设计_课程设计-第 16 页微控制系统原理课程设计题目 基于单片机的篮球计分器设计 院系名称: 电气工程学院 专业班级: 设计题目基于单片机的篮球计分器设计设计内容和要求利用SO8AW设计篮球计分器的控制系统,实现以下功能:1、 能记录整个赛程的比赛时间,并在暂停后继续接着停止时的时间计时。 2、能随时刷新甲、乙两队在整个过程中的比分。3、 比赛单节结束与比赛结束时,计时器停止且能发出报警声按下复位键,计时计分都清零。要求1:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。2:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。3:软件设计,编写程序。4:实验室调试。报告主要章节1引言 2 系统总体方案设计 3 硬件电路设计 4 系统软件设计 5 课程设计的调试结果与总结目录1.引言32 系统总体方案设计42.1系统构成框图42.2总体方案53.硬件电路设计53.1 系统硬件部分组成:53.2 设计器件的选择63.3.SO8AW介绍63.4显示模块设计93.5报警模块设计103.6 键盘控制电路103.7总硬件电路原理图123-7总硬件电路原理图124.系统软件设计134.1软件主程序设计134.2 计时部分模块流程154.3 计分部分模块流程155. 总结16参考文献17附录1 单片机系统原理图18附录2 源程序191.引言单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。同时,一个学习与应用单片机的新高潮正在大规模地兴起。体育比赛计分系统是对体育比赛过程中所产生的时间,比分等数据进行快速采集记录,加工处理,传递利用的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类,评分类,命中类,制胜类得分类等多种类型。   篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时系统是一种得分类型的系统。篮球比赛的计时系统由计时器等多种电子设备组成,同时,根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。 由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家,测控技术企业,机电行业,竞相把单片机应用于产品更新,作为实现数字化,智能化的核心部件。篮球比赛计分器就是以单片机为核心的计时计分系统,由于对于单片机是刚刚学习,对于编程也不是十分熟练,故本次设计的内容相较简单,达不到正式比赛需求,仅供学习之用。2 系统总体方案设计2.1系统构成框图随着单片机在各个领域的广泛应用,许多用单片机作控制的球赛计时计分系统也应时产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。本设计由S08AW编程控制LED七段数码管作球赛计时计分系统具有赛程计时、时间暂停、比分显示、操作方便且易携带等特点。可广泛适合各类学校和小团体作为赛程计时计分。 此记分器的设计采用模块化结构,主要由以下2个组成,即键盘模块、以及译码显示模块。以单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。它由硬件部分和软件部分组成。系统设计方案的硬件电路设计方框图如图2-1所示。 图2-1 系统设计方案 本系统采用单片机S08AW作为本设计的核心元件。利用7段共阴LED作为显示器件。在此设计中共接入了8个7段共阴LED显示器,其中4个用于记录甲乙队的分数,每队2个LED显示器显示范围可达到099分,足够满足赛程需要,另外4个LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。赛程计时采用到计时方式。即比赛前将时间设置好,比赛开始时启动计时,直至计时到零为止。计时范围可达到099分钟,也完全满足实际赛程的需要。 为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了11个按键,其中8个用于计分调整,其余三个用于清零复位,启动和暂停等功能,清零。2.2总体方案由于在比赛中,甲、乙两队的比分是不断变化的,所以需设置比分刷新控制装置;过程是按下启动按钮启动,时间计时开始,甲乙两队得分分别相应加分,加错了改,教练暂停时是停止计时,恢复比赛计时继续,每节10分钟,计时自动停止启动蜂鸣器5秒钟,到40分钟楼,没发再次启动计时,直到按下复位按键。此功能由按键矩阵开关S1S11完成,功能列表: S1键: 完成甲队加1分操作; S2键: 完成甲队加2分操作; S3键: 完成甲队加3分操作; S4键: 完成甲队减1分操作; S5键: 完成乙队加1分操作;S6键: 完成乙队加2分操作;S7键: 完成乙队加3分操作;S8键: 完成乙队减1分操作;S9键: 完成复位操作;S10键: 完成暂停操作;S11键: 完成开始与暂停后开始;3.硬件电路设计3.1 系统硬件部分组成:系统硬件主要是由微控制器S08AW、计时显示电路、计分显示电路、报警电路和矩阵按键开关五个部分组成。3.2 设计器件的选择本系统在设计过程中主要选取了以下一些器件:微控制器 :S08AW。八路三态锁存器: 74ALS573。显示器件: 七段共阴LED显示器。按 键: 矩阵按键。 其他:排阻,排线。3.3.SO8AW介绍 S08AW系列是Freescale公司推出的新一代S08系列为控制器中的一款增强型8位微控制器,它不仅集成度高、片内资源丰富,还有很宽的工作温度范围(-40+125),S08AW微控制器采用8位S08CPU,片内总线时钟频率可高达20MHz,片内资源包括2KB RAM,约62KB Flash、串行通信模块、定时器模块、并可选择宽范围时钟频率,还提供一个8位/10位精度的模/数转换,并支持后台调试模式BDM。在汽车电子、工业控制和中高档机电产品等领域具有广泛的用途。3.1.1 S08AW特性飞思卡尔的新型8位微控制器是第一款基于高度节能型S08核的器件,支持5V应用。这使得其成为工业应用的理想之选,而求他还是第一款认可用于汽车市场的S08微控制器。S08AW系列有4种芯片:S08AW60/48/32/16,他们之间的区别主要是片上程序存储器的容量不同而且具有各种引脚封装形式,S08AW特性如下:l 中央处理器位S08CPU。l 最高可达40MzCPU时钟频率和20MHz内部总线频率。l 约62KB片上在线可编程Flash存储器,具有模块保护与安全选项功能。l 2KB片上RAM。l 时钟源选项为晶体振动器、陶瓷谐振器、外部时钟和内部时钟。l 可选的看门狗(COP)复位。l 具有复位和中断的功能的低压检测。l 2个定时器TPM模块为共有(2+6)通道的16位定时器/脉宽调制器,每个通道都有可选的输入捕捉、输出比较及PWM功能。l 多达54个通用输入/输出(I/O)引脚。l 具有主复位和引脚和上电复位(POR)功能。l 单线后台调试模块BDM。l 可支持多达32个中断/复位源。3.1.2S08AW结构S08AW系统结构如图3-1所示,大致可分为MCU核心和MCU外设两部分。图3-1 S08AW系统结构S08AW核心部分包括:具有运行监视功能的增强型中央处理器S08CPU、后台调试控制、系统控制等。S08MCU有两种存储器Flash和RAM;电压调整器可对数字电路和模拟电路供电;程序存储器具有页面控制模式;具有内部时钟发生器和低能耗晶体振荡器。外设部分可分为6种外设:数字输入;数字输出;10位/8位二进制精度的模拟量/数字量转换器ADC;定时器/PWM;串行接口;许多微控制器中所没有的键盘中断输入。3.4显示模块设计 本次设计我们用的是共阴极的七段数码管,本设计采用共阴极数码显示器,通常,共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,该端所连接的字符导通并点亮,根据发光字段的不同组合可显示出各种数字或字符。根据外接电源及额定段导通电流来确定相应的限流电阻。本次设计在显示模块用到的是一个4位一体和2个两位一体共阴极数码管,共有8个代码输入口和8个位选输入口。由于考滤保持显示的持续显示。用到的驱动器是现在市面上通用的74ALS573八路三态锁存器,同时也用到了排阻。其原理连接图3-3如下: 图3-3 74ALS573管脚与排线接线示意图 本次设计中8个LED的数码管接线端口如下图3-4: 图3-4 LED显示3.5报警模块设计 蜂鸣器通过一NPN三极管进行驱动,如图触发信号有基极引入。(图7)驱动蜂鸣器的电路很简单,相应电路图如下图所 图3-5蜂鸣器原理图3.6 键盘控制电路在本设计中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成3*4=112个按键,比之直接将端口线用简洁明了。, 图3-6开关点阵的原理图矩阵式键盘的按键识别方法:确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。3.7总硬件电路原理图 3-7总硬件电路原理图4.系统软件设计 4.1软件主程序设计 主程序主要由系统初始化段、键值处理、两个4位共阴极LED显示器扫描显示子程序等组成。通过对以上各段和子程序的结合,以实现系统功能。该系统主程序流程图如下图4-1所示。图41主程序设计流程图 单片机上电后要对整个系统进行初始化,篮球计时计分器的分数显示部分和时间显示部分也要清零,然后进入时间设定环境。在这部分里只主程序只对是否有开始键按下键和时间设定键的11个按键进行扫描。当开始按键S11被按下时,系统进入计时。在计时阶段主程序只对开始按键和进攻复位按键进行扫描,如果扫描到这两个按键的任意一个按键被按下,则主程序开始执行相应的操作。暂停按键S10被按下时,系统显示时间不变初始,系统进入暂停计时状态,等待S11按键按下。当计时到时,系统停止计时,并且产生一个报警信号,通过报警电路让蜂鸣器响5秒钟,此时的分数显示的值不会因为时间到而赋初值,等待开始按键S11再次按下,进入下个类似循环,直到时间到了40分钟。开始按键S11再次按下时,系统时间不再开始,分数不在改变,直到按下复位键S94.2 计时部分模块流程 图4-2 计时部分流程图4.3 计分部分模块流程 4-3计数部分模块流5. 总结为期两周的单片机课程设计拉下了帷幕,我深刻体会到了单片机课程设计的实质,也从理论回到了实践的飞跃。在这次课程设计中,同学之间互相帮助,有什么不懂的大家在一起商量,发现我们所学的知识实在是有限,不过我们能够充分利用网络的优势去查阅资料。而且,课程设计中涉及到的电路图用了PROTEUS进行设计和仿真,使我多掌握了一个得力的仿真工具。同时学会了Keil uVision3开发工具,学会了用PZISP自动下载软件我在整个设计过程中懂得了许多东西,当遇到一不了的问题,跟同伴一起商量、合作,或许能收到事半功倍的效果。不管学什么,一定要打好基础,并将其学好、学精,但空有知识也不一定就能说明什么,还得能为己所用;还有更重要的是培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力, 使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不是很完美,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益;最后,也是我感触比较深的一点,这次课程设计时为数不多的独立完成的一次,虽然过程中遇到很多困难,让自己犯愁过,彷徨过,急躁过,可当自己很快调整好心态,从跌倒的地方爬起来继续,最后取得成功,不止是成功后的喜悦,也是一次锻炼!在这个设计过程中,我一直都在问问题,问同学的问题很多就是原来没有好好学习造成的严重的后果。通过单片机课程设计,我加深了对单片机理论的理解,从不会到熟悉,很多的东西的都是用到了就去摸索学习,而且我还学会了如何去培养我们的不畏困难的挑战精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了综合利用同学的指导资源,不会他们帮我。设计过程,遇到的各种的问题,我都想思考,自己搞不懂的,找同学帮忙,也许就是这个过程我感受到我知识的浅薄,要多学相关的知识,为将来找工作做点基本功。 课程设计期间中,老师对我们进行指导,在QQ群中进行答疑,使我在课程设计额时少走乐弯路,顺利完成课程设计任务,请允许我向你们致意崇高的敬意,感谢你我的老师! 在这次课程设计中,我在整个设计过程中懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了我对单片机的实践操作能力与设计能力, 使自己充分体会到了在设计过程中的艰辛。虽然这个设计做的不是很理想,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益良多。 此次课程设计充分锻炼了我的设计能力使我收获很多的东西,以前不会的东西现在很快的进行运用。使我获得的更多的自信。参考文献 1张迎新.单片微型计算机原理、应用及接口技术 (第二版).2009.8 2彭为.单片机典型系统设计实例精讲.电机工业出版社2006.5 3严天峰.单片机应用系统设计与仿真调试.北京航空航天大学出版社2005.8 4朱清慧Proteus教程电子线路设计、制版与仿真(第二版).2011.1附录1 单片机系统原理图附录2 源程序#include<hidef.h>#nclude "derivative"#define uint unsigned int#define uchar unsigned char Uchar table= 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /段码控制uchar code table1=0xbf,0xdf,0xef;uchar key=24; uchar bbx=0;uint bflag=0;sbit bbd=P23;/sbit beep=P15;/sbit b1=P22;/sbit b2=P21;/sbit b3=P20;#define beep PTED_PTED0#define bbd PTAD_PTAD1#define b1 PTAD_PTAD2#define b2 PTAD_PTAD3#define b3 PTAD_PTAD4#define P0 PTCD#define P3 PTBD#defnie P2 PTADuchar s1=0,s2=0,s3=0,s4=0;int a_num=0;int b_num=0;uchar time_num=0;uchar flag=0;void delay(uint ss) uint a,b; for(a=ss;a>0;a-) for(b=60;b>0;b-);void to_init()TIM1SC=0X4E;TPM1MODH=0XF4;TPM1MODL=0X24void beepxx() beep=1; delay(5); beep=0; delay(5); beep=1; delay(5); beep=0;void display(uint a,bit b)/b是1显示分数 uchar a1,a2,a3,a4;/a1是最高位 a4=a%10; a3=(a/10)%10; a2=(a/100)%10; a1=(a/1000)%10; P3=b?0xfe:0xef; P0=tablea1; delay(6); P3=b?0xfd:0xdf; P0=tablea2; delay(6); P3=b?0xfb:0xbf; P0=tablea3; delay(6); P3=b?0xf7:0x7f; P0=tablea4; delay(6);void keyscan() uchar i; for(i=0;i<3;i+) P2=table1i; if(bbd=0) delay(10); if(bbd=0) key=i*4+0; while(!bbd); if(b1=0) delay(10); if(b1=0) key=i*4+1; while(!b1); if(b2=0) delay(10); if(b2=0) key=i*4+2; while(!b2);if(b3=0) delay(10); if(b3=0) key=i*4+3; while(!b3);void key_solve() if(key=0) a_num+; else if(key=1) a_num+=2; else if(key=2) a_num+=3; else if(key=3) a_num-=1; else if(key=4) b_num+; else if(key=5) b_num+=2; else if(key=6) b_num+=3; else if(key=7) b_num-=1; else if(key=8) a_num=0;b_num=0;s1=s2=s3=s4=0;time_num=0;flag=0; else if(key=9) DisableInterrupts; else if(key=10) EnbleInterrupts; key=24; if(a_num>99) a_num=99; elseif(a_num<0) a_num=0; if(b_num>99) b_num=99; elseif(b_num<0) b_num=0; void main() PTADD=0X00; PTBDD=OXFF; PTCDD=0XFF; PTEDD=0XFF to_init(); while(1) keyscan(); key_solve(); display(a_num*100+b_num,1); display(s1*1000+s2*100+s3*10+s4,0); if(bbx=1) beepxx();bflag+;if(bflag>100) bbx=0; bflag=0;interrupt VectorNumber_Vtpm1ovf void TPM1_OVF_ISR() flag+; if(flag=20) flag=0; s4+; if(s4=10) s4=0;s3+;if(s3=6) s3=0; s2+; if(s2=10) bbx=1; DisableInterrupts; s2=0; s1+; if(s1=6) s1=s2=s3=s4=0;

    注意事项

    本文(基于单片机的篮球计分器设计_课程设计(18页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开