亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 37.lst

?? 采用單片機控制
?? LST
字號:
C51 COMPILER V7.10   37                                                                    06/18/2007 10:36:06 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE 37
OBJECT MODULE PLACED IN 37.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 37.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1           /*******************************************************************
   2          **************重慶東電通信有限公司***************
   3          文件名:SWS—3000加熱軟件(適用于雙面加熱)
   4          版本:V3.5
   5          編寫:劉賢曙
   6          創建日期:2006.10.7
   7          2006.10.31調試OK
   8          *******************************************************************/
   9          #include<reg52.h>
  10          #include<intrins.h>
  11          #include<math.h>
  12          #define uchar unsigned char
  13          #define uint unsigned int
  14          
  15          /********************以下是I2C通信定義******************/
  16          uchar  RCV_WD[8]  = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  17          uchar SEND_WD[8] =  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
  18          #define SLVADR     0x40            //本機地址
  19          union
  20          {
  21                  uint I2c_STemperature;
  22                  uchar STemperature[2];
  23          }byte;
  24          
  25          #define TPL     RCV_WD[0]               //主機發來的目標溫度低位--02h
  26          #define TPH     RCV_WD[1]               //主機發來的目標溫度高位--01h
  27          #define FLOW    RCV_WD[2]               //主機發來的流量ml/min    --03h
  28          #define CWD     RCV_WD[3]               //主機發來的命令字-  -00h
  29          //#define         RCV_WD[4]     //保留
  30          //#define         RCV_WD[5]     //保留
  31          //#define         RCV_WD[6]     //保留
  32          //#define         RCV_WD[7]     //保留
  33          #define RTPL    SEND_WD[0]              //從機發送的適時溫度低位--01h
  34          #define RTPH    SEND_WD[1]              //從機發送的適時溫度高位----00h
  35          //#define         SEND_WD[2]    //保留
  36          //#define         SEND_WD[3]    //保留
  37          //#define         SEND_WD[4]    //保留
  38          //#define         SEND_WD[5]    //保留
  39          //#define         SEND_WD[6]    //保留
  40          //#define         SEND_WD[7]    //保留
  41          #define  nop    _nop_()
  42          uchar reg_adr;                  //地址偏移量
  43          sbit SDA   = P3^5;              //模擬I2C數據傳送位
  44          sbit SCL   = P3^3;              //模擬I2C時鐘控制位
  45          sbit K_INT = P3^4;
  46          bit  slv;                       //I2c數據控制狀態標志位,0為發送,1為接收
  47          bit  DATOK_FLAG;                //數據接收完標志
  48          bit  int1bz;                                    //int1執行標志
  49          /*******以下是AD轉換定義************/
  50          
  51          sbit AD7705_CLK  = P1^3;                //AD7705串行時鐘
  52          sbit AD7705_DIN  = P1^4;                //AD7705數據輸入端
  53          sbit AD7705_DOUT = P1^5;                //AD7705數據輸出端
  54          sbit AD7705_DRDY = P3^2;                //AD770準備好信號
  55          sbit AD7705_REST = P1^2;                //AD7705復位信號,低電平復位
