欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于51单片机的无线篮球计分器.docx

    • 资源ID:18242906       资源大小:1.10MB        全文页数:22页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    基于51单片机的无线篮球计分器.docx

    1、基于51单片机的无线篮球计分器单片机课程设计基于51单片机的无线篮球计分器设计专业年级: 2012级电气工程及其自动化 参与成员:邹 勇(P1*4)尚阿琪(P1*5)刘甜甜(P1*5)马 辉(P1*7)张大为(P1*5)贾双梅(P1*5)指导老师: 黄靖涛 摘 要目前,随着人民生活条件的改善以及对各种比赛项目的热爱和欣赏,采取有线机器来进行记分的中小型比赛也开始减少,取而代之的是利用无线控制进行记分。无线记分系统不再沿用过去的记分功能,而是利用无线发送与接收的形式工作,既节省了材料费用,也使记分器工作的时候比较不受约束,且可以任意挪动。因此为了使记分更加方便并且记分设备的携带更加便捷,无线记分

    2、设备在国内外的研究都变得更加广泛和深入。本文主要设计了一个基于CC1101模块的无线记分器,采用的是STC89C52芯片,来进一步研究射频收发模块与单片机的结合,并实现无线记分功能。本设计的无线记分器分别由记录端和接收显示端这两部分构成。记录端由单片机最小系统、CC1101无线发射模块、按键、指示灯等组成,单片机读取按键后把数据利用CC1101无线发射模块发送给接收显示端进行显示。接收显示端由单片机最小系统、CC1101无线接收模块、四位数码显示模块等组成,无线接收模块将接收的数据送单片机处理后,再将数据由数码管显示出来。根据该无线记分器的设计框图,进行材料的选购以及硬件的搭建,并用C语言编写

    3、程序实现记分功能,分别利用四个功能按键控制A、B两队的加分和减分,在记录端数码管上显示加分或者减分,在接收端数码管上显示两队的比分情况。关键词:无线; 射频收发模块; 记分器目录摘 要 2一、系统方案设计 41.1 系统构成框图及基本功能介绍 41.2 系统各部分简介 4二、硬件电路设计 52.1 51单片机最小系统 52.2 无线收发部分 62.2.1 CC1101模块简介 62.2.2 无线模块单片机接口 72.3 74HC573芯片介绍 72.4 触摸按键介绍 82.5 数码管模块介绍 92.6 各模块连接概述 10三、软件设计 113.1 软件设计综述 113.2 C程序设计 12四、

    4、硬件搭建及测试 124.1 程序的编写及烧录 124.2 硬件测试 13总 结 14附 录 15附录1 C程序设计 15附录2硬件调试效果图 19一、系统方案设计1.1系统构成框图及基本功能介绍本设计主要采用STC89C52单片机制造而成,由无线发送模块和无线接收模块组成无线收发系统,按键区采用TTP226触摸按键,设置四个功能按键,分别控制A、B两队的加减分情况,显示区分为两个部分,一部分由一组四位数码管模块形成,处于发送端显示加或减的功能;另一部分由一组八位数码管模块形成,处于接收端显示A、B两队比分情况。同时,采用74HC573锁存控制器来控制数据在数码管上的输出。系统构成框图如图1-1

    5、所示。图1-1 系统构成框图1.2系统各部分简介(1)单片机数据在数码管上的显示。单片机的工作电压为5V,如果直接将数码管与单片机连接,则会导致电压不够,数码管显示不清。本设计中主要是采取在单片机与数码管之间连接了74HC573芯片,使得数码管上成功显示加减分以及A、B两队的比分情况,该芯片起到了电流放大以及程序锁存的作用。 (2)CC1101无线模块的电源输入。由于该模块工作于1.8-3.6V电源电压之间,故采用3.3V电源稳压模块对其进行稳压,从而使该无线模块可以正常工作。(3)CC1101无线发送与接收模块之间信息的传送。CC1101的发送器部分是基于RF频率直接合成的,将一个晶体连接至

    6、XOSC_Q1和 XOSC_Q2。由晶体振荡器产生合成器的参考频率,以及ADC和数字部件的时钟,同时以一个四线的串行外设接口来进行配置和存取数据缓冲器。另一方面,CC1101中具有一个低功耗中频接收机。低噪声放大器将接收到的射频信号放大,并在进行积分求取的过程中降压转换至中频。在IF下,I/Q信号被模拟数字转换器数字化,而且均以数字形式完成自动增益控制、精确信道滤波、调制解调位和数据包同步。二、硬件电路设计2.1 51单片机最小系统图2-1 STC89C52单片机最小系统本设计主要采用的是STC89C52芯片。该芯片是由STC公司出产的一款性能强,功耗低,具有8K在系统可编程Flash存储器的

    7、八位微控制器。STC89C52芯片具备了传统51单片机所不具备的功能,虽然其使用的是经典的MCS-51内核,但它又做了很多的改进。同时,STC89C52因其在单芯片上拥有8位CPU和在系统可编程Flash存储器,更是为那些嵌入式控制应用系统提供了灵活有效的解决方案。如图2-1所示为51单片机最小系统图,它由电源部分、复位电路部分、和晶振电路组成。2.2无线收发部分2.2.1 CC1101模块简介CC1101是一款用于极低功耗RF应用的Sub-GHz高性能射频收发器。其主要是针对工业方面、科技研究方面和医疗方面以及300-348MHz、387-464MHz和779-928MHz这几个频带的短距离

    8、无线通信设备。该无线收发模块的最大传输速率可以达到500Kbps,而且在空旷的地方可达200-300米的传输距离,可以从软件方面来对波特率进行修改,具有无线唤醒等功能,支持低功率电磁波激活功能 ,无线唤醒处于睡眠状态的低功耗设备,灵敏度达到-110dBm,具有很高的可靠性,可广泛应用于各种场合的短距离无线通信领域。其通常应用于300/779MHz ISM/SRD频带的超低功耗无线应用、无线计量、无线告警、楼宇自动化和安全系统等11-13。 CC1101 RF收发器集成了一个高度可配置的基带调制解调器,支持数据包的处理、突发传输、数据的缓冲、空闲信道的评估、指示链路质量以及无线唤醒等硬件方面的处

    9、理。我们还可以通过一个串行外设接口对CC1101的重要运行参数和64字节RX和TX的先入先出数据缓存器进行控制。CC1101在一个典型的系统中经常会与一个微控制器以及一些额外的无源组件结合应用14-15。其关键特性如下:(1)RF性能灵敏度高且电流消耗较低,在所有可用的频率带下,具有高达+10dBm的可编程输出功率、1.2到500kBaud的可编程数据速率以及卓越的接收机选择性和阻断性能,可用频带有:300-348MHz、387-464MHz和779-928MHz。(2)模拟特性 支持2-FSK、GFSK、MSK以及OOK,灵活的ASK波形整形,建立时间只需90s,能够迅速地锁定频率合成器,对

    10、于很多跳频系统都非常适用,同时利用自动频率补偿调整频率合成器到实际接收信号的中心频率,并且拥有集成的模拟温度传感器。(3)数字特性 支持数据包导向系统、校验地址、检测同步字、灵活的数据包长度以及自动CRC处理;可用一次“突发”数据传输对所有寄存器进行编程,具有高效的串行外设接口,数字RSSI输出,可编程信道滤波器带宽,可编程载波监听指示器,可编程前导质量指示器;可用于增强随机噪声伪同步字检测的保护,支持发送前自动空闲信道评估,支持所有数据包的链路质量指示,可选数据自动白化和去白。2.2.2无线模块单片机接口图2-2 无线模块与单片机连接图如图2-2所示、无线模块的SI、SO、CSN、GDO0、

    11、GDO2、SCLK分别与单片机的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5相连。通过这6个I/O口与CC1101芯片SPI总线进行数据的交换,进而完成收发等功能。2.3 74HC573芯片介绍74HC573芯片是一款具有三态输出的八路锁存器,用于驱动电容相对较高或者阻抗相对较低的负载,实现缓冲寄存器、串并口以及双向总线驱动器等。当该芯片锁存允许端,即LE端,为高逻辑电平时,输出端Q输出数据跟数据输入端D一致;当LE端为低逻辑电平时,输出端进入锁存状态,无论输入为何种电平,输出Q均保持上一次的电平状态,即保持预先设置好的数据。74HC573芯片的输出使能端(低电平有效),可用来设

    12、置输出口的工作状态。当为高电平时,无论锁存允许端和数据输入端为何种电平,输出都是高阻态。在处于高阻态的状态时,输出端无法进行读取也不能进行驱动总线,即芯片处于不可控状态。其芯片引脚图如图2-3所示。图2-3 74HC573芯片引脚图2.4触摸按键介绍本次无线记分器设计采用的是一款TTP226触摸式按键,KEY1-KEY8接口与TTP226的D0-D7输入接口连接,输出接口Q0-Q7与OUT1-OUT8接口相连,将其安置在记分器的无线发射端来控制A、B两队的加减分。这是一种接触板检测IC,一共提供了八个触摸按键,并且内含八个指示灯,每个按键对应一个指示灯,当按下某个按键时,与其对应的指示灯就会亮

    13、起,证明该按键在工作。在软件编程的时候,设置1键为A队的加分键、2键为A队的减分键,设置3键为B队的加分键、4键为B队的减分键。TTP226触摸式按键不再延续传统固定pad尺寸的直接按钮键,而且接触键在交直流应用中的特点是功耗较低、工作电压较宽。其具体特点如下:工作电压为2.0V5.5V;在工作电压为3V时,工作电流典型值为80uA,最大值为160uA,输出刷新率约为55Hz;人体接触检测相对比较稳定,取代了传统直接切换的按键;由按键中的选项可以分别选择直接模式、矩阵模式和串行模式,直接模式下最多八个输入和八个输出。在上电之后,TTP226触摸式按键有一段稳定时间,在此期间触碰触摸键区功能无效

    14、,TTP226的是0.81.0s,而且始终进行自动校准,当任何按键都不被触碰时,TTP226重新的校准周期是0.81.0s。如图2-4所示TTP226触摸式按键电路原理图。图2-4 TTP226触摸式按键电路原理图2.5 数码管模块介绍本次无线记分器设计采用一个八位数码管显示模块以及一个四位数码管显示模块来进行加、减分功能的显示以及A、B两队的比分情况。在无线发射端设计一个四位数码管来显示加减功能,当按下A队或者B队加分键的时候,该数码管模块则显示“Add”;当按下A队或者B队减分键的时候,该数码管模块则显示“dEL”。该四位数码管模块的电路原理图如图3-4所示。在无线接收端设计一个八位数码管

    15、来显示A、B两队的比分情况,初始值设置为“000-000”,分别通过A、B两队的加减分键来对比分情况进行调整,如A队得50分,B队得42分,则数码管显示为“050-042”。图2-5 四位数码管模块电路原理图 2.6各模块连接概述对于无线发送端,采用电源稳压模块对整个单片机系统进行稳压,单片机正常工作电压为5V,本设计中稳压在5.35V左右,也可以供单片机小系统正常工作。设置单片机P2.0-P2.5接口分别与CC1101模块的SCK、MOSI、GDO2、MISO、CSN、GDO0接口相连,由于CC1101模块需要的是1.8-3.6V的电源输入,故采用3.3V电源稳压模块对无线发送模块进行稳压。

    16、将P3.0-P3.7接口与TTP226触摸按键的OUT1-OUT8接口相连,P0.0-P0.7接口与74HC573芯片的D0-D7输入引脚相连,P2.7接口与芯片LE端相连,再将74HC573芯片的Q0-Q7输出引脚连向四位数码显示模块的A-DP接口,且将单片机P1.4-P1.7接口分别与数码显示模块的另外四个接口相连。无线发送端电路原理图见附录2。 对于无线接收端,稳压方面与无线发送端一致,设置单片机P1.1-P1.6接口分别与CC1101模块的SCK、MOSI、GDO2、MISO、CSN、GDO0接口相连,同样由于CC1101模块需要的是1.8-3.6V的电源输入,故采用3.3V电源稳压模

    17、块对无线接收模块进行稳压。在无线接收端设置了两个74HC573芯片,将P0.0-P0.7接口与其中一个74HC573芯片的D0-D7输入引脚相连,P2.6接口与芯片LE端相连,再将74HC573芯片的Q0-Q7输出引脚连向八位数码显示模块的A-DP接口。而另外一个74HC573芯片的LE端与P2.7接口相连,输出接口Q0-Q7与数码显示模块的另外八个接口相连。三、软件设计3.1 软件设计综述本设计软件设计方面的构思方法比较简洁,容易理解,方法也比较新颖,没有复杂的程序嵌套。程序开始时先进行初始化,定义各个端口,并且对各函数进行声明,再对按键进行扫描,查看是否有键按下,若有键按下,判断是哪个键按

    18、下,首先判断是A队评分区的按键按下,还是B队评分区的按键按下。若判定为A队评分区的按键按下,再判断是加分键,还是减分键,若为加分键,则给A队进行加分处理;若为减分键,则给A队进行减分处理。若判定为B队评分区的按键按下,再判断是加分键,还是减分键,若为加分键,则给B队进行加分处理;若为减分键,则给B队进行减分处理。然后再对数码管进行扫描,加以显示;若无键按下,则不执行任何程序,直接结束。主程序流程图如图4-1所示。图3-1 主程序流程图3.2 C程序设计该无线记分器设计一共设置了四个功能按键分别实现A、B两队加减分功能,1号键实现A队加分功能,连续触摸即可对A队进行连续加分,为防止出现加分错误,

    19、设置2号键对A队进行减分控制;3号键实现B队加分功能,连续触摸即可对B队进行连续加分,同样,为防止出现加分错误,设置4号键对B队进行减分控制。当按下A队或者B队加分键的时候,无线发射端上的四位数码管模块则显示“Add”;当按下A队或者B队减分键的时候,该数码管模块则显示“dEL”。而无线接收端设计的显示A、B两队比分情况的八位数码管,初始值设置为“000-000”,分别通过A、B两队的加减分键来对比分情况进行调整,如A队得57分,B队得42分,则数码管显示为“057-042”,中间两位数码管用于显示“-”来区分A、B两队的比分。程序见附录1。四、硬件搭建及测试4.1 程序的编写及烧录本次设计采

    20、用C语言进行程序编写,并使用Keil软件进行程序的编译,而软件调试主要就是根据编译时产生的错误进行查找和修改。编写界面如4-1所示。图4-1 编写界面程序编译操作步骤:1、为该工程建立一个文件夹“无线发送”;2、新建一个project文件“无线发送.uv4”,将其保存在文件夹“无线发送”中,并设置单片机型号,即目标器件为STC89C52;3、编辑源程序,建立源文件“无线发送.c”,再保存在文件夹“无线发送”中;4、在工程项目组中添加源文件“无线发送.c;5、设置调试环境,选择调试模式为硬件仿真,将实物与计算机的USB连接,选择串口为COM1,设置串行口波特率为115200bps,烧录界面如图4

    21、-2所示;图4-2 烧录界面4.2 硬件测试程序编译成功之后,启动专门用于STC系列单片机的STC-ISP软件,选择正确的单片机型号,即STC89C52,再选择编译产生的.HEX文件,设置串口为COM1,最高波特率为115200bps。之后,使目标板处于断电状态,点击下载按钮,该软件将与单片机进行握手,此时给目标板上电,将目标程序烧录到单片机中。然后,对实物进行检测调试。单片机工作电压为5V左右,故用电源稳压模块对电源电压进行手动调整,并用万用表对电压进行测量,确保电源电压限定在单片机工作电压范围内。首先,打开无线发送和接收两端的电源开关,初始值设置为“000-000”,显示效果图见附录2。如

    22、果此时比赛开始A队得一分,触摸一下1号按键,发送端数码管显示“Add”,此时接收端数码管显示比分为“001-000”;如果之后B队又得两分,长触3号按键,发送端数码管依然显示“Add”,B队分数跳动两下,松开按键,此时接收端数码管显示比分为“001-002”。无线记分器显示效果图见附录2。总 结本次设计过程中也遇到了不少问题,并得到了解决,以下对其中的几个问题加以总结。 (1)CC1101无线模块在发送以及接收信号时可能受到干扰而导致不能及时向单片机系统传输数据,编写程序时采用一定的延时,来避免这种干扰。 (2)最初采购了四个共阳的二位数码管和两个共阳的四位数码管,利用这些数码管焊接之后,记分

    23、器表面布线复杂,而且由于焊接的问题导致接触不良,显示乱码,故改用焊接好的八位数码管显示模块以及四位数码管显示模块。 (3)在向数码管发送程序时,LED显示有时候会出现重影,可以在改变段的输出内容之前,先令所有的位都停止显示,即开位、送段码、延时15ms、关位,再下一位,就可进行消隐。当然这次的设计中也还存在着一定的不足,比如说设计中使用的触摸按键在工作时,用手触摸A组加分按钮,就容易触碰到A组的减分按钮,导致A组的加分键和减分键指示灯同时亮起,所以如果条件允许的话,可以采用设计更好的按键模块来代替这次使用的触摸按键。附 录附录1 C程序设计#include #define DataPort P

    24、0 /定义数据端口 程序中遇到DataPort 则用P0 替换#define a 1#define b 0sbit LATCH1=P27;/定义锁存使能端口 段锁存sbit LATCH2=P26;/位锁存unsigned char code dofly_DuanMa10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/ 显示段码值09unsigned char code dofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/分别对应相应的数码管点亮,即位码unsigned char Tem

    25、pDataA3; /A队存储显示值的全局变量unsigned char TempDataB3; /B队存储显示值的全局变量unsigned int numA=0; /A队要显示的数unsigned int numB=0; /B队要显示的数void Delaysmg(unsigned int t) while(-t);void Display_flag() unsigned char i; for(i=3;i=4;i+) DataPort=0; /清空数据,避免交替重影 LATCH1=1; /段锁存 LATCH1=0; DataPort=dofly_WeiMai; /取位码 LATCH2=1;

    26、/位锁存 LATCH2=0; DataPort=0xBF; /取显示数据,段码 LATCH1=1; /段锁存 LATCH1=0; Delaysmg(200); /扫描间隙延时 void Display(unsigned char FirstBit,unsigned char Num, unsigned char name ) unsigned char i; for(i=0;iNum;i+) DataPort=0; /清空数据,避免交替重影 LATCH1=1; /段锁存 LATCH1=0; DataPort=dofly_WeiMai+FirstBit-1; /取位码 LATCH2=1; /位锁

    27、存 LATCH2=0; if(name) DataPort=TempDataAi; /取显示数据,段码 else DataPort=TempDataBi; /取显示数据,段码 LATCH1=1; /段锁存 LATCH1=0; Delaysmg(200); / 扫描间隙延时 void Display_A() TempDataA0=dofly_DuanManumA/1000;/分解显示信息,如要显示57,则57/10=5 57%10=7 TempDataA1=dofly_DuanMa(numA%1000)/100; TempDataA2=dofly_DuanMa(numA%1000)%100)/1

    28、0; Display(1,3,a); /A队 Display_flag(); /显示”-“void Display_B() TempDataB0=dofly_DuanManumB/1000;/分解显示信息,如要显示57,则57/10=5 57%10=7 TempDataB1=dofly_DuanMa(numB%1000)/100; TempDataB2=dofly_DuanMa(numB%1000)%100)/10; Display(6,3,b); /B队 Display_flag(); /显示”-“#include #include #define INT8U unsigned char#d

    29、efine INT16U unsigned int#define WRITE_BURST 0x40 /连续写入#define READ_SINGLE 0x80 /读#define READ_BURST 0xC0 /连续读#define BYTES_IN_RXFIFO 0x7F /接收缓冲区的有效字节数#define CRC_OK 0x80 /CRC校验通过位标志 /*sbit SCK=P11;sbit MOSI=P12;sbit GDO2=P13;sbit MISO=P14;sbit CSN=P15;sbit GDO0=P16;/*sbit LED =P10;/*/接收函数主函数部分void

    30、main(void) INT8U leng =0; INT8U RxBuf8=0; INT8U PaTabel8 = 0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60; CpuInit(); POWER_UP_RESET_CC1100(); halRfWriteRfSettings(); halSpiWriteBurstReg(CCxxx0_PATABLE, PaTabel, 8); while(1) leng =8; / 预计接受8 bytes if(halRfReceivePacket(RxBuf,&leng) if(RxBuf0 = 0xA2)/接收到A队加分信号 numA=numA+1;


    注意事项

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

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开