毕业设计(论文)无线三轴振动检测仪设计.doc

上传人:仙人指路1688 文档编号:3982903 上传时间:2023-03-30 格式:DOC 页数:34 大小:530.50KB
返回 下载 相关 举报
毕业设计(论文)无线三轴振动检测仪设计.doc_第1页
第1页 / 共34页
毕业设计(论文)无线三轴振动检测仪设计.doc_第2页
第2页 / 共34页
毕业设计(论文)无线三轴振动检测仪设计.doc_第3页
第3页 / 共34页
毕业设计(论文)无线三轴振动检测仪设计.doc_第4页
第4页 / 共34页
毕业设计(论文)无线三轴振动检测仪设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《毕业设计(论文)无线三轴振动检测仪设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)无线三轴振动检测仪设计.doc(34页珍藏版)》请在三一办公上搜索。

1、 摘 要本论文设计的是三轴振动检测仪的角度传感器和加速度传感部分,基于飞思卡尔公司的MMA7455L芯片设计的一款可以测量X,Y,Z轴加速度的摸快。通过此模块测量X,Y,Z的加速度值,经CPU处理后,发送电路将这三个值以字节的形式无线发射至接收端,接收方单片机系统收到传来的数据后,再根据牛顿第二定理,通过程序设定算法,测出X,Y ,Z轴的偏角,并在显示器上显示。经过调试可以达到实时测量的目的,且精度比较高。本论文首先介绍了振动检测的原理;其次介绍了整体系统的设计和各模块方案的比较,选择;接着介绍了各部分电路的设计及原理;再者介绍了软件设计流程并附上了程序代码;最后论述了系统的调试过程。关键词:

2、三轴振动检测仪;加速度;角度传感;无线发射AbstractThe thesis is the design of angle sensor and acceleration sensor ,which are the parts of three axis vibration tester.It was based on freescale MMA7455L chip which can be a measurement of X, Y, Z axis acceleration, after the treatment by CPU, the sender of these three val

3、ues the form of a byte wireless transmitter to the receiver, the receiver microcontroller system to receive these datas,and then , according to the Newtonian second law ,through setting algorithm of the program , measure X , Y,Z axis angle and show on the displayer.To debugging to achieve rea-time m

4、easurement ,and relatively high accuracy . This paper first introduces the principle of the vibration detection; Comparison of the overall system design and module program, select; then presented design and principles of the various parts of the circuit; Furthermore, the software design process and

5、attach code ; discusses the debugging process.Keywords: three-axis vibration detector; acceleration; angle sensor; wireless transmitter目 录摘 要IAbstractII1 前 言12 振动检测原理22.1 振动分类22.2 振动检测原理22.3 振动传感器的分类23 系统设计53.1 整体系统设计53.2 方案设计53.2.1 数据采集模块53.2.2 无线收发模块83.2.3 液晶显示模块94 硬件设计114.1 单片机最小系统114.2 传感器电路124.

6、3 显示电路134.4 报警电路144.5 无线传输电路145 软件设计175.1 系统工作流程175.2 程序设计186 系统调试286.1 系统实物图286.2 整体系统测试286.3 测试结果分析286.4 结论297 总结与展望307.1 总结307.2 展望30参考文献31附录132附录233致谢341 前 言在科学技术高速发展的现代社会中,人类已经入瞬息万变的信息时代,人们在日常生活和生产过程中,主要依靠检测技术对信息经获取、筛选和传输,来实现制动控制,自动调节,目前我国已将检测技术列入优先发展的科学技术之一。传感器技术是现代测量和自动化系统的重要技术之一,从宇宙开发到海底探秘,从

7、生产的过程控制到现代文明生活,几乎每一项技术都离不开传感器,因此,许多国家对传感器技术的发展十分重视,如日本把传感器技术列为六大核心技术(计算机、通信、激光、半导体、超导体和传感器) 之一。角度传感器和加速度传感器在当代工业控制、仪表测量、航空航海等领域中有着十分广泛的应用。传统的角度传感器如:增量编码器、同步机等存在接触面、触点易磨损,必须定期进行更换,在实际应用中降低了设备的可靠性,增加了维修成本。本设计研究设计的加速度传感器和角度传感器能够实时测量物体振动加速度和角度,具有广泛的应用前景。随着基于单片机的检测技术的不断发展,近些年来我国对角度测量技术进行理论上的研究,在生产实践中投入了具

