基于单片机的电子记分牌设计_第1页
基于单片机的电子记分牌设计_第2页
基于单片机的电子记分牌设计_第3页
基于单片机的电子记分牌设计_第4页
基于单片机的电子记分牌设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、哈尔滨剑桥学院毕 业 设 计 论文题目: 基于单片机的电子记分牌设计 学 生: 付文博 指导教师: 崔莉 讲师 专 业: 电气工程及其自动化 班 级: 12级电气2班 2016年5月哈尔滨剑桥学院毕 业 设 计 审 阅 评 语指导教师评语 指导教师成绩: 是否同意参加答辩:同意 不同意 指导教师签字 职 称 年 月 日 评阅人评语 评阅成绩: 是否同意参加答辩: 同意 不同意 评阅教师签字 职 称 年 月 日 哈尔滨剑桥学院毕 业 设 计 答 辩 评 语 及 成 绩答辩评语 答 辩 成 绩: 答辩小组组长签字: 年 月 日毕业设计(论文)成绩指导教师成绩: 评阅成绩: 答辩成绩: 综合指导教师

2、成绩、评阅成绩、答辩成绩,经答辩委员会评定,该学生毕业设计(论文)总成绩: 答辩委员会主任单位: 答辩委员会主任签字: 职称: 年 月 日基于单片机的电子记分牌设计摘 要近年来,计算机在智能化、自动化、电子信息等领域得到了飞速的发展。单片机属于微型计算机,能够将计算所需要的模块全都集成在一个体积很小的芯片上。本文利用单片机技术设计了一种电子记分牌,并将这种电子记分牌应用在篮球比赛中,通过电子记分牌实现篮球比赛的计分。本文的电子记分牌除了计分功能,还具有计时功能,能够满足篮球比赛对记分牌的基本要求。本文的硬件系统以单片机作为核心,选用的是单片机AT89S52,它具有低功耗和高性能的特点,属于CM

3、OS 8位微控制器中的一种。本文的电子记分牌还可以根据实际的篮球比赛场上情况,随时对时间和分数的显示数值进行更正,并通过LED数码管进行数值显示。本文对篮球比赛的电子记分牌的硬件系统和软件流程进行了详细介绍。本文的硬件系统主要包括:LED数码管显示功能、按键控制功能以及辅助功能等。本文的软件系统是基于C语言进行编程的,软件部分主要包括:功能选择程序、计分程序、计时程序等。本文设计的用于篮球比赛的记分牌,具有性价比高、功能全面、稳定性高、可操作性强的特点,能够根据实际情况对记分牌进行调整。本文的电子记分牌,在实际使用中,具有一定的研究意义。关键词:AT89S52 单片机;LED 数码管;篮球记分

4、牌目 录摘要I1 绪论11.1研究目的及意义11.2本文的主要研究内容12 系统整体方案设计32.1系统总体结构32.2系统主要功能模块的选型42.2.1单片机选型42.2.2显示器选型62.2.3 74HC373芯片112.2.4报警器选型133 系统硬件电路设计143.1单片机最小系统143.2电源电路143.3时钟振荡电路153.4复位电路163.5按键电路163.6显示电路183.7蜂鸣报警电路194 系统软件编程设计214.1开发环境介绍214.2系统主程序流程图214.3延时程序234.4中断及蜂鸣器报警程序244.5按键模块程序254.6显示模块程序255 Protues仿真29

5、5.1Protues简介295.2系统仿真结果29结论31致谢32参考文献33附录34III哈尔滨剑桥学院毕业设计基于单片机的电子记分牌设计1 绪论1.1研究目的及意义近年来,计算机在智能化、自动化、电子信息等领域得到了飞速的发展。单片机属于微型计算机,能够将计算所需要的模块全都集成在一个体积很小的芯片上。单片机的优点为体积小、安装和使用方便,并且性价比高,具有很强的抗干扰能力。单片机的使用范围很广泛。单片机在各个领域的广泛应用促进了很多技术的发展,在近年来,单片机技术逐渐在电子计分牌领域中得到应用。在实际生活中,我们经常能看到两种形式的电子记分牌,一种是基于单片机制作的LCD液晶显示器电子记

