基于单片机的篮球赛计时计分系统的设计内容摘要:
现 0~9数字的显示。 基于单片机的篮球赛计时计分系统的设计 19 图 一位动态 LED显示 MOV R1, 0AH MOV R0, 00 BUF: MOV A, R0 MOV DPTR, DATA MOVC A , @A+DPTR MOV P1,A INC R0 DJNE R1,BUF SJMP NEXT DATA:DB 3F,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 计时电路工作原理 计时电路如图 所示,在 此电路中,单片机的 P1 口用于控制 4 位 LED 的段选码;P2 口的 ~ 用于控制 4 位 LED 位选码。 由于所有的段选码连接在一起,所以同一瞬间只能显示同一字符,但如果要显示不同的字符,则要借助位选口来控制。 (如果LED 为共阴则 ~ 输出高电平,为共阳则 ~ 输出低电平。 )例如,现在要显示 5678 四个数字,则首先应该将 5 的显示代码由 送出,然后 ~ 输出相应的为码(共阴 LED 时 ~ 输出 1000,共阳 LED 时 ~ 输出 0111)时,则可以看到 在数码管上显示数字“ 5”,再将显示的数字 5 延时 5~10ms,以造成视觉暂留效果;同时代码由 送出。 用同样的方法将其余 3 个数字 678 送数码管 4基于单片机的篮球赛计时计分系统的设计 20 显示,最后则可以在 4 位 LED 上看到 5678 四个数字。 其主要由按键开关 START/PAUSE、 SETTIME、 CHANGEFIELD,单片机 AT89C51,译码器以及 LED 显示器构成,其工作过程如下:当按下 SETTIME 时,时间显示秒钟会逐一变化,当秒钟为 99 时,再按下 SETTIME 此时分钟会进 1。 各个按键的作用介绍如下: START/PAUSE 键:可以 控制比赛时的开始和结束,另外还可以在比赛的任何时间暂停比赛。 SETTIME 键:可以实现比赛时间的调整; CHANGEFILED 键:可以交换场地时分数的交换。 图 计时电路 计分电路的设计 计分电路原理图如图 所示, B 队原理图与此类似。 其电路主要由 AT89C5 LED、按键、晶振以及若干电阻等组成。 其工作过程如下:按键 A+ A+ A+ A1 组成甲队加减分控制,按键 A+ A+ A+ A1 的一端与芯片的 ~ 相接,另外一端接地,当 A+ A+ A+ A1 四个按键中的任何一个一位按下时,会输入一个低基于单片机的篮球赛计时计分系统的设计 21 电平,从而使单片机机发生中断,进入相应的中断程序,然后判断是加分或者还是减分,这样就实现了加减分的操作。 例如:现在以甲队为例,当按下“ A+1”时,这时 A+1=0(即低电平),其它都是高电平,这时 会输入一个低电平到单片机 AT89C51,使其外部中断 INT0 发生,从而调用中断服务程序,将要显示的数据从程序中定义的 LED 显示常数表 TAB 中取出数据,所以 A 队将显示 0001。 各个按键的作用: A+1 键:完成甲队加一分操作; A+2 键:完成甲队加两分操作; A+3 键:完成甲队加三分操作; A1 键:完成甲队减一分操作;乙队加减分依次类推。 图 篮球 比赛计分器电路原理图 整个篮球计时计分器的工作过程如下:首先在比赛之前,接通电源,系统自动复位,此时计时电路与计分电路中的共阴极数码管全部显示为 0000 和 0000;然后我们按计时电路中的 SETTIME 键来设置比赛的时间,例如比赛时间上半场为 20 分钟,则可以通过此键使数码管显示为 2020,时间设置好时,等待赛程开始,当裁判吹响哨声时,立即按下 START/PAUSE 键,启动 计时,这时计时电路开始工作,计时是采用的倒计时,即动20 分钟减为 0 分钟表示上半场结束,当上半场结束时报警器会发出约 10 秒钟的响声,通知上半场的结束,这时按下 CHANGEFILED 键便可以实现分数的交换,在整个赛程中,还要对两队比分进行及时的刷新,这时可以通过计分电路来实现, A+1 键实现 A 队基于单片机的篮球赛计时计分系统的设计 22 加 1 分的操作, A+2 键:完成甲队加 2 分操作; A+3 键:完成甲队加 3 分操作; A1键:完成甲队减 1 分操作;乙队加减分依次类推。 由于加减分是采用中断完成,且加减分的中断优先级小于计时电路的优先级,所以不会对计时电路造 成影响,如果在赛程过程中,一方教练申请暂停时,经裁判批准,可以立即按下 START/PAUSE 键,即可以实现暂停计时,暂停时间到,再按下次键则可继续计时,直至上半场结束,报警器会发出 10 秒钟的响声。 下半场与上半场一样。 报警电路的设计 本设计采用的是声音报警电路 声音报警电路是通过一个三极管来驱动,这里选用的是 NPN 型的三极管。 电路原理图如图 所示。 图 报警器 当半场结束时或者 30s之内没有一次投篮时, AT89C51会通过 ,使三极管正向导通,然后发出报警的响声,然而达到了报警的效果。 晶振电路的设计 单片机内部带有时钟电路,因此,只需要在片外通过 X X2 引脚接入定时控制单元(晶体振荡和电容),即可构成一个稳定的自激振荡器。 振荡器的工作频率一般在 ~12MHz 之间,当然在一般情况下频率越快越好。 可以保证程序运行速度即保证了控 制的实时性。 一般采用石英晶振作定时控制元件;在不需要高精度参考时钟时,也可以用电感代替晶振,有时也可以引入外部时钟脉冲信号。 基于单片机的篮球赛计时计分系统的设计 23 C C10 虽然没有严格要求,但电容的大小影响振荡器的振荡的稳定性和起振的快速性,通常选择在 10~30PF 左右。 在设计电路板时,晶振,电容等均应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。 其原理图如图 所示 : 软件设计 主流程图 图 为程序的主流程图 C920PC1020PY112Mx2x1+5VS1SW PBC7R22kRESETVC C图 复位电路和时钟电路 基于单片机的篮球赛计时计分系统的设计 24 Y N Y N Y N N N Y Y 图 主流程图 定时清 0 甲乙两队分数清0 开始 设置定时时间如: 20 分钟 启动键是否按下 倒计时开始定时 定时时间是否到 喇叭响十秒 暂停键是否按下 分数设置键是否按下 交换键是否按下 对应甲乙队加减分数 甲、乙队交换分数,并显示 基于单片机的篮球赛计时计分系统的设计 25 抗干扰技术 单片机系统中抗干扰问题一直是设计中的一个十分重要的课题。 抗干扰可以从软件、硬件两方面来提高系统的可靠性。 下面将从软件方面 作出分析。 本设计抗干扰采用的是看门狗技术。 看门狗 , 又叫 watchdog timer, 是一个定时器电路 , 一般有一个输入 , 叫喂狗 , 一个输出到 MCU 的 RST 端 , MCU 正常工作的时候 ,每隔一端时间输出一个信号到喂狗端 , 给 WDT 清零 , 如果超过规定的时间不喂狗 , (一般在程序跑飞时 ), WDT 定时超过 , 就回给出一个复位信号到 MCU, 是 MCU 复位。 防止 MCU 死机。 看门狗的作用就是防止程序发生死循环,或者说程序跑飞 [11]。 在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定 的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。 所以在使用有看门狗的芯片时要注意清看门狗。 硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说 PC 指针不能回来。 那么定时时间到后就会使单片机复位。 常用的 WDT 芯片如 MAX81 504IMP 813 等。 本设计采用的是 MAX813,芯片的原理图及其与单片机的连接图如图 所示 : 图 MAX813与单片机的连接图 软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,我们还是以 51系列来讲,我们知道在 51 单片机中有两个定时器,我们就可以用这两个定时器来对主程序的运行进行监控。 我们可以对 T0 设定一定的定时时间,当产生定时中断的时候对基于单片机的篮球赛计时计分系统的设计 26 一个变量进行赋值,而这个变量在主程序运行的开始已经有了一个初值,在这里我们要设定的定时值要小于主程序的运行时间,这样在主程序的尾部对变量的值进行判断,如果值发生了预期的变化,就说明 T0 中断正常,如果没有发生变化则使程序复位。 对于T1 我们用来监控主程序的运 行,我们给 T1 设定一定的定时时间,在主程序中对其进行复位,如果不能在一定的时间里对其进行复位, T1 的定时中断就会使单片机复位。 在这里 T1 的定时时间要设的大于主程序的运行时间,给主程序留有一定的的裕量。 而 T1的中断正常与否我们再由 T0 定时中断子程序来监视。 这样就够成了一个循环, T0 监视T1, T1 监视主程序,主程序又来监视 T0,从而保证系统的稳定运行 [12]。 51 系列有专门的看门狗定时器 ,对系统频率进行分频计数 ,定时器溢出时 ,将引起复位。 看门狗可设定溢出率 ,也可单独用来作为定时器使用。 看门狗使用注意:大 多数 51 系列单片机都有看门狗 ,当看门狗没有被定时清零时 ,将引起复位。 这可防止程序跑飞。 设计者必须清楚看门狗的溢出时间以决定在合适的时候,清看门狗。 清看门狗也不能太过频繁否则会造成资源浪费。 程序正常运行时,软件每隔一定的时间 (小于定时器的溢出周期 )给定时器置数,即可预防溢出中断而引起的误复位。 看门狗运用:看门狗是恢复系统的正常运行及有效的监视管理器(具有锁定光驱,锁定任何指定程序的作用,可用在家庭中防止小孩无节制地玩游戏、上网、看录像)等具有很好的应用价值。 “ 看门狗 ” 的设计思路: A、看门狗 定时器 T0 的设置。 在初始化程序块中设置 T0 的工作方式,并开启中断和计数功能。 系统 Fosc=12 MHz, T0 为 16 位计数器,最大计数值为 (2 的 10 次方 )1=65 535, T0 输入计数频率是 Fosc/12,溢出周期为 (65 535+1)/ 1=65 536(μ s)。 B、计算主控程序循环一次的耗时。 考虑系统各功能模块及其循环次数,本系统主控制程序的运行时间约为 16. 6 ms。 系统设置 “ 看门狗 ” 定时器 T0 定时 30 ms(T0 的初值为 65 53630 000=35 536)。 主控程序的每次循环都将刷新 T0 的初 值。 如程序进入“ 死循环 ”。基于单片机的篮球赛计时计分系统的设计
相关推荐
度。 人体辐射的红外线中心波长为 910um,而探测元件的波长灵敏度在 范围内几乎稳定不变。 在传感器顶 端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为 710um,正好适合于人体红外辐射的探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器。 一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收
10)。 ret=1。 _nop_()。 psb=1。 //将 PSB 置 1,通信方式为 8BIT 数据并口 // _nop_()。 } //LCD 功能设置 // void lcd_set() { mand=0x30。 //基本指令集 // write_mand(mand)。 mand=0x01。 write_mand(mand)。 mand=0x06。 write_mand(mand)。
信号很小时,则量化噪声对系统的音质影响就将十分明显。 量化噪声的减低对于量化噪声可采用在信号中加给高频抖动信号的方法,量化后,再减去高频抖动信号,而使量化噪声白噪声化。 量化噪声随量化比特数增大而相应减小,但不能减为零。 量化噪声是不同于白噪声(即等带宽能量相等的噪声)的一种高频噪声,它是由比较少的孤立频谱重叠而成的噪声。 因此在听感上与白噪声不同,是一种较粗糙的、刺耳的、称为颗粒性噪声的声音。
功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。 5. 蜂鸣器模块 蜂鸣器是一种一体化结构 的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 蜂鸣器在电路中用字母“ H”或“ HA”(旧标准用“ FM”、“
不同时刻的波形。 这种预触发特性,特别有利于分析故障产生的原因。 另外,窗口触发和数字组合触发在数字电路、计算机的调试中十分有用。 图 数字存储示波器的预置触发功能 4. 观察慢速信号时无闪烁现象 慢速信号使用传统示波器观测时光迹存在闪烁现象。 在数字存储示波器中,由于存储器的写入和读出是不相关的,写入存储器的时间可以很慢,而从存储器中读出信号是以固定频率 进行的,所以显示时,光迹无闪烁现象。
数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入 “1”后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL)这是由于上拉的缘故。 RST