欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    单片机篮球计时计分器课程设计.doc

    • 资源ID:4147450       资源大小:808KB        全文页数:39页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机篮球计时计分器课程设计.doc

    单片机课程设计报告篮球计时计分器姓 名: ××× 学 号: ××××× 专业班级: ×××× 指导老师: ××× 所在学院:×××××××××× 2007年6月30日1 引言篮球比赛计时计分器是为了解决篮球比赛时计分与计时准确的问题。此装置利用单片机AT89C51完成了计时和计分的功能。该设计将介绍系统硬件与软件的设计过程,采用该装置可根据实际情况进行比分修改和时间的准确显示,具有低功耗,可靠性,安全性以及低成本等特点。1.1背景知识介绍单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。例如,80C51系列单片机已有十多年的生命期,如今仍保持着上升的趋势,就充分证明了这一点。单片机以其一系列优点,近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表,及通讯设备、日常消费类产品、玩具等。并且已经深入到工业生产的各个环节以及人民生活的各层次中,如车间流水线控制、自动化系统等、智能型家用电器等。而美国ATMEL公司开发生产了新型的8位单片机AT89系列单片机。他不但具有一般MCS-51单片机的所有特性,而且还拥有一些独特的优点,此次设计中所用到的AT89C51就是其中典型的代表。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影。    单片机是靠程序实现功能的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件的话,电路一定是一块大PCB板。但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别。只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性。 1.2 设计目的随着单片机在各个领域的广泛应用,许多用单片机做控制的球赛计时计分系统也应运而产生,如用单片机控制LCD液晶显示器计时计分器,用单片机控制LED七段显示器计时计分器等。本设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。它具有价格低廉,性能稳定,操作方便并且易于携带等特点。广泛适合各类学校或者小型团体作为赛程计时计分。通过本次基于C51系列篮球计时计分器的设计,可以了解、熟悉有关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧,这主要表现在以下一些方面:(1) 篮球赛计时计分系统包含了8051系列单片机的最小应用系统的构成,同时在此基础上扩展了一些使用性强的外围接口。(2) 可以了解到LED显示器的结构、工作原理以及这种显示器的接口实例与具体连接与编程方法。(3) 怎样利用串行口来扩展显示接口等。1.3功能要求(1)能记录整个赛程的比赛时间,并能在比赛开始前设定比赛时间,在比赛过程中能暂停比赛时间。(2)能随时刷新甲、乙两队在真个赛程中的比分,即对甲乙两队的分数进行加分和减分。(3)中场交换比赛场地时,能交换甲、乙两队比分的位置。(4)比赛结束时能发出报警提示。(5)在每次交换球权后24秒能手动赋初值,进攻超过24秒计时暂停知道按下继续开始计时。1.4硬件系统方案设计基于单片机系统的篮球记时记分器的系统结构如图1.1AT89C51计时显示计分显示CD4511CD4094复位晶振赛程时间设置键盘赛程分数调整时间图1.1 篮球记时记分器的系统结构系统硬件由以下三个部分组成:(1)处理器:单片机 AT89C51(2)显示部分(3)按键开关处理器:本系统采用单片机AT89C51作为本设计的核心元件,兼容MCS51指令系统,32个双向I/O口,两个16位可编程定时/计数器,1个串行中断,两个外部中断源,低功耗空闲和掉电模式,4k可反复擦写(>1000次)Flash ROM,全静态操作0-24MHz,128x8bit内部RAM,共6个中断源,足以满足本次设计的要求。显示部分:在本次设计中,共接入12个七段共阴LED显示器,其中6个用于计录甲、乙两队的分数,每队3个LED显示器分数范围可达到0999分,足够满足赛程需要。另外的6个LED显示器则用于计录赛程的时间。分、秒、进攻时间,各用2个用LED显示。其中显示分钟的两位数字和显示进攻时间的四个LED可以通过按键进行调整设定。当把时间设置好后,按下开始计时按键比赛开始时启动计时。分钟和进攻时间可以设置的范围为099。根据设计,计时范围可达099分钟,进攻时间最大为99秒也完全满足赛程的需要。按键部分:本次设计共用了10各按键。其中4各来调整甲乙两队的分数,每个队用两个按键,分别对分数进行加1分和减1分;2各按键用来设定比赛时间的分钟,其中这两个按键分别控制分钟的十位和个位;同样两个按键来设定进攻时间的十位和个位;剩下的两个按键一个用来控制比赛时间的开始与暂停,另外一个用来控制进攻时间,当按下比赛开始暂停按键时,比赛的时间有原来的状态变为另一种状态,进攻调整按键则是在交换球权的时候,手动来赋予进攻时间初值。当一场比赛结束的时候,暂停/开始按键还能完成交换两队分数的功能。1.5软件设计要求一、在上电点时,先对系统初始化。等待时间设定。二、当时间设定完成之后,按下开始键,系统显示分值和比赛时间。三、进攻时间由设定值减到0时。整个体统暂停计时,直到开始键重新按下。进攻时间重新赋值,开始继续计时。四、当按下暂停按键时,进攻时间赋初值,停止计时,等待继续计时键按下。五、倒计时结束时,发出10秒警报。六、在整个计时过程中,都可以对甲乙两队分数进行修改。2 系统硬件设计2.1单片机AT89C51介绍MCS-51是指由美国INTEL公司生产的一系列单片机的总称,这一系列单片机包括了很多品种,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的产品,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS51系列单片机,而8031是前些年在我国最流行的单片机,所以很多场合会看到8031的名称。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。AT89C51也是一个低功耗高性能单片机,有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。如图所示,图2.1为AT89C51单片机基本构造,其基本性能介绍如下:图2.1 AT89C51引脚图2.1.1管脚说明VCC:供电电压GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:表2.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(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。     RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。    /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来MCS-51系列单片机片内有一个串行IO端口,通过引脚 RXD(P30)和TXD(P31)可与外设电路进行全双工的 串行异步通信。 8051单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的IO电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器(SCON和PCON),用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向SBUF写入数据就启动了发送过程;读SBUF就启动了接收过程。串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的溢出率确定,使用十分方便灵活自反向振荡器的输出。2.1.2 芯片擦除特性整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。2.1.3 AT89C51省电模式 AT89C51有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态,IDL是空闲等待状态,当IDL=1时,激活空闲工作模式,单片机进入睡眠状态,如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电工作模式。 空闲模式:在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或者硬件复位终止。终止空闲工作模式的方法有两种其一是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可以将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其他端口。为了避免对端口产生意外写入,激活空闲模式的那条指令的后一条指令不应是一条对端口或者外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位。复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重新启动并且稳定的工作。空闲和掉电模式外部引脚状态如表2.3所示表2.2 外部引脚状态表模式空闲模式空闲模式掉电模式掉电模式程序存储器内部外部内部外部ALE1100/PROG1100P0数据浮空数据浮空P1数据数据数据数据P2数据数据数据数据P3浮空浮空数据数据2.1.4最小系统设计通过上面对单片机的介绍,我们已经对单片的功能有了充分的了解。下面就以AT89C51单片机来设计该设计中的核心部分最小系统。单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。下面给出一个51单片机的最小系统电路图。图2.2 单片机最小系统复位电路:由电容串联电阻构成。由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定。典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位。所以,适当组合RC的取值就可以保证可靠的复位。在电路图中,电容的的大小是22uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在开机的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平。51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。除上电复位外,还可以通过手动来复位,单片机手动复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下手动复位按钮内部的程序自动从头开始执行。原理同上电复位,当按键被按下时,给RST脚一个复位信号,使其重新开始运行。由于在比赛过程中,我们通常不希望系统从头开始计时,在该设计中手动复位就不再设计电路中。晶振电路:51单片机最小系统晶可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的合)/12MHz(产生精确的uS级时歇,方便定时操作),本设计使用的晶振为12MHz。单片机最小系统起振电容C2、C3一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tc就是定时时间t。在本设计中特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行。考虑到本设计用到的程序不多,内部ROM可以满足要求。所以在最小系统中P3.1管脚接高电平。2.2显示器设计显示器是最常用的输出设备,其种类繁多,但在单片机系统设计中最常用的是发光二极管显示器(LED)和液晶显示器(LCD)两种。由于这两种显示器结构简单,价格便宜,接口容易实现,因而得到广泛的应用。发光二极管LED,组成的显示屏,每个点都是一个或多个发光二极管,通过控制电路控制二极管的亮与灭来控制点的发光,从而使整个大屏幕显示图案。 液晶显示器LCD最常见的就是TFT类型的,它是由光源,液晶光栅,和控制芯片组成,他的光源是常亮的白色强光,当光线通过液晶光栅(液晶屏)的时候,通过电压改变液晶颗粒滤光方向,从而改变每个点的颜色和强度来显示图案。液晶显示器分很多种类,按显示方式可分为段式,行点阵式和全点阵式。段式与数码管类似,行点阵式一般是英文字符,全点阵式可显示任何信息, 如汉字、图形、图表等。两者之间的区别:(1)二极管本身时发光, 液晶本身也不发光,只是透射光。 (2)二极管体积大,图像质量一般,适合作室外大屏幕,价格较低;而液晶成本较高,面积无法做得很大,但图像质量很好,适合做显示器。 (3)二极管耗电大,液晶耗电小。(4)二极管图像刷新率低,液晶的高 二者的档次相差比较大,一般来讲在一些图像简单,对成本控制较严格的场合,用二极管,比如商场、银行等服务部门的电子提示窗,街道、百货公司外面的广告宣传窗;而液晶一般都是作计算机显示器、电视、手持设备等对图像质量要求高的场合。2.2.1 LED结构与原理LED显示器又称为数码管,LED显示器由8个发光二极管组成。中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。图2.3 7段LED数码管LED显示器有两种不同的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED显示器。共阳和共阴两种结构,如上图所示。图上为共阴结构。即把8个发光二极管阴极连在一起。这时如果需要点亮a到g中的任何一盏灯,只需要在相应的端口输入高电平即可;输入低电平则截止。比如我们现在要显示数字“3”,则只要在对应的a、b、c、d、g段送入高电平,在其他端送入低电平即可,点亮为“3”。共阴和共阳结构的LED显示器各笔划段名和安排位置是相同的。当二极管导通时,相应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。8个笔划段hgfedcba对应于一个字节(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二进制码就可以表示欲显示字符的字形代码。例如,对于共阴LED显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,显示器显示"P"字符,即对于共阴极LED显示器,“P”字符的字形码是73H。如果是共阳LED显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。表2.3列出了共阳极与共阴极LED显示器显示数字、字母与显示代码之间的对应关系表2.3 代码对应表显示字符共阴极段码共阳极段码显示字符共阴极段码共阳极段码03FHC087FH80H106HF996FH90H25BHA4A77H88H34FHB0B7CH83H466H99HC39HC656DH92HD5EHA1H67DH82HE79H86H707HF8F71H8EH2.2.2 LED显示器显示方式点亮LED显示器有两种方式:一是静态显示;二是动态显示。所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片机中CPU的开销小。这种电路的优点在于:在同一时间可以显示不同的字符;但缺点就是占用端口资源较多。从下图可以看出,每位LED显示器需要单独占用8根端口线,因此,在数据较多的时候,往往不采用这种设计。图2.4 动态显示图动态显示,就是将要显示的多位LED显示器采用一个8位的段选端口,然后采用动态扫描一位一位地轮流点亮各位显示器。下图为4位LED显示器动态显示电路。图2.5 静态显示图在此电路中,单片机的P1口用于控制4位LED的段选码:P2口的P2.0P2.3用于控制4位LED位选码。由于所有的段选码连在一起,所以同一瞬间只能显示同一种字符。但如果要显示不同字符,则要借助位选码来控制。(如果LED为共阴则P2.0P2.3输出为高电平,如果LED为共阳则P2.0P2.3输出为低电平。)例如,现在要显示5678四个数字,则首先应该将“5”的显示代码(共阴LED显示器的显示代码为6DH,共阳LED显示器的显示代码为92H)由P1.0送出,然后P2.0P2.3输出相应位码(LED为共阴则P2.0P2.3输出1000,) LED为共阴则P2.0P2.3输出0111)时,则可以看到在数码管1上显示的数字为“5”。再将显示的数字“5”延时510ms,以造成视觉暂留效果;同时代码由P1.0送出。用同样的方法将其余3个数字“678”送数码管2,3,4显示,于是最后则可以在4位LED显示器上看到“5678”四个数字。为了使显示效果更加稳定,可以使每个数码管显示的数字不断的重复,但其中重复频率达到了一定的程度的时候,加之人眼睛本身的视觉暂留效果的作用,便可以看到相当稳定的“5678”四个数字。如下表,即为模拟以上的过程表(以共阴LED设置显示代码,共阳与此相反)。表2.4 模拟过程表2.2.3 LED显示器接口由LED的结构及工作原理可知,要想在LED上显示数据或者字母,则首先必须要把待显示的数据或者字母转换成LED的7位显示代码,方可显示相应的数字或者字母。通过实现这种转换有两种方法:一种是专用硬件译码器,另一种是专用软件译码器。本次设计采用的LED有12个,至于用哪种显示方式,在下面的设计过程中,我们将根据具体的功能要求选择相应的译码方式。在前面我们已经介绍过该设计的功能,该篮球计时计分器上所需要显示的LED有12个,不管用上面所介绍的动态显示还是静态显示,这都要给CPU带来很大的负担。而且可能会出现闪烁现象。为了避免该问题的出现,在该设计中我们选用硬件锁存的方法来解决上面的问题。所谓硬件锁存,就是在需要改变显示的数值时,只需要CPU重新给锁存芯片一次信号,把信号锁存到芯片即可完成显示。下面就分数显示和时间显示来分别设计。2.2.4 计时显示设计时间显示部分包括倒计时的分钟显示、秒钟显示、进攻时间显示6个LED块,由于时间显示相对分数显示来言,刷新比较频繁,所以采用并口显示,并用锁存器锁存,在这里我们选用CD4511。CD4511是将锁存、译码、驱动三种功能集于一身的“三合一”电路。锁存器的作用是避免在计数过程中出现跳数现象,便于观察和记录。译码器将BCD码转换成7段码,再经过大电流反相器,驱动共阴极LED数码管。译码器属于非时序电路,其输出状态与时钟无关,仅取决于输入的BCD码。如图2.6显示为CD4511引脚分布图,DA为BCD码输入端。ag是7段码输出端。 图2.6 CD4511引脚分布图CD4511为四七段BCD码译码器;它可以实现对BCD码的译码,但不对大于9的二进制数译码。其中,AD为BCD码输入端;ag是7段输出;LT为试灯脚;BI为消隐(灭灯);LT和BI接高电平(电源);LE端为选通脚,接低电平有效,当LT=0时LED数码管显示全亮笔段“8“字,可以检查数码管的质量好坏,有无笔段残缺现象。当BI=0时,强迫显示器消隐;当LE=0时选通,LE=1时锁存。考虑到正常工作时不需检查LED的全亮笔段,不必强迫LED消隐,因此将LT、BI端接UDD。需要加锁存功能时LE端应接上拉电阻,常态下呈高电平,选通信号为负脉冲。进行累计数译码显示时不需要锁存功能,LE端可固定接USS。LED数码管的每段工作电流IF一般为5mA10mA,7段全亮电流可达35mA70mA。考虑到依次显示09数字时每次平均只有4.5段发光。因此正常显示的平均电流为17mA32mA。LED的正向压降UF1.5V2V。CD4511选5V电源时,每段最大输出电流为40mA50mA。这表明必须采取限流措施,以免因驱动电流过大而损坏数码管。具体方法是在每个笔段驱动端串入几百欧的限流电阻R,将各段驱动电流限制在5mA10mA为宜。改变R值,可以调节IF,进而控制显示器亮度。选择UDD5V、10V、15V时,CD4511输出的高电平依次约为4V、9V和14V。举例说明:假设设UDD5V,IF10mA,UOH4V,UF3-4V。那么由此可以计算出R210。可选标称阻值为200的1/8W电阻。UF的准确值可用数字多用表的二极管挡测出。使用时,只要将CD4511的输入端与微机系统输出端口的某4个数据位相连,而CD4511的输出直接与LED的ag相连,便可实现对BCD的显示。下图为对1位BCD码的显示图2.7 CD4511对BCD码的显示时间显示电路如附录2.在该电路中,有单片机送给CD4511锁存器的BCD码由P1口的低4四位送出,并有P2口的P2.0P2.5分别对进攻时间的个位、进攻时间的十位、秒钟的个位、秒钟的十位、分钟的个位、分钟的十位进行锁存。当需要对某一位数码管进行刷新显示的时候,先通过P2口的相应端口将其LE引脚写0,再通过P1口将要写入的BCD码写入CD4511锁存器,并将LE重新写1,以把P1口的数据锁存到该锁存器,并通过LED显示下表为CD4511的逻辑功能表(表2.5)。表2.5 CD4511逻辑功能表2.2.5 分数显示设计分数显示部分同样也是用到了6个LED,但是相对时间显示部分,这部分的LEE显示刷新速度并不块,这里我们用串口工作方式来实现数据的传送显示。在串口显示过程中,如果要让数据通过led显示,我们还应该将串输出的数据进行串并转换,然后再送给LED,并把该数据锁存到LED的引脚。由于本次设计所用的LED是12个,为了尽量少的使用单片机的端口,我们使用集成电路CD4094。CD4094是8位移位寄存器,它主要完成串行输入,并行输出8位数据的功能,所以又叫8位串/并转换器。下图为CD4094的引脚图:图2.8 CD4094引脚分布图CD4094是8位移位寄存器,它主要完成串行输入,并行输出8位数据的功能,是典型的串行/并行转换芯片。其中引脚分布图如图2-9所示。其中2脚DATA为串行数据输入脚;3脚CLOCK为时钟脉冲输入;4、5、6、7、14、1、3、12、11脚为并行8位数据输出,前7脚与LED显示器ag引脚相连,11脚置空;8脚接地;16脚接电源5V。MCS-51系列单片机片内有一个串行IO端口,通过引脚 RXD(P30)和TXD(P31)可与外设电路进行全双工的 串行异步通信。 8051单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同应用场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的IO电路;方式1多用于双机之间或与外设电路的通信;方式2,3除有方式l的功能外,还可用作多机通信,以构成分布式多微机系统。串行端口有两个控制寄存器(SCON和PCON),用来设置工作方式、发送或接收的状态、特征位、数据传送的波特率(每秒传送的位数)以及作为中断标志等。串行端口有一个数据寄存器SBUF(在特殊功能寄存器中的字节地址为99H),该寄存器为发送和接收所共同。发送时,只写不读;接收时,只读不写。在一定条件下,向SBUF写入数据就启动了发送过程;读SBUF就启动了接收过程。串行通信的波特率可以程控设定。在不同工作方式中,由时钟振荡频率的分频值或由定时器T1的溢出率确定,使用十分方便灵活。表2.6为寄存器SCON内容定义表,表2.7为寄存器PCON位地址:表2.6 SCON各位内容定义位 D7 D6 D5 D4 D3 D2 D1 D0位地址9FH9EH9DH9CH9BH9AH99H98HSM0SM1SM2RENTB8RB8TIRI表2.7 PCON位地址 D7 D0SMOD本次设计的计分电路中,我们使用集成电路CD4094。CD4094是8位移位寄存器,它主要完成串行输入,并行输出8位数据的功能,是典型的串行/并行转换芯片。与单片机的连接如:附录2硬件原理图2.3 报警器蜂鸣器有两类3大品种。一类是压电式,一类是电磁式,电磁式又有两大品种,铁振膜式和动圈式,二者原理一样只是结构不同。所有蜂鸣器都有两种类型:纯蜂鸣器和带驱动的蜂鸣器,蜂鸣器都是用音频信号驱动的,都是交流驱动。报警器的种类很多,比如:扬声器,蜂鸣器等,本次设计采用的是电磁式蜂鸣器作为报警器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、震动膜片以及外壳等组成。接通电源后,振荡器产生的音频信号通过电磁线圈,使得电磁线圈产生了一个磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。在该设计中所用到的报警电路是一个小扬声器。扬声器的工作电流一般在上百毫安,而单片机的输出电流只有几十毫安,如果用单片机来直接驱动扬声器报警,扬声器的的声音较小。所以在该电路中,我们对单片机输出的报警信号进行放大,然后驱动扬声器产生报警信号。电路图如图2.9。图2.9报警电路2.4键盘设计对整个设计来说,键盘是整个设计的一个重要的部分。该部分的设计,可以决定对整个操作的难易程度,及该产品实用性。所以设计一个较好的键盘,对产品的适用性起至关重要的作用。在单片机设计中,键盘通常有两种:独立式键盘和矩阵键盘。由于在本设计中所用到的按键并不是很多,我就采用独立式键盘接入方式来对键盘进行设计。由于采用的是独立的按键接入方式,所以10个按键就需要十个端口,分别用P0P7和P2.6、P2.7这10个作为键盘的输入端。在前面的单片机介绍中可知。当P0口作为输入端口时,必须接上拉电阻,而P2口则不需要另接上拉电阻。所以键盘电路如图2.10。当按键被按下时,按键所对应的单片机管脚由搞电平变为低电平,通过内部程序对这些管脚的扫描,来判断是哪个管脚被按下,然后执行相应的操作。由于P2口的内部有上拉电阻,当手松开按键时,其内部电路自动回复为高电平;而对于P0口,内部没有自动回复高电平电路,所以要外接上拉电阻,当接在P0管脚上的按键被松开时,有外部电路的作用,可以将其自动回复高电平。其中按键58四个按键来设定时间,14四个按键用来调整两队的分数,9、10两个按键分别用来控制计时的开始与暂停和进攻时间清零。图2.10 键盘电路在前面的分数显示部分的刷新速度相对于时间显示较慢,所以采用的是串口显示根据设计的要求:当需要对两队分数调整的时,才对分数显示器进行刷新,所以该显示采用的是外部中断方式进行显示。如图2.10所示,当14按键的任意一个按键被按下时,都会给相应的管脚一个低电平,同时也给四与门电路芯片74LS21一个信号,通过四与门电路给单片机的外部中断入口一个中断信号,来处理外部中断分数的显示。该设计的原理图如附录23 软件编程及调试软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为Intel HEX格式或二进制格式(Binary)文件拷入单片机芯片内。这里我们使用的是汇编语言进行编程设计。3.1汇编语言特点简介汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序通常由三部分组成:指令、伪指令和宏指令。汇编程序的每一句指令只能对应实际操作过程中的一个

    注意事项

    本文(单片机篮球计时计分器课程设计.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开