6、分牌,还有一种是基于LED数码管显示器的电子记分牌。随着技术的逐渐成熟,这种基于单片机的电子记分牌开始在篮球比赛中逐渐开始使用。传统的篮球比赛记分牌具有功能单一,性能不稳定,不能够对时间和分数进行准确的计算和显示,所以有必要设计一种新型的篮球比赛电子记分牌。本文利用单片机技术设计了一种电子记分牌,并将这种电子记分牌应用在篮球比赛中,通过电子记分牌实现篮球比赛的计分。本文的电子记分牌能够实现篮球比赛的正常时间的定时,而且能够根据比赛的实际情况,对比赛双方的得分和耗时进行调整。在比赛结束以后,本系统的电子记分牌能够实现双方分数的存储。本系统具有很高的性价比,具有很好的稳定性,体积小,便于携带,并且

7、能够实现篮球比赛计时和计分的基本功能。本文设计的电子记分牌非常适合在学校、社区等领域中使用。1.2本文的主要研究内容基于篮球比赛的实际情况,本文设计了一种基于单片机的电子记分牌。本记分牌选用AT89S52单片机作为整个系统的控制核心,并通过LED七段数码管对实际篮球比赛中的分数和时间信息进行显示。本文的电子记分牌还可以根据实际的篮球比赛场上情况,随时对时间和分数的显示数值进行更正。本文的硬件系统主要包括:LED数码管显示功能、按键控制功能以及辅助功能等。本文的软件系统是基于C语言进行编程的,软件部分主要包括:功能选择程序、计分程序、计时程序等。本文研究的记分牌能够实现时钟倒计时功能,并且具有很

8、高的精度,能够精确到秒,而且还能够实现时钟数值的随时调节,让篮球比赛记分牌在调节时间时处于暂停状态。在电子记分牌上的时间进入倒计时,并在时间走完以后,系统能够通过蜂鸣器实现报警,告诉篮球裁判和球员时间走完,结束比赛。本文的电子计分牌能够实时显示两支比赛球队的分数,而且能够实现分数的调整,也就是在原有分数上进行加法和加法的分数运算。本文设计的用于篮球比赛的记分牌,具有性价比高、功能全面、稳定性高、可操作性强的特点,能够实际情况对记分牌进行调整。本文的电子记分牌,在实际使用中,具有一定的研究意义。2 系统整体方案设计2.1系统总体结构基于51单片机的电子记分牌系统整体结构框图如图2-1所示。图2-

9、1系统框图本论文的电子记分牌的核心是利用单片机实现整体系统的控制。本文的电子记分牌选用单片机AT89S52作为控制中心,通过单片机对比分和时间等信息进行处理。系统通过七段共阴级LED数码管进行比分和时间的显示。本文的电子记分牌,是应用在篮球比赛中的。所在,在本文的电子记分牌中,总接入的七段共阴极LED数码管个数为3个。这3个数码管中,有2个是三位一体的,用来对篮球比赛中两支球队的比分进行记录和显示,分数的显示区域是0至999,完全可以满足篮球比赛对分数记录和显示的要求。还有1个四位一体的数码管用来对篮球比赛的用时进行记录和显示,在这个四位一体的数码管中,有两个用来对比赛耗时的分钟进行显示,还有

10、两个用来对比赛耗时的秒进行显示。通常情况下,整个篮球比赛的赛程是执行倒计时的形式。所以,本文的电子记分牌结合实际的篮球比赛情况,也采用这种倒计时的形式进行计时。在篮球比赛开始之,就按照篮球比赛的规则事先将比赛的总时间调好,并通过数码管显示。在比赛开始后,点击倒计时开始按钮,此时系统开始工作。在时间归为0以后,倒计时过程结束,蜂鸣器开始报警,告知裁判和球员,时间已经走完,比赛结束。本文的电子记分牌,允许操作者根据实际的篮球比赛场上情况,随时对记分牌的数值和倒计时所剩的时间进行调整。本系统的计时范围是0至99分钟,能够满足实际篮球比赛对时间监测的要求。完了完成电子记分牌的各种功能,本文在系统中设置

