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

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

?? 使用99分鐘倒計時器.lst

?? 51單片機實例
?? LST
字號:
C51 COMPILER V7.06   蔩用99_種觃_計蔩器                                                    06/07/2010 14:02:27 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE 蔩用99_種觃_計蔩器
OBJECT MODULE PLACED IN .\obj\使用99分鐘倒計時器.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 使用99分鐘倒計時器.c BROWSE DEBUG OBJECTEXTEND PRINT(.\obj\使用99分鐘倒計時
                    -器.lst) OBJECT(.\obj\使用99分鐘倒計時器.obj)

stmt level    source

   1          /*-----------------------------------------------
   2            名稱:99分鐘倒計時數碼管顯示
   3            論壇:www.doflye.net
   4            編寫:shifang
   5            日期:2009.5
   6            修改:無
   7            內容:99分鐘倒計時器,可以通過按鍵上調下調時間,定時器到時喇叭發聲報警
   8                  帶有點按和連按功能
   9          ------------------------------------------------*/
  10          #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
  11          
  12          #define DataPort P0 //定義數據端口 程序中遇到DataPort 則用P0 替換
  13          
  14          sbit LATCH1=P2^2;//定義鎖存使能端口 段鎖存
  15          sbit LATCH2=P2^3;//                 位鎖存
  16          
  17          sbit BEEP = P1^1;//定義喇叭端口 
  18          bit BeepFlag;
  19          
  20          sbit KEY_ADD=P3^0;  //定義按鍵輸入端口
  21          sbit KEY_DEC=P3^1;
  22          
  23          unsigned char hour,minute,second;//定義時分秒
  24          
  25          bit UpdateTimeFlag;//定義讀時間標志
  26          
  27          unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9
  28          unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分別對應相應的數碼管點亮,即位
             -碼
  29          unsigned char TempData[8]; //存儲顯示值的全局變量
  30          
  31          void DelayUs2x(unsigned char t);//us級延時函數聲明 
  32          void DelayMs(unsigned char t); //ms級延時
  33          void Display(unsigned char FirstBit,unsigned char Num);//數碼管顯示函數
  34          void Init_Timer0(void);//定時器初始化
  35          void  Beep_OFF(void);
  36          void  Beep_ON(void);
  37          void Display_Data_Operation(void);
  38          /*------------------------------------------------
  39                          顯示數據處理函數
  40          ------------------------------------------------*/
  41          void Display_Data_Operation(void)
  42          {
  43   1       TempData[2]=dofly_DuanMa[minute/10];//分解顯示信息,如要顯示68,則68/10=6  68%10=8 
  44   1       TempData[3]=dofly_DuanMa[minute%10];//分解顯示信息,如要顯示68,則68/10=6  68%10=8  
  45   1       TempData[4]=0x40;
  46   1       TempData[5]=dofly_DuanMa[second/10];//分解顯示信息,如要顯示68,則68/10=6  68%10=8 
  47   1       TempData[6]=dofly_DuanMa[second%10];//分解顯示信息,如要顯示68,則68/10=6  68%10=8 
  48   1      }
  49          /*------------------------------------------------
  50                              主函數
  51          ------------------------------------------------*/
  52          void main (void)
  53          {
C51 COMPILER V7.06   蔩用99_種觃_計蔩器                                                    06/07/2010 14:02:27 PAGE 2   

  54   1      unsigned char key_press_num;                  
  55   1      
  56   1      Init_Timer0();
  57   1      
  58   1      while (1)         //主循環
  59   1        {
  60   2      
  61   2       if(!KEY_ADD)  //如果檢測到低電平,說明按鍵按下
  62   2          {
  63   3               DelayMs(10); //延時去抖,一般10-20ms
  64   3           if(!KEY_ADD)     //再次確認按鍵是否按下,沒有按下則退出
  65   3                 {
  66   4                 while(!KEY_ADD)
  67   4                  {
  68   5                      key_press_num++;
  69   5              DelayMs(10);           //10x200=2000ms=2s 
  70   5                      if(key_press_num==200) //大約2s
  71   5                        {
  72   6                         key_press_num=0;    //如果達到長按鍵標準 則進入長按鍵動作
  73   6                 while(!KEY_ADD)     //這里用于識別是否按鍵還在按下,如果按下執行相關動作,否則退出
  74   6                             {
  75   7                              if(minute<99)    //加操作
  76   7                            minute++;
  77   7                                      //即時把顯示數據處理,如果去掉下面2句處理信息,實際上看不到漸變效果,而是看到跳變效果
  78   7                                      //用戶可以自行屏蔽測試
  79   7                      Display_Data_Operation();
  80   7                      DelayMs(50);//用于調節長按循環操作的速度
  81   7                                      }
  82   6                          }
  83   5                      }
  84   4            key_press_num=0;//防止累加造成錯誤識別
  85   4                         if(minute<99)    //加操作
  86   4                        minute++;
  87   4                 }
  88   3              }
  89   2      
  90   2       if(!KEY_DEC)  //如果檢測到低電平,說明按鍵按下
  91   2          {
  92   3               DelayMs(10); //延時去抖,一般10-20ms
  93   3           if(!KEY_DEC)     //再次確認按鍵是否按下,沒有按下則退出
  94   3                 {
  95   4                 while(!KEY_DEC)
  96   4                  {
  97   5                      key_press_num++;
  98   5              DelayMs(10);
  99   5                      if(key_press_num==200) //大約2s
 100   5                        {
 101   6                         key_press_num=0;
 102   6                 while(!KEY_DEC)
 103   6                             {
 104   7                              if(minute>0)  //減操作
 105   7                             minute--;
 106   7                      Display_Data_Operation();
 107   7                      DelayMs(50);//用于調節長按循環操作的速度
 108   7                                      }
 109   6                          }
 110   5                      }
 111   4            key_press_num=0;//防止累加造成錯誤識別
 112   4                     if(minute>0)  //減操作
 113   4                        minute--;
 114   4                      
 115   4                 }
C51 COMPILER V7.06   蔩用99_種觃_計蔩器                                                    06/07/2010 14:02:27 PAGE 3   

 116   3              }
 117   2      
 118   2      if(UpdateTimeFlag==1)
 119   2       {
 120   3       UpdateTimeFlag=0;
 121   3                                                             
 122   3       Display_Data_Operation();      
 123   3      
 124   3       if((minute==0)&&(second==0))//條件滿足蜂鳴器閃響
 125   3         {
 126   4          Beep_ON();
 127   4         }
 128   3       else
 129   3          Beep_OFF();   //不滿足時關掉
 130   3        }     
 131   2       }
 132   1      }
 133          /*------------------------------------------------
 134           uS延時函數,含有輸入參數 unsigned char t,無返回值
 135           unsigned char 是定義無符號字符變量,其值的范圍是
 136           0~255 這里使用晶振12M,精確延時請使用匯編,大致延時
 137           長度如下 T=tx2+5 uS 
 138          ------------------------------------------------*/
 139          void DelayUs2x(unsigned char t)
 140          {   
 141   1       while(--t);
 142   1      }
 143          /*------------------------------------------------
 144           mS延時函數,含有輸入參數 unsigned char t,無返回值
 145           unsigned char 是定義無符號字符變量,其值的范圍是
 146           0~255 這里使用晶振12M,精確延時請使用匯編
 147          ------------------------------------------------*/
 148          void DelayMs(unsigned char t)
 149          {
 150   1           
 151   1       while(t--)
 152   1       {
 153   2           //大致延時1mS
 154   2           DelayUs2x(245);
 155   2               DelayUs2x(245);
 156   2       }
 157   1      }
 158          /*------------------------------------------------
 159           顯示函數,用于動態掃描數碼管
 160           輸入參數 FirstBit 表示需要顯示的第一位,如賦值2表示從第三個數碼管開始顯示
 161           如輸入0表示從第一個顯示。
 162           Num表示需要顯示的位數,如需要顯示99兩位數值則該值輸入2
 163          ------------------------------------------------*/
 164          void Display(unsigned char FirstBit,unsigned char Num)
 165          {
 166   1            static unsigned char i=0;
 167   1                
 168   1      
 169   1                 DataPort=0;   //清空數據,防止有交替重影
 170   1             LATCH1=1;     //段鎖存
 171   1             LATCH1=0;
 172   1      
 173   1             DataPort=dofly_WeiMa[i+FirstBit]; //取位碼 
 174   1             LATCH2=1;     //位鎖存
 175   1             LATCH2=0;
 176   1      
 177   1             DataPort=TempData[i]; //取顯示數據,段碼
C51 COMPILER V7.06   蔩用99_種觃_計蔩器                                                    06/07/2010 14:02:27 PAGE 4   

 178   1             LATCH1=1;     //段鎖存
 179   1             LATCH1=0;
 180   1             
 181   1                 i++;
 182   1             if(i==Num)
 183   1                    i=0;
 184   1      
 185   1      
 186   1      }
 187          /*------------------------------------------------
 188                              定時器初始化子程序
 189          ------------------------------------------------*/
 190          void Init_Timer0(void)
 191          {
 192   1       TMOD |= 0x01;    //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響                 
 193   1       //TH0=0x00;          //給定初值
 194   1       //TL0=0x00;
 195   1       EA=1;            //總中斷打開
 196   1       ET0=1;           //定時器中斷打開
 197   1       TR0=1;           //定時器開關打開
 198   1      }
 199          /*------------------------------------------------
 200                           定時器中斷子程序
 201          ------------------------------------------------*/
 202          void Timer0_isr(void) interrupt 1 
 203          {
 204   1       static unsigned int num,i;
 205   1      
 206   1       TH0=(65536-1000)/256;//重新賦值 1ms
 207   1       TL0=(65536-1000)%256;
 208   1       if(BeepFlag)         //啟動喇叭標志
 209   1         {
 210   2         if(num<300 || (num>500&&num<800)   )
 211   2           BEEP=!BEEP;     //閃響
 212   2         else
 213   2           BEEP=0;
 214   2         }
 215   1       Display(0,8);       // 調用數碼管掃描
 216   1       i++;
 217   1       if(i==20)          //20ms更新一次
 218   1          {
 219   2              i=0;
 220   2              UpdateTimeFlag=1; //更新時間志位置1
 221   2              }
 222   1       num++;
 223   1       if(num==1000)        //大致1s
 224   1         {
 225   2          num=0;
 226   2          if((minute!=0)||second)//如果分鐘和秒都為0,不進行計時
 227   2             second--;//秒減1
 228   2          if(second==0xff)//如果=0后再減1則賦值59,即00過后顯示59
 229   2                 {
 230   3                 second=59;
 231   3                 if(minute>0)//倒計時條件
 232   3                   {
 233   4                    minute--;
 234   4                    }
 235   3      
 236   3                 }
 237   2        }
 238   1      }
 239          