8、体的应用。但我国在此方面的实际应用技术与国外比还有较大差距。国内生产的该种仪器性能方面有待提高,国外进口的又价格昂贵,使得该仪器难以推广和销售,高性能角度测量设备的缺失导致了大量经济损失。因此可以说角度测量技术的研究与开发有着广阔的前景,并且能够带来可观的经济效益和社会效益。2 振动检测原理2.1 振动分类在日常的生活和生产活动中,我们经常可以看到物体的振动现象,例如:运动场上秋千的摆动,汽车启动时发动机引起的车体颤动,机床的振动等。这些振动从形式上看,有的是来回摆动,有的是往复直线运动,有的是旋转运动等,种类很多,形式不一,但它们都有一个共同的特点,即物体在运动过程中总是在它自己的平衡位置附

9、近,一次又一次地重复地运动着。因此,我们把物体在其平衡位置附近所做的往复性的运动称为振动。研究振动的目的是为了了解各种机械振动现象的机理,破译机械振动所包含的大量信息,进而对设备的状态进行监测,分析设备的潜在可能故障。2.2 振动检测原理振动传感器有振动位移、振动速度和振动加速度传感器。简单地说,振动位移传感器(常用电涡流传感器)根据振动位移变化与输出电压的变化关系,振动速度传感器根据相对运动切割磁力线产生电压的变化,振动加速度传感器根据形变与电荷的关系。速度传感器通过硬件或软件积分可以得到位移,加速度传感器通过一次积分可以得到振动速度,二次积分可以得到振动位移。因为需要测量加速度,所以必须有

10、振动加速度传感器。振动传感器在测试技术中是关键部件之一,它的作用并不是直接将原始要测的机械量转变为电量,而是将原始要测的机械量做为振动传感器的输入量,然后由机械接收部分加以接收,形成另一个适合于变换的机械量,最后由机电变换部分再将变换为电量。因此一个传感器的工作性能是由机械接收部分和机电变换部分的工作性能来决定的。 2.3 振动传感器的分类1、相对式电动传感器电动式传感器基于电磁感应原理,即当运动的导体在固定的磁场里切割磁力线时,导体两端就感生出电动势,因此利用这一原理而生产的传感器称为电动式传感器。 相对式电动传感器从机械接收原理来说,是一个位移传感器,由于在机电变换原理中应用的是电磁感应电

11、律,其产生的电动势同被测振动速度成正比,所以它实际上是一个速度传感器。 2、电涡流式传感器电涡流传感器是一种相对式非接触式传感器,它是通过传感器端部与被测物体之间的距离变化来测量物体的振动位移或幅值的。电涡流传感器具有频率范围宽(010 kHZ),线性工作范围大、灵敏度高以及非接触式测量等优点,主要应用于静位移的测量、振动位移的测量、旋转机械中监测转轴的振动测量。 3、电感式传感器依据传感器的相对式机械接收原理,电感式传感器能把被测的机械振动参数的变化转换成为电参量信号的变化。因此,电感传感器有二种形式,一是可变间隙,二是可变导磁面积。 4、电容式传感器电容式传感器一般分为两种类型。即可变间隙

12、式和可变公共面积式。可变间隙式可以测量直线振动的位移。可变面积式可以测量扭转振动的角位移。 5、惯性式电动传感器惯性式电动传感器由固定部分、可动部分以及支承弹簧部分所组成。为了使传感器工作在位移传感器状态,其可动部分的质量应该足够的大,而支承弹簧的刚度应该足够的小,也就是让传感器具有足够低的固有频率。 根据电磁感应定律,感应电动势为:u=Blx&r 。式中B为磁通密度,l为线圈在磁场内的有效长度, r x&为线圈在磁场中的相对速度。 从传感器的结构上来说,惯性式电动传感器是一个位移传感器。然而由于其输出的电信号是由电磁感应产生,根据电磁感应电律,当线圈在磁场中作相对运动时,所感生的电动势与线圈