11、了8个独立的按键。有4个按键用来作为篮球比赛中两队分数的输入。另外4个按键用来完成分数和时间的调整,系统的启动、暂停和停止,以及在中场休息时的比分调换。2.2系统主要功能模块的选型从电子记分牌的实际功能出发,本系统的硬件模块主要有以下几部分组成: (1)电源电路模块;(2)单片机AT89S52模块;(3)时钟振荡电路模块;(4)复位电路模块;(5)按键控制电路模块;(6)显示电路模块;(7)蜂鸣报警电路模块;基于电子记分牌的上述模块以及需要实现的各种功能,本系统选用的主要芯片是:AT89S52、74HC373、七段共阴LED显示器、独立式按键等。2.2.1单片机选型本论文中的单片机选用的为AT

12、系列单片机中的AT89S52。AT89S52具有的优点很多,它是低电压和高性能的CMOS 8位单片机1。芯片内部包括8k bytes的可反复擦写的Flash只读程序存储器,还有256 bytes的随机存取数据存储器。该芯片能够使用ATMEL公司的高密度和非易失性存储技术生产,能偶完全兼容标准MCS-51的指令系统2。芯片内部还设置有8位通用中央处理器以及相对应的Flash存储单元3。AT89S52 的40个引脚如图2-2所示。其中,有32个引脚是外部双向输入/输出(I/O)端口,它的内部还含有2个外中断口,以及2个16位可编程定时计数器。它还具有2个全双工串行通信口。该芯片能够利用通常编程方法

13、实现程序的在线编写,并把通用的微处理器和Flash存储器进行有机的汇总4。图2-2 AT89S52管脚图AT89S52的各管脚主要功能如下5:XTAL1(19脚)和XTAL2(18脚)是用来作为振荡器输入输出端口,通常情况下,外部需要接入12MHz晶振。RST/DDVP(9脚)是用来作为复位输入端口,通常外围电路中需要接入电阻和电容,合并成一种复位电路。VCC(40 脚)和VSS(20 脚)作为系统的供电端口使用,需要相对应的接入+5V电源的正负端。P0P3 是可编程通用I/O脚,它的功能是通过软件来实现的。在本文的电子记分牌中,P0端口(3239脚)被用来作为N1功能控制端口,相对应的和N1

14、的功能管脚相互连接。13脚用来作为IR输入端,10 脚和11脚用来作为I2C总线控制端口,相对应的分别接入N1的SDAS(18脚)以及SCLS(19脚)端口。12脚、27脚和28脚用来作为握手信号功能端口使用,通过在实际中连接主板CPU对应的功能端,便于用在目前制式的检测或者会聚调整状态进入的控制功能。该芯片的中断源为向CPU发出中断请求的来源。AT89S52内部总共含有6个中断源,其中,有2个是外部中断(INT0和INT1)、有3个是定时器中断(定时器0、1和2)和1个串行中断。AT89S52的中断源如图2-3所示:图2-3 AT89S52中断源AT89S52的极限参数为6:工作温度范围是-

15、55125;储藏温度是65150;任一引脚对地电压都是-1V7V;最高工作电压为6.6V;直流输出电流为15mA。2.2.2显示器选型系统的显示器通常用来作为数据信息的输出设备,显示器的类型有很多种。在基于单片机技术设计的系统内,使用最为广泛的共有两种显示器。第一种是发光二极管显示器,也就是LED显示器;第二种是液晶显示器,也就是LCD显示器。LED和LCD显示器各自具有不同的特点,相对来说,两种显示器共有的优点是结构简易,性价比高,接口形式方便使用,并且都具有广泛的应用范围。发光二极管,也就是LED。通过发光二极管能够构成显示屏,并且显示屏中的每个点均属于一个或多个发光二极管。利用控制电路能