C51 COMPILER V7.10   37                                                                    06/18/2007 10:36:06 PAGE 2   

  56          sbit Door        = P1^7;                //AD結果和環境溫度顯示轉換開關
  57          /*********以下是環境溫度采集及加熱板溫度采集定義*********/
  58          
  59          sbit DQ    = P1^6;
  60          /**************以下是PID調節定義************/
  61          
  62          uchar   Kp;                                                     //PID調節比例系數
  63          #define T_C  2                                                          //采樣周期
  64          float   error;                                                          //當前偏差
  65          float   last_error;                                                     //上一次偏差
  66          float   sum_error;                                                      //偏差累加和
  67          float   P_out,I_out,D_out,PWM_0;                                        //比例項/積分項/微分項
  68          float   T_target=0.0;                                                   //目標溫度
  69          float   T_real = 0.0;                                                   //當前溫度
  70          float   PWM    = 0;                                                     //輸出量
  71          float   Ki     = 0;                                                     //PID調節積分系數
  72          float   SV=0;
  73          float   Kd     = 0;
  74          #define Ti_H  50
  75          #define Td_H   45                                                       //PID調節微分系數
  76          #define Ti_L   50                                                       //積分時間常數
  77          #define Td_L   45                                                       //微分時間常數
  78          uint    TC_CNT = 0;
  79          uchar   TC_zhi=0;                                                               //采樣周期計數器
  80          uchar   PWM_CNT= 0 ;
  81          uchar   Per = 0;                                        //t:占空比計數器; per:輸出百分比
  82          sbit    LED2   = P2^3;                                                  //加熱狀態?燈亮表示正在加熱,燈滅表示停止加熱
  83          sbit    LED3   = P2^4;                                                  //通信指示,燈亮表示正在通信
  84          sbit    PID_SW   = P1^0;                                                //加熱控制執行
  85          sbit    sanre    = P1^1;                                                //散熱風扇控制
  86          bit     PID_flag = 0;                                                   //PID運算允許標志
  87          //bit   sanre_flag;
  88          bit     First_flag=0;
  89          bit     End_flag=0;
  90          bit     DY_flag=0;
  91          /**********微秒延時函數********/
  92          void delay_US(uchar i)
  93          {
  94   1          while(i--);
  95   1      }
  96          /****************************************************
  97          *函數原形: void Write_7705(uchar word)
  98          *功能: 寫AD7705
  99          *參數: AD7705控制命令
 100          *返回值:無
 101          ****************************************************/
 102          void Write_7705(uchar Byte)
 103          {
 104   1          uchar i;
 105   1          AD7705_CLK  = 1;
 106   1          for(i=8;i>0;i--)
 107   1           {
 108   2              if(Byte&0x80)   AD7705_DIN = 1;
 109   2              else            AD7705_DIN = 0;
 110   2              AD7705_CLK = 1;
 111   2              nop;
 112   2              AD7705_CLK = 0;
 113   2              nop;
 114   2              AD7705_CLK = 1;
 115   2              Byte <<= 1;
 116   2           }
 117   1          AD7705_CLK = 1;
C51 COMPILER V7.10   37                                                                    06/18/2007 10:36:06 PAGE 3   

 118   1          nop;
 119   1          AD7705_DIN = 0;
 120   1      }
 121          
 122          /****************************************************
 123          **函數原形:uint Read_7705()
 124          **功能:讀AD7705轉換后數據
 125          **參數:無
 126          **返回值:轉換結果
 127          *****************************************************/
 128          
 129          uint Read_7705(void)
 130          {
 131   1         uchar i,j,k=4;
 132   1         uint AD_data=0x0000;
 133   1         long int  sum_data=0;
 134   1         for(j=0;j<8;j++)
 135   1         {
 136   2            Write_7705(0x38);
 137   2            AD7705_CLK=1;
 138   2            while(AD7705_DRDY==1)
 139   2                       { delay_US(100);
 140   3                          k-- ;
 141   3                         if(!k) break;
 142   3                       }
 143   2            for(i=16;i>0;i--)
 144   2                {
 145   3                        AD_data=AD_data<<1;
 146   3                        AD7705_CLK=0;
 147   3                        nop;
 148   3                        AD7705_DOUT=1;
 149   3                        if(AD7705_DOUT)       AD_data|=0x0001;
 150   3                        else                  AD_data|=0x0000;
 151   3                        AD7705_CLK=1;
 152   3                }
 153   2                AD7705_CLK=1;
 154   2                nop;
 155   2                AD7705_DIN=1;
 156   2                sum_data+=AD_data;
 157   2                AD_data=0x0000;
 158   2         }
 159   1              AD_data=sum_data>>3;
 160   1              return(AD_data);
 161   1      }
 162          
 163          /*******************************************************
 164          **函數原形: void Init_7705(void)
 165          **功能:初始化AD7705,設置為20HZ更新率、雙極性、自校準、增益128
 166          **參數:無
 167          **返回值:無
 168          *********************************************************/
 169          
 170          void Init_7705(void)    //初始化7705
 171          
 172          {
 173   1            uchar i;
 174   1            AD7705_CLK=1;
 175   1            nop;
 176   1            AD7705_DIN=1;
 177   1            for (i=0;i<40;i++) // AD7705復位
 178   1              {
 179   2               AD7705_CLK=0;
C51 COMPILER V7.10   37                                                                    06/18/2007 10:36:06 PAGE 4   

 180   2               nop;
 181   2               AD7705_CLK=1;
 182   2              }
 183   1            Write_7705(0x20);    //寫通信寄存器設置通道1 選擇下一個操作是寫時鐘寄存器
 184   1            Write_7705(0x04);    //寫時鐘寄存器設置更新速率為20Hz
 185   1            Write_7705(0x10);    //通道1 ,下一個寫設置寄存器
 186   1            Write_7705(0x7a);    //寫設置寄存器,設置成雙極性、增益為128、自校準
 187   1       }
 188          
 189          /********************************************************
 190          **
 191          **環境溫度采集
 192          **
 193          **
 194          ********************************************************/
 195          
 196          Init_DS18B20(void)
 197          {
 198   1          uchar x = 0;
 199   1          DQ = 1;             //DQ復位
 200   1          delay_US(8);
 201   1          DQ = 0;             //拉低
 202   1          delay_US(80);       //延時 480us
 203   1          DQ = 1;             //拉高總線
 204   1          delay_US(14);       //稍延時后 如果DQ=0則初始化成功 DQ=1則初始化失敗
 205   1          x  = DQ;
 206   1          delay_US(20);
 207   1      }
 208          
 209          /*******************************************************
 210          **函數原形:Read_byte(void )
 211          **函數功能:讀18B20一個字節
 212          **參數:無
 213          **返回值:讀出的數據
 214          ********************************************************/
 215          
 216          Read_byte(void )
 217          {
 218   1              uchar i = 0,dat = 0;
 219   1              for (i=8;i>0;i--)
 220   1                {
 221   2                  DQ  =   0; // 給脈沖信號
 222   2                  dat >>= 1;
 223   2                  DQ  =   1; // 給脈沖信號
 224   2                  if(DQ)
 225   2                  dat |=  0x80;
 226   2                  delay_US(4);
 227   2                }
 228   1              return(dat);
 229   1      }
 230          
 231          /*******************************************************
 232          **函數原形:void Write_byte(uchar dat)
 233          **函數字功能:向DS18B20寫入命令
 234          **參數:命令數據
 235          **返回值:無
 236          ********************************************************/
 237          
 238          void Write_byte(uchar dat)
 239          {
 240   1         uchar i = 0;
 241   1          for (i=8; i>0; i--)
C51 COMPILER V7.10   37                                                                    06/18/2007 10:36:06 PAGE 5   

 242   1           {
 243   2              DQ  = 0;
 244   2              DQ  = dat&0x01;
 245   2              delay_US(5);
 246   2              DQ  = 1;
 247   2              dat >>= 1;
 248   2           }
 249   1      }
 250          
 251          /*******************************************************
 252          **函數原形:uint Read_Temp_surr(void)
 253          **函數功能:讀取DS18B20數據并計算出溫度
 254          **參數:無
 255          **返回值:溫度
 256          ********************************************************/
 257          
 258          uint Read_Temp_surr(void)
 259          {
 260   1        uchar th=0,tl=0;
 261   1        uint temp=0;
 262   1        EA=0;   //禁T0中斷
 263   1        Init_DS18B20();
 264   1        Write_byte(0xCC); // 跳過讀序號列號的操作
 265   1        Write_byte(0x44); // 啟動溫度轉換
 266   1        Init_DS18B20();
 267   1        Write_byte(0xCC); //跳過讀序號列號的操作
 268   1        Write_byte(0xBE); //讀取溫度寄存器
 269   1        tl=Read_byte();       //低字節
 270   1        th=Read_byte();       //高字節
 271   1        EA=1;
 272   1        temp=(uint)((th*256+tl)/16.0*10);
 273   1        return  temp;
 274   1      }
 275          
 276          /***************************************
 277                     定時器初始化
 278          ****************************************/
 279          
 280          void T_Init()
 281          {
 282   1              TMOD = 0xe1 ;                   //定時器工作方式:定時器1外控、計數方式2,定時器0、方式1
 283   1              IE   = 0x0a ;                   //開外中斷INT0
 284   1              PT1  = 1 ;                      //定時器1中斷優先
 285   1              TH1  = 0x0ff ;
 286   1              TL1  = 0x0ff ;
 287   1              TH0  = 0xd8;                    //定時初值10MS
 288   1          TL0  = 0xef;
 289   1              nop;
 290   1              EA   = 1 ;                      //總中斷開放
 291   1              TR1  = 1 ;                      //啟動T1
 292   1      }
 293          
 294           /*****************************************************
 295           **函數原形

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人综合网站| 欧美激情一区二区三区在线| 精品一二三四区| 国产精品免费久久| 91精品国产全国免费观看| 成人高清免费在线播放| 日韩av电影天堂| 亚洲欧美偷拍三级| 久久亚洲免费视频| 欧美久久久一区| 99国产精品一区| 国产精品影视天天线| 亚洲va欧美va人人爽| 国产精品美女久久久久av爽李琼 | 久久av中文字幕片| 一区二区激情视频| 国产欧美va欧美不卡在线 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产成人av在线影院| 日韩国产在线观看| 日本成人在线网站| 欧美大片在线观看| 国产精品亚洲综合一区在线观看| 亚洲国产精品久久人人爱蜜臀 | 国产日本一区二区| 欧美大度的电影原声| 欧美日本一道本| 欧美午夜精品一区二区蜜桃 | 欧美电影免费观看高清完整版| 91九色02白丝porn| 色婷婷激情一区二区三区| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 欧美一区二区视频在线观看2022| 99久久夜色精品国产网站| 成人在线一区二区三区| 国产麻豆成人精品| 加勒比av一区二区| 国模一区二区三区白浆| 国内精品在线播放| 精品在线一区二区| 国产麻豆精品95视频| 国产毛片精品一区| 国产成人亚洲综合a∨婷婷图片| 久草在线在线精品观看| 久久草av在线| 国产精品系列在线播放| 国产电影精品久久禁18| 懂色中文一区二区在线播放| 成人激情视频网站| 99久久精品国产精品久久| 91美女片黄在线观看| 欧美中文一区二区三区| 欧美日韩一区二区三区在线| 欧美乱妇15p| 日韩欧美成人一区二区| 欧美mv日韩mv亚洲| 久久精品日产第一区二区三区高清版| 久久久久综合网| 日本一区免费视频| 亚洲精品视频一区二区| 午夜电影一区二区| 蜜桃av噜噜一区| 国产成a人亚洲| 色成年激情久久综合| 欧美日韩免费观看一区二区三区| 91精品国产一区二区三区香蕉| 亚洲精品在线免费观看视频| 中文成人av在线| 亚洲一区二区三区四区五区黄| 免费一区二区视频| 国产成人在线视频免费播放| 99视频精品全部免费在线| 欧美日韩在线免费视频| 欧美成人官网二区| 国产精品久久久久久久久免费桃花| 一区二区三区鲁丝不卡| 成人免费毛片a| 91丨九色丨蝌蚪丨老版| 国产精品美女久久久久aⅴ| 日本一区二区三区久久久久久久久不| 亚洲国产精品激情在线观看| 亚洲乱码日产精品bd| 亚洲一区二区在线视频| 日韩高清不卡在线| 懂色av一区二区夜夜嗨| 欧美影视一区二区三区| 欧美v日韩v国产v| 在线一区二区视频| 麻豆一区二区在线| 国产一区不卡在线| 欧美日韩一区二区三区免费看| 精品国产在天天线2019| 一区二区三区日韩欧美精品 | 一区二区成人在线| 五月天国产精品| 91国产视频在线观看| 欧美精品一区二区高清在线观看| 国产精品视频在线看| 日韩 欧美一区二区三区| 播五月开心婷婷综合| 欧美一二三四区在线| 亚洲精品欧美在线| 国产精品一区二区在线看| 欧美日韩中文字幕一区| 日韩欧美卡一卡二| 亚洲午夜电影在线| 91在线精品一区二区| 2021中文字幕一区亚洲| 日本大胆欧美人术艺术动态| 欧美一区二区性放荡片| 图片区小说区国产精品视频| 日韩福利电影在线| 岛国一区二区三区| 欧美mv日韩mv| 免费国产亚洲视频| 国产精品入口麻豆原神| 欧美激情中文不卡| 欧美精品日韩一本| 欧美一级免费观看| 亚洲一区二区在线免费观看视频| 成人动漫一区二区| 久久综合久久综合亚洲| 蜜桃视频在线一区| 欧美一区二区黄色| 天天影视网天天综合色在线播放| 日本韩国精品一区二区在线观看| 亚洲国产精品成人综合| 亚洲国产日日夜夜| 欧美欧美欧美欧美首页| 午夜欧美一区二区三区在线播放| 欧美日本一区二区三区| 国产成人精品aa毛片| 精品少妇一区二区三区在线播放 | 国产一区二区三区在线看麻豆| 亚洲欧美日韩国产综合| 久久99久久精品| 欧美电影免费观看高清完整版在线| 日本亚洲一区二区| 欧美精品黑人性xxxx| 日本中文字幕一区二区视频 | 欧美在线观看视频一区二区三区| 亚洲免费av观看| 在线免费一区三区| 亚洲一区二区在线免费看| 欧美综合一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 麻豆国产精品官网| 97久久精品人人爽人人爽蜜臀| 欧美猛男男办公室激情| 国产偷国产偷精品高清尤物| 亚洲第一二三四区| 成人动漫中文字幕| 欧美tk—视频vk| 亚洲h精品动漫在线观看| av色综合久久天堂av综合| 91精品国产综合久久久久久漫画 | 亚洲欧洲国产日韩| 麻豆精品新av中文字幕| 欧美国产97人人爽人人喊| 国产传媒欧美日韩成人| 亚洲欧美综合色| 欧美一级黄色大片| 91麻豆精品国产91久久久使用方法| 久久久久9999亚洲精品| 午夜精品免费在线| 日本精品一区二区三区四区的功能| 2023国产精品视频| 免费观看一级特黄欧美大片| 欧美日韩电影一区| 亚洲激情一二三区| 在线欧美小视频| 亚洲精品日韩专区silk| 91尤物视频在线观看| 中文字幕av在线一区二区三区| 国产在线精品一区二区夜色| 日韩欧美国产wwwww| 久久疯狂做爰流白浆xx| 欧美一区二区高清| 久久成人综合网| 久久理论电影网| 成人性生交大片免费看视频在线| 久久先锋影音av| 不卡电影一区二区三区| 一区二区三区在线视频免费观看| 91丝袜美女网| 日韩高清在线不卡| 精品成人私密视频| fc2成人免费人成在线观看播放| 中文字幕一区二区三区四区| 色噜噜狠狠成人中文综合| 五月天激情综合| 欧美国产亚洲另类动漫| 一本大道久久a久久综合| 五月天视频一区| 久久精品一级爱片| 在线观看区一区二| 黑人巨大精品欧美一区| 亚洲综合区在线| 久久久蜜臀国产一区二区| 91国产福利在线|