基于单片机的篮球赛计分器(编辑修改稿)内容摘要:

ROM的读操作。 在具体应用时,外部 ROM 读取时,在每个机器周期会动作两次,外部 RAM 读取时,两个 PSEN 信号被跳过不会输出。 EA /VPP: 访问程序存储控制信号。 当 信号 保持低电平时, 对 ROM 的读操作仅仅限定在外部程序存储器,当信号为高电平或者悬空时,对 ROM 的读操作是从内部程序存储器开始,并可延至外部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 数码管动态扫描显示原理 [4] 在实际的单片机系统中,往往需要多位显示。 动态显示是一种最常见的多位显示方法,应用非常广泛。 用数码管显示信息时,由于每个数码管至少需要 8个 I/O 口,如果需要多个数码管,则需要太多 I/O 口,而单片机的 I/O 口是有限的。 在实际应用中,一般采用动态显示的方式解决此问题。 动态显示是多个数码管,交替显示,利用人的视觉暂留作用使人看到多个数码管同时显示。 通常将所有位的段选线相应地并联在一起,由一个单片机的 8位 I/O 口控制,形成段选线的多路复用。 而各位数码管的共阳极或共阴极分别由单片机独立的 I/O 口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“ 动态扫描”。 在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。 在动态显示程序中,各个位的延时时间长短是非常重要的,如果延时时间长,则会出现闪烁现象;如果延时时间太短, 则会出现显示暗且有重影。 在编程时,需要输出段选和位选信号,位选信号选中其中一个数码管,然后输出段码,使该数码管显示所需要的内容,延时一段时间后,再选中另一个数码管,再输出对应的段码,高速交替。 BCD—— 七段数码管驱动 /译码器 [3] 常 用的 BCD对七段显示器译码器 /驱动器的 IC 包装设计有 TTL 之 744 744 7447449 与 CMOS 之 4511 等。 其中 744 7447 必须使用共阳极七段数码显示器, 744 7444511 等则使用共阴极七段显示器。 74LS247 的功能用于将 BCD 码转化成数码块中的数字,通过它解码,可以直接把数字转化为数码管的显示数字,从而简化了程序,节约单片机的 I/O 开销,因此是一个非常好的芯片。 74LS247 的引脚如下 图 32 所示 : 图 32 74LS247引脚图 引脚的功能: ( 1) A、 B、 C、 D 为输入端, abcdefg 为输出端。 当输入 DCBA=0010 时,则输出 abcdefg=0010010,使数码管显示“ 2”; 当输入 DCBA=0110 时,则输出 abcdefg=1100000,使数码管显示“ 6”;关系如表 32所示: 表 32 BCD七段译码真值表 输入 D C B A 输出 F(a) F(b) F(c) F(d) F(e) F(f) F(g) 字形 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 2 0 0 1 1 1 1 1 1 0 0 1 3 0 1 0 0 0 1 1 0 0 1 1 4 0 1 0 1 1 0 1 1 0 1 1 5 0 1 1 0 1 0 1 1 1 1 1 6 0 1 1 1 1 1 1 0 0 0 0 7 1 0 0 0 1 1 1 1 1 1 1 8 1 0 0 1 1 1 1 1 0 1 1 9 ( 2) LT、 RBI 与 BI/RBO 为控制引脚,其功能分述如下: 74LS247 电路是由与非门、输入缓冲器和七个与或非门组成的 BCD—— 7 段译码器 /驱动器。 7 个与非门和一个驱动电路成对连接,以产生可用的 BCD 数据及其补码至 7 个与或非译码门。 剩下的与非门和 3个输入缓冲器作为试灯输入( LT)、灭灯输入 /动态灭灯输出( BI/RBO)以及动态灭灯输入( RBI)端。 该电路接受 4位二进制编码 —— 十进制数( BCD)输入并借助于辅助输入端状态将输入数据译码后去驱动一个七段显示器。 输出结构设计能承受 7段显示器所需要的相当高的高 压,驱动显示器各段所需要的高达 24mA 的电流可以由其高性能的输出晶体管来直接提供。 BCD 输入计数 9 以上的显示图案是鉴定输入条件的唯一信号。 该电路有自动前、后沿灭零控制( RBI 和 RBO)。 试灯( LT)可在端处在高电平的任何时刻去进行,该电路还含有一个灭灯输入( BI)。 它用来控制灯的亮度或禁止输出。 1)需要 015 的输出功能时,灭灯输入( BI)必须为开路或者保持在高电平状态,若不要灭掉十进制零,则动态灭灯输入( RBI)必须开路或者处于高电平状态。 2)当低电平直接加到灭灯输入( BI)时,不管其他任何输入端的 电平如何,所有段的输出端都关死。 3)当动态灭灯输入( RBI)和输入端 A、 B、 C、 D都处于低电平而试灯输入( LT)为高电平时,则所有段的输出端进入关闭且动态灭灯输出( RBO)处于低电平状态。 4)当灭灯输入 /动态灭灯输出( BI/RBO)开路或者保持在高电平状态,且将低电平加到试灯试灯输入( LT)时,所有段的输出都得打开。 注: BI/RBO 是用做灭灯( BI)与 /或动态灭灯输出( RBO)的线与逻辑。 按键接口原理 键盘往往分成编码键盘和非编码键盘,编码键盘由按键和键处理电路组成,直接为计算机提供 经过编码的按键键码;而非编码键盘则只提供按键,其余由计算机自己处理。 非编码键盘结构简单,可自由裁量设计,非常适用于单片应用系统。 按键是一种机械弹性开关,当键按下时闭合,松开时断开。 因为有机械的接触,在触点闭合或断开的瞬间会出现电压抖动。 为了避免键输入错误,必须进行键抖动的处理。 去抖动由硬件和软件两种方法:硬件方法就是在键盘中附加去抖动电路消除抖动;而软件方法则是采用时间延迟以躲避抖动,待触点状方法处理。 非编码键盘 是 所用按键组成的集合。 为了保证键盘的正确输入,键 接口必备以下功能: ( 1)键扫描与识别,判断有无键按下以及按键位置 , 键扫描与识别是通过“行扫描”与“列状态 ” 的配合来确定是否有键按下以及所在行、列的位置。 所谓行扫描就是一次给每条行线送低电平,而其余各行线送高电平,并检测对每一行扫描时所产生的列状态。 键盘扫描有 下列 三种方式: 程控扫描方式 : 只有单片机空闲时才调用扫描程序响应用户键入请求。 定时扫描方式 : 单片机定时调用扫描程序对键盘进行扫描,即时响应用户键入请求。 中断扫描方式 : 与中断请求电路配合,当有键按下时产生中断请求,由单片机响应并执行中断服务程序扫描键 盘。 ( 2)去键抖动 消除按键抖动带来的误输入。 检测键关闭后,延时 10ms 后再检测一次,两次检测相同再进一步进行键处理。 ( 3)键编码 生成易于处理的键码。 由于键位码比较零乱,因此接下来的工作是根据需要把反映闭合键 和键位置的键位码换乘反映键功能的键码。 有了键码,才好通过散转指令把程序执行到闭合键所对应的服务程序上去。 键码既可以根据键位码查询表求得,也可以根据键码编排规律计算得到。 ( 4)等待键释放 为了保证键一次闭合仅进行一次处理,编键码之后,再以延时扫描的方法等待键释放。 键释放后键处理工作完成。 硬件电路设计 硬件部分的设计是整个设计的一个很重要的部分。 在进行硬件设计时,首先要确定元器件,并且知道这些元器件的工作原理和功能,然后才可以进行设计。 本设计的主要硬件电路包括三个部分:计时显示电路、计分显示电路、鸣笛警示电路。 一般来说,对硬件部分的设计都应包括绘制 SCH 原理图和 PCB 印刷图,由于本次设计我主要负责软件部分的设计,硬件参与得不是很多,所以硬件部分元器件的功能就不详细介绍了。 元器件的选择 [3] 本设计主要选择了 以 下元器件:如表 33 所示: 表 33 元器件列表 元器件名称 所属 类 所属子类 AT89C51(单片机 ) Microprocessor IC’ s 8051 Family 7SEGMPX4CABKUE Optoelectrionics 7SegmentDisplay 7SEGMPX4CA Optoelectrionics 7SegmentDisplay SWSPDT Switchsamp。 Relays 74LS247 TTL 74LSseries All— SubCategories (电阻 ) Resistors All— Sub BUTTON AllCategories All— SubCategories 7404 TTL 74LSseries All— SubCategories SOUNDER Speakersamp。 sounders All— SubCategories 计时显示屏的设计 计时电路主要由计时按键、单片机 AT89C5译码器 74LS24 4 位共阳极的数码管以及 反相器 7404 构成。 分别控制计时数码管的 4 个位的位线, 和 分别连接计时器时间的十位和个位的 初值按钮, 分别与 74LS247 的输入端 A、B、 C、 D 相连接, 74LS247 的 QA、 QB、 QC、 QD、 QE、 QF、 QG 分别与计时数码管的 a、 b、c、 d、 e、 f、 g 七段的阴极相连接,用 74LS247 驱动 4 位数码管的动态显示。 设计出的计时显示电路如下图 33所示: 图 33 计时显示屏电路图 计分显示屏的设计 计分电路主要由四个计分按键、单片机 AT89C5译码器 74LS24两个 4 位共阳极的数码管以及反相器 7404 构成。 分别控制 B队计分数码管的 4个位的位线 , 分别控制 A 队计分数码管的 4 个位的位线, 分别与 74LS247 的输入端 A、 B、 C、 D相连接, 74LS247 的 QA、 QB、 QC、 QD、 QE、 QF、 QG 分别与计时数码管的 a、b、 c、 d、 e、 f、 g七段的阴极相连接,用 74LS247 驱动 4位数码管的动态显示。 设计出的计分显示电路如下图 34所示: 图 34 计分显示屏电路图 鸣笛器的设计 鸣笛警示电路如下图 35所示,采用蜂鸣器作为音响器件,该电路主要由单片机、蜂鸣器、按键以及反相器构成。 接蜂鸣器,用 一个按键接到 上,当按下该按键时,产生一个外部中断,蜂鸣器发出警报声。 图 35 鸣笛器电路图 本章小结 本章设计了以 8位单片机 AT89C51 为核心的篮球计分屏硬件平台方案,并搭建了相应的 I/O 口控制按键电路、显示电路、鸣笛警示等外围电路,实现一个简易的篮球赛计分屏硬件部分的设计。 第四章 系统软件设计 本系统是利用单片机的定时功能 来 进行时间处理,实现计时显示功能 , 利用单片机的计数功能来进行分数处理,实现计分显示功能,对时间和分数进行处理的过程中,要通过中断来控 制实现, 当有按键按下 时 ,计分器就会有相应的加分 减分 处理,然后通过数码管显示器 动态扫描并显示 出来。 通过发声的原理和规律,利用单片机的 I/O 口输出高低电平,产生矩形波,外接喇叭就会发出一定频率的声音,从而实现鸣笛功能。 软件设计原理 定时器 /计数器 [2] 51 单片机内部有两个 16 位可编程的定时器 /计数器,分别称为定时器 /计数器 0 和定时器 /计数器 1,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。 特殊控制器有工作方式控制寄存 器( TMOD),定时 /计数器控制寄存器( TCON),中断允许控制寄存器 IE。 定时 /计数器的核心是的 16 位加法计数器,定时器 T0的加法计数器用特殊功能寄存器 TH0、 TL0 表示, TH0 表示加法计数器的高 8 位, TL0 表示加法计数器的低 8 位。 TH1和 TL1则分别表示定时 /计数器 T1的高 8 位和低 8 位。 它们均是 8位寄存器,在特殊功能寄存器中占地址 8AH8DH。 它们用于存放定时或计数的初始值。 此外,内部还有一个 8位的 工作 方式寄存器 TMOD。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。