16、够实现对二极管的有效控制。这种方式能够控制二极管的亮和灭,并且能够通过这种方法控制点的发光与否。然后,通过控制让整个大屏幕系统对图案进行显示。液晶显示器的LCD中,使用最为广泛的一种是TFT类型。这种类型的LCD显示器是通过光源、液晶光栅以及芯片控制电路构成的。LCD的光源一般情况下会显示常亮的白色强光。在光线在液晶液晶屏中通过的情况下,可以将电压进行转变,转换到液晶颗粒的滤光方向上,使得每个点的颜色发生变化,并且以一定的强度实施图案的显示79。液晶显示器的型号有很多种,依据显示方式的不同能够分成不同的显示类型。其中,包括:段式显示,行点阵式显示以及全点阵式显示,共3种类型。液晶显示器中的段式

17、显示类型和数码管显示的原理很相似。行点阵式型液晶显示器,通常情况下是用来显示英文字符。全点阵式液晶显示器,一般情况下用来对信息进行显示,显示的范围比较多样,例如:汉字、图形以及图表等信息10, 11。本文的电子记分牌用到的数码管结构如图2-4所示。图2-4 4位一体共阴极数码管如上图2-4,LED显示器还可以叫做数码管。LED显示器的内部构造中,通常是具有8个发光二极管。其中,7个长条形的发光管进行整齐的排列,在外部看来呈现一种“日”字形。还有一种发光管会在显示器右下方作为小数显示时使用。这种数码管能够实现各种数字和部分英文字母的显示。LED显示器主要具有两种不同的构建形式:一种是基于8个发光

18、二极管的阳极,将阳极全部连接以后,就可以称作是共阳极LED显示器;还有一种是基于8个发光二极管的阴极,将阴极全部连接在一起以后,就可以称作是共阴极LED显示器。共阴极和共阳极分别如图2-5所示。图2-5 共阴与共阳极LED显示器在本文的篮球比赛电子记分牌中,基于实际篮球比赛对记分牌提出的功能要求,本文共选用了2个数码管。其中,1个共阴极的三位一体的数码管,用于对篮球比赛双方的分数进行显示;还有1个四位一体的数码管,用于对篮球比赛的用时进行显示。在图2-5的上半部分是共阴级数码管显示器的结构。在共阴极数码管中,如果将8个发光二极管的阴极相互链接起来,倘若要点亮a至g内的任何一盏灯,仅仅通过相对应

19、的端口,在这个端口上输入高电平就能够实现该目的。表2-1 代码对应表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC087FH80H106HF996FH90H25BHA4A77H88H34FHB0B7CH83H466H99HC39HC656DH92HD5EHA1H67DH82HE79H86H707HF8F71H8EH在表2-1中,对共阳极与共阴极的LED显示器内,数字、字母与显示代码之间的对应关系进行了汇总。输入低电平的情况下将是数码管中的段处于截止状态。例如:想要数码管显示数字“3”,那么想要显示这个数字的话,只需要把对应的a、b、c、d、g段中输入高电平信号即可,与此同时

20、在其它段内输入低电平信号。输入完成以后,就能成功将数码管中的数字“3”实现点亮。共阴级以及共阳级结构的LED显示器中,所有的笔划段名和安排位置都具有一致性。在二极管导通的情况下,每个二极管相对的笔划段都将被点亮,并通过点亮的笔划段进行有规则的组合,并对各种字符进行最终的显示。8个笔划段h、g、f、e、d、c、b、a,分别对应1个字节,也就是8位的D7、D6、D5、D4、D3、D2、D1、D0。所以,通过8位二进制码就能够对想要显示的字符和字形代码进行表示。LED显示器的点亮形式主要有以下两种,第一种是静态显示,还有一种是动态显示。在本文的电子记分牌系统中,使用的应为动态显示型。静态显示,意思是