13、切割磁力线的速度成正比。因此就传感器的输出信号来说,感应电动势是同被测振动速度成正比的,所以它实际上是一个速度传感器。 6、压电式传感器压电式加速度传感器的机械接收部分是惯性式加速度机械接收原理,机电部分利用的是压电晶体的正压电效应。其原理是某些晶体在一定方向的外力作用下或承受变形时,它的晶体面或极化面上将有电荷产生,这种从机械能(力,变形)到电能(电荷,电场)的变换称为正压电效应。而从电能(电场,电压)到机械能(变形,力)的变换称为逆压电效应。 因此利用晶体的压电效应,可以制成测力传感器,在振动测量中,由于压电晶体所受的力是惯性质量块的牵连惯性力,所产生的电荷数与加速度大小成正比,所以压电式

14、传感器是加速度传感器。 7、压电式力传感器在振动试验中,除了测量振动,还经常需要测量对试件施加的动态激振力。压电式力传感器具有频率范围宽、动态范围大、体积小和重量轻等优点,因而获得广泛应用。压电式力传感器的工作原理是利用压电晶体的压电效应,即压电式力传感器的输出电荷信号与外力成正比。 8、阻抗头阻抗头是一种综合性传感器。它集压电式力传感器和压电式加速度传感器于一体,其作用是在力传递点测量激振力的同时测量该点的运动响应。因此阻抗头由两部分组成,一部分是力传感器,另一部分是加速度传感器,它的优点是,保证测量点的响应就是激振点的响应。使用时将小头(测力端)连向结构,大头(测量加速度)与激振器的施力杆

15、相连。从“力信号输出端”测量激振力的信号,从“加速度信号输出端”测量加速度的响应信号。 9、电阻应变式传感器电阻式应变式传感器是将被测的机械振动量转换成传感元件电阻的变化量。实现这种机电转换的传感元件有多种形式,其中最常见的是电阻应变式传感器。 电阻应变片的工作原理为:应变片粘贴在某试件上时,试件受力变形,应变片原长变化,从而应变片阻值变化,实验证明,在试件的弹性变化范围内,应变片电阻的相对变化和其长度的相对变化成正比。 10、激光传感器激光传感器利用激光技术进行测量的传感器。它由激光器、激光检测器和测量电路组成。激光传感器是新型测量仪表,它的优点是能实现无接触远距离测量,速度快,精度高,量程

16、大,抗光、电干扰能力强等,极适合于工业和实验室的非接触测量应用。 3 系统设计3.1 整体系统设计本系统由发射电路和接收电路组成。其中发射电路由数据采集模块,单片机最小系统,状态指示及报警模块,无线发射模块,液晶显示模块五部分组成。接收电路由无线接收模块,单片机最小系统和液晶显示模块三部分组成。发射电路系统框图如图1所示,其原理图见附录一。接收电路系统框图如图2所示,其原理图见附录二。数据采集模块STC89C52 最小系统无线发射模块状态指示及报警模块液晶显示模块图1 发射电路框图无线接收模块STC89C52 最小系统液晶显示模块 图2 接收电路框图3.2 方案设计3.2.1 数据采集模块方案

17、(一):由UZZ9000和KMZ41构成的角度检测电路:UZZ9000为线性电压输出式角度传感器调理器电路,输出电压与被测角度信号成正比;测量角度的范围是0180,且在0100范围内;测量误差小于0.45分辨力达0.1;测量范围和输出零点均可调节;电源电压范围为+4.5+5.5V;电源电流为10mA;工作温度范围是-40+150。由UZZ9000和KMZ41构成的电压输出式角度检测电路如图3所示。改变R2和R3的比值,可以调节传感器1的偏移量;改变R4和R5的阻值,可以调节传感器2的偏移量;改变R6和R7的比值,可以调节零点偏移;改变R8和R9的比值;可以调节测量角度范围。电阻R2R9可以采用

