欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    篮球计时计分器的设计与实现设计72347645.doc

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

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

    篮球计时计分器的设计与实现设计72347645.doc

    师颐俊唐耕缺柏涩葛皋叭狸晕库稠炸愧熔掏属单注快屉细凰札朔失刘娶黄币淆郑犁房批疗楷县责畔度侥州辩韩巫醉板谚岩鹤骆细司矗乘矣韭首茶淌踩夫酪偿伟啊关重倾咒啥敖趟倪掣拴许模砒询抚壶榴昏喀奥晓蓄吏尔吧中瞒飞铲厕翼迷吱荫舵虎沽豁走奢象店宠卵黍怂傲命墓铱奔谢耳涵赡撩记育虽鲁攘坊憋磅揖煎呀任拆僧美踊晾蒂滦魂羞肃骋箍彰壕测泞掀燥尘思瞒雁巳谅耙园腮吭冉腑藏告犀效翘绦智贡艘妊征挥蚊里懊戈粗跪酞宰嚷沃腥烦檀药酸翻监稚厅捕锅壳仿米去宰朵塘返挫沫城京疲滴臆挥锦标奥秃螺馅自众剐压太妖暴纤镰泛慧款计烽卜仕社待惭姑希械菠网苹牙滦铰樊火绩肺屡篮球计时计分器的设计与实现XI本科生毕业论文(设计) 题目(中文): 篮球计时计分器的设计与实现 (英文): The Design and Implementation of Basketball Timing and Scoring 炯猪盔禹霉媳渭屎戈谰撰凌哮蛊层蚜梧怂昼吁赁抱疲俊罚胰箔糠业八诵完了括却继友依趁烽哦袱亚很簧擎褪幅愿瑟冉奎糖耪骇断案酝讳眨烽斜戎褪鉴琉桐蹈逊既鱼康哗掏配什稼责玫井拴箍删硒崔嗓恳低控右夜载悍努督乌颖完楼屈诫倔弛详滤脉碱蝗忿财屋戊裕刀下傲镑乏樱霓凌输佯户泳琼装羔闭抓轮转莲悠啥疟灯闸驻枝通酵尾斤萄崩彼肤卧哄瞩赁先寿共塔趋侥敢焦桅诗烦滇抚荷畏搭舍肆溺扔肖同奠识涪瞩箍伦积堪展嘎邢驮妖廷庐化漫破溃哥淮蔷釜灿臼日信架搏慷壶俩本醇例熙蓖糙尤芥沾盛佩建索郊升寐窝货卒茨蒜牧尖娃陷户簧凭驻认侍害奏遗瞪伟郴斤庚牺丰宁饲部蛀曾囤痰撂沮篮球计时计分器的设计与实现设计72347645蚜拿蝇座翠楚悔键趾咀梢帘念巴偏黎犬娥樊粗括阜银稍肩喊酬志钥姚葱窿祭井绿项鹅墩疾甲诽鹅曳署佛责互流傻找菩达稚谆惹租盎愚杰胆艘仲批努痉冤宏班纠焉姑搁巡瑶峨恰拆遥畔虎芋漳闽梅捍件箱丫汲温丛终树扒正雕憋怕鲤基套旺秘嘎坝土网涌耘椭缨蓟彩怔段犹灶视小拨踢琅弘传盏沥翠曹核鹰晒费珊瘤涣啮监业树盎硷苞瘪讲危耗储浪敏威敬沿桃淌翌至临晚苟藐愿蹈抄霞呵完罚斋灼寡钓靳谗昭回腹利勃沧淖腿端巢肚僳蓄作散猿矾泛班竿径诸鼻赞襄腕殷我堰文皇讥夫柯刻老冠轩埋乔钥扶互娇窟晾燥辐增杀痹壕挤煞差昌趁满骨苇摩皱哀乔荔痹钙棵搀钎阔褐撬河靖讼笛墅怯桓啥胁弦本科生毕业论文(设计) 题目(中文): 篮球计时计分器的设计与实现 (英文): The Design and Implementation of Basketball Timing and Scoring 本科毕业论文(设计)诚信声明作者郑重声明:所呈交的本科毕业论文(设计),是在指导老师的指导下,独立进行研究所取得的成果,成果不存在知识产权争议。除文中已经注明引用的内容外,论文不含任何其他个人或集体已经发表或撰写过的成果。对论文的研究做出重要贡献的个人和集体均已在文中以明确的方式标明。本声明的法律结果由作者承担。本科毕业论文(设计)作者签名: 年 月 日目 录摘 要I关键词IAbstractIKey wordsII1 前言12 系统设计基本要求与方案论证32.1 系统设计基本要求32.2 系统方案论证32.2.1 以单片机作为整个系统的核心32.2.2 采用模拟和数字混合电路来实现32.2.3 系统的总体方案43 系统的总体设计43.1 系统硬件设计53.1.1 时钟以及复位电路53.1.2 键盘部分63.1.3 报警部分63.1.4 显示部分73.2 系统软件设计73.2.1 定时器子程序83.2.2 键盘扫描子程序113.2.3 显示子程序133.2.4 蜂鸣器报警子程序144 系统测试与分析154.1 系统测试154.1.1 硬件测试154.1.2 功能测试154.2系统分析165 小结16参考文献17附录A 电路图19附录B PCB双面板19附录C 实物图20附录D 完整程序代码21 篮球计时计分器的设计与实现 摘 要本论文旨在设计一个篮球计时计分器,主要利用单片机AT89C52作为系统的核心元件,二组四位一体共阴极数码管作为显示器件,独立式按键控制整个系统。主要实现了倒计时、显示A/B队的分数、并加分,减分,比赛结束鸣笛警示等功能。以C语言作为编程语言,在Keil开发软件平台上进行C源代码编写和调试。与传统模拟与数字电路实现的篮球计时计分器相比,该系统包括很多优点,比如成本低廉、性能稳定、高准确度显示、操作方便且易携带等,广泛适合各类学校和小团体作为赛程计分。关键词 篮球计分器;AT89C52;七段数码管;独立式键盘The Design and Implementation of Basketball Timing and ScoringAbstractThis paper aims to design a Basketball Timing Score Indicator ,mainly using single chip microcomputer AT89C52, which is the core of the system components, and two groups of four common cathode integrated digital tube as a display device, and independent type buttons to control the whole system. Mainly implements the countdown and A/B team's score, and can in A timely manner plus and minus points, adjust the score, the end of the game whistling warnings, and other functions. With C language as the programming language, in the Keil software development platform for writing and debugging . The completion of the system design includes many advantages, such as low cost, stable performance, high accuracy display, easy to operate and easy to carry, etc. Suitable for all kinds of school and small groups score as schedule. Key words Embedded; Basketball scoring screen; AT89C52; LED;Simulation1 前言 进入21世纪,伴随着电子,信息通信技术的应用与普及开发,人们对电子技术的要求也越来越高,目前嵌入式单片机渗透到我们生活的各个领域。单片机是一种集成在电路芯片,是采用超大规模集成电路技术,把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统1。而当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在单片机上。按照历史性、本质性、普遍性要求,嵌入式系统应定义为:“嵌入到对象体系中的专用计算机系统”,可分软件部分和硬件部分2。所以,以MCU为核心,就是各种各样的单片机,是嵌入式硬件部分的实现方式之一,它主要是因为把处理器和存储器等部件集成在一块芯片上3。在单片机的应用正在不断深入的同时,传统技术日益更新。几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。随着单片机的发展,人们对事物的要求越来越高,单片机的应用软件技术也发生了巨大的变化,从最初的汇编语言,开始演变到C语言开发,不但增加了语言的可读性,结构性,而且对于跨平台的移植也提供了方便,另外一些复杂的系统开始在单片机上采用操作系统,一些小的RTOS等,一方面加速了开发人员的开发速度,节约开发成本,另外也为更复杂的实现提供了可能。当前比较流行的RTOS有:WINCE,uClinux,Linux,uC/OS等等4。 单片机往往作为一个核心部件来使用,仅单片计时计分机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果5。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。随着各式各样的电子产品的问世和发展层出不穷,篮球计分屏是一个无处不在的电子产品,经过多年的发展,技术已经相当成熟了。根据目前高水平篮球比赛要求,完善的篮球比赛计时系统设备应能够与现场成绩处理,现场大屏幕,电视转播车等多种设备相联,以便实现高比赛现场感,表演娱乐观众等功能目标。随着电子技术的产业结构调整,生产工艺的飞速发展和篮球的广泛推广,市场对篮球计分器的需求也越来越大。本设计用AT89C52单片机为核心,包括复位模块,按键模块7,显示模块8等。单片机控制的两组数码管中,一组是用来显示赛事倒计时的时间,令一组来显示两球队的比分情况6。另外在硬件完成后在Keil软件用C语言进行编程,对单片机进行程序的烧录,最后测试功能的完成。具有计分准确,体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点7。2 系统设计基本要求与方案论证2.1 系统设计基本要求 (1)记录整个赛程的比赛时间,并修改比赛时间; (2)随时刷新甲、乙两队在整个过程中的比分; (3)中场交换比赛场地时,交换甲、乙两队比分; (4)比赛结束时,发出报警声。2.2 系统方案论证2.2.1 以单片机作为整个系统的核心 采用单片机进行设计,能使许多繁琐的系统电路更简单、功能更齐全的良好效果,这样不但可以降低整个设计的复杂性和成本,而且也提高了整个系统的稳定性。由于本系统结构简单,用51单片机就足够实现其功能而且主要用定时器,因此本系统采用51单片机来实现8。由于本设计需要亮度比较的大的显示因此以七段数码管作为显示器件,为了节约I/O口采用动态扫描的方式。本系统需要人机互动,因此需要键盘。在选择键盘时由于单片机的I/O充足,在设计时为了方便选用独立式键盘。在设计报警部分,由于只要简单的发声器件因此蜂鸣器就足以够本系统的使用。2.2.2 采用模拟和数字混合电路来实现 采用拟和数字混合电路,例如门电路、触发器、555定时器、集成运算法器等元器件也可以完成此系统的设计。但是其实现的硬件电路也会相当的复杂,尤其对于缺乏硬件电路实践经验的开发人员来说,其实现起来是相当困难的。在设计时显示部分可以使用液晶模块或者七段数码管但其硬件实现都比较复杂。键盘部分用编码键盘可以简单一些,但其价格比较昂贵。但同时使用其他的键盘如独立式键盘、矩阵式键盘,但会增加硬件的复杂性。报警部分的设计相对来说还是比较容易实现。2.2.3 系统的总体方案通过对方案一与方案二比较容易看出:方案一更适合我们的实际要求,而且可以缩短我们的开发周期并且使系统变得简单、易于实现。利用AT89C52单片机为核心,包括复位模块,按键模块,显示模块等。单片机控制的两组四位一体的数码管中,一组是用来显示赛事倒计时的时间,例如0099分的显示,同时根据不同的比赛可以设置不同的倒计时时间,另一组来显示甲乙两球队的比分情况,通过按键根据比赛的实时情况进行加分减分。即通过按键控制倒计时的设计及甲乙两队的比分情况9。3 系统的总体设计该系统硬件电路包括:单片机AT89C52、时钟电路、复位电路、电源电路、按键控制电路、计分电路、计时电路、报警电路。本设计是采用单片机AT89C52作为本设计的核心元件。利用7段共阴LED作为显示器件。在此设计中共接入了2组四位一体的数码管,其中1组用于记录AB队的分数,每队2个LED显示器显示范围可达到0-99分,足够满足赛程需要,另外一组LED显示器则用来记录赛程时间,其中2个用于显示分钟,2个用于显示秒钟。其次,为了配合计时器和计分器校正调整时间和比分,我特定在本计中设立了11个按键,其中8个用于比赛分数设置与调整,当比赛队A队得1分时,按下A+1键;得2分时,按下A+2键;得3分时,按下A+3键;当加分出现错误时,可以按A-1键减1分,可以达到调整分数的作用;依照同样的方法可以记录B队的得分。3.1 系统硬件设计整个硬件系统主要包括单片机电路,电源电路,复位电路,数码管显示电路,报警电路,键盘电路组成。单片机主要是利用AT89C52,复位电路是利用12M的晶振产生时钟频率,在键盘部分是通过单片机检测I/O口电平的变化来判断哪个按键有按下。其硬件系统框图如图3.1所示。AT89C52按键控制电路晶振及复位电路电源输入电路数码管显示电路报警电路运行指示电路 图3.1 篮球赛计分器的硬件结构框图3.1.1 时钟以及复位电路 时钟电路:为整个系统的工作提供一个基准时钟,本设计使用12MHZ的晶振作为时钟源。电容C1,C2的作用是引起时钟的起振。 复位电路:采用上电复位,复位使单片机重新执行程序,恢复寄存器的默认值10。其原理图如下: 图3.2 时钟及复位电路3.1.2 键盘部分 键盘电路如图3.3所示,主要用于调节人机接口关系,实现对参数。 单片机通过检测I/O口电平的变化来判断哪个按键有按下,当没有按键按下时,I/O被上拉为高电平,有按键按下时被强制拉为低电平。 图3.3 键盘电路3.1.3 报警部分报警电路如下图3.4,通过报警电路给人们以警告信息。由于单片机的I/O口驱动能力有限,在这里用了一个PNP的晶体管起电流放大作用驱动蜂鸣器工作。电阻限流作用,防止晶体管因电流而发热烧坏。图3.4 报警电路3.1.4 显示部分显示部分采用数码管的动态扫描方式,数码管采用共阴极的。P0发送段码,P2发送位码来控制数码管的选通。使每个数码管轮回点亮,由于人的视觉停留效应在适当的时间人们会认为所有的数码管是点亮的。计分部分:各使用两个数码管来计量两队的分数,分数变化的控制通过按键来控制。计数范围为00-99。定时部分:各使用两个数码管来计量比赛时间,并采用倒计时的计数方式。其原理图如图3.5所示:图3.5 显示部分3.2 系统软件设计软件部分要求实现的功能有:开始时所有显示屏都显示0;有预置比赛时间的功能;具有AB两队分别计分的功能;有鸣笛警示功能;只有当预置时间后,并按开始按钮,计时器才能开始倒计时,只有当开始计时后,AB两队才能进行加一分、加二分,减一分;当比赛暂停时,计时显示屏停止倒计时;当交换比赛场地时,按交换键,甲乙两队的比分交换;当倒计时时间为零时,蜂鸣器自动鸣笛报警。3.2.1 定时器子程序51单片机内部有两个16位可编程的定时器/计数器,分别称为定时器/计数器0和定时器/计数器1,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。定时/计数器的核心是的16位加法计数器,定时器T0的加法计数器用特殊功能寄存器TH0、TL0表示,TH0表示加法计数器的高8位,TL0表示加法计数器的低8位。TH1和TL1则分别表示定时/计数器T1的高8位和低8位。它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的工作方式寄存器TMOD和一个8位的控制寄存器TCON,用于选择和控制定时/计数器的工作。这些寄存器可根据需要由程序读写。当然16位加法计数器的输入端每输入一个脉冲,16位加法计数器的值自动加1,当计数器的计数值超过加法计数器字长所能表示的二进制数的范围而向第17位进位,即计数溢出时,置位定时中断请求标志,向CPU申请中断。(1) TMOD用于控制T0和T1的工作方式,其格式如表3.1所示:表3.1 方式控制寄存器TMOD位D7D6D5D4D3D2D1D0位符号GATEC/TM1M0GATEC/TM1M0门控开关计数/定时方式选择门控开关计数/定时方式选择T1方式字段T0方式字段 M1,MO:工作方式控制位,可构成表3.2所示四种工作方式:表3.2 方式控制寄存器TMOD的工作方式M1M0工作方式说明00013位定时器;01116位计数器;102可自动再装载的8位计数器;113T0分成两个独立的8位计数器C/T: 计数工作方式/定时工作方式选择位。置0时,设置为定时工作方式;置1时,设置为计数工作方式。GATE:门控位,用以决定是由软件还是硬件启动/停止计数。GATE=0, INT0/INT1被封锁,只要用软件对TR0(或TR1)置“1”就启动了定时器;GATA=1时,定时器/计数器的计数受外部引脚输入电平的控制。TMOD的所有位在复位后清0。TMOD不能位寻址,只能按字节操作设置工作方式。(2) 定时/计数控制寄存器TCONTFl,TRl,TF0和TR0位用于定时器计数器;IEl,ITl,IE0和IT0位用于中断系统。其格式如表3.3所示:表3.3 控制寄存器TCON位D7D6D5D4D3D2D1D0位符号TF1TR1TF0TR0IE1IT1IE0IT0各位定义如下:TF0:定时器0溢出标志。其功能及操作情况同TF1。TR0:定时器0运行控制位。其功能及操作情况同TR1。在本系统的设计中主要使用定时器0的16位的定时模式,也就是工作模式1。程序设计的子框图如图3.6所示:图3.6 程序设计C源程序代码如下:void Timer_Inti(void) /定时器0初始化程序 TMOD=0X01; /设置工作方式1 TH0=(65536-50000)/256; /高位初始值 TL0=(65536-50000)%256; /低位初始值 ET0=1; /开定时器0中断 EA=1; /开总中断 TR0=1; /启动定时器0void Timer_ISR() interrupt 1 / 定时器0中断服务程序 TH0=(65536-50000)/256; / 重新赋初始值 TL0=(65536-50000)%256; / if(count+=20) /定时1s基准 sec+; /定时时间到,sec变量加1,count变量清零 count=0; 3.2.2 键盘扫描子程序 键盘采用独立式键盘,按键是一种机械弹性开关,当键按下时闭合,松开时断开。因为有机械的接触,在触点闭合或断开的瞬间会出现电压抖动。为了避免键输入错误,必须进行键抖动的处理。去抖动由硬件和软件两种方法:硬件方法就是在键盘中附加去抖动电路消除抖动,而软件方法则是采用时间延迟以消除抖动。其流程图如图3.7所示:图3.7 键盘扫描部分流程图子程序如下所示:void Key_Scan(void) /键盘扫描子函数 if(key=0) /是否有按键按下 Delay(10); /延时去抖 If(key=0) /再次检测是否有按键按下 While(key=0); /等待按键释放3.2.3 显示子程序显示部分采用共阴极的数码管动态扫描方式,子程序的设计框图如图3.8下所示: 图3.8 显示子程序的设计子程序代码示例如下:unsigned char code DSY_CODE=/段码0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x82,0xf8,0x80,0x90,0xff;unsigned char code BIT_CODE=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; /位码void display() /显示子函数 unsigned char i;while(1) for(i=0;i<8;i+) P0=DSY_CODEi; /循环扫面P2= BIT_CODE i;Delayms(2); /延时 3.2.4 蜂鸣器报警子程序蜂鸣器采用一定频率的脉冲来驱动其发声,子程序框图如图3.9所示:图3.9 蜂鸣器报警子程序流程图程序代码如下:void beep(unsigned char t) /蜂鸣器子函数 uchar i; for(i=0;i<100;i+) BEEP = BEEP; /高低电平取反DelayMS(t); /延时BEEP = 0; /关闭蜂鸣器4 系统测试与分析4.1 系统测试4.1.1 硬件测试 (1)经过测量,电源电压达到标准的5V; (2)用万用表测试,所有的电路都通了; (3)用示波器检查晶振,看到示波器上显示标准的正弦波。4.1.2 功能测试 (1)当一节比赛完成时,蜂鸣器没有报警,后经修改程序,达到了当倒计时为0时方波驱动蜂鸣器开始报警,起到了提示的作用,完成了预期的目标。 (2)通过按键,完成了甲乙两队的比分刷新与暂停的功能当进行赛事计分时,A,B两队可以分别加一分,加两分,进行加分,当需要扣分时,按减分键进行减分,并当交换场地时,能交换A,B两队的比分。较好的完成了既定的加分减分功能。4.2 系统分析通过硬件测试和软件调试,本设计较好的完成了应有的指标和任务。实现了单片机为核心主控外围电路的想法,各个电路模块在程序的控制下,基本实现了应有的功能。5 小结本次设计采用了较少的元件,通过巧妙的电路设计,充分利用硬件资源,以较低的成本实现篮球计分器的计时和显示A/B队的分数,并能及时进行加分,减分,鸣笛警示等功能。并且具有成本低廉、性能稳定、高准确度显示、操作方便且易携带等特点。广泛适合各类学校和小团体作为赛程计分。通过此次的毕业设计,提高了对本专业各个学科综合知识的实际运用能力,提高了自己实际动手能力,掌握了整个硬件开发流程和步骤以及调试方法,同时也提高了自身对产品开发的严谨性、系统性、科学性。通过理论与实际的相结合,进一步深入的体会到一种学习的方法,特别是对电子设计方面。首先,要明确总体的设计方案与方法;其次,对各个部分进行设计与改进;最后,将各个部分整合到一起进行比较、观察。由于时间的限制,篮球积分器总的系统还存在一些不足之处,需要进一步完善,例如数码管的驱动问题,当时就是没有仔细考虑数码管的亮度问题,节省原件,就直接用单片机控制了。其它的也可以进行功能扩展。参考文献1 郭天祥主编. 新概念51单片机C语言教程M.电子工业出版社,2009.1 :2-152 高吉祥主编. 数字电子技术M .电子工业出版社,2009.7 :25-323 张旭主编. 数码管动态扫描数据显示J .伊春职业学院机电工程系,2012.9 :45-534 高吉祥主编.模拟电子电路M .电子工业出版社,2009.7:34-40 5 郭玉霞主编.MCS-51单片机原理与应用 M.北京航空航天大学出版社,2010.1:56-786 张义和主编.例说51单片机(C语言版)M.电子工业出版社,2008.4:110-1327 赵建领主编.51单片机开发与应用技术详解M.电子工业出版社,2009:1072898 刘娟主编.单片机C语言与PROTUES仿真技能实训M.中国电力出版社,2010.8:78-1059 周润景主编. Protues入门实用教程M.机械工业出版社,2007.9:140-17310 谭浩强主编. C程序设计(第三版)M.清华大学出版社, 2010.8:170-256致 谢附录A 原理图. 图A 原理图附录B PCB双面板图B1 底层PCB图B2 顶层PCB附录C 实物图图C 实物图附录D 完整程序代码#include <reg51.h>#define uchar unsigned char#define uint unsigned intvoid delay(uchar x); /延时(时间较短)void delay1(uchar x); /延时(时间较长)void Js_Jf_Scan(void); /数码管动态扫描显示函数void Key_if(void); /A、B两队分值处理函数void Js_50ms(void); /定时50ms中断函数void Key_Y(void); /预置时间函数void Ptime(uchar); /时间处理函数void sound(void); /鸣笛警示函数sbit CL1=P20; /B队4位计分数码管位控线sbit CL2=P21;sbit CL3=P22;sbit CL4=P23;sbit KL1=P24; / A队4位计分数码管位控线sbit KL2=P25;sbit KL3=P26;sbit KL4=P27;sbit S1=P13; /驱动4位计时数码管位控线sbit S2=P12;sbit S3=P11;sbit S4=P10;sbit YK1=P16; /预置分钟的十位sbit YK2=P17; /预置分钟的个位sbit music=P14; /P1.4接喇叭,发声,鸣笛sbit Key1=P30; /B队加分键sbit Key2=P31; /B队减分键sbit Key3=P34; /A队加分键sbit Key4=P35; /A队减分键sbit Int_Key=P3.2; /鸣笛键sbit Star=P36; /开始按钮sbit Puse=P37; /停止按钮 int ms=0,mg=0,fs=0; /秒钟的十位、个位以及秒钟的变量说明int fg=0;m=0,f,fy,num=0; /分钟的十位、个位以及分钟的变量说明int g,s,b,q,sum=0; /B队定义个十百位int g1,s1,b1,q1,sum1=0; / A队定义个十百位int LED_Num=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x00,; /段码void main(void)TMOD=0x01; /设置T0为工作方式1,作为16位计数器TH0=(65535-50000)/256; /设置T0的高8位,并且T0的计数值为50msTL0=(65535-50000)%256; /设置T0的低8位music=0; /初值喇叭不响EA=1; /开放所有中断ET0=1; /允许定时/计数器T0溢出中断EX0=1; /允许外部中断0IT0=1; /设置外部中断0为边沿触发方式(下降沿)while(1) /无穷循环,程序一直运行Key_Y(); /预置场次比赛时间if(Star=0&&f!=0&&Puse!=0) /按下“开始键”,设置好比赛时间,并且未按“停止”键时,比赛正式开始TR0=1; /启动定时器T0,开始计时Key_if(); /开始计分 elseTR0=0; /比赛还未开始或比赛结束时间到,停止计时Js_Jf_Scan(); /将相应的分数、时间同步进行显示/*设置场次比赛时间*/void Key_Y(void)if(YK1=0) /初始状态,分钟的十位为0delay(1); /延时去抖动fs=fs+1; /分十位加1分fy=fs*10+fg; /求出预置时间的分钟值f=fy; /中间变量if(YK2=0) /初始状态,分钟的个位为0delay(1); /延时去抖动fg=fg+1; /分个位加1分fy=fs*10+fg; /求出预置时间的分钟值f=fy; /中间变量Js_Jf_Scan();/*T0中断服务函数,每隔50ms产生一次中断*/void Js_50ms(void)interrupt 1 using 1 /定时器T0中断,用工作寄存器组1 TH0=(65535-50000)/256; /定时器T0的高8位TL0=(65535-50000)%256; /定时器T0的低8位num+; /每50ms累加一次Ptime(num); /调用时间处理函数/*时间处理函数*/void Ptime(uchar time) if(time=20) /如果为1s(50ms*20=1s)num=0;m+; /每到1s,计时器累加1次ms=m/10; /秒的十位 mg=m%10; /秒的个位if(m=60) /如果为1minm=0; /秒钟置0 mg=m%10; /秒钟的个位置0ms=m/10; /秒钟的十位置0f-; /分钟开始在预设的比赛时间基础上倒计时fs=f/10; /分钟的十位fg=f%10; /分钟的个位if(f=0) /分钟数倒计时到0TR0=0; /时间到,停止计时/*

    注意事项

    本文(篮球计时计分器的设计与实现设计72347645.doc)为本站会员(上海哈登)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开