21、说每个显示器必须占有独立的,而且能够实现锁存功能的I/O界面,并将其用在笔划段字形代码中。这种情况下,单片机仅需要将要显示的字形代码发送到界面电路,然后就不必需要更多的关注了。在显示新数据信息的情况下,系统会再次发送新型的字形码。所以,利用这种方法,在单片机内部,将大幅度的减少CPU开销12。静态显示电路的优点为:在同一时间内能够显示不一样的字符,然而,它的缺点就是占用端口资源较多13。动态显示,意思是说把需要显示的多位LED显示器,通过利用一个8位的段选端口,并通过动态扫描形式,一位一位地轮流点亮各位显示器。数码管动态显示接口属于单片机应用实践中最为普遍的一种现实手段。数码管动态显示电路中,

22、它的驱动一般是用把所有数码管的8个显示笔划,例如a,b,c,d,e,f,g,dp的同名端相互连接在仪器。然后,让每个数码管的公共极COM进行增加,实现位选通的控制电路形式。位选通在一般情况下,是为独立型的I/O线实施控制。在单片机输出字形码的情况下,如果能够将全部数码管接收到完全一样的字形码,哪个数码管能够显示出字形,完全由单片机对位选通COM端电路的控制实现。因此,仅需要把需要显示的数码管的选通控制启动,然后借助这点实现字形的展示。没有被选通的数码管一般情况下是不会被点亮的。利用分时轮换形式,可以实现对数码管的COM端控制,并且通过全部数码管实现轮流受控的显示方式。上述所说的,这就是动态驱动

23、型14。当数码管中的字符进行轮流显示的情况下,每位数码管的点亮时间仅仅需要12ms,而且人的视觉暂留现象和发光二极管的余辉效应能够让观察者产生错觉。虽然,在实际使用中,所有位的数码管并不是在同一时间被点亮,而是仅仅通过扫描形式。由于在扫描的过程比较快,因此使得这种显示方式具有一定的稳定性。本系统的数码管显示器不会有闪烁感。动态显示和静态显示的显示效果具有相似性,并且可以节约大量的I/O端口15。每位LED显示器的单独占用8根端口线,其连接形式从图2-6所示。所以,当数据处于较多的情况下,实际中一般不选用这种设计方案,而是选择数码管的动态显示连接方案。图2-6 LED显示器8根端口线连接形式4位

24、LED显示器简单的动态显示电路如图2-7所示。图2-7 4位LED显示器动态显示图本文设计的LED显示器动态显示电路如图2-8所示。图2-8 LED显示器动态显示电路在上图中,单片机的P2端口用来控制4位LED的段选码。其中,T_1、T_2、T_3、T_4分别对应的是4位LED的位选码。A_1、A_2、A_3、B_1、B_2、B_3分别对应的为两个3位LED的位选码。因为,全部的段选码都是相互连在一起,这就需要在同一瞬间内,只允许系统显示同一种字符。在要显示不同字符的情况下,可以通过利用位选码从而实现有效的控制。本文中的电子记分牌的相关数据都是利用P2口传送出去的。输出的数据信息被送入74HC

25、373锁存器的输入端口内,通过74HC373锁存器将数据进行锁存,然后再将其送进各个数码管进行显示。2.2.3 74HC373芯片74HC373锁存器是一种具有三态缓冲输出的8D透明锁存器。74HC373的管脚结构图如图2-9所示。图2-9 74HC373锁存器在三态允许控制端OE是低电平的情况下,Q0Q7将会是正常逻辑状态。通过它能够驱动负载或者总线系统。在OE是高电平的情况下,Q0Q7的状态将会呈现一种高阻态的形态。这种形态将不会驱动总线,同时也不会成为总线的负载。但是,这种形态不会被锁存器中的逻辑操作干扰。在锁存允许端LE是高电平的情况下,Q将根据数据D的变化而随之改变。在LE是低电平的

