单片机课程设计计分器设计
篮球比赛计分器单片机课程设计报告

1.1设计的内容与要求设计一个单片机系统用于篮球比赛计时计分,满足以下功能要求:(1)能记录整个赛程的比赛时间,并能暂停。
(2)能随时刷新甲、乙两队在整个比赛过程中的比分。
(4)比赛结束时,能发出报警声。
在篮球比赛过程中需要对参赛双方的比分进行快速的采集记录和加工处理,需要一个快捷方便的计分系统。
该计分系统是一种得分类型的系统,即根据不同球队的不同得分,进行相应的处理,并且能够实时的显示出来。
又因为篮球比赛是分节进行的,所以还需要有倒计时功能的计时器,以便于观众实时了解赛况。
由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,功耗低,价格便宜,可靠性高和使用方便等独特的优点,目前已经成为测量控制应用系统中的优选元器件。
篮球计时计分器就是以单片机为核心的计时计分系统,有计时器、计分器、直流电源、时钟电路、按键等组成,完全能够实现上述的功能。
1.2设计的目的及意义随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,因此掌握单片机的一些基本功能就显的十分重要。
本次设计是采用AT89S52来编程控制LED七段数码管,使其能够显示篮球比赛的时间和计分,该系统具有赛程时间实时显示、时间暂停以及刷新A/B球队的成绩等功能。
通过本次设计可以了解、熟悉有关单片机的开发设计过程,并更进一步加深对单片机的了解和应用,掌握单片机与外围接口的一些方法与技巧,以及AT89S52单片机的最小应用系统的构成。
还可以了解LED数码管的结构、工作原理、编程方法以及相关的接口实例与具体连接。
通过本次设计可以很好的把课本的理论知识和实践有机的联系起来,是我们对理论知识有更深一步的掌握,为以后的学习打下坚实的基础。
2.1任务分析充分了解本设计要求,明确设计的全部功能、要求及技术指标;熟悉AT89S52单片机与控制对象的各种参数、关系和特点。
按题目要求能记录整个赛程的比赛时间,并能暂停,则需要暂停按键和7段共阴极LED数码管,其中时间显示按每节10分钟倒计时显示分和秒;能随时刷新A/B两队在整个比赛过程中的比分,加分有误时可通过按键实现减分调整,则需要有加减分按键、切换按键等。
单片机课程设计篮球计时计分器正文精选全文完整版

可编辑修改精选全文完整版基于单片机的篮球赛计时计分器的设计一系统设计方案1.1 设计题目篮球计时计分器1.2 系统功能要求本系统可实现功能如下:(1)主控部分:选择单片机为核心元件构成系统。
(2)计时部分:能记录整个赛程的比赛时间,并能修改时间、暂停时间。
(3)计分部分:能随时刷新甲、乙两队在整个赛程中的比分。
(4)中场交换比赛场地时,能交换甲、乙两队比分的位置。
(5)比赛时间结束时,能发出报警指令。
1.3 系统总体方案设计本设计由AT89C51编程控制LED七段数码管作球赛计时计分系统具有赛程定时设置、赛程时间暂停、性能稳定、操作方便且易携带等特点。
1.3.1系统设计方案论证本设计是基于89C52单片机的键盘控制及显示电路设计,从系统的设计功能上看,系统可分为两大部分,即键盘输入控制部分和显示部分,对于每一个部分都有不同的设计方案,起初我拟订了下面两种方案:第一种方案:键盘控制采用矩阵扫描键盘,可以用普通按键构成4×4矩阵键盘,直接接到89C51单片机的P0口,高四位作为行,低四位作为列,通过软件完成键盘的扫描和定位。
显示部分采用动态显示,采用移位寄存器74LS164和译码器74LS138通过显示驱动程序驱动七段数码管显示。
此方案成本低,所用到的两个外围芯片价格都很低廉,而且单片机的I/O口占用较少,可以节约单片机接口资源。
第二种方案:键盘控制采用独立是式键盘,每个按键的"接零端"均接地,每个按键的"测试端"各接一条输入线,通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单。
这种方法比较适合按键较少或操作速度较高的场合。
显示部分采用静态显示方法,所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU 的开销小。
单片机课程设计计时器

