圆融号探测船说明书_第1页
圆融号探测船说明书_第2页
圆融号探测船说明书_第3页
圆融号探测船说明书_第4页
圆融号探测船说明书_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

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

文档简介

1、 单片机技术课程设计说明书 基于AVR单片机的测量船院 、 部: 电气与信息工程学院 学生姓名: 吴畏 指导教师: 王韧 职称 副教授 专 业: 自动化 班 级: 自本1003班 完成时间: 2012年12月 摘 要 圆融号探量船是为了满足对一些小型水域环境下对水域的深度,温度,水样收集的探测。其设计新颖,成本低廉,能满足小型水产养殖户,环境勘察机构等对一定水域的检测勘察功能。 “圆融号”探测船以两片ATmega16 AVR单片机为核心,以无线电来收发测量数据和控制信息,以各种电机为探测船的船体和探测动力,加上各种传感器对数据的采集功能和附属模块和机械装置,圆满地完成了从简单的水上航行,水深测

2、量、一定深度的水温测量以及水样的提取,比较好地解决了近距离对水体的基本自动化探测要求。 关键词:测量船;单片机;无线遥控ABSTRACT No amount of harmonious agent ship is in order to meet to some small water environment to the waters of the depth, temperature, water sample collection of detection. The design is novel, low cost, can satisfy the small aquatic bree

3、ding farmers, the environmental investigation agency on a certain water testing survey function. "Harmony," spacecrafts with two pieces of ATmega16 AVR MCU as the core, to send and receive radio measurement data and control information to all kinds of motor for spacecrafts hull and detecti

4、on power, together with the various sensors to collect the data of function and subsidiary module and mechanical device and successfully completed from simple water navigation, depth measurement, certain depth measurement of temperature and water extraction, is solved satisfactorily close to the wat

5、er body of basic automation detection requirements. Key words: vessel;MCU; The wireless remote control II目 录1 引言11.1 课题研究的目的11.2 圆融号探测船简介11.3 总体方案的确定12 硬件系统设计32.1 L298N直流电机驱动模块32.2 方向闪烁指示灯32.3 H桥继电器模块32.4 电源板模块42.5 霍尔元件测深模块42.6 18B20测温模块42.7 遥控器模块52.8 船体ATmega16A最小系统63 软件系统设计73.1 软件设计73.2 软件调试104 系统

6、设计结果分析及结论114.1 系统使用说明114.2 系统实物调试结果114.3 系统设计误差分析124.4 设计体会124.5 教学建议12结束语14致 谢15参考文献16附 录17附录A: 船体及遥控实物17附录B: 圆融号主驱动板电路图及PCB图18附录C: ATmage16遥控模块原理图及PCB图20附录D: H桥驱动电路原理图及PCB图22附录E: 电源板原理图及PCB图24附录F: 霍尔原件测速原理图及PCB图26附录G: 船体程序清单28附录H:遥控器程序清单37附录I:基础函数模块55附录J:元器件清单98II1 引言1.1 课题研究的目的 随着社会的进步和现代科学技术的发展,

7、农业、环保、科考等部门对水体各项自动化探测的需求也越来越迫切,为此,我们设计了一艘综合性探测船“圆融号”用来解决未知水域的探测问题。 “圆融号”探测船适用在水域面小于35000平方米的小型水域经行探测。其可以对该类型水域的水深进行测量,指定区域的水样的抽取,指定水位的温度的测量,并把所测量到的数据及时传回使用者的遥控界面上显示出来;该测量船还需满足在一定特殊环境下的行驶,转向,倒退等基本功能。同时还得满足对船体电量及无线信号的实时检测。1.2 圆融号探测船简介(1)、船体几何尺寸:长54cm、宽23cm、高12cm;(2)、船速:约3km/h;(3)、无线电控制范围:0200m左右;(4)、探