26、情况下,D将被锁存在已经建立的数据电平中。在LE端施密特触发器的输入出现滞后作用的情况下,能够让交流和直流噪声抗扰度改善到400mV。 引出端口的表示符号:D0D7:用于数据的输入端口;OE:用于三态允许控制端(低电平有效);LE:用于锁存允许端:Q0Q7:用于输出端。 74HC373的真值表如表2-2所示:表2-2 74HC373真值表DnLEOEOnHHLHLHLLXLLQOXXH高阻态2.2.4报警器选型在本系统中使用的报警器就是蜂鸣器,蜂鸣器属于一类一体化形式的电子通讯响应器。一般情况下,蜂鸣器通常在电子产品领域中,作为发声的报警器件使用。蜂鸣器一般情况下分成2种,分别是压电式蜂鸣器和

27、电磁式蜂鸣器。在本文的篮球比赛中使用的电子记分牌中,使用的为电磁式蜂鸣器,通过这个蜂鸣器实现篮球比赛时间在倒计时为零的情况下,实施报警发生功能,告知裁判和运动员。电磁式蜂鸣器的结构通常包括:振荡器、电磁线圈、磁铁、振动膜片及外壳。在连接电源成功的情况下,振荡器通过电磁线圈以后,将会发出音频信号的电流。此电流信号将会让电磁线圈产生相应的磁场,并带动膜片开始振动。在电磁线圈以及磁铁共同作用的情况下,蜂鸣器将会进行周期性振动发声。电磁式蜂鸣器的外形如图2-10所示。图2-10 电磁式蜂鸣器因为,蜂鸣器的工作电流通常情况下数值较大,这就会导致单片机的I/O端口不能被直接驱动。要想通过放大电路实现蜂鸣器

28、的驱动,通常情况下要通过三极管来实现电流的放大。3 系统硬件电路设计3.1单片机最小系统AT89S52单片机的片内具有ROM/EPROM,所以,此芯片的单片机最小系统具有结构简单、使用方便的特点。在AT89S52单片机构建成最小的应用系统情况下,仅仅需要把单片机连接到时钟电路以及复位电路上就可以了。AT89S52单片机最小系统如图3-1所示。图3-1 系统最小系统电路图3.2电源电路本系统中的单片机,需要提供+5V的直流稳压电源。实际中的电源是220V的交流电,所以,通过电压转化将会获得5V直流稳压电源。系统的电源电路如图3-2所示。图3-2 系统电源电路图7805系列集成稳压器,仅有输入端、

29、输出端以及公共端,共3个引线端子。芯片能够输出大于1A的电流。该芯片内部具有系统保护电路,所以,芯片在应用时具有一定的安全性。该芯片将会输出固定的正电压,当电压通过整流、滤波的情况下,将会产生不稳定性的直流电压。通过稳压器输入端口实现输入,并在稳压器输出端实现稳定的直流电压输出。在正常工作的状态下,稳压器的输入和输出电压差是23V,并且能够通过电容实现频率补偿效果。图3-2中的电容C1的值是0.47f,能够用来预防因为输入长引线带来的电感效应而产生的自激干扰。C2的值是0.1f,能够用来降低负载电流瞬时变化产生的高频干扰。3.3时钟振荡电路本文的时钟振荡电路采用的是系统内部震荡方式。本系统内有

30、一个用于内部震荡器的高增益反相放大器,其中,引脚XTAL1和XTAL2能够实现该放大器的输入和输出端。将此放大器和反馈元件的片外石英晶体或者谐振器,组合到一起就构成了自激振荡器。本系统的时钟振荡电路如图3-3所示。图3-3 系统时钟振荡电路3.4复位电路本系统使用上电复位加按钮的电路构建方法。利用按钮状态的改变,让单片机能够实现稳定的上电复位操作。在外部需要复位的情况出现时,只需要通过按下复位按钮,就可以实现将系统复位的目的。本系统中的复位电路如图3-4所示。图3-4 系统复位电路3.5按键电路按键在基于单片机应用的系统中使用十分广泛。按键属于一类常开型的按键结构,在实际使用中,常态下的按键具