单片机课程设计计时器一、课程目标知识目标:1. 学生能够理解单片机的基本工作原理和内部结构。
2. 学生掌握计时器模块的使用方法,包括编程和接口连接。
3. 学生能够解释计时器的工作流程,并掌握相关计算方法。
技能目标:1. 学生能够运用所学知识,设计并实现一个基于单片机的计时器程序。
2. 学生通过实践操作,培养动手能力和问题解决能力,能够调试并优化计时器功能。
3. 学生能够使用相关软件(如Keil、Proteus等)进行程序编写和仿真测试。
情感态度价值观目标:1. 学生培养对单片机编程的兴趣和热情,增强对电子工程领域的认识。
2. 学生在团队协作中学会沟通、分享,培养合作精神。
3. 学生认识到技术发展对生活的影响,激发创新意识和责任感。
课程性质:本课程为实践性较强的单片机应用课程,要求学生在理论学习的基础上,动手实践,培养实际操作能力。
学生特点:考虑到学生所在年级(如高二或高三),他们已经具备一定的电子基础和编程能力,但需加强对单片机内部结构和实际应用的理解。
教学要求:课程注重理论与实践相结合,要求教师以学生为主体,引导学生主动探究,培养学生的创新思维和实际操作能力。
通过本课程的学习,学生能够将知识转化为具体的学习成果,为后续相关专业课程打下坚实基础。
二、教学内容本课程教学内容以单片机计时器设计为主线,结合以下章节内容进行:1. 单片机基础理论:- 单片机内部结构和工作原理- 计时器/计数器模块功能介绍2. 计时器模块编程:- 汇编语言基础- 计时器编程方法- 中断处理程序设计3. 硬件电路设计与接口:- 计时器模块硬件连接- 单片机与外围设备接口技术- 电路仿真与调试4. 实践操作:- 使用Keil和Proteus软件进行程序编写和仿真- 设计并搭建计时器硬件电路- 调试优化计时器功能5. 综合应用:- 结合实际案例,分析计时器的应用场景- 创新设计,拓展计时器功能教学内容安排与进度:1. 基础理论学习(1课时)2. 计时器模块编程(2课时)3. 硬件电路设计与接口(2课时)4. 实践操作(3课时)5. 综合应用(1课时)教学内容与课本紧密关联,遵循科学性和系统性原则,确保学生能够掌握单片机计时器设计的全过程。
毕业论文基于单片机的篮球计时计分器设计.pdf

毕业论文毕业论文基于单片机的篮球计时计分器设计摘要:本设计是基于AT89C51单片机的篮球计时计分器,利用7段共阴LED作为显示器件。
在此设计中共接入了1个四位一体7段共阴LED显示器,2个三位一体7段共阴LED显示器,前者用来记录赛程时间,其中2位用于显示分钟,2位用于显示秒钟,后者用于记录甲乙队的分数,每队2个LED显示器显示范围可达到0~999分。
赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到0为止。
为了配合计时器和计分器校正调整时间和比分,我们特定在本设计中设立了7个按键,用于设置,调整时间,启动,调整分数和暂停等功能。
采用单片机控制是这个系统按键操作使用简洁,LED显示,安装方便。
关键词:单片机 ; 计时 ; 计分 ; 显示器 ; 接口关键词Design of Basketball timing Scoring Device Based onSCMAbstract:The design is based on AT89C51 microcontroller timing basketball scoring device, the use of 7 as a common cathode LED display.In this design, the CPC has an access to one of four 7-segment common cathode LED display, 2 Trinity 7 common cathode LED displays, the former is used to record the race of time, of which 2 used to display the minutes, 2 seconds to displayminutes, which is used to record scores and B teams, each team two LED display shows the range of 0 to 999 points can be achieved.Schedule time with the countdown mode, the game starts the beginning of time until the timer to 0 so far.To cope with calibration timer and scoring device to adjust the time and score, we design a specific set in the 7 buttons, for setting, adjusting the time, start, adjust the score and pause functions.The system uses single chip control is to use simple button operation, LED display, easy to install.Key words:microcontroller ;timer ;score;display ;interface目 录1绪论 (1)2系统方案说明 (3)2.1 方案选择 (3)2.1.1 篮球赛计时计分器设计的现状 (3)2.1.2系统总体设计方案 (3)3统硬件电路设计 (7)3.1篮球赛计时计分器电路工作过程 (8)3.2系统硬件电路组成 (8)3.2.1 主要器件选择及介绍 (8)3.2.2显示模块 (17)3.2.3报警模块 (17)3.2.4时钟电路模块 (18)3.2.5 复位电路模块 (19)3.3篮球赛计时计分电路原理图 (19)4 软件编程及调试 (20)4.1 软件总体设计方案 (21)4.2 软件设计具体过程 (22)4.2.1延时模块设计 (23)4.2.2 显示时间,分数子程序模块设计 (23)4.2.3 按键控制子程序设计模块 (27)4.2.4 中断程序设计模块 (35)4.2.5 主函数设计模块 (37)总结 (41)致谢 (43)参考文献 (45)1绪论随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED 七段显示器计时计分器等。
单片机课程设计—篮球计时计分器