8、测能力:测量水深范围:3.5m以内;测量水温范围:050摄氏度;水样提取容量:约500ml。1.3 总体方案的确定 对于侧量船而言,由于所需满足的功能较多从总体上我们可将 “圆融号”测量船项目可分为两大部分:遥控控制部分,船体功能部分。 遥控控制部分:主要以液晶显示器,无线接收发射装置为主。其主要满足的条件是要能对测量数据,放送指令的事实显示。能让使用者操作起来跟加简介,其方案图如图1所示。 船体功能部分:可分为六个功能部分。行驶部分:主要实现船体在接收遥控的行驶信号的条件下在水面前进,后退及转向功能;水深测量部分:主要实现在接收遥控指令后,在机械转轴,开关及霍尔测速模块的帮助下,完成对水深的

9、测量;指定水位的水温测量部分:主要实现在接收到遥控指令后,释放测温传感器到使用者通过遥控器所设定的水位,并实时传回温度数据;水样采集部分:主要实现在接收到遥控指令后,打开水泵定时采集水样;电量检测部分:通过AVR单片机自带的AD转换硬件电路将动力电池电压进行检测,每隔10毫秒传送一次数据到遥控器;无线接收发送部分:接收发送指令;闪烁指示灯模块:分辨船体在较远处行驶时的方向,其方案图如图2所示。 图1 遥控控制部分方案图 图2 船体功能部分方案图2 硬件系统设计2.1 L298N直流电机驱动模块L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高

10、,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。TPL521-4是可控制的光耦合器件, 使前端与负载完全隔离,目的在于安全性,减小电压的干扰,减化电路的设计,在本模块中

11、用于防止本模块对上级总控制电路的影响。模块简介:控制信号从IN1-IN4输入,经LED1-LED4指示灯进入复合光偶芯片TPL521-4,然后经IN1-IN4进入L298N,通过对四个出入端的电平的判断,从OUT1-OUT4输出控制电压驱动两个电极反转,驱动电压由12V电源提供,5V电源用于驱动两个芯片,电容用于消除电源的高频噪声,二极管D1-D8用于防止电动机线圈方向电动势对芯片的冲击。 2.2 方向闪烁指示灯模块简介:本模块制作了两个,一红一绿分别放在船头和船尾,用于指示船的前后方向。本模块很简单,由555时基芯片和外围RC电路组成多谐振荡器,R2为100K电位器,用于调节闪烁频率,三极管

12、用于放大电流,驱动多个并联的LED,R3为限流作用,C1用于滤波。2.3 H桥继电器模块 模块简介:本模块用于控制水泵提取水样当我们需要提取水样时,由INB输入控制信号,通过光偶IC3使三极管Q7导通,继电器通电把开关吸过来,使5和3导通,从而OUTB有电平输出,水泵工作,当水样提取完成,切断出入信号,水泵停止工作,水样提取完成。2.4 电源板模块 模块简介:本模块为测量船的动力中枢,由锂离子电池提供7.4V电压,经三端稳压管7805和7133分别输出 5V和3.3V两种电压值,加上电源电压分别驱动芯片、无线模块和电机。2.5 霍尔元件测深模块 模块简介:LM393是一款双通道电压比较器,通过

13、R5和R6设置比较电压值,在本模块中我们只使用了一个通道,通过IN1外接霍尔元件49E, 当49E附近的磁场强度增大时,霍尔元件把磁场信号的变化转化为电压信号输出,所以 INA+端的电压也逐渐增大,当INA+电压大于INA-时,电压比较器使OUTA变为高电平,发光二极管D1由亮变熄,经此接入的单片机也立即完成一次中断计一次数,当探测器到达水底时,测距电机停止工作,单片机计数工作完成,将计数次数N乘以两磁铁之间的圆弧长度即可得水深,当然,这由单片机的软件算法完成。2.6 18B20测温模块(1)、温度传感器DS18B20简介: 图3 DS18B20引脚示意图 DS18B20数字温度计是DALLA

14、S公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点: a、只要求一个端口即可实现通信; b、在DS18B20中的每个器件上都有独一无二的序列号; c、实际应用中不需要外部任何元器件即可实现测温; d、测量温度范围在55。C到125。C之间; e、数字温度计的分辨率用户可以从9位到12位选择; f、内部有温度上、下限告警设置。(2)、模块简介:本模块硬件与测距模块结合使用,在机械硬件设计过程中运用电刷解决了旋转过程中传感器的信号传输问题,电刷设计图如下:三个红色同

