已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子计分器设计与实现毕业论文目 录摘 要IAbstractII第1章 绪论1第2章 设计方案2第3章 电子计分器的控制模块33.1.1 蜂鸣器33.1.2 单片机33.1.3 按键控制43.1.4 LED输出显示53.2 电路参数及元器件的选择63.3 核心器件的介绍63.3.1 51单片机及其管脚的介绍63.3.2 LED数码管介绍93.4 四大单元模块的连接103.4.1 单片机与PC机的连接103.4.2 单片机与LED的连接123.5 电子计分器总原理图12第4章 电子计分器的软件设计144.1 电子计分器软件设计原理144.2 软件设计图及功能144.3 主要软件设计流程图及说明154.4 软件程序代码18第5章 电子计分器的调试25第6章 电子计分器系统功能、指标参数266.1 系统仿真266.2 系统仿真的参数分析276.3 系统仿真的结果图27结 论29参考文献30致 谢31黑龙江东方学院本科毕业设计电子计分器的设计与实现第1章 绪论在市面上有很多篮球计分器,有电子线路设计的,有各种单片机设计的,但作为现在我接触到最多的还是51单片机。现在市面上还出现了红外线自动计分器,红外传感器且显示面板位于篮板上的篮球计分器,包括红外线计数器发射头、红外线计数器接收头与起计数与控制作用的处理控制器,其特别之处在于:所述的计数器接收头设置于篮板表面上球框架的底部,所述的计数器发射头设置于球框架上与计数器接收头相对的位置处;所述的处理控制器的输出端口还连接有显示模块,所述显示模块设置于篮板表面的上部位置。本实用新型可实现对篮球比赛的自动计分,方便了比赛运动员;显示模块设置于篮板表面的上部,更加有利于观众与比赛运动员即时了解比赛状态。而且现在国际上的计分器主要是运用到体育馆中,体育馆计时记分设备是用于各类室内、室外体育比赛场馆所举办的各种球类比赛中使用的一套便携式“计时记分系统”。随着单片机载各个领域的广泛应用,许多用单片机作控制的球赛计时计分器系统也应运产生,用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。本文设计一种有AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。本系统具有赛程定时设置、赛程时间暂停、及时刷新A、B队双方的成绩以及赛后成绩暂存等功能。它具有价格低廉、性能稳定、操作方便且易携带等特点。广泛适合各类学校与小团体作为赛程计时计分。本设计主要是运用单片机自动产生时间显示。而且主要的是采用国际篮联的规定采用的是四节四十分钟计时。每十分钟暂停一次,而且由蜂鸣器自动提醒一小节结束。在重启开始按钮后,时间又继续计时,而且本实验主要是采用的倒计时,当需要中场休息或者换人暂停的时候只需要按下暂停按钮就可以了,倘若需要继续那么久需要按一下开始按钮就行了。而且本设计的界面简单只有6颗实用按键,两颗分别为开始与暂停,两颗分别为两队加分软件,还有重启按钮与电源按钮,简单易操作。第2章 设计方案本系统是以汇编语言作为编辑语言,采用单片机AT89C51作为本设计的核心元件,。利用7段共阴LED作为显示器件。在此设计中共接入了8个7段共阳LED显示器,其中四位作为倒计时时间显示,其中一二位作为时间显示的秒数显示,本实验主要是采用先给时间显示置60分钟的倒计时,其中三四位作为分显示。还有四位作为分数显示,分为两组,每两个显示为一组作为分数显示,本着实际的计分结果课最高计分为99分钟,分别表示个位,十位,用于记录该队的分数,能够满足篮球比赛的需要。并设置有5个按键:K1,K2,K3,K4,K5。当比赛A队得1分时,按下k1键加1分,得2分时按k1键两下加2分,得3分时按下k1键三次加3分。当比赛B队得1分时,按下k2键加1分,得2分时按k2键两下加2分,得3分时按下k2键三次加3分,其中K3,K4键分别暂停与开始键,K5是单片机复位键。因所设计的篮球赛计分器功能较少,电路结构也相对简单。本次设计选用的芯片为AT89C51,显示部分用的是LED数码管显示。单片机电源STC89C51单片机模块LED显示部分报警器键控输入部分图2.1 硬件平台功能框图 此方案实现的时间显示精确,而且体现了单片机的功能,本作毕业设计的目的它很好的反应出了单片机的性能,而且它的电路简洁,电路简单易于控制,而且时间做的是倒计时,采用的是最接近机械语言的汇编语言,修改程序能够应用其他的各种比赛例如排球赛,单片机的成本价低,制造出的电路廉价。第三章 电子计分器的控制模块3.1 四大单元模块功能介绍及电路原理图本设计其中包括单片机模块部分,键控输入部分,LED显示部分,蜂鸣器报警部分的介绍。3.1.1 蜂鸣器根据本次设计要求,我采用了一个二极管与一个蜂鸣器来实现声光报警,并用一个三极管来驱动蜂鸣器,本设计主要是参考CBA的篮球比赛时间设计的,所以每十分钟暂停一下,然后就惊醒报警,当按下暂停或则开始键的时候蜂鸣器都自动消音。起电路图如图3.1所示。图3.1蜂鸣器报警部分3.1.2 单片机本部分模块是本设计的核心部分,此模块应用的是51单片机。单片机的全称为单片机微型计算机,它是把组成微型计算机的各功能部件,如中央处理器、随机存取储存器、只读存储器,I/O接口电路,定时/计数器,以及串口通信接口等部件制作在一块集成芯片上。单片机的P0口外接8段LED显示的片选端,当需要改变那个LED的内容的时候就需要把它点亮选中,P2口作为8端LED的内容输入端,根据设计的需要点亮相应的LED灯而显示时间。P1.1与P1.0分别作为篮球计分的输入接口端口。P3.2与P3.3作为篮球计分器的开始暂停端的输入口。P3.4就作为当时间到时的报警输出端口。本设计主要是采用了单片机的内部的计数器与外部中断方式才实现的控制与显示。其结构图如图3.2所示。图3.2单片机模块原理图3.1.3按键控制在本次设计中主要采用了五颗键,分别是复位键,时间暂停键,开始键,A队加分键,B队加分键。分别表述为K1,K2,K3,K4,K5。当比赛A队得1分时,按下k1键加1分,得2分时按k1键两下加2分,得3分时按下k1键三次加3分。当比赛B队得1分时,按下k2键加1分,得2分时按k2键两下加2分,得3分时按下k2键三次加3分,其中K3,K4键分别暂停与开始键,K5是单片机复位键。A,B对加分键分别接在单片机的P1.0与P1.1口上的,当来一个P1.0来一个高电平则A队计分显示加一分,当P1.1来一个高电平则B队的计分显示加一分,当按下暂停键时LED时间暂停,当按下开始时时间显示继续开始时间跳动。当按下复位键时所有的记时计分从新开始,其结构图如图3.3所示。图3.3键控输入模块原理图3.1.4 LED输出显示本模块主要是采用的七段显示来显示倒计时,分别用四个数码管,一组为时间显示,本次设计主要是采用的倒计时设计,采用一个小时的倒计时。另一组就为计分显示设计,这一组的其中相连中的一个表示A队的分数显示,另外两个表示B对的分数显示。而且外接的单片机的P0口做为片选输入端,P1作为段码的输入端,而且本次采用的共阳极八段LED显示。其电路图如3.4与3.5所示。点亮LED显示器有两种方式:一是静态显示;二是动态显示。在本次设计中,采用的是动态显示。这种电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。从下图可以看出,每位LED显示器需要单独占用8根端口线,因此,在数据较多的时候,往往不采用这种设计,而是采用动态显示方式。所谓动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器。图3.4 分数显示部分图3.5时间显示部分3.2电路参数及元器件的选择本次设计对内外存要求都不大,所以本次设计选择的是STC89C51单片机。而且采用的是共阳极七段LED显示。为方便时间计算单片机主要是采用的12MHZ的晶振。3.3 核心器件的介绍3.3.1 51单片机及其管脚的介绍单片机最系统包括晶体振荡电路,复位开关与电源部分。本系统采用的是12.0592MHZ晶振;复位电路在单片机中是很重要的,它可以完成单片机的初始化也可以在死机状态下重启单片机。在本设计中采用的是手动复位。STC89C51单片机是由运算器、控制器、存储器、输入设备与输出设备共五个基本部分组成的。单片机是把包括运算器、控制器、少量存储器、最基本的输入输出口电路、串行口电路、定时电路与中断定时电路等都集成在一个尺寸有限的芯片上。通常单片机由单个集成电路芯片构成,内部包括有计算机的基本功能部件:中央处理器、存储器与I/O接口电路等。因此单片机只需要与适当的软件,及外部设备相结合便可成为一个单片机控制系统。VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可负载8个TTL门电路。当P1口的管脚第一次写1时,被定义为高阻输入;P0能够用于外部程序的数据存储器,它可以被定义为数据/地址第八位。在FIASH编程时,P0 口做原码输入口时,当FIASH进行校验时P0输出原码,这时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电路。P1口管脚写入1后,被内部上拉为高电平,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉电阻的缘故。在FLASH编程与校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电路。当P2口被写1时,其管脚被内部上拉电阻被拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低将输出电流。这是由于内部上拉电阻的缘故。P2口当用于外部程序存储器以及16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写的时候,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程与校验时接收高八位控制信号与地址信号。ALE/PROG:当访问外部存储器的时候,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间此引脚用于输入编程脉冲。但在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器的时候,将跳过一个ALE脉冲。倘若想禁止ALE的输出可在SFR8EH地址上置0。这时 ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外该引脚被略微拉高。倘若微处理器在外部执行状态ALE禁止置位无效。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电路。当P3口写入1后,它们被内部上拉为高电平并用作输入。作为输入由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。P3口也可作为AT89C51的一些特殊功能口,P3口同时为闪烁编程与编程校验接收一些控制信号。如表3.1所示:表3.1 AT89C51特殊功能表端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)/PSEN:外部程序存储器的选通信号。但在访问外部数据存储器的时候,这两次有效的/PSEN信号将不出现。在由外部程序存储器取期间,每个机器周期两次/PSEN有效。/EA/VPP:当/EA保持低电平的时候,则在此期间外部程序存储器(0000H-FFFFH不管是否有内部程序存储器)。当/EA端保持高电平时,注意加密方式1的时候,/EA将内部锁定为RESET;此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。P3-P0口都是并行I/O口都可用于数据的输入与输出,但P2口与P0口除了可进行数据的输入与输出外,通常都用来构建系统的数据总线与地址总线。P3-P1这3个口都是准双向口。P3口的口线具有第二功能,在这4个口中只有P0口是一个真正双向的口,为系统提供一些控制信号。单片机管脚图如图3.6所示。图3.6 单片机管脚图3.3.2 LED数码管介绍LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个点形的发光管在显示器的右下角作为显示小数点,它能显示各种数字及部份英文字母。段数码管又分共阴和共阳两种显示方式。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。发光二极管的工作电压一般在1.8V-2.2V,为计算方便,通常选2V即可!发光二极管的工作电流选取在10-20ma,电流选小了,7段数码管不太亮,选大了工作时间长了发光管易烧坏!对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数! 74LS48芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中。图3.7 BCD七段译码器驱动器图3.8 七段数码管引脚图3.4 四大单元模块的连接3.4.1 单片机与pc机的连接为了能实现远距离的检测电压,需要单片机与PC机进行数据通信。异步串行通信时最常用的,也是本设计中所采用的。 在PC机上,串行口指的是RS232串行通信端口。本设计采用的是9针的连接头。其结构如图3.9所示。图3.9 RS232结构图图3.9中RXD:接收数据;TXD:发送数据;DTR:数据终端就绪;DSG:数据装置就绪;RTS:发送请求;CTS:清除发送。 串行通信接口在本设计中的作用是:数据以二进制的形式的传送。将单片机采集回来的数据送到PC机去处理。通过串行口一次只能传送一个字节,而控制信息与数据都是在单线上移动,所以需要通信协议,常用的通信协议如下:一个起始位;8个或7个数据位;奇偶校验位;一个或两个停止位;传输速度即波特率串行口主要由发送数据缓冲器、发送控制器、输出门控电路、接收数据缓冲器、接收控制器、输入移位寄存器等组成。接收数据缓冲器只能读出不能写入。发送数据缓冲器只能写入不能读出。故两个缓冲器共用一个符号-特殊功能寄存器:SBUF。另外还有两个特殊功能寄存器SCON,PCON,分别用来控制串行口的工作方式与波特率。考虑到通信程序之间采用软件握手以及降低编写PC与单片机的程序的复杂性,PC机与单片机之间的连接只采用了RS232接口中的RXD、GND、TXD。因为由PC出来的是RS232的电平,而单片机是典型的TTL电平,因此在PC与单片机的连接中必须要有电平转换,本设计中采用的是MAX232电平转换电路。工作时只需要单一的+5V电源。其片内有2个发送器与2个接收器。有TTL信号输入/RS-232C输出功能也有RS-232C输入/TTL输出的功能。它是RS-232C双工发送器/接收器接口电路芯片。由于芯片内部有自升压的电平倍增电路,将+5V转换成-10V到+10V,满足RS-232C标准对逻辑1与逻辑0的电平的要求。其连接如图3.10所示。图3.10 RS232与MAX232的连接3.4.2 单片机与LED的连接为了使电路简单采用了8位2组的数码管动态显示方式。图3.11为数码管动态显示器电路的链接部分。图3.11八段LED显示与单片机的连接部分3.5电子计分器总原理图 如图3.12 图3.12 电子计分器总原理图 第4章 电子计分器的软件设计4.1 电子计分器软件设计原理在研制单片机应用系统时大多采用汇编语言作为软件工具,本文所需程序均由汇编语言编写,其优点是生成代码短,测量精度高。本设计的软件设计主要是采用的KEIL软件。KEIL是一个汇编语言的集成开发环境,主要面向汇编语言的初学者。 它提供了一个在Windows界面下的汇编语言开发环境具有了一般的集成开发环境所提供的功能。例如:原来需要烦琐的命令行才能完成的工作,现在只需要简单的鼠标单击就可以完成,而且复杂的参数也只要进行一下设置就可以了。它会截获错误信息,并显示在错误窗口上只要点击一下错误信息,对应的错误行就会在编辑窗口突出显示出来。4.2 软件设计图及功能本设计主要主要是实现了计分与显示两个功能。篮球比赛计分器其实就是一个计数器,本次设计就是利用单片机中的定时/计数器来实现其计分的功能。在51单片机中有两个16位的定时/计数器T1、T0。它们分别由TH1、TL1与TH0、TL0组成,它们均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它们用于存放定时或计数的初始值。此外,内部还有一个8位的控制寄存器TCON与一个8位的方式寄存器TMOD,用于选择与控制定时/计数器的工作,将工作方式控制字写入TMOD寄存器。根据定时时间要求或计数要求计算计数器初值,启动定时器/计数器,即将TRX置位。将计数初值写入TLX与THX寄存器。倘若工作于中断方式,需置位EA(中断总开关)及ETX(允许定时/计数器中断),并编写中断服务程序。软件结构图如图4.1所示。图4.1主程序流程图4.3 主要软件设计流程图及说明计分器主要采用了中断溢出与外部中断来写的程序,该程序主要包括以下几部分,定时器TO的溢出中断。还有外接开关的外部中断0与外部中断1。当定时器T0的计数器的TF0产生溢出是则跳到中断程序INT_TIMER0,这段程序主要是对LED灯的扫描输出,当中断一次则扫描一次。而且调节T0的计数时间就能调节LED的扫描时间,当时间过长时会让觉得LED等多闪。所以根据人眼选择合适的时间。程序如下:ORG 000BHLJMP INT_TIMER0INT_TIMER0:PUSH 0PUSH DPHPUSH DPL;MOV TH0,#TIMERH;MOV TL0,#TIMERLMOV P2,#0FFH ;MOV P0,#0FFH ;MOV P1,#00HMOV A,INT_CNTINC AANL A,#07H ;只要两位MOV INT_CNT,AADD A,#DISPLAY_BUF ; 0,7+30h=30h,37hMOV R0,AMOV A,R0CPL A ;累加器求反MOV P0,AMOV DPTR , #LED_SETMOV A,INT_CNTMOVC A,A+DPTRMOV P2,APOP DPLPOP DPHPOP 0RETI其程序结构如图4.2所示图4.2定时器T0中断程序结构图篮球计分器有开始暂停的功能,当按下按键时相应的中断就会响应,当中断0响应时就会使得计分开始,同样当暂停按钮按下去的时候就会使的得计分与时间显示暂停。其程序如下:ORG 0003H ;INT0 LJMP INT0LORG 0013H ;INT1 LJMP INT1LINT0L: SETB P3.4 SETB TR1 RETIINT1L: SETB P3.4 CLR TR1 RETI程序结构图如图4.3与4.4所示。图4.3外部中断0程序结构图图4.4外部中断1程序结构图主程序是本程序最重要的部分,当结构几个中断响应就完成了本程序的功能。而且在主程序中采用了子程序也采用了子程序循环程序,对已A/B队计分又采用的查询方式来给A/B队加分的。其程序结构图如图4.5所示。图4.5主程序详细流程图4.4 软件程序代码TIMERH EQU 050HTIMERL EQU 0HTIMER1HEQU 0HTIMER1L EQU 0HINT_CNT EQU 50HDISPLAY_BUF EQU 30HCONTER_BCD0 EQU 40hCONTER_BCD1 EQU 41HCONTER_BCD2 EQU 42HCONTER_BCD3 EQU 43HCONTER_BCD4 EQU 44hCONTER_BCD5 EQU 45HCONTER_BCD6 EQU 46HCONTER_BCD7 EQU 47HORG 0000HLJMP STARTORG 000BHLJMP INT_TIMER0ORG 0003H ;INT0 LJMP INT0LORG 0013H ;INT1 LJMP INT1LSTART:MOV SP,#50HMOV B,#3H CLR P1.0 CLR P1.1MOV CONTER_BCD0,#10MOV CONTER_BCD1,#6MOV CONTER_BCD2,#10MOV CONTER_BCD3,#6 MOV CONTER_BCD4,#1MOV CONTER_BCD5,#1MOV CONTER_BCD6,#1MOV CONTER_BCD7,#1 MOV TMOD , #12HMOV TH0,#TIMERHMOV TL0,#TIMERLMOV TH1,#TIMER1HMOV TL1,#TIMER1L SETB ET0SETB EASETB TR0SETB TR1SETB EX0SETB IT0SETB EX1SETB IT1 MAIN: JNB TF1,$CLR ET0CLR TF1MOV TH1,#TIMER1HSETB ET0MOV TL1,#TIMER1L SHIJIAN:DEC CONTER_BCD0 MOV A,CONTER_BCD0 CJNE A,#0,NOT_EQU0MOV CONTER_BCD0,#10DEC CONTER_BCD1MOV A,CONTER_BCD1CJNE A,#0,NOT_EQU0 MOV CONTER_BCD1,#6DEC CONTER_BCD2MOV A,CONTER_BCD2CJNE A,#0,NOT_EQU0CLR TR1CLR P3.4MOV CONTER_BCD2,#10DEC CONTER_BCD3MOV A,CONTER_BCD3CJNE A,#0,NOT_EQU0MOV CONTER_BCD3,#6;RET ;时间显示倒计时 IR1 :LCALL ADUI IR2 : LCALL BDUI NOT_EQU0: JB P1.0 ,IR1 JB P1.1 , IR2 NOT_EQU1:MOV R0, #3MOV R1, CONTER_BCD0LCALL LED_DISPLAYMOV R0, #2MOV R1, CONTER_BCD1LCALL LED_DISPLAYMOV R0, #1MOV R1, CONTER_BCD2LCALL LED_DISPLAYMOV R0, #0MOV R1, CONTER_BCD3LCALL LED_DISPLAY MOV R0, #7MOV R1, CONTER_BCD4LCALL LED_DISPLAYMOV R0, #6MOV R1, CONTER_BCD5LCALL LED_DISPLAYMOV R0, #5MOV R1, CONTER_BCD6LCALL LED_DISPLAYMOV R0, #4MOV R1, CONTER_BCD7LCALL LED_DISPLAYNOFLOW: LJMP MAIN; R0-位置0,7,R1 BCD0,9; 返回 段码数据放到 30H-37HLED_DISPLAY:PUSH 0 ;R0PUSH 1 ;R1MOV DPTR,#LED_SEGMOV A,R1MOVC A,A+DPTRMOV R1,AMOV A,R0ADD A,#DISPLAY_BUFMOV R0,AMOV A,R1MOV R0,APOP 1POP 0RETADUI: INC CONTER_BCD4 LOOP1: JNB P1.0 , JUXUA SJMP LOOP1 JUXUA: MOV A,CONTER_BCD4CJNE A,#10,NOT_EQU1MOV CONTER_BCD4,#0 INC CONTER_BCD5MOV A,CONTER_BCD5CJNE A,#10,NOT_EQU1MOV CONTER_BCD5,#0 RET BDUI: INC CONTER_BCD6 LOOP2: JNB P1.1 , JUXUB SJMP LOOP2 JUXUB:MOV A,CONTER_BCD6CJNE A,#10,NOT_EQU1MOV CONTER_BCD6,#0INC CONTER_BCD7MOV A,CONTER_BCD7CJNE A,#10,NOT_EQU1MOV CONTER_BCD7,#0 RET;在p1口判断是否有高平信号给篮球加分显示程序INT_TIMER0:PUSH 0PUSH DPHPUSH DPL;MOV TH0,#TIMERH;MOV TL0,#TIMERLMOV P2,#0FFH ;MOV P0,#0FFH ;MOV P1,#00HMOV A,INT_CNTINC AANL A,#07H ;只要两位MOV INT_CNT,AADD A,#DISPLAY_BUF ; 0,7+30h=30h,37hMOV R0,AMOV A,R0CPL A ;累加器求反MOV P0,AMOV DPTR , #LED_SETMOV A,INT_CNTMOVC A,A+DPTRMOV P2,APOP DPLPOP DPHPOP 0RETIINT0L: SETB P3.4 SETB TR1RETIINT1L: SETB P3.4 CLR TR1RETILED_SET:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FHLED_SEG: DB 0CH, 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB 80H,90HEND第5章 电子计分器的调试软件调试包括两个过程,一个是实物系统调试过程因为本实验没有做实物所以只有软件仿真调试,另一个是仿真调试过程,。软件仿真我主要是采用的PTOTEUS软件的下载单片机程序来实现的。在仿真过程中,为了更快看到仿真结果,我使用了更为简洁的电路,在校验LED灯转换的结果是否正确时,并没有接锁存器,同时那些电源也只用了软件中的标号,而是直接将信号输出到二极管,运行时可直接观察信号灯亮灭直接用I/O实现片选,在仿真中没有加上REST键用的软件仿真开始来代替的。实物系统调试时,我直接将仿真用的程序改正后调入系统,结果并不显示,原因是板子上的数码管是共阳极的,而在仿真时采用的是共阴极。在程序里加入取反语句后,正常显示。在蜂鸣器鸣叫的设计中蜂鸣器没有正常鸣叫报警,后来才发现时当低电平时蜂鸣器才接通。所以当把SETB修改成CLR后蜂鸣器正常鸣叫。第6章 电子计分器系统功能、指标参数6.1 系统仿真由于没有做实物出来系统参数指标我只能用仿真图来演示,主要参数就看仿真出来的时间显示与计分显示。这次的篮球计分器主要是采用的CBA的比赛规则,所以当十分钟时就自动暂停一下,并且报警表示本小节结束。当第一个十分钟自动暂停的仿真结果图6.1如下。图6.1十分钟暂停与报警仿真当打开仿真的时候时间显示立即开始运行。当按下P1.0(A队计分按钮)时,仿真结果图如图6.2所示。当按下接在p1.1(B队计分按钮)接口的按钮的时候其仿真结构图如图6.3所示。图6.2当A队加分时图6.3当B队加分时6.2 对仿真的参数分析比较仿真图与所需要的仿真结果,当A/B队的加分按钮按下后A/B分数显示篮分别加一分。所以在这一点上满足了设计要求。当P1.0接上高点平时(当按下A队加分按钮时)程序就会查询到P1.0为高电平,这个时候就会跳转到分数的段码加1的程序,当它的个位段码查询到有低电平时则又会跳转到相应的端口输出。这样就实现了分数的加分。对于B队加分也同理。当时间的分数的十位需要借1的时候就关闭定时器1那么它的段码扫描程序也就没法运行,相当于只有把定时器打开的最后一个时间的状态一直保存就实现了软件上的暂停同时打开了蜂鸣器报警,只需要按下开始按钮就可以从新接着计时计分。6.3 系统仿真的结果图如图6.4图6.4 系统仿真结果图结 论在大多数用C语言编程的情况下我选择了汇编,能够清楚的反应单片机的内存分配问题,而且采用汇编语言写几十程序能够精确到一条机械指令,所以时间非常的精确,这是C语言所不能达到的。而且本设计不但能够计分还能够显示时间。我做的篮球计分器非常的简洁,没有过多的按键只有四颗,所以操作起来非常的方便与简单。采用程序查询方式在硬件上也节约了成本,所以倘若本设计成本很低,适合批量生产。同时本设计能够暂停,开始的功能。但本设计为了答辩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 碳中和时代的智能财务规划初级AI顾问的工作安排与技巧
- 嘉善库房货架采购合同
- 签了订车合同
- 构建可持续增长的良性用户生态方案
- 明星背书合同
- 济南安保地铁合同
- 公司年会节目策划合同
- 公司只签订协议没有合同
- 电竞赛事训练合同
- 一线员工安全考试题
- 清运小区垃圾合同范本
- 江苏省南京市、镇江市、徐州市联盟校2025-2026学年高三上学期10月考试数学试卷
- 全国大学生职业规划大赛《网络直播与运营》专业生涯发展展示【高职(专科)】
- 人工智能与知识产权保护国际合作案例分析
- 2025执业药师考试真题及答案
- 医院消防改造项目施工组织方案
- 2024年医院财务预算编制方案
- 全国大学生职业规划大赛《生物制药技术》专业生涯发展展示【高职(专科)】
- 学堂在线 大数据机器学习 章节测试答案
- 放射人员职业安全培训课件
- 2025-2030二手车交易平台用户行为分析及市场拓展战略研究报告
评论
0/150
提交评论