<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于89C52的DH11 C語(yǔ)言測(cè)試程序

          基于89C52的DH11 C語(yǔ)言測(cè)試程序

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          //單片機(jī) : AT89S52 或 STC89C52RC

          // 功能 :串口發(fā)送溫濕度數(shù)據(jù) 波特率 9600

          本文引用地址:http://www.ex-cimer.com/article/201611/322631.htm

          //單片機(jī)教程之DH11的測(cè)試程序

          #include

          #include

          typedefunsigned charU8;// defined for unsigned 8-bits integer variable 無符號(hào)8位整型變量 */

          typedef signed charS8;// defined for signed 8-bits integer variable 有符號(hào)8位整型變量 */

          typedefunsigned intU16;// defined for unsigned 16-bits integer variable 無符號(hào)16位整型變量 */

          typedef signed intS16;//defined for signed 16-bits integer variable 有符號(hào)16位整型變量 */

          typedefunsigned longU32;// defined for unsigned 32-bits integer variable 無符號(hào)32位整型變量 */

          typedef signed longS32;// defined for signed 32-bits integer variable 有符號(hào)32位整型變量 */

          typedef floatF32;// single precision floating point variable (32bits) 單精度浮點(diǎn)數(shù)(32位長(zhǎng)度)

          typedefdoubleF64;// double precision floating point variable (64bits) 雙精度浮點(diǎn)數(shù)(64位長(zhǎng)度)

          #define uchar unsigned char

          #define uint unsigned int

          #define Data_0_time 4

          //----------------------------------------------//

          //----------------IO口定義區(qū)--------------------//

          //----------------------------------------------//

          sbit P2_0 = P2^0 ; //DH11

          //----------------------------------------------//

          //----------------定義區(qū)--------------------//

          //----------------------------------------------//

          U8 U8FLAG,k;

          U8 U8count,U8temp;

          U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;

          U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;

          U8 U8comdata;

          U8 outdata[5];//定義發(fā)送的字節(jié)數(shù)

          U8 indata[5];

          U8 count, count_r=0;

          U8 str[5]={"RS232"};

          U16 U16temp1,U16temp2;

          SendData(U8 *a)

          {

          outdata[0] = a[0];

          outdata[1] = a[1];

          outdata[2] = a[2];

          outdata[3] = a[3];

          outdata[4] = a[4];

          count = 1;

          SBUF=outdata[0];

          }

          voidDelay(U16 j)

          { U8 i;

          for(;j>0;j--)

          {

          for(i=0;i<27;i++);

          }

          }

          voidDelay_10us(void)

          {

          U8 i;

          i--;

          i--;

          i--;

          i--;

          i--;

          i--;

          }

          voidCOM(void)

          {

          U8 i;

          for(i=0;i<8;i++)

          {

          U8FLAG=2;

          //----------------------

          P2_1=0 ;//T

          P2_1=1 ;//T

          //----------------------

          while((!P2_0)&&U8FLAG++);

          Delay_10us();

          Delay_10us();

          // Delay_10us();

          U8temp=0;

          if(P2_0)U8temp=1;

          U8FLAG=2;

          while((P2_0)&&U8FLAG++);

          //----------------------

          P2_1=0 ;//T

          P2_1=1 ;//T

          //----------------------

          //超時(shí)則跳出for循環(huán)

          if(U8FLAG==1)break;

          //判斷數(shù)據(jù)位是0還是1

          // 如果高電平高過預(yù)定0高電平值則數(shù)據(jù)位為 1

          U8comdata<=1;

          U8comdata|=U8temp;//0

          }//rof

          }

          //--------------------------------

          //-----濕度讀取子程序 ------------

          //--------------------------------

          //----以下變量均為全局變量--------

          //----溫度高8位== U8T_data_H------

          //----溫度低8位== U8T_data_L------

          //----濕度高8位== U8RH_data_H-----

          //----濕度低8位== U8RH_data_L-----

          //----校驗(yàn) 8位 == U8checkdata-----

          //----調(diào)用相關(guān)子程序如下----------

          //---- Delay();, Delay_10us();,COM();

          //--------------------------------

          voidRH(void)

          {

          //主機(jī)拉低18ms

          P2_0=0;

          Delay(180);

          P2_0=1;

          //總線由上拉電阻拉高 主機(jī)延時(shí)20us

          Delay_10us();

          Delay_10us();

          Delay_10us();

          Delay_10us();

          //主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號(hào)

          P2_0=1;


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 89C52DH11C語(yǔ)言測(cè)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();