15、心圆环代表DS18B20的三根传输线,在左右两个圆盘相对旋转过程中实现信号的稳定传输,再将传感器装的探头装在测距模块上,从而将测温和测距模块的硬件结合了起来,这样我们可以实现测温和测深的同步进行。由传感器采集的数据通过单片机的处理然后显示在遥控器的液晶显示屏上,实现了特定深度的水温测量。2.7 遥控器模块(1)、ATMAGE16位处理器简介: ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。ATmega16 有如下特点

16、:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。(2)、模块简介: 本模块采用ATMAGE16位处理器处理各种数据和信息,采用FYD12864液晶显

17、示器显示各种测量数据以及操作模式。 除了最小系统外,其他的子模块有: a、按键模块。定义有八个按键,功能分别为:左边四个为上、下、左、右方向控制键,右边四个为模式切换、确认、返回以及备用键。另外,设置绿黄两个指示灯用于指示操作和测量两种工作模式。 b、电源模块。用两个三端稳压器7133和7805产生3.3V和5V的电压,以供处理器和无线模块使用,电源为大容量锂离子电池,内设充电模块,方便使用。 c、 CC1101无线通信模块。CC1101无线模块是采用TI公司的CC1101芯片制作的模块,一般是工作在433M。长沙云宝电子生产的CC1101无线模块,稳定可靠,主要性能如下: 、有效频率:300

18、-348Mhz, 400-464Mhz,800-928Mhz;、空旷传输距离300到500米;、低电流损耗,接收模式15.6mA,接收灵敏度-108dBm.休眠模式小于0.5uA;、输出功率可编程,最大发射电流28mA,可达+10dBm; 、无线唤醒功能,支持低功率电磁波激活功能 ,无线唤醒低功耗睡眠状态的设备; 、支持传输前自动清理信道访问(CCA),即载波侦听系统;、高效的SPI串行编程接口,可用IO口模拟SPI时序,也可以用MCU的SPI口;、工作温度范围:-40+85;、工作电压:1.8-3.6 伏; 、最高传输速率可达500Kbps。 运用此模块实现了控制命令的发送和测量数据的接受功

19、能。本模块是探测船系统的亮点,在软硬件结合的基础上通过按键发出的控制信号经处理器的处理后由无线模块发出,探测船上接收并完成相应的预设功能后将探测数据传回到遥控模块上显示在显示频上,制作精巧,美观,富有人性化。2.8 船体ATmega16A最小系统 船体主板简介:该模块是整个探测船的核心,由图可以看出是一个ATMAGE16位处理器的最小系统,该芯片采用SOCLET44贴片式封装,外接晶振系统、复位电路、电源模块和下载口组成一个完整的单片机最小系统,为了适应本系统模块多,接线复杂的情况,每个I/O口都外设双排针。附:单片机与各模块的接口配置(1)、无线模块 GDO0-PB3 GDO2-PB0 SO

20、-PB6 SI-PB5 SCK-PB7 CSN-PB2(2)、船体驱动电机 M11-PA4 M12-PA5 M21-PA6 M22-PA7(3)、电机控制开关 K1-PC4(4)、温度传感器 DQ-PD43 软件系统设计3.1 软件设计 软件的编写同样也同样分为遥控器软件设计和船体探测功能软件设计。遥控器软件设计:此部分是无线信号发送,数据显示以及数据存储功能。主要考虑到使用者的操作与读书方便,在功能显示数据显示上必须区域人性话,因此在液晶显示上得考虑周全,其遥控器函数流程图如图4所示。所以将界面显示也划分为两大部分。(1)、行驶模块的显示:此部分要求液晶显示出所按方向见的提示,在方向键按下时

21、方向显示符闪烁。(2)、测量模块:此部分着重于给使用者提供探测船测量功能提示,且便于使用者对测量数据的读取与储存,用到了单片自带的EEPROM协议,对数据进行掉电保护。 船体软件设计:此部分主要需要对接收到的指令经行处理,并能逐步执行测量工能及时返回测量信息给主机,其船体函数流程图如图5所示。通过对单片机特殊寄存器的设计使其能通过其内部硬件电路与相应芯片进行通讯、计数定时功能、外部中断功能、AD转换功能。如:看门狗的应用;无线模块中SPI协议的应用;AD转换对动力电量的监控采样;定时抽取水样;深度测量模块中对转盘速度的测量等。 图4 遥控器函数流程图图5 船体函数流程图3.2 软件调试 基本上

