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

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

?? main.lst

?? 溫度濕度一體化傳感器的C51測試程序,容易移植到其他嵌入式處理器上
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.02   MAIN                                                                  06/02/2007 10:41:58 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /***********************************************************************************
   2          Project:          SHTxx demo program (V2.1)
   3          Filename:         SHTxx_Sample_Code.c    
   4          
   5          Prozessor:        80C51 family
   6          Compiler:         Keil Version 6.14
   7          
   8          Autor:            MST
   9          Copyrigth:        (c) Sensirion AG      
  10          ***********************************************************************************/
  11          
  12          #include <REGX51.H>
  13          //#include <AT89s52.h> //Microcontroller specific library, e.g. port definitions
  14          #include <intrins.h> //Keil library (is used for _nop()_ operation)  
  15          #include <math.h>    //Keil library  
  16          #include <stdio.h>   //Keil library
  17          
  18          typedef union 
  19          { unsigned int i;
  20            float f;
  21          } value;
  22          
  23          //----------------------------------------------------------------------------------
  24          // modul-var
  25          //----------------------------------------------------------------------------------
  26          enum {TEMP,HUMI};
  27          
  28          #define DATA    P1_1
  29          #define SCK     P1_0
  30          
  31          #define noACK 0
  32          #define ACK   1
  33                                      //adr  command  r/w
  34          #define STATUS_REG_W 0x06   //000   0011    0
  35          #define STATUS_REG_R 0x07   //000   0011    1
  36          #define MEASURE_TEMP 0x03   //000   0001    1
  37          #define MEASURE_HUMI 0x05   //000   0010    1
  38          #define RESET        0x1e   //000   1111    0
  39          
  40            ///////////////////////////////////////////////////////////////
  41           
  42          
  43          
  44          unsigned char data dis_digit;
  45          unsigned char key_s, key_v;
  46          
  47          unsigned char code dis_code[11]={0xc0,0xf9,0xa4,0xb0,   // 0, 1, 2, 3
  48                                          0x99,0x92,0x82,0xf8,0x80,0x90, 0xff};// 4, 5, 6, 7, 8, 9, off 
  49          unsigned char dis_buf[8];               // 顯示緩沖區
  50          unsigned char sec_bcd[8];               // 秒計數值, BCD碼
  51          unsigned char dis_index;                // 
  52          unsigned char key_times;                // K1 按下次數                          //
  53          
  54          void clr_time();        
  55          void update_disbuf();