18、电位器代替。电路输出电压送至数字电压表或者微控制器系统,即可显示出被测角度值。该电路可广泛用于发动机凸轮/曲轴速度及位置检测、节流阀控制、转向操作控制、汽车中的ABS系统等领域。图3 电压输出式角度检测电路方案(二):采用MMA7455L的IIC模式MMA7455L是一款低重力、串行数据输出(包括IIC和SPI模式)、低功耗、紧凑型电容式微机械加速度传感器,具有信号调理、低通滤波器、温度补偿、自测、可配置通过中断引脚(INT1或INT2)检测0g、以及脉冲检测(用于快速运动检测)等功能。0g偏置和灵敏度是出厂配置,无需外部器件。我们可以运用指定的0g寄存器和g-Select量程选择对0g偏置进

19、行校准,量程可通过命令选择3个加速度范围(2g/4g/8g,1g=9.807m/s2)。可以实现基于运动的功能,如倾斜滚动、游戏控制、按键静音和手持终端的自由落体硬盘驱动保护、门限检测和点击检测功能等。提供IIC和SPI接口,方便与MCU通讯,因此非常适用于手机或个人设备中的运动运用。MMA7455L还具备待机模式,使它成为电池供电的手持式电子器件的理想选择。MMA7455L同时具有如下特性:封装小,LGA-(3mm*5mm*1mm)封装,具备Z轴自检功能;2.4-3.6V低压操作;可用指定寄存器进行偏移;可编程的阀值中断输出;用于动作识别(撞击、振动、自由落体)的电平检测功能;用于单击和双击

20、识别的脉冲检测功能;在8bit模式下,测量的加速度范围为2g,4g,8g时,其分辨率分别达到64LSB/g,32LSB/g,16LSB/g。可耐高强度冲击达5000g,低功耗特性,使其可用于手持电子设备等。它是由一个表面微机械电容传感元件(g-cell)和一个信号调理ASIC容纳在单一封装中。g-cell是由半导体材料(多晶硅)使用半导体加工(掩膜和蚀刻)工艺成型的机械结构,它可以建模成连接到一个可移动中心质量块的极板和两块固定极板的组合,质量块得极板可以在两块固定的极板间移动。当系统给定一个加速度值时,中心质量块所附属的可移动极板则偏离它的静止位置。这样可移动极板到一边固定板的距离就会增加,

21、到另一边的固定板见间的距离就会减少,距离的班花就是对加速度值得测量。g-cell极板组成了两个背靠背的电容,当在加速度的作用下中从而引起每个电容值的改变(如图4所示)。同时ASIC利用开关电容技术测量g-cell的电容并且从两个电容的差别中提取加速度数据。ASIC再进行型号调理、型号滤波最后提供一个提供一个与加速度成比例的数字输出。MMA7455L的内部结构图如图5所示,X,Y,Z三轴互相垂直三轴上的加速度值分别由X轴变换器、Y轴变换器、Z轴变换器感知,再经过容压转化器、放大增益、AD转换和各种补偿修正后以数字方式通过SPI或IIC串行接口输出。图4 简明g-cell物理模型图5 MMA745

22、5L内部结构图综上可知,采用MMA7455L的IIC模式电路相对简单,且预计能获得比较好的效果,因此选用方案(二)。3.2.2 无线收发模块方案(一):采用PT2262/PT2272收发模块PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码

23、字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全受控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100的调幅。

24、PT2262/2272特点:CMOS工艺制造,低功耗,外部元器件少,RC振荡电阻,工作电压范围宽:2.615v ,数据最多可达6位,地址码最多可达531441种。应用范围:车辆防盗系统、家庭防盗系统、遥控玩具、其他电器遥控。 方案(二):采用NRF24L01收发模块nRF24L01 是一款工作在2.42.5GHz 世界通用ISM 频段的单片无线收发器芯片。无线收发器包括:频率发生器增强型SchockBurstTM 模式、控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、频道选择和协议的设置可以通过SPI接口进行设置。极低的电流消耗当工作在发射模式下发射功率为-6dBm 时电流消耗9.0