22、排除了应用系统的硬件故障后,就可以进入软件的综合调试阶段,这个阶段的主要任务是排除软件错误,也解决硬件遗留的问题。本系统程序是用C语言编写的,主要分为两大块,遥控器软件设计和船体探测功能软件设计。软件调试可以一个模块一个模块地进行。在进行软件调试时要充分利用调试软件中单步、断点、设置观察项等调试手段,主要针对程序跳转错误、程序错误、动态错误和输入输出错误等方面着重调试。在软件调试过程中时,我们遇到了几个大的问题:(1)、遥控器按键灵敏性问题:在遥控器的程序设计中,其按键灵敏性不但关系到测量船在平时行驶时的操作灵敏性而且关系到无线信号的发送和接受。因此在编写程序的过程中每次按键到执行完功能程序都

23、需要合理安排好无线发送和接受函数及延时程序,让按键功能调整到足够灵敏。让船在水中复杂环境下能操控自如。(2)、探测水深时的测量误差问题:船体通过外部中断对霍尔测速模块的下降沿经行计数,同时得将记得的数据发送到遥控器的主机经行显示。因此中断函数执行的时间得恰到好处,时间太短发送到遥控器的数据容易出错,发送时间太长会导致计数错误。因此在处理时,无线的接受发送函数得放在主函数中,避免占用中断函数的时间。同时能不停的正确发送数据。(3)、指定水位的水温探测:在指定水位情况下,当测试探头到达指定水位测取水温时。必须让所测得的数据稳定时才能收回探头。并且在测取到有效水温后应先将其保存才能收回。因此在此工能

24、部分程序设计时个操作步骤逻辑得非常清楚。(4)、在对SPI协议寄存器设置时,由于得考虑打到其工作频率的设置因此很长时间的调试才找到恰当的频率。许多延时函数的调用都会影响到其工作性能和数据传输的正确性。4 系统设计结果分析及结论4.1 系统使用说明 遥控器操作模式比较简单,现在介绍一下测量模式,测量模式分为三种:水温、水深以及提取水样。(1)、水深探测:把测量模式切换到水深测量档,启动水深测量,采集三个样本数据,然后显示在遥控器的显示屏上,取三者的平均值即可得到精确水深;(2)、水样提取:将测量模式切换到采集水样档,启动该模式,水泵运转,将一定深度的水抽到水样提取甁中,一分钟后水泵自动停止运行,

25、水样提取完毕,如遇其他干扰,则可随时中断水样的提取;(3)、水温测量:置测量模式切换至水温测量档,先设置水位深度,然后启动该模式,电机启动,探头下降,到达指定深度后自动测温,结果显示在显示屏上,然后回收探头,水温测量完毕。4.2 系统实物调试结果 基本排除了应用系统的硬件故障后,进入软件的综合调试阶段。通过不断地修改程序与调试,基于AVR单片机的测量船实物显示的效果如图6所示。 图6 船行驶状态图4.3 系统设计误差分析 该测量船的测量功能都基于一些机械装置的协助下完成的。不同功能模块会存在不同的误差问题。 水深测量模块:在测量水深时由于所采用的霍尔测速软件的磁铁片只有四块,所以存在一定的测速

26、均匀性问题,因此会产生测量时计数次数存在多采样一次或少采一次的情况,会造成正负0.25米的误差。同时存在的还有测量感应开关灵敏性问题,灵敏性过高会导致探头释放时对外界干扰过去敏感导致探头还没达到水底就自行回收了。如果灵敏性过低会导致测量的数据偏大,因此灵敏性的适当也同样关键。 温度测量模块:18B20芯片在采样过程中存在一定的采样误差,随着采样次数的增加会使误差减小。因此在进行温度测量时,在测量温度稳定后再执行回收探头指令。 程序跑飞情况:由于所采用的电机较多,在未隔离电源时电机的启动会影响到单片机对程序执行的正确性。电机电源应与单片机的电源隔离开来。并且在程序设计中安排好看门狗程序,在适当地