单片机课程设计—篮球计时计分器篮球作为一项广受欢迎的运动,其比赛的公平性和准确性至关重要。
而在篮球比赛中,计时计分器是不可或缺的设备,它能够为比赛提供准确的时间和比分信息,保障比赛的顺利进行。
本次单片机课程设计的任务就是设计一款篮球计时计分器,通过运用单片机的知识和技能,实现篮球比赛计时和计分的功能。
一、设计要求1、能够实现比赛时间的计时功能,包括 24 秒进攻时间、每节 10分钟的比赛时间以及加时赛时间。
2、能够实时显示比分,包括主队和客队的得分。
3、具备暂停、复位等功能,以应对比赛中的各种情况。
4、能够通过按键进行操作,简单易用。
二、系统方案设计1、硬件设计单片机选型:选择一款性能稳定、资源丰富的单片机,如STC89C52 单片机。
显示模块:采用数码管显示时间和比分,数码管具有亮度高、显示清晰、成本低等优点。
按键模块:使用独立按键实现计时、计分、暂停、复位等操作。
时钟模块:采用外部时钟芯片,为系统提供准确的时钟信号。
2、软件设计编程语言:选择 C 语言进行编程,C 语言具有语法简洁、可移植性好等优点。
程序流程:主程序负责系统的初始化、按键扫描、时间和比分的更新以及显示。
中断服务程序负责处理时钟中断,实现计时功能。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化。
2、显示电路采用共阳极数码管,通过三极管驱动数码管的段选和位选信号,实现时间和比分的显示。
3、按键电路独立按键分别连接到单片机的 I/O 口,通过检测按键的状态来执行相应的操作。
4、时钟电路采用 DS1302 时钟芯片,通过单片机的 I/O 口与时钟芯片进行通信,获取准确的时间信息。
四、软件程序设计1、主程序首先进行系统初始化,包括单片机端口设置、数码管显示初始化、时钟芯片初始化等。
然后进入主循环,不断扫描按键状态,根据按键执行相应的操作,同时更新时间和比分,并将其显示在数码管上。
单片机频率计课程设计

