单片机应用技术 课件 项目5 篮球计分器设计与实现_第1页
单片机应用技术 课件 项目5 篮球计分器设计与实现_第2页
单片机应用技术 课件 项目5 篮球计分器设计与实现_第3页
单片机应用技术 课件 项目5 篮球计分器设计与实现_第4页
单片机应用技术 课件 项目5 篮球计分器设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

项目5篮球计分器设计与实现素质目标1.通过调研显示装置的应用现状,树立科技创新和民族品牌意识。2.培养学生自主学习及团队协作意识,提高学生合作探究解决问题的能力。3.培养学生的代码编写规范、勇于实践的劳动精神和精益求精的工匠精神。知识目标1.能说出数码管动态显示方式。2.能提供数码管动态电路设计。3.能说出全局变量的使用。能力目标1.能分析电路原理图和能使用常用元器件设计数码管电路模块;2.能够基于C语言,熟练运用数组和全局变量,学会数码管动态显示的程序编写调试。设计要求:设计一个篮球比赛计分器的单片机应用系统,即单片机的某个I/O口作输入口,接5个独立按键为功能按钮;单片机的某些I/O口作输出口,接两个4位数码管,通过编程实现A、B两队的比分显示效果;单片机的某些I/O口作输出口,接两个LED发光二极管,作为A、B两队的加分指示灯。(1)用数码管显示A、B两队的分值;能显示A、B两个字母,这两个字母后面显示两队的得分;(2)有5个按键,按下1键是A、B两队加减分的切换键,按下2键数码管显示加1分,按下3键数码管显示加2分,按下4键数码管显示加3分,按下5键数码管显示复位0分;(3)用两个LED发光二极管作为两个队的加分指示信号灯。基于单片机的篮球计分器篮球计分器的作用及原理一、计分器的作用计分器是一种可以用在不同工作、生活场合,在任意比赛中进行计时、记分,比赛队伍信息、犯规等的信息显示装置,对各项比赛的顺利进行和准确记录十分重要,对于提高比赛质量有着非常至关重要的作用。计分器的功能完善、操作简单、维护方便,不仅应用在篮球比赛中,也可以运用在任何形式的比赛。二、篮球计分器的原理篮球比赛计分器利用单片机技术和按键、显示器等组成系统,通过按键系统完成计分操作;通过显示装置如数码管、LED显示屏等将比赛内容显示出来,特别有的大型LED显示屏根据球类比赛的特点精心设计,采用高亮度LED制作,可以保证其长时间运作,也具备了高亮度、可视性、小功耗、使用寿命长等优点。数码管动态显示工作原理连接

数码管动态显示的连接方式是将所有数码管的段码“a、b、c、d、e、f、g、dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制特点节约I/O资源功耗低动态显示电路LED数码管显示驱动技术位码用三极管控制

三极管是日常应用电路中经常会用到的器件。它分为PNP型和NPN型。三极管的规格可以根据LED所需的驱动电流大小进行选择,电流比较小的可以用9013、8550等小功率晶体管,电流比较大的则可以BU208等大功率三极管。三极管驱动LED数码管显示驱动技术三极管是我们的日常应用电路中经常会用到的一个器件。分为PNP和NPN型。三极管常用功能:1、开关控制2、信号放大3、电平转换共阴数码管共阳数码管

8050(9014)8550(9015)LED数码管显示驱动技术PNP型三极管NPN型三极管三极管的型号记忆方式:箭头朝哪腿朝哪,导通电压顺箭头过,电压导通,电流控制b:基极e:发射极c:集电极LED数码管显示驱动技术LED驱动控制专用电路TM1618

TM1618是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,如图所示。内部集成有MCU数字接口、数据锁存器、LED高压驱动、键盘扫描等电路。主要应用于VCR、VCD、DVD及家庭影院等产品的显示屏驱动。TM1618驱动共阳数码屏接LED数码管显示驱动技术段码驱动采用总线驱动集成电路74HC244/74HC24574HC245是一个集成缓冲、驱动于一体的集成电路,可应用于时钟驱动、地址驱动、PC机板的总线收发总线。74LS245是8路同相三态双向数据总线驱动芯片,具有双向三态功能,既可以输出,也可以输入数据。/G为低电平有效;DIR=“1”,信号由A向B传输。引出端符号:A

总线端B

总线端/G

三态允许端(低电平有效)DIR

方向控制端74HC245LED数码管显示驱动技术移位寄存器74HC59574HC595具有8位串入并出的移位寄存器和一个8位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在输出的同时,传送下一组移位数据,而不影响以前的输出状态。74HC595局部变量和全局变量变量可以在程序中函数内部或所有的函数外部两个地方说明。根据所定义变量值位置(作用域)的不同,

变量可分为局部变量和全局变量。从变量值存在的时间(生存期)来分的

可以有静态存储变量和动态存储变量之分。具体包括自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)4种C语言中的变量存储分类指定auto变量

auto变量动态分配存储空间,用完后释放。auto称为自动变量

如果函数不做其他说明的话均为自动变量。static变量

static变量,存储单元固定,用完后不释放extern变量

extern全局变量(在函数外部定义)的作用域为从变量的声明处开始,到本程序文件的结尾。有时还需要用extern来声明外部变量,以扩展外部变量的作用范围。

如:一个文件中定义:intnum;另一个文件中声明引用:externintnum;//注意,声明时类型要与定义一致局部变量在函数内部定义的变量称为局部变量。局部变量仅由被定义的函数内部的语句所访问。函数以“{”开始,以“}”结束,也就是说局部定义的变量只在{}内有效,即只有在程序执行到定义它的模块时才能生成,一旦执行退出该模块则起变量消失。