27、点喂狗,防止程序跑飞。4.4 设计体会对于这次课程设计,我积极参与,经历了课题制作过程中的采购、组装、改进、解决问题等几个过程之后,获得了许多实践经验,还总结了一些解决问题的办法。同时对于团队合作过程中的组员协调与交流,也成为了我们收获中的重要部分。在这次课程设计中,我们遇到了硬件及软件的多方面问题。如在直流电机驱动板制作完成后时,稳压芯片很烫,后经检查,发现驱动芯片的工作电压与电机的电压接反了。我们收获的不仅是一次单片机课程设计制作经历,还有面对问题敢于迎难而上的处事经验。除此之外本组组员在课题配合的默契程度上又增加了许多,这是本组课题顺利完成的精神保证。作为一支团队,只有目标一致、默契配合

28、,才能将各自长处发挥到最大。4.5 教学建议记得这个学期的第一节课就是单片机课,课堂上王老师的那句话“这个学期我会让大家过得充实”让我记忆特别深刻。确实,这句话得到了验证,这个学期我们过得很充实。虽然有时我们感觉很累,但就是在老师这种严格的要求下我们学到很多东西。在此次课程设计,也正是由于老师渊博的知识、严谨的治学态度和敏锐的分析能力,使我们的课程设计顺利完成。以下是我对老师的几点教学建议:(1)、希望老师进一步加强与学生的交流; (2)、希望老师在日后的教学中,多加强对我们动手能力的锻炼。结束语 经过此次课程设计,本船的硬件和软件完全自主设计并制作,在不到两个月的时间里,从船体制作到电路板制

29、止,程序编写,调试,遇到很多很多困难,但是始终没有放弃,硬着头皮去解决,最后,本船的功能基本实现的。将暑假所学的单片机理论知识运用到了实践中来,并且在作品制作的过程中自学了大量相关方面的知识,进一步提高了编程能力和硬件制作和调试能力,在此特别感谢暑假培训老师及电气与信息工程学院提供的实验室,同时也非常感谢在作品制作过程中提供帮助的老师和同学!不知不觉本次课程设计已接近尾声,通过这次课程设计,加强了我们动手、思考和解决问题的能力。同时我觉得做课程设计也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我

30、们了解了很多元件的功能,并且对其在电路中的使用有了更多的认识。虽然我们在做的时候遇到一些困难。但还是挺高兴的,毕竟这次设计所要求的东西都做了出来。 在本次设计的过程中,我们发现了很多的问题,虽然以前还做过这样的设计,但这次设计真的让我们长进了很多,单片机的设计重点就在于软件程序的设计,需要有很巧妙的编程方法。在编程时,由于粗心大意,有些语句看似没问题,可就是不出效果,经仔细揣摩修改后,程序才正常运行。学习单片机更是如此,程序只有在经常的写与读的过程中才能提高。 从这次的设计中,我们真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中;理论指导实践,在实践中对理论知识加

31、以理解。还要有独立思考能力和不耻下问的精神,个人能力固然重要,集体的力量更是伟大的。 总之对我们而言,知识上的收获固然重要,但精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次课程设计的过程必将成为我人生旅途上一个非常美好的回忆!致 谢首先,我们要感谢我们的指导老师王韧对我们的指导和关怀。他渊博的知识、严谨的治学态度和敏锐的分析能力,使我们受益匪浅。同时,还要感谢电气与信息工程学院的实验组,为我们提供场地,设计制作作品,并在调试过程中提供了实验设备,让我们此次课程设计能够顺利完成。正是由于他们给我们的帮助,让我们很快的进入了实际的工作。最后,我们要感谢我们的家人朋友和同学,他(她)们对

32、我们的支持和付出是我们此次课程设计得以顺利进行的保障。谢谢大家!参考文献 1 李广第,朱月秀,冷祖祁.单片机基础M.北京:北京航空航天大学出版社,2007.6LiGuang first, ZhuYueXiu, LengZuQi. Single chip microcomputer based M. Beijing: Beijing university of aeronautics &astronautics press, 2007.62 康华光.电子技术基础 模拟部分(第五版) M.北京:高等教育出版社,2006kang uh guano. Electronic technology