单片机频率计课程设计一、课程目标知识目标:1. 学生能理解单片机的基本原理,掌握其内部结构和功能。
2. 学生能掌握频率计的设计原理,理解并运用相关电路知识。
3. 学生能了解并掌握编程语言在单片机应用中的基本使用方法。
技能目标:1. 学生能运用所学知识,设计并搭建一个简单的单片机频率计电路。
2. 学生能编写程序,实现对频率计的功能控制,进行基本的数据测量。
3. 学生能通过实验过程,培养动手操作能力、问题解决能力和团队协作能力。
情感态度价值观目标:1. 学生通过课程学习,培养对单片机及电子技术的兴趣,激发创新思维。
2. 学生能认识到单片机技术在现实生活中的应用价值,增强学以致用的意识。
3. 学生在课程实践过程中,培养严谨、细致的科学态度,提高对科学研究的尊重和热爱。
课程性质分析:本课程为实践性较强的电子技术课程,旨在通过单片机频率计的设计与实现,使学生在实践中掌握单片机技术的基本原理和应用。
学生特点分析:学生处于高年级阶段,已具备一定的电子技术基础知识,具有较强的学习能力和动手能力,对实际操作有较高的兴趣。
教学要求分析:根据课程性质和学生特点,要求课程目标具体、可衡量,注重理论与实践相结合,培养学生的实际操作能力和创新思维能力。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。
二、教学内容本课程教学内容围绕单片机频率计的设计与实现,结合以下章节进行组织:1. 单片机基础理论:介绍单片机的内部结构、工作原理和功能特点,重点讲解单片机的时钟系统、I/O口控制、中断系统等基础知识。
2. 频率计原理:讲解频率计的基本原理,包括信号发生器、计数器、时钟脉冲等组成部分,以及频率测量的基本方法。
3. 电路设计与搭建:指导学生运用所学知识,设计并搭建一个简单的单片机频率计电路,包括单片机选型、外围电路设计、元器件选型等。
4. 编程与调试:教授编程语言基础,如C语言、汇编语言等,指导学生编写单片机程序,实现对频率计的功能控制,并进行程序调试。
51单片机篮球比赛计分计时器的设计

课程设计任务书篮球比赛计分器设计摘要:篮球比赛计分器的设计是为了解决篮球比赛时计分与计时准确方便和灵活适用的问题而提出的,我组设计的篮球比赛计分器硬件部分主要利用AT89S52单片机完成了计分与计时的功能,并通过两个四位七段数码管分别用来显示比赛时间和甲、乙比赛双方的分数,软件部分利用Keil C51软件来进行编译,通过Proteus软件进行仿真,最后将生成的HEX文件烧入到单片机芯片中。
采用该系统可根据实际情况进行时间的准确显示和比分修改,具有低功耗、可靠性强、安全性高以及低成本等特点,主要不足之处在于计时显示部分有时会出现显示不稳定的情况,基本满足了本次设计要求。
关键词:单片机;篮球赛计分;篮球赛计时;数码管;按键;下载线目录1设计背景 (1)2方案论证 (2)2.1共阳极数码管静态显示 (2)2.2共阳极数码管动态显示 (2)2.3两种方案的对比 (3)3方案实施 (4)3.1系统总体方案设计 (4)3.2硬件电路设计 (4)3.2.1系统控制中心单片机 AT89S52 (4)3.2.2系统电源模块 (6)3.2.3按键控制键盘模块 (7)3.2.4晶振模块 (8)3.2.5复位电路模块 (8)3.2.6报警电路模块 (9)3.2.7 LED显示模块 (9)3.3系统软件设计 (11)3.3.1软件设计环境介绍 (11)3.3.2软件设计方案 (11)3.4系统调试 (14)3.4.1软件调试及仿真 (14)3.4.2硬件调试 (14)4结果与结论 (15)5收获与致谢 (16)6参考文献 (17)7附件 (18)7.1元器件清单 (18)7.2硬件总电路图 (19)7.3实物图 (19)7.4源程序代码 (20)1. 设计背景体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。
根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。
单片机课程设计——篮球计时计分器

