• 大小: 8.29MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-05
  • 语言: 其他
  • 标签: zigbee    PM2.5    单片机  

资源简介

通过zigbee 进行网络连接 检测环境大气质量 工程有源码可直接使用

资源截图

代码片段和文件信息

#include “reg51.h“
#include “intrins.h“
#include “ADC.h“

/*Declare SFR associated with the ADC */
sfr ADC_CONTR   =   0xBC;           //ADC control register
sfr ADC_RES     =   0xBD;           //ADC high 8-bit result register
sfr ADC_LOW2    =   0xBE;           //ADC low 2-bit result register
sfr P1ASF       =   0x9D;           //P1 secondary function control register

/*Define ADC operation const for ADC_CONTR*/
#define ADC_POWER   0x80            //ADC power control bit
#define ADC_FLAG    0x10            //ADC complete flag
#define ADC_START   0x08            //ADC start control bit
#define ADC_SPEEDLL 0x00            //420 clocks
#define ADC_SPEEDL  0x20            //280 clocks
#define ADC_SPEEDH  0x40            //140 clocks
#define ADC_SPEEDHH 0x60            //70 clocks

//void InitADC();
//BYTE GetADCResult(BYTE ch);
//void Delay(WORD n);

/*----------------------------
Software delay function
----------------------------*/
void Delay(WORD n)
{
    WORD x;

    while (n--)
    {
        x = 5000;
        while (x--);
    }
}

/*----------------------------
Initial ADC sfr
----------------------------*/
void InitADC()
{
    P1ASF = 0x12;                   //Open 0001 0010 channels ADC function 
    ADC_RES = 0;                    //Clear previous result
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
    Delay(2);                       //ADC power-on and delay
}

/*----------------------------
Get ADC result
----------------------------*/
uint Get_ADC_Result(uchar ch)
{
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ch ;//开始转换
    _nop_();                          //延时一个机器周期
    _nop_();        //延时一个机器周期
    _nop_();        //延时一个机器周期
    _nop_();        //延时一个机器周期
    while (!(ADC_CONTR & ADC_FLAG));  //等待转换结束(ADC_FLAG=0时一直等待,直到变为1跳出)
    ADC_CONTR &= ~ADC_FLAG;           //关闭AD转换
    return (ADC_RES*4+ADC_LOW2);            //返回数据(10位AD值,ADC_RES高8位+ADC_RESL低2位)
}


//自定义计算AD采样值函数 数字量最大值500
int Count(uchar ch)
{
int xdata temp_arr1[10]={0}change;
int temp=0;//自定义 ADC采样取均值,确保精度
uchar ij;
for(i=0;i<10;i++)
{
 temp_arr1[i]=(long int)Get_ADC_Result(ch)*500/1024; //4.85为参考电压,1024个“门”,10位AD
}

for(i=0;i<10;i++)
{
for(j=0;j<10-i-1;j++)
{
if(temp_arr1[j]>temp_arr1[j+1])
{
change=temp_arr1[j];
temp_arr1[j]=temp_arr1[j+1];
temp_arr1[j+1]=change;
}
}
}

for(i=3;i<7;i++)
temp+=temp_arr1[i];
temp/=4;
return temp;//三位 0.00
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2614  2017-09-29 10:36  ZIgbee_PM2.5\CODE_R主机协调器\BSP\ADC.c

     文件        229  2017-09-29 10:14  ZIgbee_PM2.5\CODE_R主机协调器\BSP\ADC.h

     文件        477  2017-09-29 14:49  ZIgbee_PM2.5\CODE_R主机协调器\BSP\delay.c

     文件        128  2017-09-29 14:27  ZIgbee_PM2.5\CODE_R主机协调器\BSP\delay.h

     文件       5953  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\BSP\lcd1602.c

     文件       3433  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\BSP\lcd1602.h

     文件       1321  2017-09-29 15:04  ZIgbee_PM2.5\CODE_R主机协调器\BSP\UART.c

     文件        491  2017-09-29 10:50  ZIgbee_PM2.5\CODE_R主机协调器\BSP\UART.h

     文件       4513  2017-09-29 11:29  ZIgbee_PM2.5\CODE_R主机协调器\BSP\ZigBee.c

     文件        816  2017-09-29 11:25  ZIgbee_PM2.5\CODE_R主机协调器\BSP\ZigBee.h

     文件       4935  2017-09-29 10:36  ZIgbee_PM2.5\CODE_R主机协调器\Listings\ADC.lst

     文件       1872  2017-09-29 14:49  ZIgbee_PM2.5\CODE_R主机协调器\Listings\delay.lst

     文件      10671  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\Listings\lcd1602.lst

     文件       1849  2017-09-29 19:55  ZIgbee_PM2.5\CODE_R主机协调器\Listings\main.lst

     文件      32117  2017-09-29 19:55  ZIgbee_PM2.5\CODE_R主机协调器\Listings\PH.m51

     文件       3086  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\Listings\UART.lst

     文件       7747  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\Listings\ZigBee.lst

     文件       5681  2017-09-29 10:36  ZIgbee_PM2.5\CODE_R主机协调器\objects\ADC.obj

     文件        138  2017-09-29 10:36  ZIgbee_PM2.5\CODE_R主机协调器\objects\ADC.__i

     文件       2464  2017-09-29 14:49  ZIgbee_PM2.5\CODE_R主机协调器\objects\delay.obj

     文件        144  2017-09-29 14:49  ZIgbee_PM2.5\CODE_R主机协调器\objects\delay.__i

     文件       9691  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\objects\lcd1602.obj

     文件        150  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\objects\lcd1602.__i

     文件       7913  2017-09-29 19:55  ZIgbee_PM2.5\CODE_R主机协调器\objects\main.obj

     文件      42636  2017-09-29 19:55  ZIgbee_PM2.5\CODE_R主机协调器\objects\PH

     文件       1466  2017-09-29 20:10  ZIgbee_PM2.5\CODE_R主机协调器\objects\PH.build_log.htm

     文件       8489  2017-09-29 19:55  ZIgbee_PM2.5\CODE_R主机协调器\objects\PH.hex

     文件        205  2017-09-29 19:55  ZIgbee_PM2.5\CODE_R主机协调器\objects\PH.lnp

     文件       9191  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\objects\UART.obj

     文件      11664  2017-09-29 17:31  ZIgbee_PM2.5\CODE_R主机协调器\objects\ZigBee.obj

............此处省略84个文件信息

评论

共有 条评论