33、 foundation simulation part (fifth edition) M. Beijing: higher education press, 20063 阎石.数字电子技术基础(第五版) M.北京:高等教育出版社,2006YanShi, digital electronic technology foundation (fifth edition) M. Beijing: higher education press, 20064 邱光源.电路(第五版) M.北京:高等教育出版社,2006QiuGuangYuan. Circuit (fifth edition) M. Bei

34、jing: higher education press, 20065 陈忠平.基于proteus的AVR单片机C语言程序设计与仿真M. 北京: 电子工业出版社 ChenZhongPing proteus. Based on the AVR microcontroller C language program design and simulation M. Beijing: publishing house of electronics industry6 求是科技.单片机通信技术与工程实践M. 北京:人民邮电出版社 Realistic technology. Single-chip mic

35、rocomputer communication technology and engineering practice M. Beijing: people's posts and telecommunications publishing house附 录附录A: 船体实物附录B: 圆融号主驱动板电路图及PCB图顶层PCB底层PCB附录C: ATmage16遥控模块原理图及PCB图顶层PCB底层PCB附录D: H桥驱动电路原理图及PCB图顶层PCB底层PCB附录E: 电源板原理图及PCB图顶层PCB底层PCB附录F: 霍尔原件测速原理图及PCB图顶层PCB底层PCB附录G:船体程序

36、清单/*项目名称:基于AVR单片机探测船项目功能:探测船能完成基本行驶功能外,还能测量水深和对水样的采取功能。编程作者:吴畏完成时间:12年11月*/*船体主函数模块*/#include<iom16v.h>#include<macros.h>#defineINT8Uunsigned char#defineINT16Uunsigned int#define WRITE_BURST 0x40/连续写入#define READ_SINGLE 0x80/读#define READ_BURST 0xC0/连续读#define BYTES_IN_RXFIFO 0x7F /接收缓冲区

37、的有效字节数#define CRC_OK 0x80 /CRC校验通过位标志/*/#define GDO0_0 PORTB&=BIT(3)#define GDO0_1 PORTB|=BIT(3)#define GDO0_IN DDRB&=BIT(3)#define GDO0_OUT DDRB|=BIT(3)#define GDO0_R PINB&BIT(3) /sbit GDO0=P13;#define GDO2_0 PORTB&=BIT(0)#define GDO2_1 PORTB|=BIT(0)#define GDO2_IN DDRB&=BIT(0)#

38、define GDO2_OUT DDRB|=BIT(0)#define GDO2_R PINB&BIT(0)/sbit GDO2=P32;#define MISO_0 PORTB&=BIT(6)#define MISO_1 PORTB|=BIT(6)#define MISO_IN DDRB&=BIT(6)#define MISO_OUT DDRB|=BIT(6)#define MISO_R PINB&BIT(6)/sbitMISO=P16;#define MOSI_0 PORTB&=BIT(5)#define MOSI_1 PORTB|=BIT(5)#d

39、efine MOSI_IN DDRB&=BIT(5)#define MOSI_OUT DDRB|=BIT(5)#define MOSI_R PINB&BIT(5)/sbitMOSI=P15;#define SCK_0 PORTB&=BIT(7)#define SCK_1 PORTB|=BIT(7)#define SCK_IN DDRB&=BIT(7)#define SCK_OUT DDRB|=BIT(7)#define SCK_R PINB&BIT(7)/sbitSCK=P17;#define CSN_0 PORTB&=BIT(2)#define

40、 CSN_1 PORTB|=BIT(2)#define CSN_IN DDRB&=BIT(2)#define CSN_OUT DDRB|=BIT(2)#define CSN_R PINB&BIT(2)/sbitCSN=P12;#define CSN1_0 PORTB&=BIT(4)#define CSN1_1 PORTB|=BIT(4)#define CSN1_IN DDRB&=BIT(4)#define CSN1_OUT DDRB|=BIT(4)#define CSN1_R PINB&BIT(4)/sbitCSN1#define M11_0 PORTA

41、&=BIT(4)#define M11_1 PORTA|=BIT(4)#define M11_IN DDRA&=BIT(4)#define M11_OUT DDRA|=BIT(4)#define M11_R PINA&BIT(4)/发动机M1#define M12_0 PORTA&=BIT(5)#define M12_1 PORTA|=BIT(5)#define M12_IN DDRA&=BIT(5)#define M12_OUT DDRA|=BIT(5)#define M12_R PINA&BIT(5)#define M21_0 PORTA&a