25、mA,接收模式时为12.3mA。掉电模式和待机模式下电流消耗更低。nRF24L01 在接收模式下可以接收6路不同通道的数据。每一个数据通道使用不同的地址,但是共用相同的频道。也就是说6 个不同的nRF24L01 设置为发送模式后可以与同一个设置为接收模式的nRF24L01 进行通讯,而设置为接收模式的nRF24L01 可以对这6 个发射端进行识别。数据通道0是唯一的一个可以配置为40 位自身地址的数据通道。15 数据通道都为8 位自身地址和32 位公用地址。所有的数据通道都可以设置为增强型ShockBurst 模式。综上所述,本设计需要实时传输3组(X,Y,Z)8位的数据,PT2262/PT2

26、272最多有6位数据管脚,一次只能传输6位数据,而NRF24L01一次最多可以传输40位数据,满足我们的需要,因此选择方案(二)。3.2.3 液晶显示模块方案(一):采用12864液晶显示JD12864C图形点阵型液晶显示模块。它主要由行驱动器与列驱动器组成,可显示128(列) 64(行)点阵。可完成图形显示,也可显示84个(1616点阵)中文汉字。七条控制指令,与CPU接口采用8位数据总线并口输入输出方式。内置RAM为512字节(4096位),共20位引脚。方案(二):采用1602液晶显示液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液

27、晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点。1602液晶外设16个引脚,显示板上排列着若干个5*7点阵的字符显示位,内部具有字符发生器ROM(CGROM),可显示192个5*7点阵字符;模块内有64字节的自定义字符RAM(CGRAM),可自行定义8个5*7点阵字符;模块内亦含有80字节的数据显示存储器(DDRAM)。根据它的引脚功能及相应的命令格式编写显示程序。方案选择:由于12864体积比较大,且价格较1602贵,共20个引脚,占用单片机的端口较1602多,考虑到制作的方便及实惠,此系统采用方案(二)。4 硬件设计4.1 单片机最小系统单片机的最小系统电路图如

28、图6所示,在此介绍复位电路和时钟电路。图6 单片机最小系统复位电路:单片机STC89C52最小系统的复位电路由电阻R2,电容C3和复位开关S2组成,其复位端为第9脚。单片机一上电,由电容电压变化的连续性,端立即变为高点平,实现单片机的上电立即复位功能。单片机上电后,按下复位上电开关S2后,第9脚的电压由原来的低电平变为高电平,使单片机实现复位操作。也就是当该端子上保持两个机器周期的高水平时,可对STC89C52单片机实现复位操作。时钟电路:时钟电路采用内部时钟方式,由电容C1、C4和11.0592MHz的晶振Y1组成,接在单片机的第18和19脚(即XTAL1和XTAL2端)。STC89C52内

29、部有一个用于构成振荡器的高增益反向放大器,它的输入端为芯片引脚XTAL1,输出端为XTAL2。这两个引脚跨接石英晶体和微调电容,构成一个稳定的自激振荡器。电路中的电容C1、 C4可在530 pF之间选择,该电容的大小通常会影响振荡器频率的高低,振荡器的稳定性和起振的快速性。晶体振荡的频率范围通常是在1.2-12MHZ,晶体的频率越高,单片机的运行速度也就越快。但反过来,运行速度越快对存储器的速度要求就越高,对印制电路板的要求也就越高,即要求线间的寄生电容要小。晶体和电容应尽可能安装的与单片机芯片靠近,以减少寄生电容,更好的保证振荡器稳定、可靠的工作。为了提高温度的稳定性,应采用温度稳定性能好的

