毕设帮助、开题指导、技术解答(有偿)见文未
目录
需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。
一、设计功能
1、设计实现了一种以CC2420为核心的无线传感器网络。
2、电脑上位机通过串口RS232跟板子通信。
3、采用DS18B20温度传感器检测温度进行传输。
4、有搭建传输好的框架系统,可以自行添加代码加入各种传感器传输,例如温湿度传感器SHTll、红外传感器BS520、光照度传感器PGM5506等等。
二、实物图
单片机模块设计
单片微型计算机是随着微型计算机的发展而产生和发展的。自从1975 年美国德克萨斯仪器公司的第一台单片微型计算机( 简称单片机)TMS-1000 问世以来,迄今为止,单片机技术已成为计算机技术的一个独特分支,单片机的应用领域也越来越广泛,特别是在工业控制中经常遇到对某些物理量进行定时采样与控制的问题,在仪器仪表智能化中也扮演着极其重要的角色。
如果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:
第一阶段(1976—1978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。
第二阶段(1978—1982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。
(1)完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。
(2)CPU外围功能单元的集中管理模式。
(3)体现工控特性的地址空间及位操作方式。
(4)指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。
第三阶段(1982—1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。
第四阶段(1990—):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。
单片机是在集成电路芯片上集成了各种元件的微型计算机,这些元件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时/计数器、中断系统、时钟部件的集成和I/O接口电路。由于单片机具有体积小、价格低、可靠性高、开发应用方便等特点,因此在现代电子技术和工业领域应用较为广泛,在智能仪表中单片机是应用最多、最活跃的领域之一。在控制领域中,现如今人们更注意计算机的底成本、小体积、运行的可靠性和控制的灵活性。在各类仪器、仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,提高计算机的运算速度,简化仪器仪表的硬件结构,提高其性能价格比。
三、原理图
在本设计做的过程中,硬件和软件方面都遇到了许多问题,但是相比于软件,在硬件方面还是比较快解决的方面,因为硬件是比较容易检查出来错误的,软件比较晦涩难懂,还是有一定难度。
在硬件调试问题上,首先焊接好了元器件实物板后,先用万用表测量这个工业板子的电源方面,电源方面是最重要的问题,应该是特别需要检查的地方,以防止电源的短路和正负极的错误。然后在仔细检查电路的连接是否有问题,或者有没有虚焊或者没有焊接到的地方,然后核对一下元器件的安装是否有问题,安装上去是否符合规定,由于已经是大学四年都是做过了很多实训过来了,对于这些还是游刃有余的,但是在上机调试后还是发现了很多的问题。
四、PCB图
在本设计做的过程中,硬件和软件方面都遇到了许多问题,但是相比于软件,在硬件方面还是比较快解决的方面,因为硬件是比较容易检查出来错误的,软件比较晦涩难懂,还是有一定难度。
在硬件调试问题上,首先焊接好了元器件实物板后,先用万用表测量这个工业板子的电源方面,电源方面是最重要的问题,应该是特别需要检查的地方,以防止电源的短路和正负极的错误。然后在仔细检查电路的连接是否有问题,或者有没有虚焊或者没有焊接到的地方,然后核对一下元器件的安装是否有问题,安装上去是否符合规定,由于已经是大学四年都是做过了很多实训过来了,对于这些还是游刃有余的,但是在上机调试后还是发现了很多的问题。
五、部分程序源码
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
/***********************************************************************
* 请求终端节点发送温度数据的响应 (只对终端节点有效)
************************************************************************/
void app_RequestTemperature_ACK(void)
{
unsigned char i;
float temp;
app_FCF = APP_FCF_CMD;
app_RequestOrAck = APP_ACK;
app_TxBuffer[0] = app_FCF;
app_TxBuffer[1] = app_RequestOrAck;
temp=ds18b20_temperature(0);
ftoa(temp,5,Temperature); //转换浮点数temp为字符串temp_char,其中第二位参数指定四舍五入保留小数位(最多五位)。
for(i=0;i<10;i++)
{
app_TxBuffer[i+2] = Temperature[i];
}
rfTxInfo.destAddr = rfSettings.pRxInfo->srcAddr;
nwk_PackData(app_TxBuffer,11);
}
void app_DriveNoteOut(void)
{
unsigned char i;
for(i=0;i<MAX_ADDRTABLE;i++)
{
if(neighbor[i].Avail)
{
nwk_DriveNoteOut(neighbor[i].ShortAddr);
}
}
}
void app_SendData(void)
{
}
void app_PackData(void)
{
}
/***********************************************************************
* 应用层解包函数
************************************************************************/
void app_UnPackData(unsigned char *pPayload, unsigned char length)
{
unsigned char temp0,temp1,j;
temp0 = *pPayload++;
switch (temp0)
{
case APP_FCF_DATA:
{
break;
}
case APP_FCF_CMD: // 网络层命令