42、mp;=BIT(6)#define M21_1 PORTA|=BIT(6)#define M21_IN DDRA&=BIT(6)#define M21_OUT DDRA|=BIT(6)#define M21_R PINA&BIT(6)#define M22_0 PORTA&=BIT(7)#define M22_1 PORTA|=BIT(7)#define M22_IN DDRA&=BIT(7)#define M22_OUT DDRA|=BIT(7)#define M22_R PINA&BIT(7)#define DQ_1 PORTD|=BIT(4)#de

43、fine DQ_0 PORTD&=BIT(4)#define DQ_R PIND&BIT(4)#define DQ_IN DDRD&=BIT(4)#define DQ_OUT DDRD|=BIT(4)/sbit DQ=P22;INT8U PaTabel8 = 0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60 ,0x60;/*/void delayum(INT8U T);void ADc(void);/*/发射函数声明extern void delay(unsigned int s);extern void SpiInit(void);ex

44、tern void CpuInit(void);extern void RESET_CC1100(void);extern void POWER_UP_RESET_CC1100(void);extern void halSpiWriteReg(INT8U addr, INT8U value);extern void halSpiWriteBurstReg(INT8U addr, INT8U *buffer, INT8U count);extern void halSpiStrobe(INT8U strobe);extern INT8U halSpiReadReg(INT8U addr);ext

45、ern void halSpiReadBurstReg(INT8U addr, INT8U *buffer, INT8U count);extern INT8U halSpiReadStatus(INT8U addr);extern void halRfWriteRfSettings(void);extern void halRfSendPacket(INT8U *txBuffer, INT8U size); extern INT8U halRfReceivePacket(INT8U *rxBuffer, INT8U *length); /18B20 函数声明extern void WD(vo

46、id);extern INT8U zhaohu(void);extern void writeonechar(INT8U dat);extern INT8U readonechar(void);extern void ReadyReadTemp(void);extern void delaynus(unsigned int n);extern void delay2 (INT8U m); /水深函数声明extern void shuisheng(void);extern void FW(void);/温度函数声明extern void WD(void);/采水样函数声明extern void

47、SY(void);/ADC函数声明extern INT16U adc(void);/看门狗void watchdog_init(void);/*/#define CCxxx0_IOCFG2 0x00 / GDO2 output pin configuration#define CCxxx0_IOCFG1 0x01 / GDO1 output pin configuration#define CCxxx0_IOCFG0 0x02/ GDO0 output pin configuration#define CCxxx0_FIFOTHR 0x03 / RX FIFO and TX FIFO thre

48、sholds#define CCxxx0_SYNC1 0x04 / Sync word, high INT8U#define CCxxx0_SYNC0 0x05 / Sync word, low INT8U#define CCxxx0_PKTLEN 0x06 / Packet length#define CCxxx0_PKTCTRL1 0x07 / Packet automation control#define CCxxx0_PKTCTRL0 0x08 / Packet automation control#define CCxxx0_ADDR 0x09 / Device address#d

49、efine CCxxx0_CHANNR 0x0A / Channel number#define CCxxx0_FSCTRL1 0x0B / Frequency synthesizer control#define CCxxx0_FSCTRL0 0x0C / Frequency synthesizer control#define CCxxx0_FREQ2 0x0D / Frequency control word, high INT8U#define CCxxx0_FREQ1 0x0E / Frequency control word, middle INT8U#define CCxxx0_

50、FREQ0 0x0F / Frequency control word, low INT8U#define CCxxx0_MDMCFG4 0x10 / Modem configuration#define CCxxx0_MDMCFG3 0x11 / Modem configuration#define CCxxx0_MDMCFG2 0x12 / Modem configuration#define CCxxx0_MDMCFG1 0x13 / Modem configuration#define CCxxx0_MDMCFG0 0x14 / Modem configuration#define CCxxx0_DEVIATN 0x15 / Modem deviation setting#define CCxxx0_MCSM2 0x1

温馨提示

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

评论

0/150

提交评论