首页 基于51单片机的无线篮球计分器

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

举报
开通vip

基于51单片机的无线篮球计分器单片机课程设计基于51单片机的无线篮球计分器设计专业年级:2012级电气工程及其自动化参与成员:邹勇(P121813544)尚阿琪(P121813545)刘甜甜(P121813535)马辉(P121813517)张大为(P121813555)贾双梅(P122113555)指导老师:黄靖涛摘要目前,随着人民生活条件的改善以及对各种比赛项目的热爱和欣赏,采取有线机器来进行记分的中小型比赛也开始减少,取而代之的是利用无线控制进行记分。无线记分系统不再沿用过去的记分功能,而是利用无线发送与接收的形式工作,既节省了材料费用,...

基于51单片机的无线篮球计分器
单片机课程 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 基于51单片机的无线篮球计分器设计专业年级:2012级电气 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 及其自动化参与成员:邹勇(P121813544)尚阿琪(P121813545)刘甜甜(P121813535)马辉(P121813517)张大为(P121813555)贾双梅(P122113555)指导老师:黄靖涛摘要目前,随着人民生活条件的改善以及对各种比赛项目的热爱和欣赏,采取有线机器来进行记分的中小型比赛也开始减少,取而代之的是利用无线控制进行记分。无线记分系统不再沿用过去的记分功能,而是利用无线发送与接收的形式工作,既节省了材料费用,也使记分器工作的时候比较不受约束,且可以任意挪动。因此为了使记分更加方便并且记分设备的携带更加便捷,无线记分设备在国内外的研究都变得更加广泛和深入。本文主要设计了一个基于CC1101模块的无线记分器,采用的是STC89C52芯片,来进一步研究射频收发模块与单片机的结合,并实现无线记分功能。本设计的无线记分器分别由记录端和接收显示端这两部分构成。记录端由单片机最小系统、CC1101无线发射模块、按键、指示灯等组成,单片机读取按键后把数据利用CC1101无线发射模块发送给接收显示端进行显示。接收显示端由单片机最小系统、CC1101无线接收模块、四位数码显示模块等组成,无线接收模块将接收的数据送单片机处理后,再将数据由数码管显示出来。根据该无线记分器的设计框图,进行材料的选购以及硬件的搭建,并用C语言编写程序实现记分功能,分别利用四个功能按键控制A、B两队的加分和减分,在记录端数码管上显示加分或者减分,在接收端数码管上显示两队的比分情况。关键词:无线;射频收发模块;记分器目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc423265150"摘要PAGEREF_Toc423265150\h2HYPERLINK\l"_Toc423265151"一、系统 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 设计PAGEREF_Toc423265151\h4HYPERLINK\l"_Toc423265152"1.1系统构成框图及基本功能介绍PAGEREF_Toc423265152\h4HYPERLINK\l"_Toc423265153"1.2系统各部分简介PAGEREF_Toc423265153\h4HYPERLINK\l"_Toc423265154"二、硬件电路设计PAGEREF_Toc423265154\h5HYPERLINK\l"_Toc423265155"2.151单片机最小系统PAGEREF_Toc423265155\h5HYPERLINK\l"_Toc423265156"2.2无线收发部分PAGEREF_Toc423265156\h6HYPERLINK\l"_Toc423265157"2.2.1CC1101模块简介PAGEREF_Toc423265157\h6HYPERLINK\l"_Toc423265158"2.2.2无线模块单片机接口PAGEREF_Toc423265158\h7HYPERLINK\l"_Toc423265159"2.374HC573芯片介绍PAGEREF_Toc423265159\h7HYPERLINK\l"_Toc423265160"2.4触摸按键介绍PAGEREF_Toc423265160\h8HYPERLINK\l"_Toc423265161"2.5数码管模块介绍PAGEREF_Toc423265161\h9HYPERLINK\l"_Toc423265162"2.6各模块连接概述PAGEREF_Toc423265162\h10HYPERLINK\l"_Toc423265163"三、软件设计PAGEREF_Toc423265163\h11HYPERLINK\l"_Toc423265164"3.1软件设计综述PAGEREF_Toc423265164\h11HYPERLINK\l"_Toc423265165"3.2C程序设计PAGEREF_Toc423265165\h12HYPERLINK\l"_Toc423265166"四、硬件搭建及测试PAGEREF_Toc423265166\h12HYPERLINK\l"_Toc423265167"4.1程序的编写及烧录PAGEREF_Toc423265167\h12HYPERLINK\l"_Toc423265168"4.2硬件测试PAGEREF_Toc423265168\h13HYPERLINK\l"_Toc423265169"总结PAGEREF_Toc423265169\h14HYPERLINK\l"_Toc423265170"附录PAGEREF_Toc423265170\h15HYPERLINK\l"_Toc423265171"附录1C程序设计PAGEREF_Toc423265171\h15HYPERLINK\l"_Toc423265172"附录2硬件调试效果图PAGEREF_Toc423265172\h19一、系统方案设计1.1系统构成框图及基本功能介绍本设计主要采用STC89C52单片机制造而成,由无线发送模块和无线接收模块组成无线收发系统,按键区采用TTP226触摸按键,设置四个功能按键,分别控制A、B两队的加减分情况,显示区分为两个部分,一部分由一组四位数码管模块形成,处于发送端显示加或减的功能;另一部分由一组八位数码管模块形成,处于接收端显示A、B两队比分情况。同时,采用74HC573锁存控制器来控制数据在数码管上的输出。系统构成框图如图1-1所示。图1-1系统构成框图1.2系统各部分简介(1)单片机数据在数码管上的显示。单片机的工作电压为5V,如果直接将数码管与单片机连接,则会导致电压不够,数码管显示不清。本设计中主要是采取在单片机与数码管之间连接了74HC573芯片,使得数码管上成功显示加减分以及A、B两队的比分情况,该芯片起到了电流放大以及程序锁存的作用。(2)CC1101无线模块的电源输入。由于该模块工作于1.8-3.6V电源电压之间,故采用3.3V电源稳压模块对其进行稳压,从而使该无线模块可以正常工作。(3)CC1101无线发送与接收模块之间信息的传送。CC1101的发送器部分是基于RF频率直接合成的,将一个晶体连接至XOSC_Q1和XOSC_Q2。由晶体振荡器产生合成器的参考频率,以及ADC和数字部件的时钟,同时以一个四线的串行外设接口来进行配置和存取数据缓冲器。另一方面,CC1101中具有一个低功耗中频接收机。低噪声放大器将接收到的射频信号放大,并在进行积分求取的过程中降压转换至中频。在IF下,I/Q信号被模拟数字转换器数字化,而且均以数字形式完成自动增益控制、精确信道滤波、调制解调位和数据包同步。二、硬件电路设计2.151单片机最小系统图2-1STC89C52单片机最小系统本设计主要采用的是STC89C52芯片。该芯片是由STC公司出产的一款性能强,功耗低,具有8K在系统可编程Flash存储器的八位微控制器。STC89C52芯片具备了传统51单片机所不具备的功能,虽然其使用的是经典的MCS-51内核,但它又做了很多的改进。同时,STC89C52因其在单芯片上拥有8位CPU和在系统可编程Flash存储器,更是为那些嵌入式控制应用系统提供了灵活有效的解决方案。如图2-1所示为51单片机最小系统图,它由电源部分、复位电路部分、和晶振电路组成。2.2无线收发部分2.2.1CC1101模块简介CC1101是一款用于极低功耗RF应用的Sub-GHz高性能射频收发器。其主要是针对工业方面、科技研究方面和医疗方面以及300-348MHz、387-464MHz和779-928MHz这几个频带的短距离无线通信设备。该无线收发模块的最大传输速率可以达到500Kbps,而且在空旷的地方可达200-300米的传输距离,可以从软件方面来对波特率进行修改,具有无线唤醒等功能,支持低功率电磁波激活功能,无线唤醒处于睡眠状态的低功耗设备,灵敏度达到-110dBm,具有很高的可靠性,可广泛应用于各种场合的短距离无线通信领域。其通常应用于300/779MHzISM/SRD频带的超低功耗无线应用、无线计量、无线告警、楼宇自动化和安全系统等[11-13]。CC1101RF收发器集成了一个高度可配置的基带调制解调器,支持数据包的处理、突发传输、数据的缓冲、空闲信道的评估、指示链路质量以及无线唤醒等硬件方面的处理。我们还可以通过一个串行外设接口对CC1101的重要运行 参数 转速和进给参数表a氧化沟运行参数高温蒸汽处理医疗废物pid参数自整定算法口腔医院集中消毒供应 和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波形整形,建立时间只需90μs,能够迅速地锁定频率合成器,对于很多跳频系统都非常适用,同时利用自动频率补偿调整频率合成器到实际接收信号的中心频率,并且拥有集成的模拟温度传感器。(3)数字特性支持数据包导向系统、校验地址、检测同步字、灵活的数据包长度以及自动CRC处理;可用一次“突发”数据传输对所有寄存器进行编程,具有高效的串行外设接口,数字RSSI输出,可编程信道滤波器带宽,可编程载波监听指示器,可编程前导质量指示器;可用于增强随机噪声伪同步字检测的保护,支持发送前自动空闲信道评估,支持所有数据包的链路质量指示,可选数据自动白化和去白。2.2.2无线模块单片机接口图2-2无线模块与单片机连接图如图2-2所示、无线模块的SI、SO、CSN、GDO0、GDO2、SCLK分别与单片机的P0.0、P0.1、P0.2、P0.3、P0.4、P0.5相连。通过这6个I/O口与CC1101芯片SPI总线进行数据的交换,进而完成收发等功能。2.374HC573芯片介绍74HC573芯片是一款具有三态输出的八路锁存器,用于驱动电容相对较高或者阻抗相对较低的负载,实现缓冲寄存器、串并口以及双向总线驱动器等。当该芯片锁存允许端,即LE端,为高逻辑电平时,输出端Q输出数据跟数据输入端D一致;当LE端为低逻辑电平时,输出端进入锁存状态,无论输入为何种电平,输出Q均保持上一次的电平状态,即保持预先设置好的数据。74HC573芯片的输出使能端(低电平有效),可用来设置输出口的工作状态。当为高电平时,无论锁存允许端和数据输入端为何种电平,输出都是高阻态。在处于高阻态的状态时,输出端无法进行读取也不能进行驱动总线,即芯片处于不可控状态。其芯片引脚图如图2-3所示。图2-374HC573芯片引脚图2.4触摸按键介绍本次无线记分器设计采用的是一款TTP226触摸式按键,KEY1-KEY8接口与TTP226的D0-D7输入接口连接,输出接口Q0-Q7与OUT1-OUT8接口相连,将其安置在记分器的无线发射端来控制A、B两队的加减分。这是一种接触板检测IC,一共提供了八个触摸按键,并且内含八个指示灯,每个按键对应一个指示灯,当按下某个按键时,与其对应的指示灯就会亮起,证明该按键在工作。在软件编程的时候,设置1键为A队的加分键、2键为A队的减分键,设置3键为B队的加分键、4键为B队的减分键。TTP226触摸式按键不再延续传统固定pad尺寸的直接按钮键,而且接触键在交直流应用中的特点是功耗较低、工作电压较宽。其具体特点如下:工作电压为2.0V~5.5V;在工作电压为3V时,工作电流典型值为80uA,最大值为160uA,输出刷新率约为55Hz;人体接触检测相对比较稳定,取代了传统直接切换的按键;由按键中的选项可以分别选择直接模式、矩阵模式和串行模式,直接模式下最多八个输入和八个输出。在上电之后,TTP226触摸式按键有一段稳定时间,在此期间触碰触摸键区功能无效,TTP226的是0.8~1.0s,而且始终进行自动校准,当任何按键都不被触碰时,TTP226重新的校准周期是0.8~1.0s。如图2-4所示TTP226触摸式按键电路原理图。图2-4TTP226触摸式按键电路原理图2.5数码管模块介绍本次无线记分器设计采用一个八位数码管显示模块以及一个四位数码管显示模块来进行加、减分功能的显示以及A、B两队的比分情况。在无线发射端设计一个四位数码管来显示加减功能,当按下A队或者B队加分键的时候,该数码管模块则显示“Add”;当按下A队或者B队减分键的时候,该数码管模块则显示“dEL”。该四位数码管模块的电路原理图如图3-4所示。在无线接收端设计一个八位数码管来显示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电源稳压模块对无线发送模块进行稳压。将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电源稳压模块对无线接收模块进行稳压。在无线接收端设置了两个74HC573芯片,将P0.0-P0.7接口与其中一个74HC573芯片的D0-D7输入引脚相连,P2.6接口与芯片LE端相连,再将74HC573芯片的Q0-Q7输出引脚连向八位数码显示模块的A-DP接口。而另外一个74HC573芯片的LE端与P2.7接口相连,输出接口Q0-Q7与数码显示模块的另外八个接口相连。三、软件设计3.1软件设计综述本设计软件设计方面的构思方法比较简洁,容易理解,方法也比较新颖,没有复杂的程序嵌套。程序开始时先进行初始化,定义各个端口,并且对各函数进行声明,再对按键进行扫描,查看是否有键按下,若有键按下,判断是哪个键按下,首先判断是A队评分区的按键按下,还是B队评分区的按键按下。若判定为A队评分区的按键按下,再判断是加分键,还是减分键,若为加分键,则给A队进行加分处理;若为减分键,则给A队进行减分处理。若判定为B队评分区的按键按下,再判断是加分键,还是减分键,若为加分键,则给B队进行加分处理;若为减分键,则给B队进行减分处理。然后再对数码管进行扫描,加以显示;若无键按下,则不执行任何程序,直接结束。主程序流程图如图4-1所示。图3-1主程序流程图3.2C程序设计该无线记分器设计一共设置了四个功能按键分别实现A、B两队加减分功能,1号键实现A队加分功能,连续触摸即可对A队进行连续加分,为防止出现加分错误,设置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程序的编写及烧录本次设计采用C语言进行程序编写,并使用Keil软件进行程序的编译,而软件调试主要就是根据编译时产生的错误进行查找和修改。编写界面如4-1所示。图4-1编写界面程序编译操作步骤:1、为该工程建立一个文件夹“无线发送”;2、新建一个project文件“无线发送.uv4”,将其保存在文件夹“无线发送”中,并设置单片机型号,即目标器件为STC89C52;3、编辑源程序,建立源文件“无线发送.c”,再保存在文件夹“无线发送”中;4、在工程项目组中添加源文件“无线发送.c;5、设置调试环境,选择调试模式为硬件仿真,将实物与计算机的USB连接,选择串口为COM1,设置串行口波特率为115200bps,烧录界面如图4-2所示;图4-2烧录界面4.2硬件测试程序编译成功之后,启动专门用于STC系列单片机的STC-ISP软件,选择正确的单片机型号,即STC89C52,再选择编译产生的.HEX文件,设置串口为COM1,最高波特率为115200bps。之后,使目标板处于断电状态,点击下载按钮,该软件将与单片机进行握手,此时给目标板上电,将目标程序烧录到单片机中。然后,对实物进行检测调试。单片机工作电压为5V左右,故用电源稳压模块对电源电压进行手动调整,并用万用 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 对电压进行测量,确保电源电压限定在单片机工作电压范围内。首先,打开无线发送和接收两端的电源开关,初始值设置为“000--000”,显示效果图见附录2。如果此时比赛开始A队得一分,触摸一下1号按键,发送端数码管显示“Add”,此时接收端数码管显示比分为“001--000”;如果之后B队又得两分,长触3号按键,发送端数码管依然显示“Add”,B队分数跳动两下,松开按键,此时接收端数码管显示比分为“001--002”。无线记分器显示效果图见附录2。总结本次设计过程中也遇到了不少问题,并得到了解决,以下对其中的几个问题加以总结。(1)CC1101无线模块在发送以及接收信号时可能受到干扰而导致不能及时向单片机系统传输数据,编写程序时采用一定的延时,来避免这种干扰。(2)最初采购了四个共阳的二位数码管和两个共阳的四位数码管,利用这些数码管焊接之后,记分器表面布线复杂,而且由于焊接的问题导致接触不良,显示乱码,故改用焊接好的八位数码管显示模块以及四位数码管显示模块。(3)在向数码管发送程序时,LED显示有时候会出现重影,可以在改变段的输出内容之前,先令所有的位都停止显示,即开位、送段码、延时1~5ms、关位,再下一位,就可进行消隐。当然这次的设计中也还存在着一定的不足,比如说设计中使用的触摸按键在工作时,用手触摸A组加分按钮,就容易触碰到A组的减分按钮,导致A组的加分键和减分键指示灯同时亮起,所以如果条件允许的话,可以采用设计更好的按键模块来代替这次使用的触摸按键。附录附录1C程序设计#include#defineDataPortP0//定义数据端口程序中遇到DataPort则用P0替换#definea1#defineb0sbitLATCH1=P2^7;//定义锁存使能端口段锁存sbitLATCH2=P2^6;//位锁存unsignedcharcodedofly_DuanMa[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//显示段码值0~9unsignedcharcodedofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsignedcharTempDataA[3];//A队存储显示值的全局变量unsignedcharTempDataB[3];//B队存储显示值的全局变量unsignedintnumA=0;//A队要显示的数unsignedintnumB=0;//B队要显示的数voidDelaysmg(unsignedintt){while(--t);}voidDisplay_flag(){unsignedchari;for(i=3;i<=4;i++){DataPort=0;//清空数据,避免交替重影LATCH1=1;//段锁存LATCH1=0;DataPort=dofly_WeiMa[i];//取位码LATCH2=1;//位锁存LATCH2=0;DataPort=0xBF;//取显示数据,段码LATCH1=1;//段锁存LATCH1=0;Delaysmg(200);//扫描间隙延时}}voidDisplay(unsignedcharFirstBit,unsignedcharNum,unsignedcharname){unsignedchari;for(i=0;i#include#defineINT8Uunsignedchar#defineINT16Uunsignedint#defineWRITE_BURST0x40//连续写入#defineREAD_SINGLE0x80//读#defineREAD_BURST0xC0//连续读#defineBYTES_IN_RXFIFO0x7F//接收缓冲区的有效字节数#defineCRC_OK0x80//CRC校验通过位标志//********************************************************************sbitSCK=P1^1;sbitMOSI=P1^2;sbitGDO2=P1^3;sbitMISO=P1^4;sbitCSN=P1^5;sbitGDO0=P1^6;//********************************************************************sbitLED=P1^0;//********************************************************************//接收函数主函数部分voidmain(void){INT8Uleng=0;INT8URxBuf[8]={0};INT8UPaTabel[8]={0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60};CpuInit();POWER_UP_RESET_CC1100();halRfWriteRfSettings();halSpiWriteBurstReg(CCxxx0_PATABLE,PaTabel,8);while(1){leng=8;//预计接受8bytesif(halRfReceivePacket(RxBuf,&leng)){if(RxBuf[0]==0xA2)//接收到A队加分信号{numA=numA+1;}elseif(RxBuf[0]==0xA3)//接收到A队减分信号{numA=numA-1;}elseif(RxBuf[0]==0xB2)//接收到B队加分信号{numB=numB+1;}elseif(RxBuf[0]==0xB3)//接收到B队减分信号{numB=numB-1;}}Display_A();//A队Display_B();//B队}}附录2硬件调试效果图无线记分器初始状态图A队加分效果图图4-5B队减分效果图
本文档为【基于51单片机的无线篮球计分器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:doc
大小:1MB
软件:Word
页数:20
分类:
上传时间:2022-05-10
浏览量:2