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

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

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

?? 150個 LY-51S單片機 c語言 程序合集
?? 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麻豆精品国产91久久久久久久久 | 久久无码av三级| 亚洲国产精品自拍| 99久久久国产精品| 久久精品视频在线免费观看| 日本成人在线网站| 欧美伊人久久久久久午夜久久久久| xf在线a精品一区二区视频网站| 夜夜嗨av一区二区三区四季av| 国产aⅴ综合色| 久久综合色8888| 老司机精品视频一区二区三区| 99re视频精品| 最好看的中文字幕久久| 豆国产96在线|亚洲| 国产午夜一区二区三区| 久久99精品久久久| 欧美videossexotv100| 三级成人在线视频| 91精品国产91热久久久做人人| 亚洲在线成人精品| 欧美自拍偷拍午夜视频| 亚洲狼人国产精品| 欧美色精品在线视频| 亚洲电影一级黄| 6080亚洲精品一区二区| 日韩高清欧美激情| 91精品在线免费| 毛片基地黄久久久久久天堂| 日韩欧美自拍偷拍| 激情综合网激情| 久久综合色天天久久综合图片| 国产在线播放一区三区四| 久久久青草青青国产亚洲免观| 韩国午夜理伦三级不卡影院| 久久久综合视频| 国产成a人无v码亚洲福利| 最新高清无码专区| 欧美综合一区二区三区| 美女脱光内衣内裤视频久久网站 | 奇米影视一区二区三区| 日韩一级片网址| 国内久久婷婷综合| 国产精品色噜噜| 在线观看日产精品| 日韩av一级电影| 久久久精品免费观看| 99久久综合精品| 亚洲一区二区在线视频| 欧美一区二区在线播放| 国产精品资源网| 亚洲日韩欧美一区二区在线| 欧美性一级生活| 免费成人性网站| 国产精品女主播av| 欧美区一区二区三区| 国产美女精品在线| 亚洲一区二区精品3399| 日韩欧美高清dvd碟片| 不卡av在线网| 裸体健美xxxx欧美裸体表演| 欧美精彩视频一区二区三区| 欧美三区在线视频| 激情综合色丁香一区二区| 亚洲精品自拍动漫在线| 欧美电影免费观看高清完整版在线| 成人av午夜电影| 日本中文字幕一区| 亚洲人成网站色在线观看| 日韩精品一区二区三区视频播放| www.亚洲色图.com| 美女视频一区在线观看| 亚洲激情中文1区| 精品国产99国产精品| 91官网在线观看| 成人综合在线网站| 日韩高清欧美激情| 亚洲一区二区在线免费看| 国产免费久久精品| 欧美成人精品福利| 欧美日韩三级一区二区| 91欧美激情一区二区三区成人| 美国毛片一区二区三区| 香蕉成人伊视频在线观看| 国产精品美女视频| 久久综合色婷婷| 精品欧美乱码久久久久久| 欧美性一二三区| 一本久久精品一区二区| 国产成人aaa| 国产成人亚洲综合a∨猫咪| 不卡视频在线看| 久久婷婷国产综合国色天香| 91黄色免费版| www.亚洲精品| 成人性生交大合| 国产最新精品精品你懂的| 热久久一区二区| 亚洲福利一区二区| 亚洲一区二区在线观看视频 | 欧美www视频| 欧美一区二区视频免费观看| 在线观看欧美日本| 91久久精品一区二区二区| 成人黄色在线网站| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲五月六月丁香激情| 亚洲精品国产精品乱码不99| 亚洲欧美日韩一区| 亚洲美女屁股眼交3| 亚洲激情五月婷婷| 亚洲国产日韩综合久久精品| 亚洲一本大道在线| 天天操天天综合网| 美女一区二区三区| 国产一区二区三区久久久| 国产成人福利片| 成人成人成人在线视频| 99久久伊人网影院| 91黄视频在线观看| 欧美二区三区91| 欧美电影精品一区二区| 久久先锋资源网| 国产精品免费av| 一区二区三区四区激情| 青草av.久久免费一区| 国产电影精品久久禁18| 成人午夜激情在线| 欧美最猛性xxxxx直播| 日韩一区二区三区免费观看| www日韩大片| 国产精品网站在线观看| 一区二区三区 在线观看视频| 亚洲国产欧美日韩另类综合| 蜜臀精品一区二区三区在线观看| 久久草av在线| 99国产麻豆精品| 日韩午夜av电影| 国产精品国产三级国产普通话蜜臀 | 亚洲一级片在线观看| 免费欧美在线视频| 懂色av一区二区在线播放| 日本久久精品电影| 欧美mv日韩mv亚洲| 亚洲免费av高清| 国产一区二三区好的| 一本大道av伊人久久综合| 91精品国产日韩91久久久久久| 国产日韩综合av| 日韩精品免费专区| 成人sese在线| 欧美一级理论片| 国产精品短视频| 美女视频黄免费的久久 | 精品一区二区三区在线视频| 播五月开心婷婷综合| 日韩一区二区三区观看| 亚洲精品国产无套在线观| 国产九色精品成人porny | 肉色丝袜一区二区| 不卡的电影网站| 日韩精品资源二区在线| 一区二区三区加勒比av| 国产成人精品一区二区三区网站观看| 91久久人澡人人添人人爽欧美| 日韩精品一区二区三区中文精品| 中文字幕在线免费不卡| 久久国产精品第一页| 欧美综合一区二区三区| 中文字幕在线视频一区| 国产精品一区二区你懂的| 337p亚洲精品色噜噜狠狠| 一区二区三区在线免费视频| 高清国产一区二区| 欧美本精品男人aⅴ天堂| 性久久久久久久久久久久| 色综合久久中文综合久久97| 国产亲近乱来精品视频| 精品一区二区三区免费毛片爱| 欧美日本韩国一区| 一区二区在线观看av| av在线播放一区二区三区| 国产日韩欧美综合一区| 国产一区二区调教| 精品成人在线观看| 免费观看91视频大全| 欧美一级片免费看| 首页国产欧美日韩丝袜| 欧美在线不卡视频| 亚洲欧美日韩综合aⅴ视频| av在线不卡网| 亚洲精品久久久久久国产精华液| 91丨porny丨首页| 亚洲三级在线播放| 日本精品视频一区二区|