毕业设计(论文)-多功能足球计分器设计.doc_第1页
毕业设计(论文)-多功能足球计分器设计.doc_第2页
毕业设计(论文)-多功能足球计分器设计.doc_第3页
毕业设计(论文)-多功能足球计分器设计.doc_第4页
毕业设计(论文)-多功能足球计分器设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1焦作大学机电工程学院毕业设计焦作大学机电工程学院毕业设计焦作大学机电工程学院焦作大学机电工程学院20122012年年1212月月专业姓名:专业姓名:应用电子技术应用电子技术学生姓名:学生姓名:导师姓名:导师姓名:多功能足球计分器设计多功能足球计分器设计Multifunctionalfootballscoringdevicedesign姓名姓名学制学制33年年专业专业应用电子技术应用电子技术研究方向研究方向电子元器件的发展电子元器件的发展导师导师职称职称副教授副教授论文提交日期论文提交日期2012.12.202012.12.20论文答辩日期论文答辩日期2012.12.252012.12.25焦作大学机电工程学院焦作大学机电工程学院摘要足球比赛计时计分器是为了解决足球比赛时计分与计时准确方便,灵活适用的问题。此装置利用单片机AT89S52完成了计时和计分的功能。本文详细地介绍了系统硬件与软件的设计过程,采用该装置可根据实际情况进行比分修改和时间的准确显示,具有低功耗,可靠性,安全性以及低成本等特点。关键词:单片机,足球赛LCDABSTRACTThistimefootballscoringisdevicedinordertosolvethebasketballgamescoringexactlytheproblemandtiming.ThedeviceiscompletedbyusingmicrocontrollerAT89S52fortimingandscoringfunctions.Thispaperintroducesthehardwareandsoftwaresdesigningprocessthedevicecanbemodifiedaccordingtotheactualsituationandthetimeoftheaccuratescoreanddisplaywithlowpowerconsumptionreliabilitysafelylowcostandsoon.KeyKeywordswords:SingleChipMicrocomputerbasketballLCD目录目录1绪论.11.1背景知识介绍.11.2设计内容.11.3设计任务和要求.21.4设计意义.22系统总体方案设计及硬件设计介绍.22.1系统总体方案设计.22.2硬件电路设计.32.2.1时钟电路模块.52.2.2复位电路模块.52.2.3显示模块.62.2.4报警模块.72.2.5系统电源设计.72.2.6ISP下载线接口.82.2.7键盘接口.82.3系统硬件电路总电路图.93软件设计.103.1软件设计环境介绍.103.2软件总体设计方案.103.2.1延时子函数.113.2.2液晶显示分数刷新子程序.123.2.3T0中断程序.133.2.4设置时间子函数.144硬件焊接与调试.155PROTEUS仿真实验效果.166总结.17参考文献.18附录源程序.19致谢.30111绪论1.1背景知识介绍体育比赛计时计分系统是对体育比赛过程中所产生的时间、比分等数据进行快速采集记录,加工处理,传递数据的信息系统。根据不同运动项目的不同比赛规则要求,体育比赛的计时计分系统包括测量类、评分类、命中类、制胜类得分类等多种类型。足球比赛是根据参赛队在规定的比赛时间里得分多少来决定胜负的,因此,足球比赛的计时计分系统是一种得分类型的系统。足球比赛的计时计分系统由计时器、计分器等多种电子设备组成,同时,根据目前高水平足球比赛要求,完善的足球比赛计时计分系统设备应能够与现场成绩处理、现场大屏幕、电视转播车等多种设备相联,以便实现高比赛现场感、表演娱乐观众等功能目标。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便等独特的优点,使单片机迅速得到了推广应用,目前已经成为测量控制应用系统中的优选机种和新电子产品的关键部位。世界各大电气厂家、测控技术企业、机电行业,竞相把单片机应用于产品更新,作为实现数字化、智能化的核心部件。本篇设计足球比赛计时计分器就是以单片机为核心的计时计分系统。1.2设计内容本设计是基于AT89S52单片机的足球比赛计时计分器,利用LCD液晶显示器作为显示装置。液晶显示器与传统的数码管显示器相比更节省单片机的IO空间,减少系统设计的复杂程度。此外,液晶显示具有稳定、功耗小等特点,特别适用与手持设备,而且液晶显示器内部集成的有存储芯片,能够保持当前数据,避免了系统CPU频繁刷新电路所做的无用功,进一步减少系统能量的开销和软件设计时的复杂度。本系统由软件设计为4节比赛,可设置单节比赛时间,分4节比赛倒计时设定。可适用于不同比赛时间规格的比赛使用。另外本设计增加了ISP编程接口,可在硬件固化的情况下通过下载线升级内部程序,以达到更多场合的计时计分应用。此设计使系统功能更加强大,可以不局限于单一的一种比赛模式的应用。其次,为了配合计时计分器校正调整比分,我们特定在本设计中设立了4个按键,通过按键的功能复用实现设置时间、调整时间、启动、调整分数和暂停等功能。采用单片机控制使这个系统按键操作使用简洁,低功耗,安装方便。21.3设计任务和要求任务:设计一个适用于多种规格比赛的足球比赛计时计分器。要求:1、能记录整个赛程的比赛时间,并能随时实现暂停和继续。2、能随时刷新甲、乙两队在整个过程中的比分。3、中场交换比赛场地时,能自动交换甲、乙两队比分的位置。4、比赛中场和结束时,能发出报警。5、通过液晶显示数字指示场次。6、加分有误时可通过按键实现减分调整。7、可设置比赛时间,使系统能用于不同比赛规则的场合。1.4设计意义毕业设计使我们进一步熟悉和掌握了单片机的内部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤,掌握了电子绘图软件Protel及仿真软件Proteus的使用方法,键盘和显示器在单片机控制系统中的应用以及撰写毕业设计论文的方法。此次设计很好的将书本上的理论知识和实践有机的联系了起来,使我们对理论知识有了更进一步的掌握,锻炼了我们的动手能力,同时也让我们懂得了理论与实际相结合的意义。为以后的工作和学习提供了宝贵的经验。2系统总体方案设计及硬件设计介绍2.1系统总体方案设计键盘控制模块系统电源模块复位电路单片机液晶显示模块单节比赛及终场比赛结束报警模块图2-1系统框图3足球比赛计时计分器主要包括单片机控制系统、计时计分显示模块、定时报警、按键控制键盘模块和供电电源模块。通过这几个模块的协调工作就可以完成相应的计时计分控制和显示功能。模块框图如图2-1所示。本设计是基于AT89S52单片机的足球计时计分器,利用1602液晶显示器作为显示器件。LCD1602共分两行显示。首行的第一位用于显示当前比赛的节数,程序初始化并设定单节比赛时间后开始显示。第一行的其他位用于显示比赛双方所得分数。分别用A和B来区别两队。中场时交换双方显示位置。赛程计时采用倒计时方式,比赛开始时启动计时,直至计时到本节时间为零,结束本节比赛,同时红色发光二极管报警显示,时间刷新为下一节准备,等待开始。2.2硬件电路设计系统控制中心单片机AT89S52简介AT89S52是一个低功耗、高性能8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的单片机AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。本设计所采用的AT89S52为DIP40封装形式,引脚结构如图2-2。除8kBytesFlash片内程序存储器外,还有256bytes的随机存取数据存储器(RAM),32个外部双向输入输出(IO)口,8个中断源,3个16位可编程定时计数器2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。1T2P1.02T2EXP1.13P1.24P1.35P1.46MOSIP1.57MISOP1.68SCKP1.79RSTVPD10RXDP3.011TXDP3.112INT0P3.213INT1P3.314T0P3.415T1P3.516WR17RD18XTAL219XTAL120VSS21P2.022P2.123P2.224P2.325P2.426P2.527P2.628P2.729PSEN30ALEPROG31EAVPP32P0.733P0.634P0.535P0.436P0.337P0.238P0.139P0.040VCCAT89S52图2-2AT89S52单片机引脚图4AT89S52单片机引脚说明如下:Vcc:电源端,接5V。Vss:接地端。XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚为外部时钟的输入端。XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚必须悬空。地址锁存允许信号ALE:系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。此外,ALE是以六分之一晶振频率的固定频率输出的正脉冲,可作为外部时钟或外部定时脉冲使用。PSEN:PSEN是读外部程序存储器的选通信号,低电平有效。访问程序存储器控制信号EA:当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。复位信号RST:该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。P0口(P0.0P0.7):该端口为漏极开路的8位准双向IO口,它为8位地址线和8位数据线的复用端口,使用时需接外部上拉电阻。在访问外部程序存储器时,它作存储器的低8位地址线。P1口(P1.0P1.7):它是一个内部带上拉电阻的8位准双向IO口,作为输入口使用时,应先向其内部锁存器写1。P2口(P2.0P2.7):它为一个内部带上拉电阻的8位准双向IO口,作为输入口时同样需先向其内部锁存器写1。在访问外部程序存储器时,它作存储器的高8位地址线。P3口(P3.0P3.7):P3口同样是内部带上拉电阻的8位准双向IO口,P3口除了作为一般的IO口使用之外,其还具有第二引脚功能,具体如表2-1所示。表2-1P3口线的第二功能口线特殊功能信号名称P3.0RXD串行输入口P3.1TXD串行输出口P3.2INT0外部中断0输入口P3.3INT1外部中断1输入口P3.4T0定时器计数器0外部输入口P3.5T1定时器计数器1外部输入口P3.6WR写选通输出口P3.7RD读选通输出口52.2.1时钟电路模块时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。根据不同需要可以采用不同频率的晶振,这里采用12MHZ的晶振,另外有两个30pF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入输出引脚。具体连接图如图2-3所示。12MC130PFC230PFXTAL1XTAL2图2-3晶振电路外接石英晶体或者陶瓷谐振器以及电容C1,C2接在单片机内部放大器的反馈电路中构成谐振电路。谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,推荐使用30pF,而使用陶瓷谐振器建议选择40pF。2.2.2复位电路模块10UFC31KR110KR2S0SW-PB5VRST图2-4复位电路复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定6时器来强迫复位。RST引脚是复位信号的输入端。复位电路在这里采用的是上电加按键复位电路形式,具体连接电路如图2-4。2.2.3显示模块本设计采用1602液晶显示器显示。第一行的第一位用数字标识当前比赛节数,设置好比赛时间后开始显示。本程序中设置为4节比赛,程序初始化后通过键盘来设置单节比赛时间。第一行用A和B来区别比赛双方,并分别在其后用三位数字标识比赛得分。第二行显示时间。初始化时显示时间设置,之后显示时间倒计时。图2-5所示为1602的电气连接属性。图2-6为Proteus仿真效果图。表2-2为1602的引脚说明。VSS1VDD2VL3RS4RW5E6D07D18D29D310D411D512D613D714VLA15BLK16LCD16025V5VR510KP24P25P26P00P01P02P03P04P05P06P07图2-51602液晶显示器电气连接图图2-6Proteus仿真效果表2-21602的引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2DataIO2VDD电源正极10D3DataIO3VL液晶显示偏压信号11D4DataIO4RS数据命令选择端12D5DataIO5RW读写选择端13D6DataIO6E使能信号14D7DataIO7D0DataIO15BLA背光源正极8D1DataIO16BLK背光源负极液晶显示偏压信号是指用于驱动LCD上的像素点改变颜色所用的电压,此电压可能接近GND也可能接近Vcc,视芯片不同而有所不同。本系统用的1602是接近GND。72.2.4报警模块本设计通过P2.0口来控制红色发光二极管显示报警。前三节结束时红色发光二极管闪烁,按下开始键开始下一节比赛,同时发光二极管停止闪烁并熄灭。四节比赛结束后发光二极管由灭转为常亮。具体连接电路图如图2-7所示。330R4DS25VP2.0图2-7报警LED电气连接图2.2.5系统电源设计为51系列单片机系统提供的电源为稳定的5V直流电源。本例用一个7805芯片为系统提供稳定的5V直流电源。7805稳压芯片能提供多种固定的输出电压,应用范围广。其内部含过热保护,短路保护,输出电流可达1A。虽然该芯片是固定稳压电路,但使用不同的外接元件,可获得不同的电压输出。25时输出电压范围为518V。本系统7805的输入电压为9V直流电压。9V直流电压可用普通干电池提供,也可以用市面上很容易买到的普通变压器提供。7805对输入电压要求不高,但输入电压一般应大于所需输出电压2V以上。在7805与9V电源之间用一个IN4001整流二极管来提高系统的安全性。IN4001能提供正向最大电流1A,最大反向峰值电压50V,防止了电源反接或电源不稳定给系统带来的安全隐患。7805的5V调控输出采用生产该芯片的公司提供的经典电路。在输出端5V电压处接一个蓝色发光二极管来做为电源指示灯。具体电气连接如图2-8所示。C30.33UFC40.1UF330R4DS2LED12HEADER2JP21N4001D112KAIGUAN78055VINOUTGND图2-8系统电源82.2.6ISP下载线接口由于系统采用的单片机为AT89S52单片机,为更方便系统的重复可用性及系统的维护性,本设计增加了在系统可编程的ISP下载线接口。只要拥有一根下载线,就能很方便快捷的对系统单片机进行程序的下载及系统维护升级。Atmel公司的AT89系列单片机应用非常广泛,所以很容易就能配到下载程序的下载线,有兴趣者也可以自己动手做一个单片机程序下载线。图2-9为ISP下载线接口和单片机的引脚连接属性。12345678910ISPJACKISPVCCP1.5P1.6P1.7RST图2-9ISP下载线接口2.2.7键盘接口本系统设计除复位按键外共配置了4个独立键盘来实现系统功能的控制。4个独立键盘分别为s1、s2、s3、s4,分别连接到单片机的P0口的低四位。配合程序设计,在系统初始化时等待配置比赛时间,通过s2加时间和s3减时间,s4键退出时间配置并切入到等待比赛开始状态。这种设计使系统能应用于不同比赛时间规格的各种场合当中,使系统产品的用途更加广泛。设置时间结束后进入正常计时计分模式。其中s1用来控制比赛的开始和暂停,s2用来调节闪烁光标的位置,以标识当前球队处于分数刷新模式状态下,光标不闪烁表明退出分数刷新。当处于分数刷新模式下光标闪烁时,s3和s4键分别用来加分和减分。如图2-10所示。S3SW-PBS1SW-PBS2SW-PBS4SW-PBP1.0P1.1P1.2P1.39图2-10键盘接口2.3系统硬件电路总电路图图2-11为Protel中生成的系统总电路图EAVPP31XTAL119XTAL218RST9P3.7(RD)17P3.6(WR)16P3.2(INT0)12P3.3(INT1)13P3.4(T0)14P3.5(T1)15P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78(AD0)P0.039(AD1)P0.138(AD2)P0.237(AD3)P0.336(AD4)P0.435(AD5)P0.534(AD6)P0.633(AD7)P0.732(A8)P2.021(A9)P2.122(A10)P2.223(A11)P2.324(A12)P2.425(A13)P2.526(A14)P2.627(A15)P2.728PSEN29ALEPROG30(TXD)P3.111(RXD)P3.010GND205V40U1AT89S5230pFC130pFC2S1SW-PBS3SW-PBS0SW-PB12MY1XTAL1kR15V10kR2D140010.33UFC40.1UFC5123JP1Header35VDS1LED1330R35VS2SW-PBS4SW-PB10ufC3s1s2s3s4VSS1VDD2VL3RS4RW5E6D07D18D29D310D411D512D613D714BLA15BLK16LCD16025V5V123456789RP110K5VP00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P00P01P02P03P04P05P06P07P24P25P26P24P25P26S1S2S3S412345678910ISPISPJACK5VP15P16P17RSTP15P16P175V10KR5123GNDOUTPUT78059VDS2LED0330R410图2-11系统总电路图3软件设计软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为IntelHEX格式或二进制格式(Binary)文件写入单片机芯片内。这里我们使用的是C语言进行编程设计。在设计程序之前,我们首先要对单片机应用系统预完成的任务进行深入的分析,明确系统的设计任务、功能要求和技术指标。其次,要对系统的硬件资源和工作环境进行分析。这是单片机应用系统程序设计的基础和条件。3.1软件设计环境介绍Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势,因而易学易用。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3.2软件总体设计方案足球比赛计时计分器软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、T1中断程序、计时计分刷新显示子程序、键盘扫描控制子程序、延时子程序等组成。图3-1为分数刷新子程序流程,3-2为主程序流程。S2键按下光标标志位gb调整A队分数调整B队分数S3按下加1S4按下减1gb=1gb=211图3-1分数刷新子程序开始初始化显示设置时间Key3按下与否N刷新显示、暂停、等待开始Key0等于1N倒计时开始定时定时时间到否N暂停键按下YS2S3S4是否按下对应两队分数调整显示N报警显示Y第四节结束?结束YNYYY图3-2主程序流程图以下举例介绍部分子程序。3.2.1延时子函数voiddelay(unsignedcharc)延时子函数unsignedcharxyfor(x=cx0 x-)for(y=80y0y-)123.2.2液晶显示分数刷新子程序voidwritsfm(unsignedcharduiunsignedcharfen)unsignedcharijk用3位数显示分数i=fen100j=fen%10010k=fen%10if(0=f|1=f)上下半场AB两队分数显示的位置不同if(0=dui)writcom(0 x80+4)writdata(i+0 x30)writdata(j+0 x30)writdata(k+0 x30)if(1=dui)writcom(0 x80+11)writdata(i+0 x30)writdata(j+0 x30)writdata(k+0 x30)if(2=f|3=f)if(0=dui)writcom(0 x80+11)writdata(i+0 x30)writdata(j+0 x30)writdata(k+0 x30)if(1=dui)13writcom(0 x80+4)writdata(i+0 x30)writdata(j+0 x30)writdata(k+0 x30)液晶显示控制分为写数据控制和写命令控制,写数据与写命令分时操作。由于液晶写数据和写命令子函数中都存在延时操作,且液晶写数据命令必须紧跟相应的写命令子函数后执行,所以分数刷新显示函数及下面的定时器中断后的时间刷新显示函数都应放在中断函数外执行,避免正在执行写命令操作时发生中断跳转,从而影响后面的写数据操作。3.2.3T0中断程序voidtim0()interrupt1定时器0中断入口TH0=(65536-50000)256TL0=(65536-50000)%256aa+if(0=f|1=f|2=f)if(aa=20)aa=0miao-if(255=miao)miao=59fen-if(0=fen&0=miao)f+flag=0fen=timeTR0=014TR1=1if(3=f)if(20=aa)aa=0miao-if(255=miao)miao=59fen-if(0=fen&0=miao)P2_0=0全场结束LED显示TR0=03.2.4设置时间子函数voidsettime(void)设置时间函数入口unsignedcharflagtime=0fen=timewrittime()while(!flag)if(0=key3)delay(20)if(0=key3)while(!key3)flag=115if(0=key1)delay(20)if(0=key1)while(!key1)time+fen=timewrittime()if(0=key2)delay(20)if(0=key2)while(!key2)time-fen=timewrittime()4硬件焊接与调试对照原理图进行焊接工作,应先把硬件依次正确插到电路板上相应的位置,然后再次检查器件是否都正确,确定无误后进行焊接。在焊接的过程中要注意不要将相临的两个引脚焊接在一起,防止短路影响使用。硬件连接好以后,通过ISP下载线向单片机内烧制HEX程序,观察各部分工作情况。硬件实物如图4-1。16图4-1实物硬件图5Proteus仿真实验效果17图5-1Proteus仿真效果图6总结18在本次毕业设计中,我通过基于典型单片机AT89S52的设计和应用,对单片机的工作原理及功能有了更加深刻的了解,并对单片机程序语言设计有了新的、进一步的认识。在本次设计的过程中,我发现很多的问题,给我的感觉就是下手很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路。另外单片机系统的知识似懂非懂,而且很多知识当时弄明白了,现在要用的时候又不记得,造成我用了大量的时间去查阅各种资料和程序命令,因此整个过程时间安排不合理。由于设计的计划没有安排好,设计的时间极为仓促,尤其是在硬件调试的过程中出现了很大的问题。另外资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的促进和帮助。19参考文献1余发山.单片机原理及应用技术M.中国矿业大学出社,20032余锡存.单片机原理及接口技术M.西安:西安电子科技大学出版社,20043刘法治.常用电子器件及典型芯片应用技术M.机械工业出版社,20074何立民.MSC-51系列单片机应用系统设计M.北京航空航天大学出版社,19935刘建辉.单片机智能控制技术M.北京:国防工业出版社,20076常斗南.可编程控制器M.北京:机械工业出版社,19987马潮.AVR单片机嵌入式系统原理与应用实践M.北京航空航天大学出版社,20098求是科技.单片机典型模块设计实例导航M.人民邮电出版社,20089戴佳,苗龙,陈斌.单片机应用系统开发典型实例M.北京:中国电力出版社,200510沈红卫.基于单片机的智能系统设计与实现M.北京:电子工业出版社,200511李东生.Protel99SE电路设计技术入门与应用M.北京:电子工业出版社,200220附录源程序足球比赛计时计分器mcu:AT89s5212MHZ晶振频率EDITEDBYLIUJUNJIE2010-04-19#includevoidwritdata(unsignedchar)写液晶数据voidwritcom(unsignedchar)写液晶命令voidinit(void)初始化voidwritsfm(unsignedcharunsignedchar)写分数刷新voidwrittime(void)写时间刷新voidsettime(void)设置比赛时间sbitrs=P24液晶控制位定义sbitrw=P25sbiten=P26sbitkey0=P10独立键盘位定义sbitkey1=P11sbitkey2=P12sbitkey3=P13unsignedchartimefenmiaoaabbfnumanumbflagvoiddelay(unsignedcharc)延时子数unsignedcharxyfor(x=cx0 x-)for(y=80y0y-)voidmain()主函数入口init()settime()21while(1)unsignedchargbi定义光标闪烁位置变量writcom(0 x80)显示当前比赛节数writdata(f+0 x31)if(2=f&0=i)换场地后刷新分数显示i=1writcom(0 x80+2)writdata(B)writcom(0 x80+9)writdata(A)writsfm(0numa)writsfm(1numb)writtime()液晶工作方式是写指令与写数据分时工作,所以在中断中写时间会影响其他显示if(0=key0)key0控制时间启停delay(20)if(0=key0)while(!key0)P2_0=1flag+if(2=flag)flag=0if(1=flag)TR0=1if(0=flag)TR0=0TR1=0if(0=key1)key1表示调整分数的位置delay(20)22if(0=key1)while(!key1)gb+if(3=gb)gb=0switch(gb)控制光标闪烁的判断case1:标志A队分数调整if(0=f|1=f)表示上半场writcom(0 x80+6)writcom(0 x0f)delay(60)writcom(0 x0c)if(2=f|3=f)表示下半场writcom(0 x80+13)writcom(0 x0f)delay(60)writcom(0 x0c)breakcase2:标志B队分数调整if(0=f|1=f)writcom(0 x80+13)writcom(0 x0f)delay(60)writcom(0 x0c)if(2=f|3=f)writcom(0 x80+6)writcom(0 x0f)delay(60)writcom(0 x0c)breakcase0:writcom(0 x0c)break非分数调整模式23default:breakif(1=gb)A队分数调整的函数入口if(0=key2)delay(20)if(0=key2)while(!key2)numa+if(0=key3)delay(20)if(0=key3)while(!key3)numa-writsfm(0numa)分数刷新if(2=gb)B队分数调整的函数入口if(0=key2)delay(20)if(0=key2)while(!key2)numb+24if(0=key3)delay(20)if(0=key3)while(!key3)numb-writsfm(1numb)分数刷新voidinit(void)初始化子函数入口en=0delay(1)writcom(0 x38)两行,8位writcom(0 x38)writcom(0 x38)writcom(0 x06)AC自增1writcom(0 x0c)显示,光标writcom(0 x01)显示清屏writcom(0 x80)DDROM起始地址设置TMOD=0 x11设置定时器参数TH0=(65536-50000)256TL0=(65536-50000)%256TH1=(65536-50000)256TL1=(65536-50000)%256IE=0 x8a开中断允许delay(40)writcom(0 x80+2)初始化显示writdata(A)25writdata(:)writsfm(0numa)writcom(0 x80+9)writdata(B)writdata(:)writsfm(1numb)writcom(0 xc0+2)writdata(T)writdata(I)writdata(M)writdata(E)writdata(:)voidwritdata(unsignedcharc)写数据子函数delay(1)en=0rs=1rw=0en=1P0=cen=0voidwritcom(unsignedcharc)写命令子函数delay(1)en=0rs=0rw=0en=1P0=cen=0voidtim0()interrupt1定时器0中断入口26TH0=(65536-50000)256TL0=(65536-50000)%256aa+if(0=f|1=f|2=f)if(aa=20)aa=0miao-if(255=miao)miao=59fen-if(0=fen&0=miao)f+flag=0fen=timeTR0=0TR1=1if(3=f)if(aa=20)aa=0miao-if(255=miao)miao=59fen-27if(0

温馨提示

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

评论

0/150

提交评论