C51 COMPILER V7.06   蔩用99_種觃_計蔩器                                                    06/07/2010 14:02:27 PAGE 5   

 240          
 241          /*------------------------------------------------
 242                       喇叭警報聲音開
 243          ------------------------------------------------*/
 244          void  Beep_ON(void)
 245          {
 246   1       BeepFlag=1;
 247   1      }
 248          /*------------------------------------------------
 249                       喇叭警報聲音關
 250          ------------------------------------------------*/
 251          void  Beep_OFF(void)
 252          {
 253   1       BeepFlag=0;
 254   1       BEEP=0;
 255   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    447    ----
   CONSTANT SIZE    =     18    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     16       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久综合网欧美综合网| 中文字幕欧美日本乱码一线二线 | 美脚の诱脚舐め脚责91| 国产精品综合一区二区三区| 欧美三级电影网| 中文字幕av一区 二区| 麻豆91精品视频| 欧美精品乱码久久久久久按摩| 国产精品久久久久久久久免费丝袜 | 欧美日韩国产高清一区二区| 国产精品传媒在线| 激情都市一区二区| 4hu四虎永久在线影院成人| 亚洲美女电影在线| jlzzjlzz亚洲日本少妇| 国产亚洲视频系列| 国产曰批免费观看久久久| 欧美一区二区三区精品| 亚洲国产成人va在线观看天堂| www.欧美色图| 国产精品视频线看| 国产成人a级片| 国产欧美视频一区二区| 国产主播一区二区| xvideos.蜜桃一区二区| 久久国产成人午夜av影院| 制服丝袜亚洲色图| 日韩中文字幕亚洲一区二区va在线| 99精品在线免费| 亚洲欧美福利一区二区| 91亚洲精华国产精华精华液| 中文字幕日韩欧美一区二区三区| 国产成人免费xxxxxxxx| 国产亚洲人成网站| 成人久久视频在线观看| 中文字幕综合网| 91久久久免费一区二区| 一区在线中文字幕| 色婷婷av一区| 日韩精品国产欧美| 精品免费国产二区三区| 国产乱人伦偷精品视频不卡| 国产欧美日韩中文久久| caoporm超碰国产精品| 亚洲情趣在线观看| 精品视频一区二区三区免费| 日韩电影一二三区| 欧美精品一区二区三区很污很色的| 国产在线精品一区二区三区不卡 | 国产福利精品一区二区| 中文字幕一区二区三区不卡在线| 97se亚洲国产综合自在线观| 亚洲一区二区三区自拍| 日韩亚洲欧美一区| 高清成人在线观看| 亚洲一二三区在线观看| 日韩美女在线视频| 国产成人99久久亚洲综合精品| 国产精品福利一区| 欧美日韩国产影片| 国产麻豆日韩欧美久久| 国产精品久久久久久久久果冻传媒 | 91麻豆国产自产在线观看| 午夜欧美电影在线观看| 国产日韩精品视频一区| 色综合婷婷久久| 日产国产高清一区二区三区| 国产精品色眯眯| 91麻豆精品国产91久久久使用方法| 激情欧美一区二区| 亚洲日本在线看| 日韩一区二区免费在线电影| 成人黄色小视频在线观看| 亚洲成人先锋电影| 国产精品久久久久久妇女6080| 欧美日韩一区二区三区高清| 成人一区在线观看| 日本亚洲天堂网| 亚洲男同1069视频| 精品国产精品一区二区夜夜嗨| 色婷婷综合久久久久中文一区二区 | 26uuu欧美| 欧美午夜在线观看| 成人小视频免费在线观看| 无吗不卡中文字幕| 中文字幕一区不卡| 精品久久久久久久久久久久久久久久久 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 狠狠久久亚洲欧美| 亚洲成人黄色小说| 椎名由奈av一区二区三区| 久久久久久久久久久久久女国产乱| 在线观看日韩电影| 成人精品免费看| 国产一区二区不卡| 蜜桃精品在线观看| 五月婷婷久久丁香| 一区二区在线观看不卡| 亚洲色大成网站www久久九九| 久久综合狠狠综合久久激情| 日韩午夜在线观看视频| 欧美日韩一区高清| 色噜噜夜夜夜综合网| 成人黄色片在线观看| 成人综合激情网| 国产精品888| 国产又黄又大久久| 国产一区视频导航| 极品少妇一区二区| 久久国产免费看| 另类的小说在线视频另类成人小视频在线 | 成人一区二区视频| 99久久精品免费| 不卡在线观看av| gogogo免费视频观看亚洲一| 成人动漫av在线| av网站一区二区三区| 成人禁用看黄a在线| 成人av电影在线网| 99视频热这里只有精品免费| 99久久综合色| 在线看不卡av| 欧美日韩免费观看一区二区三区| 在线一区二区三区四区五区| 欧洲激情一区二区| 欧美日韩一本到| 日韩精品在线一区二区| 精品99一区二区| 国产日韩高清在线| 亚洲男人电影天堂| 亚洲成av人影院| 六月丁香婷婷久久| 国产成人在线电影| 91视频国产观看| 欧美日韩一区二区在线观看| 日韩欧美在线网站| 国产婷婷色一区二区三区四区| |精品福利一区二区三区| 亚洲五码中文字幕| 美女视频黄免费的久久| 国产电影精品久久禁18| 99riav久久精品riav| 91麻豆精品91久久久久同性| 久久婷婷综合激情| 亚洲欧美一区二区不卡| 青椒成人免费视频| 成人黄色一级视频| 制服丝袜在线91| 欧美激情在线看| 亚洲成人免费在线观看| 精品伊人久久久久7777人| aa级大片欧美| 欧美成人国产一区二区| 中文字幕一区av| 久久99精品国产91久久来源| 91麻豆123| 欧美成人精品高清在线播放| 亚洲视频资源在线| 麻豆成人在线观看| 在线视频国产一区| 久久天堂av综合合色蜜桃网| 亚洲一区在线观看视频| 国产91综合网| 91麻豆精品国产综合久久久久久| 国产蜜臀av在线一区二区三区| 亚洲成a人v欧美综合天堂下载| 粉嫩av一区二区三区| 日韩视频免费直播| 亚洲黄色免费电影| 成人永久免费视频| 精品久久久久久久久久久久久久久| 夜夜揉揉日日人人青青一国产精品 | www激情久久| 五月天网站亚洲| 91老师片黄在线观看| 久久蜜桃av一区二区天堂 | 欧美成人精品福利| 亚洲成人资源网| 色婷婷精品久久二区二区蜜臀av| 精品欧美乱码久久久久久1区2区| 亚洲一区二区欧美激情| 97超碰欧美中文字幕| 国产精品美女久久久久久久网站| 久久黄色级2电影| 91精品国产色综合久久| 亚洲一区成人在线| 欧美网站大全在线观看| 17c精品麻豆一区二区免费| 成人激情午夜影院| 亚洲欧洲av另类| 成人免费毛片a| 中文字幕高清不卡| 大白屁股一区二区视频| 欧美激情中文不卡| eeuss国产一区二区三区| 国产精品乱码人人做人人爱| 国产成人精品免费| 国产精品网友自拍| 99这里只有精品| 亚洲婷婷国产精品电影人久久|