30、电容。4.2 传感器电路 加速度传感器电路:MMA7455L的芯片引脚功能说明如表1所示。MMA7455L的IIC模式(如图7所示)通信协议是根据菲利普半导体公司的标准,在这个模块的接口中,只有串行数据线(SDA)和串行时钟线(SCL)是需要的。8位串行双向数据传输在标准模式下可以达到100kbit/s,在最快的模式下可以达到400kbit/s。SDA和SCL都是双向数据线,必须通过上拉电阻连接到正电源。电阻选择2.2千欧到4.7千欧比较适宜,在此,我选择4.7千欧。表1 MMA7455L引脚功能说明序号名称描述状态1AVDD_IO3.3V电压输入端(数字)输入2GND地输入3NC空角、不接或

31、接地输入4IADDR0IIC地址0位输入5GND地输入6AVDD3.3V电压输入端(模拟)输入7CSSPI使能(0),IIC使能(1)输入8INT1/DRDY中断1/数据就绪输出9INT2中断2输出10NC空角、不接或接地输入11NC空角、不接或接地输入12SDOSPI串行数据输出输出13SDA/SDI/SDOIIC串行数据输出/SPI串行数据输入/3线串行数据接口输出双向/输入/输出14SCL/SPCIIC/SPI时钟信号输出输入图7 MMA7455L的IIC模式IIC模式连接的好处是很多芯片可以连接到这条总线上,但是也受总线容量的限制。简单的2线串行IIC模式将连线最小化,因此模块有较少的

32、引脚需要连线,体积小,价格便宜。4.3 显示电路根据1602的引脚排布及其控制规律按如图所指示连接电路,10K可调电阻用于调节1602的分辨率(如图8所示)。图8 1602液晶显示4.4 报警电路及状态指示电路报警电路(如图9所示)用于当倾角过大时报警的作用。1k电阻起限流所用,当P22上为低电平时,三极管导通,蜂鸣器正极电压约为5V,蜂鸣器鸣叫。状态指示电路(如图10所示)用于指示状态,当三轴振动的角度都小于某一设定值时,绿灯亮起,否则红灯亮起,给出报警提示。 图9 报警电路 图10 状态指示电路4.5 无线传输电路NRF24L01芯片封装图如图11所示,引脚功能介绍如表2所示:图11 NR

33、F24L01芯片封装图 表2 NRF24L01芯片引脚功能引脚名称引脚功能描述1CE数字输入RX 或TX 模式选择2CSN数字输入SPI 片选信号3SCK数字输入SPI 时钟4MOSI数字输入从SPI 数据输入脚5MOSO数字输出从SPI 数据输出脚6IRQ数字输出可屏蔽中断脚7VDD电源电源(+3V)8Vss电源接地(0V)9XC2模拟输出晶体震荡器2 脚10XC1模拟输入晶体震荡器1 脚/外部时钟输入脚11VDD_PA电源输出给RF 的功率放大器提供的+1.8V 电源12ANT1天线天线接口113ANT2天线天线接口214Vss电源接地0V15VDD电源电源(+3V)16IREF模拟输入参

34、考电流17Vss电源接地(0V)18VDD电源电源(+3V)19DVDD电源输出去耦电路电源正极端20Vss电源接地(0V)根据以上论述,设计的NRF24L01接收和发射电路如图12所示。图12 NRF24L01接收和发射电路5 软件设计5.1 系统工作流程发送电路程序流程图如图13所示,接收电路程序流程图如图14所示.开始设置量程及测量模式初始化MCU数字滤波器带宽选择OK?自 检退出NY校 准显示数据初始化NRF24L01数据准备发送?NN读取数据初始化1602数据准备好?Y发送数据结束Y图13 发送电路程序流程图开始初始化MCU初始化NRF24L01初始化1602接收完毕?设置接收模式接

35、收数据NY清除中断标志显示数据结束图14 接收电路程序流程图5.2 程序设计发射电路部分程序如下:#include #include typedef unsigned char uchar;typedef unsigned char uint;char x,y,z;/jx,jy,jz;uint bdata sta; /NRF24L01状态标志unsigned char idata x1,x2,x3,y1,y2,y3,z1,z2,z3,xsign,ysign,zsign;uchar sig12;/* 单片机引脚定义 */sbit sda=P24; /I2C 数据传送位sbit scl=P23;