例:func

(){

int

x;

//等价于autointx,局部变量x的作用域很明确

......}全局变量全局变量与局部变量不同,能贯穿整个程序,并且可被任何一个模块使用。它们在整个程序执行期间保持有效。全局变量定义在所有函数之外,它可以被函数内的任何表达式访问,在程序执行的过程中一直有效。全局变量通常在程序顶部定义。全局变量一旦定义后就在程序的任何地方可知。可以在程序中间的任何地方定义全局变量,但要在任何函数之外。全局变量例如:/******************************************************/……

unsignedcharh,m;

//定义全局变量/******************显示函数************************/voiddisplay(ucharh,ucharm){dat[0]=h/10; //1位dat[1]=h%10;

//2位dat[2]=m/10; //3位dat[3]=m%10; //4位……}/******************主函数***************************/voidmain(){

h=12,m=30;display(h,m); //初始时间位12:30}

本系统功能由硬件和软件两大部份协调完成,硬件部分主要完成信息的显示;软件主要完成信号的处理及控制。本系统的硬件采用模块化设计,以AT89C52单片机为核心,与时钟电路、复位电路及数码管显示组成控制系统。该系统硬件主要包括以下几个模块:AT89C52主控模块、数码管显示模块、按键电路模块、加分LED显示电路等。本系统软件主要实现篮球计数器加分、减分等显示功能。篮球计分器方案设计单片机数码管显示电路复位电路时钟电路电源电路按键电路加分LED显示电路硬件方案确定最小系统单片机两队加分显示设计硬件方案按键电路设计数码管显示设计硬件电路设计动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留(20ms)作用,使人的感觉好像各位数码管同时都在显示。数码管的动态显示要点提示1.若干个数码管的段端接一起,通过单片机的I/O口控制数码管的位选端,实现若干个数码管轮流显示2.单片机的1个I/O口带着若干个数码管,电流小,所以数码管亮度低。所以要加驱动(加三极管、驱动器),增加亮度。共阳数码管:需要高电平,加PNP三极管(8550)共阴数码管:需要低电平,加NPN三极管(8050)3.延时时间合理设置;过长或过慢都不行。硬件电路设计篮球比赛计分器包括最小系统、得分按键电路及数码管显示电路。篮球比赛计分器的得分由按键电路完成,利用P1口的P1.0~P1.4端口分别实现AB队切换、加1分、加2分、加3分、AB两队比分清零的功能。采用两个4位共阳极数码管为显示器。它们的段选端连接到P0口,位选端分别连接到P2口,P0口的上拉电阻可以使用8个1K电阻。两队的加分指示灯连接到P3口的P3.0和P3.1端口篮球计分器的硬件原理图算法分析

4位数码管的8个显示笔划"a,b,c,d,e,f,g,Dp"的同名端是连在一起的,当程序从P0口输出字形码时,在同一个时间所有数码管都会接收到相同的字形码。

如何显示出4个不同的字符呢?因此,就要使用动态扫描了,在程序中,首先显示一个数,然后关掉;然后显示第二个数,又关掉,显示第三个数,又关掉……直到所有要显示的4个数完成,再从头开始扫描。轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。篮球计分器系统程序设计篮球计分器系统程序设计开始数码管1置位查表取数显示延时熄灭(关断显示)数码管2置位查表取数显示延时熄灭(关断显示)数码管3置位查表取数显示延时熄灭(关断显示)动态显示算法分析绘制程序流程图

(1)主程序流程图绘制

主程序包括键盘扫描与键位功能处理子程序、十进制数分离子程序和数码管动态扫描显示子程序的调用。键盘扫描与键位功能处理子程序是查询判断哪个功能键被按下,确认某个键被按下后再转到该键的功能处理程序。十进制数分离子程序是将A、B两队积分数据的百位、十位和个位上的数字分离出来并送数码管显示。数码管动态扫描显示子程序是在数码管上动态显示A、B队和它们的比分情况。篮球计分器系统程序设计绘制程序流程图

(2)数据分离子程序设计

十进制数分离子程序的编写思路是:表示A队在数码管的最高位显示“A”,则引用数组中字符A的编码位置下标10,接着将积分对100取整即得到百位数字送数码管,然后将积分对100求余数运算,用余数对10取整即得到十位数字,最后将积分对10求余运算,得到的余数即个位数字。篮球计分器系统程序设计绘制程序流程图

(3)数码管动态扫描显示子程序

数码管动态显示的具体编程思路是:第一位数码管显示“A”→延时1ms→关闭所有数码管显示→第二位数码管显示“百位数”→延时1ms→关闭所有数码管显示→第三位数码管显示“十位数”→延时1ms→关闭所有数码管显示→第四位数码管显示“个位数”→延时1ms→关闭所有数码管显示→返回到第一步重新进行新一轮扫描过程。篮球计分器系统程序设计送段码送位码延时关数码最后一位?移位N动态显示扫描流程图开始结束绘制程序流程图

(3)数码管动态扫描显示子程序

voiddisplay(){

unsignedchartmp,i;//定义局部变量tmp=0x01;for(i=0;i<4;i++){

P3=tmp;//送位码P2=tab[i];//送段码delay(2);//延时P2=0XFF;//关断数码管

tmp=tmp<<1;//左移到下一位数码管}}

程序说明:延时时间合理设置;过长或过

温馨提示

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

评论

0/150

提交评论