C51 COMPILER V8.02   MAIN                                                                  06/02/2007 10:41:58 PAGE 2   

  56          bit     scan_key();
  57          void proc_key();
  58          void delayms(unsigned char ms);
  59          
  60          sbit    K1 = P1^4;
  61           ///////////////////////////////////////////////////////////////
  62          
  63          
  64          /*                                                                             *
  65          *                 數碼管顯示秒表, 分辨率0.01s                                     *
  66          *                 K1=P1.4---控制按鈕                                           *
  67          *                       第一次按下時, 啟動開始計時                             *
  68          *                       第二次按下時, 停止                                     *
  69          *                       第三次按下時, 歸零                                     *
  70          *                                                                              *
  71          *    秒單位,寄存器與數碼管對應關系:                                            *
  72          *                                                                              *
  73          * --- 秒單位 ---------- 數碼管端口 ---- 緩沖區 --------- 計時BCD碼值寄存器     *
  74          *     十萬位               P20        dis_buf[7]          sec_bcd[7]           *
  75          *     萬位                 P21        dis_buf[6]          sec_bcd[6]           *
  76          *     千位                 P22        dis_buf[5]          sec_bcd[5]           *
  77          *     百位                 P23        dis_buf[4]          sec_bcd[4]           *
  78          *     十位                 P24        dis_buf[3]          sec_bcd[3]           *
  79          *     個位(1.s)            P25        dis_buf[2]          sec_bcd[2]           *
  80          *     十分位(0.1s)         P26        dis_buf[1]          sec_bcd[1]           *
  81          *     百分位(0.01s)        P27        dis_buf[0]          sec_bcd[0]           *
  82          *                                                                              *
  83          ********************************************************************************
  84          */
  85          
  86          
  87          
  88          
  89          void smg(void)
  90          {
  91   1              P0 = 0xff;
  92   1              P2 = 0xff;
  93   1              TMOD = 0x11;                // 定時器0, 1工作模式1, 16位定時方式
  94   1              TH1 = 0xdc;
  95   1              TL1 = 0;
  96   1      
  97   1              TH0 = 0xFC;
  98   1              TL0 = 0x17;
  99   1              
 100   1              clr_time();                     // 
 101   1                                                 
 102   1              dis_digit = 0x7f;               // 初始顯示P20口數碼管
 103   1              dis_index = 0;                  // 
 104   1              
 105   1              key_times = 0;
 106   1              key_v = 0x01;
 107   1              
 108   1              IE = 0x8a;                              // 使能timer0, timer1中斷
 109   1              
 110   1              TR0 = 1;
 111   1              TR1 = 0;
 112   1              while(1)
 113   1              {
 114   2                      if(scan_key())
 115   2                      {
 116   3                              delayms(10);
 117   3                              if(scan_key())
C51 COMPILER V8.02   MAIN                                                                  06/02/2007 10:41:58 PAGE 3   

 118   3                              {
 119   4                                      key_v = key_s;
 120   4                                      proc_key();
 121   4                              }
 122   3                      }
 123   2                      
 124   2              }
 125   1      }
 126          
 127          void clr_time()
 128          {
 129   1              sec_bcd[0] = 0x0;
 130   1              sec_bcd[1] = 0x0;
 131   1              sec_bcd[2] = 0x0;
 132   1              sec_bcd[3] = 0x0;
 133   1              sec_bcd[4] = 0x0;
 134   1              sec_bcd[5] = 0x0;
 135   1              sec_bcd[6] = 0x0;
 136   1              sec_bcd[7] = 0x0;   
 137   1              
 138   1              update_disbuf();
 139   1              
 140   1      }
 141          
 142          bit scan_key()
 143          {
 144   1              key_s = 0x00;
 145   1              key_s |= K1;
 146   1              return(key_s ^ key_v);  
 147   1      }
 148          
 149          void proc_key()
 150          {
 151   1              if((key_v & 0x01) == 0)
 152   1              {
 153   2                      key_times++;
 154   2                      if(key_times == 1)
 155   2                      {
 156   3                              TR1 = 1;
 157   3                      }
 158   2                      else if(key_times == 2)
 159   2                      {       
 160   3                              TR1 = 0;
 161   3                      }
 162   2                      else
 163   2                      {
 164   3                              clr_time();
 165   3                              key_times = 0;
 166   3                      }
 167   2                      
 168   2              }
 169   1      }
 170          
 171          void timer0() interrupt 1
 172          // 定時器0中斷服務程序, 用于數碼管的動態掃描
 173          // dis_index --- 顯示索引, 用于標識當前顯示的數碼管和緩沖區的偏移量
 174          // dis_digit --- 位選通值, 傳送到P2口用于選通當前數碼管的數值, 如等于0xfe時,
 175          //                              選通P2.0口數碼管
 176          // dis_buf   --- 顯于緩沖區基地址       
 177          {
 178   1              TH0 = 0xFC;
 179   1              TL0 = 0x17;
C51 COMPILER V8.02   MAIN                                                                  06/02/2007 10:41:58 PAGE 4   

 180   1              
 181   1              P2 = 0xff;                                                      // 先關閉所有數碼管
 182   1              P0 = dis_buf[dis_index];                        // 顯示代碼傳送到P0口
 183   1              P2 = dis_digit;                                         // 
 184   1      
 185   1              dis_digit = _cror_(dis_digit,1);        // 位選通值右移(P20<-P27), 下次中斷時選通下一位數碼管
 186   1              dis_index++;                                            // 
 187   1                                              
 188   1              dis_index &= 0x07;                      // 8個數碼管全部掃描完一遍之后,再回到第一個開始下一次掃描
 189   1      }
 190          
 191          void timer1() interrupt 3
 192          //
 193          {       
 194   1              unsigned char i;
 195   1              TH1 |= 0xdc;
 196   1              for(i = 0; i < 8; i++)
 197   1              {
 198   2                      sec_bcd[i]++;                   // 低位加1
 199   2                      if(sec_bcd[i] < 10)             // 如果低位滿10則向高位進1
 200   2                              break;                  // 低位未滿10
 201   2                      sec_bcd[i] = 0;                 // 低位滿10清0
 202   2              }
 203   1              update_disbuf();                        // 更新顯示緩沖區
 204   1      }
 205          
 206          void update_disbuf()
 207          // 更新顯示緩沖區
 208          {
 209   1              dis_buf[0] = dis_code[sec_bcd[0]];
 210   1              dis_buf[1] = dis_code[sec_bcd[1]];
 211   1              dis_buf[2] = dis_code[sec_bcd[2]] & 0x7f;       // 加上小數點
 212   1              dis_buf[3] = dis_code[sec_bcd[3]];
 213   1              dis_buf[4] = dis_code[sec_bcd[4]];
 214   1              dis_buf[5] = dis_code[sec_bcd[5]];
 215   1              dis_buf[6] = dis_code[sec_bcd[6]];
 216   1              dis_buf[7] = dis_code[sec_bcd[7]];
 217   1      }
 218          
 219          void delayms(unsigned char ms)  
 220          // 延時子程序
 221          {                                               
 222   1              unsigned char i;
 223   1              while(ms--)
 224   1              {
 225   2                      for(i = 0; i < 120; i++);
 226   2              }
 227   1      }
 228          
 229          
 230          
 231          
 232           //////////////////////////////////////////////////////////////
 233          
 234           //////////////////////////////////////////////////////////////
 235          
 236          

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品进线69影院| 99久久久国产精品| 欧美一区日本一区韩国一区| 午夜视频一区二区三区| 欧美精品18+| 精品亚洲欧美一区| 日本一区二区三区国色天香 | 一区二区三区欧美在线观看| 一本一道波多野结衣一区二区| 一区二区三区日韩欧美| 欧美亚洲高清一区二区三区不卡| 亚洲电影在线播放| 欧美zozo另类异族| 成人久久久精品乱码一区二区三区 | 亚洲国产成人91porn| 欧美一区二区在线观看| 国产精品一区一区| 亚洲色图.com| 欧美一卡2卡三卡4卡5免费| 国产在线精品一区在线观看麻豆| 国产精品久久久久影院老司| 欧美三级韩国三级日本一级| 男女性色大片免费观看一区二区 | 91一区二区三区在线观看| 日韩一区中文字幕| 337p亚洲精品色噜噜狠狠| 国产在线视频一区二区| 亚洲狼人国产精品| 欧美成人vr18sexvr| 9人人澡人人爽人人精品| 天堂va蜜桃一区二区三区| 国产日产亚洲精品系列| 91黄色免费版| 极品少妇xxxx精品少妇偷拍| 亚洲免费在线观看| 日韩精品一区二区在线| 一本色道久久综合精品竹菊| 麻豆精品一区二区av白丝在线| 中文字幕在线不卡| 日韩三级免费观看| 日本韩国欧美国产| 国产福利一区在线观看| 日韩主播视频在线| 亚洲品质自拍视频| 久久久久88色偷偷免费| 欧美精品自拍偷拍| 99久久精品费精品国产一区二区| 蜜桃传媒麻豆第一区在线观看| 亚洲欧美日韩在线| 久久久99久久| 欧美大片一区二区| 日本电影欧美片| 成人亚洲一区二区一| 久久99国产乱子伦精品免费| 亚洲国产精品一区二区尤物区| 中文字幕一区二区三区四区不卡 | 亚洲美女淫视频| 久久久久久免费网| 欧美一区二区三区小说| 91精彩视频在线| 99精品视频在线观看| 国产91高潮流白浆在线麻豆 | 日韩高清不卡一区| 亚洲免费观看视频| 欧美高清在线视频| 久久日一线二线三线suv| 91精品国产入口在线| 在线观看亚洲精品| 日本大香伊一区二区三区| k8久久久一区二区三区 | 99精品国产99久久久久久白柏| 国产精品一卡二| 国产中文字幕精品| 久久丁香综合五月国产三级网站| 五月婷婷欧美视频| 偷拍与自拍一区| 日本欧美久久久久免费播放网| 亚洲成a人片综合在线| 亚洲高清视频在线| 亚洲国产精品自拍| 亚洲国产成人av| 首页国产欧美日韩丝袜| 日韩国产在线观看一区| 日韩电影在线观看一区| 蜜臀久久久99精品久久久久久| 奇米777欧美一区二区| 久久成人麻豆午夜电影| 狠狠色狠狠色综合系列| 国产精品系列在线观看| 成人国产亚洲欧美成人综合网| 成人午夜视频在线观看| 99久久精品免费| 91蝌蚪porny| 欧美精品久久久久久久多人混战| 在线综合亚洲欧美在线视频| 91精品国产欧美一区二区成人| 精品欧美久久久| 久久精品亚洲乱码伦伦中文 | 国产一区二区在线免费观看| 国产成人av自拍| 一本大道久久a久久综合| 欧美视频在线不卡| 日韩一卡二卡三卡国产欧美| 久久丝袜美腿综合| 亚洲私人影院在线观看| 亚洲一区二区三区四区在线免费观看| 日韩综合在线视频| 国产精品12区| 欧美日韩中字一区| 欧美精品一区二区三区视频| 国产精品日产欧美久久久久| 亚洲一区二区三区激情| 久久99精品久久久| 91麻豆.com| 日韩精品一区二区三区蜜臀| 国产精品毛片高清在线完整版| 亚洲电影一区二区三区| 国产乱码精品一区二区三区av| 色综合久久88色综合天天免费| 8x8x8国产精品| 国产精品久久精品日日| 日韩国产精品久久久| www.激情成人| 亚洲精品在线免费观看视频| 亚洲精品国产一区二区三区四区在线| 免费观看成人av| 在线观看免费视频综合| 欧美国产精品一区| 日韩一区精品字幕| 91视频精品在这里| 亚洲精品一区二区三区香蕉| 一区二区三区四区中文字幕| 国产精品一区三区| 日韩欧美在线影院| 一区二区三区在线观看动漫| 国产999精品久久久久久| 欧美美女黄视频| 亚洲视频你懂的| 国产成人av自拍| 日韩视频一区二区在线观看| 一区二区久久久久久| 成人av网站免费| 久久久久久久久99精品| 男女男精品视频网| 欧美影院一区二区三区| 国产精品久久久久久久久免费相片 | 久久午夜色播影院免费高清| 亚洲国产日韩一级| 99久久精品久久久久久清纯| 国产日韩欧美一区二区三区乱码| 蜜桃av一区二区三区| 精品视频在线视频| 亚洲自拍偷拍麻豆| 91一区二区在线| 亚洲欧洲www| 不卡一区二区在线| 中国色在线观看另类| 韩国女主播成人在线观看| 91精品国产色综合久久不卡电影| 午夜欧美电影在线观看| 欧美曰成人黄网| 一区二区三区加勒比av| 一本大道久久a久久精二百 | 一区二区免费视频| 92国产精品观看| 亚洲色欲色欲www| 91偷拍与自偷拍精品| 国产精品免费人成网站| 北岛玲一区二区三区四区| 国产精品成人在线观看| 丁香婷婷深情五月亚洲| 欧美激情一区二区| 99精品在线免费| 亚洲欧美日韩系列| 一本一道波多野结衣一区二区| 亚洲欧美国产三级| 欧美色图12p| 日韩二区三区四区| 久久综合九色综合欧美就去吻| 国产美女在线观看一区| 国产亚洲欧美日韩日本| 不卡一二三区首页| 一区二区三区产品免费精品久久75| 91国偷自产一区二区三区成为亚洲经典 | 日本最新不卡在线| 欧美成人三级在线| 国产呦萝稀缺另类资源| 中文字幕不卡在线| 91久久线看在观草草青青| 亚洲国产成人91porn| 日韩精品一区二区在线| 国产成人小视频| 一区二区三区鲁丝不卡| 欧美一二区视频| 风间由美中文字幕在线看视频国产欧美| 欧美激情一区不卡| 欧美三片在线视频观看| 精品一区二区三区的国产在线播放| 日本一区二区视频在线| 欧美三片在线视频观看|