31、有两个触点,都是处于断开的状态。在按下按键的情况下,按键才会闭合。图3-5 常开型按键 本文设计过程中,选用的是非编码键盘。按组成结构的不同,可以将非编码键盘分成独立式键盘和矩阵式键盘,共2种形式。独立式键盘的工作原理和矩阵式键盘的工作原理很相似,都具有硬件结构简单,软件编程方便的特点。矩阵式键盘电路的连接较繁琐,所以软件编程麻烦,但是具有I/O口利用率高的特点。这种键盘电路适合在具有大量按键的系统中使用。因为本次具有足够的空端口,并且为了减少编复杂性。所以,本系统选用的为独立式键盘结构。这种结构的优点是:每个按键都能够独立的使用一个I/O口,I/O口利用率虽然不高,但是具有编程简单的优点,非

32、常适合本系统按键使用少的场合。本文的电子记分牌中总共设计了9个按键。有4个按键用于对甲乙两队的分数进行控制,实现的功能分别是甲队和乙队的加分和减分;有4个按键用于控制电子记分牌的开始、暂停,实现对篮球比赛电子记分牌的分钟、秒钟以及比赛分数的调整;有1个按键属于复位按键,用于实现单片机的复位功能。本系统的按键电路如图3-6所示。图3-6 系统按键电路 3.6显示电路本系统中使用的为共阴极数码管,共阴极将会连接低电平。在其中某段驱动电路的输出端是高电平的情况下,此端连接的字符将会被导通,而且将会被点亮。通过发光字段的不同组合,能够显示成各种数字或字符。需求段驱动电路可以提供额定的导通电压或者电流,

33、并且同时需设置响应的限流电阻。本系统的显示电路使用的是2个3位一体的共阴极数码管和一个4位一体共阴极数码管,总共8个代码输入口和10个位选输入口。本系统的显示方式使用的是动态驱动方式,将各数码管依次点亮。因为,数码管的扫描速度很快,显示效果和静态显示效果具有一致性。动态显示的原理是把需要显示的多位LED显示器。通过一个8位的段选端口,再利用动态扫描实现一位一位的轮流将显示器的各个位实现点亮。针对显示器的每一位,每隔一段时间就能够实现一次点亮操作。在同一时间内,仅允许一位显示器实施工作,但是通过人眼的视觉暂留以及发光二极管的余辉效应,观看的人员看到的情景将为多个字符的“同时显示”状态。动态显示电

34、路的优点是:节省硬件资源,占用端口少,性价比高;缺点是:在系统运行的情况下,如果想确保显示器具有正常显示,那么CPU要每隔一段时间就执行一次显示子程序。这种电路会占用CPU大量的时间,降低了CPU的工作效率,而且数码管的显示亮度也会降低。本系统的LED显示器动态显示电路如图3-7所示。图3-7 系统显示电路3.7蜂鸣报警电路本文的报警电路部分采用的是蜂鸣报警形式。通过蜂鸣器报警告知比赛场上的裁片和球员,比赛用时已经耗尽,比赛结束。蜂鸣器报警电路是利用1个NPN三极管实现驱动的。在比赛倒计时走到0的情况下,利用软件控制P3.6端口,就能够实现高电平信号的输出。在这种状态下,三极管Q1将被导通,蜂

35、鸣器随后将会发出声音报警信号。本系统的蜂鸣报警电路如图3-8所示。图3-8 报警电路4 系统软件编程设计4.1开发环境介绍软件的编程设计在单片机系统设计中是极其重要的,也是系统能否完成所需功能的关键所在。本文采用C语言软件进行本系统的程序编写,并通过软件KeilVision4对系统程序进行调试。Keil软件调试的工作界面如图4-1所示。图4-1 Keil软件调试的工作界面4.2系统主程序流程图本系统的软件编程是基于模块化程序实现的,程序部分主要包括:主程序,延时程序,中断程序,加减分程序,时间调整和暂停程序,报警程序,显示程序等。系统的主程序流程图如图4-2所示:图4-2 系统主程序流程图在主