36、/I2C 时钟传送位sbit rs=P25; /1602RS控制位sbit rw=P26; /1602RW控制位sbit e =P27;/1602E 控制位sbit redled=P20;sbit greenled=P21;sbit beep=P22;/*NRF24L01端口定义*sbit MISO=P12;sbit MOSI=P32;sbitSCK =P13;sbitCE =P14;sbitCSN=P10;sbitIRQ=P11; /*sbitRX_DR=sta6;sbitTX_DS=sta5;sbitMAX_RT=sta4;/* 数据部分 */#define IIC_READ 0x1D /

37、定义读指令#define IIC_WRITE 0x1D /定义写指令/*NRF24L01*#define TX_ADR_WIDTH 5 / 本机地址宽度设置#define RX_ADR_WIDTH 5 / 接收方地址宽度设置#define TX_PLOAD_WIDTH 12 / 4 字节数据长度#define RX_PLOAD_WIDTH 12/ 4 字节数据长度uint const TX_ADDRESSTX_ADR_WIDTH= 0x34,0x43,0x10,0x11,0x01;/本地地址uint const RX_ADDRESSRX_ADR_WIDTH= 0x34,0x43,0x10,0x

38、11,0x01;/接收地址#define READ_REG 0x00 / 读寄存器指令#define WRITE_REG 0x20 / 写寄存器指令#define RD_RX_PLOAD 0x61 / 读取接收数据指令#define WR_TX_PLOAD 0xA0 / 写待发数据指令#define FLUSH_TX 0xE1 / 冲洗发送 FIFO指令#define FLUSH_RX 0xE2 / 冲洗接收 FIFO指令#define REUSE_TX_PL 0xE3 / 定义重复装载数据指令#define NOP 0xFF / 保留#define CONFIG 0x00 / 配置收发状态,

39、CRC校验模式以及收发状态响应方式#define EN_AA 0x01 / 自动应答功能设置#define EN_RXADDR 0x02 / 可用信道设置#define SETUP_AW 0x03 / 收发地址宽度设置#define SETUP_RETR 0x04 / 自动重发功能设置#define RF_CH 0x05 / 工作频率设置#define RF_SETUP 0x06 / 发射速率、功耗功能设置#define STATUS 0x07 / 状态寄存器#define OBSERVE_TX 0x08 / 发送监测功能#define CD 0x09 / 地址检测 #define RX_AD

40、DR_P0 0x0A / 频道0接收数据地址#define RX_ADDR_P1 0x0B / 频道1接收数据地址#define RX_ADDR_P2 0x0C / 频道2接收数据地址#define RX_ADDR_P3 0x0D / 频道3接收数据地址#define RX_ADDR_P4 0x0E / 频道4接收数据地址#define RX_ADDR_P5 0x0F / 频道5接收数据地址#define TX_ADDR 0x10 / 发送地址寄存器#define RX_PW_P0 0x11 / 接收频道0接收数据长度#define RX_PW_P1 0x12 / 接收频道0接收数据长度#de

41、fine RX_PW_P2 0x13 / 接收频道0接收数据长度#define RX_PW_P3 0x14 / 接收频道0接收数据长度#define RX_PW_P4 0x15 / 接收频道0接收数据长度#define RX_PW_P5 0x16 / 接收频道0接收数据长度#define FIFO_STATUS 0x17 / FIFO栈入栈出状态寄存器设置unsigned char table116= LCSOFT X= 000 ; /1602显示数据unsigned char table216= Y= 000 Z= 000 ;unsigned char table316=No acceler

42、ation!;unsigned char table410=0123456789;unsigned char table58 = MMA7455;/uchar table716=Value: X=0.50 ;/*/* 1602显示部分 */*/ void write_com(unsigned char com) /函数功能:写指令void write_data(unsigned char dat) /函数功能:写数据void init1602(void) /函数功能:初始化1602/* I2C通信部分 */void iic_start() /函数功能:I2C通信开始void iic_stop()

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号