单片机课程设计报告篮球比赛计时计分器设计2009年6月18日摘要本设计是采用AT89C52单片机为核心设计的一个用于赛场的篮球计时计分器。
本设计采用定时器T0中断计时,显示部分分为计时和计分显示两部分,均采用共阴极LED显示。
计时部分计时范围宽,而且可定时设定与小时、分钟调整;计分部分调整灵活,显示范围宽,足以满足各种规模赛程需要。
两个显示模块均采用动态扫描方式显示。
在本设计中P3口(P3.0——P3.3)是计时计分显示共用的扫描口,P0口是计时数据输出口,P2口是计分数据输出口,计时计分均设有显示缓冲区(40H ——43H计分显示缓冲区,30H——33H计时显示缓冲区)。
本设计共有K1——K5六个设置按键,K1是甲加分建(按一次加一分),K2是乙加分键(按一次加一分),K3是定时切换键(定时设置与计时调时切换),K4是分钟调整键(计时与定时分钟调整),K5是分数位置交换键(交换甲、乙两队比分的位置)。
按键与P1口相接,低电平输入有效.。
报警部分由扬声器组成,当计时时间到时,输出低电平有效,由P1.3口输出脉冲信号驱动扬声器发出声音。
计时定时的原理与定时闹钟相同,为定时设置定时分钟计数单元,通过比较定时与计时的分计数单元判断比赛是否结束是否报警,定时与计时共用一个显示缓冲去,通过K3(定时切换键)进行显示切换,本设计可通过定时显示的秒位判断定时是否有效,如果秒位显示00说明无效(上次用过的定时),显示11说明有效(本次定时)。
定时时间到,扬声器报警,比赛结束,按K3键可停止报警(否则一直报警)。
关键词:单片机篮球计时计分器数码管按键报警器目录1 概述 (3)1.1单片机简介 (3)1.2课程设计的意义 (4)1.3任务与要求 (4)2 系统总体方案与硬件设计 (5)2.1、系统总体方案设计 (5)2.2、硬件系统设计 (5)2.2.1单片机的选择 (5)2.2.2、时钟电路模块 (6)2.2.3、复位电路模块 (7)2.2.4、按键控制模块 (8)2.2.5、数码管显示原理 (8)2.2.6、定时报警模块 (9)3、软件设计 (10)3.1、程序流程图 (10)3.2、程序分析 (11)4 PROTEUS软件仿真 (12)4.1、简介 (12)4.2、仿真过程 (12)5、调试分析 (15)6、课程设计心得体会 (16)参考文献: (16)附1、源程序代码 (17)附2、系统原理图 (24)1 概述1.1单片机简介单片机是指一个集成在一块芯片上的完整计算机系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南工程学院课程设计任务书课程名称单片机原理与应用课题比赛计分器设计专业班级电子科学与技术学生姓名学号指导老师审批任务书下达日期20年月 2 日任务完成日期201年7月日目录第1章系统概述 (1)1.1系统功能 (1)1.2设计内容及要求 (1)1.2.1 设计内容: (1)1.2.2 设计要求: (1)1.3按钮设置 (2)第2章总体方案设计 (3)2.1总体系统框图 (3)2.2系统组成 (3)第3章系统硬件设计 (5)3.1控制电路设计 (5)3.1.1 复位电路 (5)3.1.2 矩阵按钮电路 (5)3.2数码管显示电路设计 (6)第4章软件设计 (8)4.1主程序设计 (8)4.2各子程序设计 (8)4.2.1 延时子程序 (8)4.2.2 初始化子程序 (9)4.2.3 交换按钮程序 (9)4.2.4 状态部分程序 (10)4.2.5 加减部分程序 (11)第5章实物连接图 (12)5.1交换分值 (12)5.2发光二极管指示 (13)5.3清零 (13)5.3软件调试结果 (13)设计总结 (14)参考文献 (15)附录A:源程序清单 (16)附录B:总体硬件实物图 (21)电气信息学院课程设计评分表 (22)第1章系统概述1.1系统功能设计一个甲、乙两队比赛计分器,主要用于各种体育比赛记录分数。
采用矩阵式键盘作为输入。
基于以上思路,本次设计使用80C51实现一基于单片机的电子计分器的设计,其主要具有如下功能:(1)用户可分别对两队比分进行加1、加2、加3和减1,减2,减3操作。
(2)比分通过6个8段共阴极数码管显示器进行显示,每队比分显示三位,可以交换两队的比分。
(4)具有复位功能,通过复位键实现。
(5)预置分可通过加或减分按钮实现。
1.2设计内容及要求1.2.1 设计内容:(1)给甲乙两队分别设置一个分数控制按钮,此按钮有7种状态,分别为+1、+2、+3、-1、-2、-3,+10(置数)。
(2)设置一个切换状态按钮,可以分别切换每一种状态,然后每一种状态会有相应的发光二极管点亮以区别是哪种状态。
(3)设置一个复位按钮,按下实现甲、乙队总分回到初试分及显示(4)设置一个交换分按钮,用于交换甲乙比分。
1.2.2 设计要求:方案合理、正确,系统稳定、可靠。
软件设计要求尽可能精练、简短和运行可靠。
硬件电路要求简单明了,以节约成本。
1.3 按钮设置本设计的宗旨是用最少的按键实现最多的功能。
设计中一共用到了5个按钮,分别为:清零按钮、甲的加分减分按钮,乙的加分减分按钮,切换状态按钮和交换比分按钮。
每个按钮的功能如下:控制甲的按钮:实现+1、+2、+3、-1、-2、-3,+10(置数)功能;控制乙的按钮:实现+1、+2、+3、-1、-2、-3,+10(置数)功能;切换按钮:实现甲乙的各种状态的切换;减缓比分按钮:交换甲乙的比分;清零按钮:实现甲乙比分清零;第2章总体方案设计2.1 总体系统框图此次设计80C51单片机为核心,配以一定的外围电路和软件,以实现比赛计分器的功能。
利用6个8段共阴级数码管显示器.采用动态显示输出比分,用户信息输入则采用4×4矩阵式键盘,起状态切换用发光二极管的状态表示。
用一片单片机可满足本设计的输入输出。
系统设计方案的硬件电路设计框图如图2-1所示。
图2-1 硬件电路设计2.2 系统组成系统由硬件部分和软件部分组成。
硬件电路由复位按钮、80C51单片机、矩阵键盘和7个发光二极管,6个数码管等组成。
软件部分主程序主要由系统初始化段、键盘识别、键值处理、8段共阴极LED显示器扫描显示子程序组成。
软件设计主要分为四个部分:信息输入、信息处理、显示输出。
信息输入时采用矩阵式键盘来实现,所以需要检测键盘有无按键的子程序;信息处理需要对用户通过键盘输入的不同信息进行辨别并执行相应的处理;显示输出考虑到成本和电路体积,决定采用动态输出,从而达到设计的目的。
第3章系统硬件设计3.1控制电路设计3.1.1 复位电路如图3-1所示,按钮与单片机的RST引脚相连,当每次按下该按钮后,系统将通过软件实现对计分回到初始值功能。
后,它所在的行列线就导通了,所以如果一条线上是低电平,那么按键的另一条线也是低电平。
先给第一行送一个低电平,读取列值,就可以判定第一行上是否有按键按下,如果有按键,那么列线里面就有一条线为低电平。
如果都为高电平,说明第一行上没有按键被按下,接着给第二行送低电平,重复上述步骤,就可以读取按键了。
也可以用另外一种方法:先给行线全部写“0”,然后看列线是否有为低电平的,如果有说明那一列上有键被按下,让后要确定按键所在的行的,给所有列线写“0”,读取行线的值就可以确定按键的具体位置了,让后将两次读取的值,组成一个值j就得到了键值。
图3-2 矩阵键盘的接口电路3.2数码管显示电路设计显示器采用8段共阴极数码管显示器,来实现显示器的动态扫描,八个二极管连接一个阴极的结构,只要另一段为高电平,二极管就会发光,从而形成一段。
将八段顺序排列后就成为具有一定编码的共阴显示器了。
动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。
如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。
显示电路如图4所示。
图3-3 数码管显示电路数码管显示采用8个8段数码管显示器,来实现显示器的动态扫描显示采用动态扫描显示方法,即由显示器扫描显示子程序控制显示器逐个循环从左至右依次点亮各个显示器。
由单片机的P0口控制显示。
第4章软件设计4.1主程序设计主程序主要由系统初始化段、键盘识别、键值处理、6个8段共阴极LED显示器扫描显示子程序组成。
通过对以上各段和子程序的结合,以实现系统功能。
该系统主程序流程图如下图所示。
图4-1 系统主程序流程图4.2各子程序设计4.2.1 延时子程序void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}此段程序是根据实验板各硬件的参数具体设置的。
4.2.2 初始化子程序void init(){cnt=0;num=0;wela=0;dula=0;temp=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}初始化程序是用来对各定义的变量初始化的,每一次主程序执行之前都要先执行初始化程序以保证变量的值为初值。
4.2.3 交换按钮程序if(key4==0) //当交换键按下{delay(10);if(key4==0){m=bai;bai=aa;aa=m;n=shi;shi=bb;bb=n;p=ge;ge=cc;cc=p;while(!key4); //去抖delay(10);while(!key4);}}此程序就是当交换按键按下时,利用中间变量改变甲乙的每一位的数值,这样就能实现交换甲乙两队的比分,然后再给电路去抖动,就不会出现问题了。
4.2.4 状态部分程序for(i=0;i<4;i++){ if(key3==0){ if(key3==0){ num++;if(num==7)num=0;delay(5);switch(num){ case 0: cnt=-3;d7=0;d6=1;break;case 1: cnt=10;d1=0;d7=1;break;case 2: cnt=1;d2=0;d1=1;break;case 3: cnt=2;d3=0;d2=1;break;case 4: cnt=3;d4=0;d3=1;break;case 5: cnt=-1;d5=0;d4=1;break;case 6: cnt=-2;d6=0;d5=1;break; }}while(!key3);delay(10);while(!key3);}}该程序是主函数里面的部分程序,当切换分按钮按下时利用switch case 语句来实现甲乙各种状态之间的切换,并且同时控制了7个发光二极管的显示来表明当前处于什么状态。
切换到相应的状态时在执行显示扫描程序将实现切换功能。
4.2.5 加减部分程序if(key1==0) //甲控制按钮按下{ delay(10); //延时if(key1==0){ temp=temp+cnt; //实现加减运算if(temp==256)temp=0; }while(!key1); //去抖delay(10);while(!key1);bai=temp/100; //分离处百位shi=temp%100/10;ge=temp%10;}该程序是通过前段调用一个变量cnt来作为本次运算的加数,然后通过切换状态来做不同的运算。
这样就免去了很多不必要的程序,直接调用实现,简化了程序。
第5章实物连接图单片机语言程序是基于Keil uVision2编程软件编写的。
在keil内建立工程后建立汇编文件,编写MCS-51程序。
然后进行单步和断点调试,将运行结果和实验现象与预定值进行比较,再适当修改程序以达到要求。
最后通过软件下载到单片机即可看到相关的实验结果。
5.1 交换分值图5.1比赛分值图5.2 交换分值当按下交换分值按钮过后甲乙两队的比分将交换,如上面实物图所示。
5.2 发光二极管指示图5.3 切换按钮指示灯5.3 清零图5.4 比分清零5.3 软件调试结果调试结果记录如下:按照键盘分布说明按键,可以给甲、乙加或者减1分,2分,3分,显示器跟踪显示出总分,然后模拟比赛细节,均达到预期效果。
在甲、乙均有一定总分的情况下,按复位按钮,显示结果复位。
重复进行上面操作,结果均符合设计要求。
可以通过切换按钮选择不同的状态,将会实现不同的功能。
还可以通过比分交换按钮交换双方的比分,这点是非常实际化的,在现实比赛中也有这样的功能,完全实现了比赛的要求。
设计总结这次的课程设计是做一个计分器,主要是以MCS-51单片机为出发点,结合Keil uVision2编程软件和Proteus调试软件的一门计算机语言,通过指令来控制相应硬件的运行状态,虽然这次设计只有短短的两周时间,但我深刻体会到了其中的苦与乐,感悟甚是深切,总觉得从书本上接受的东西不如操作和实践来的那么深刻。
在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东西还很多,通过这次课程设计,明白学习是一个长期积累的过程,在以后的工作和生活中都应该不断的学习,努力提高自己的知识和综合素质,并将理论与实际相结合,学以致用,不再是纸上谈兵,。