36、程序流程图内能够看到,在初始化完成后,系统进入按键检测阶段。当有按键按下时,将会执行按键子程序并通过数码管进行显示。以下是本系统的主程序源代码:void main()sys_init();for(;)key();seg_display(minu,secd,scoa,scob);if(set_minu_flag=1)TR0=0;speaker=1;while(set_minu_flag=1)key();seg_display(minu,secd,scoa,scob);if(set_secd_flag=1)TR0=0;speaker=1;while(set_secd_flag=1)key();se

37、g_display(minu,secd,scoa,scob);4.3延时程序以下是本系统中的延时程序的源代码:void delayms(uint n) /延时1ms uint i,j;for(i=0;in;i+)for(j=0;j121;j+); 4.4中断及蜂鸣器报警程序在本系统的计时器倒计时为0的情况下,蜂鸣器将进行报警。以下是本系统中的中断及蜂鸣报警程序的源代码:void irt() interrupt 1/定时器0中断函数TH0=0XFC;/计数初值 定时1msTL0=0X18;count+;if(count=1000)/1scount=0;secd-;/秒减1if(secd0)min

38、u-;secd=59;/分减1else /停止计时secd=0;minu=0;TR0=0;stop_flag=1;speaker=0;4.5按键模块程序按键程序流程图如图4-3所示。图4-3 按键程序流程图4.6显示模块程序以下是本系统软件程序中的显示部分源代码:Unsigned char code table10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void seg_display(uchar minu,uchar sec,uchar sca,uchar scb)static uchar i=0;t1=1;t2=1;t3=1;t

39、4=1; a1=1;a2=1;a3=1; b1=1;b2=1;b3=1;/if(set_minu_flag=0&set_secd_flag=0)kn=0;else kn+;if(kn400)kn=0;switch(i) case 0:t1=0;if(kn=200)P2=tableminu/10;else if(set_minu_flag=1&kn=200)P2=0x00;en=1;en=0;i+;break;case 1:t2=0;if(kn=200)P2=tableminu%10;else if(set_minu_flag=1&kn=200)P2=0x00;en=1;en=0;i+;brea

40、k;case 2:t3=0;if(kn=200)P2=tablesec/10;else if(set_secd_flag=1&kn=200)P2=0x00;en=1;en=0;i+;break;case 3:t4=0;if(kn=200)P2=tablesec%10;else if(set_secd_flag=1&kn=200)P2=0x00;en=1;en=0;i+;break;case 4:a1=0;P2=tablesca/100;en=1;en=0;i+;break;case 5:a2=0;P2=tablesca/10%10;en=1;en=0;i+;break;case 6:a3=0;

41、P2=tablesca%10;en=1;en=0;i+;break;case 7:b1=0;P2=tablescb/100;en=1;en=0;i+;break;case 8:b2=0;P2=tablescb/10%10;en=1;en=0;i+;break;case 9:b3=0;P2=tablescb%10;en=1;en=0;i=0;break;default:i=0;break;delayms(1); 5 Protues仿真5.1Protues简介Proteus是英国Labcenter公司研发的一种电路分析与实物仿真软件。这个软件能够在Windows操作系统内实现运行,并且通过该软件能

42、够实现仿真、分析(SPICE)各种模拟器件和集成电路。Proteus软件的优点为: (1)实现单片机仿真和SPICE电路仿真的相互结合;(2)支持主流单片机系统型号的仿真;(3)支持软件的调试功能;(4)支持原理图的绘制功能。5.2系统仿真结果Proteus中的系统电路图如图5-1所示。图5-1 Proteus中的系统电路图系统的Proteus电路仿真图如图5-2所示。图5-2 Proteus中的系统电路仿真图结论本文利用单片机技术设计了一种电子记分牌,并将这种电子记分牌应用在篮球比赛中,通过电子记分牌实现篮球比赛的计分和计时功能。本文的电子记分牌还可以根据实际的篮球比赛场上情况,随时对时间和分数的显示数值进行更正,并通过

温馨提示

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

评论

0/150

提交评论