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

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

?? 51 c

?? 單片機模塊C程序大全
??
字號:
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麻豆精品国产91久久久久 | 国产精品99久久久| 日韩电影在线观看一区| 亚洲动漫第一页| 夜夜嗨av一区二区三区网页 | 久久成人久久爱| 狂野欧美性猛交blacked| 免费成人av资源网| 久久99久久久欧美国产| 国产在线一区二区综合免费视频| 日本欧美一区二区| 精品一区二区成人精品| 国产激情视频一区二区在线观看| 懂色av噜噜一区二区三区av| heyzo一本久久综合| 色婷婷av一区| 欧美放荡的少妇| 2019国产精品| 亚洲人成人一区二区在线观看 | 美女网站视频久久| 国产呦精品一区二区三区网站| 国产麻豆午夜三级精品| 99国产精品久久| 欧美一区三区二区| 国产亚洲欧美日韩俺去了| 亚洲国产成人在线| 亚洲国产精品久久久久秋霞影院| 美女视频黄 久久| 成人开心网精品视频| 欧美婷婷六月丁香综合色| 欧美一级二级在线观看| 国产情人综合久久777777| 亚洲精品日日夜夜| 激情文学综合插| 色综合久久久网| 精品sm在线观看| 亚洲精选视频在线| 国产盗摄一区二区| 欧美三级在线播放| 中文字幕国产精品一区二区| 日韩成人伦理电影在线观看| 成人app在线| 精品伦理精品一区| 午夜精品久久久久久久蜜桃app| 国产乱码精品一品二品| 91麻豆精品国产自产在线| 国产精品成人免费在线| 美女www一区二区| 欧美性色欧美a在线播放| 久久蜜桃一区二区| 日本伊人午夜精品| 在线视频国产一区| 国产精品理论片| 黄页网站大全一区二区| 欧美日韩一级片在线观看| 日本一区二区视频在线观看| 免费欧美在线视频| 欧美色爱综合网| 亚洲天堂福利av| 国产不卡视频一区二区三区| 精品少妇一区二区三区日产乱码 | 国产精品午夜电影| 蜜桃视频在线一区| 欧美日韩高清影院| 亚洲综合免费观看高清在线观看| 高清av一区二区| 久久久久国产一区二区三区四区 | 日韩欧美国产不卡| 日本中文字幕不卡| 7777女厕盗摄久久久| 亚洲成人黄色小说| 在线观看欧美精品| 亚洲一区二区五区| 欧美理论片在线| 亚洲成人你懂的| 欧美日韩国产精选| 日本成人中文字幕在线视频| 91精品一区二区三区在线观看| 亚洲午夜免费福利视频| 欧美日韩另类国产亚洲欧美一级| 亚洲aaa精品| 日韩小视频在线观看专区| 久久精品国产精品亚洲精品| 欧美精品一区二区三区视频| 国产精品一线二线三线| 国产欧美一区二区精品仙草咪 | 亚洲午夜国产一区99re久久| 在线国产电影不卡| 偷偷要91色婷婷| 日韩亚洲欧美高清| 国产v日产∨综合v精品视频| 亚洲色图在线看| 欧美绝品在线观看成人午夜影视 | 久久亚洲精华国产精华液 | 一区二区三区中文字幕电影 | 99久免费精品视频在线观看| 欧美自拍偷拍一区| 免费在线观看一区| 精品国产亚洲一区二区三区在线观看| 国产乱理伦片在线观看夜一区| 国产精品久久久久久久久久久免费看| 色综合久久99| 看片网站欧美日韩| 日韩美女视频一区| 欧美丰满少妇xxxxx高潮对白| 免费看日韩精品| 中文字幕一区二区三区不卡| 91麻豆精品国产自产在线| 国产成人av电影免费在线观看| 夜夜精品视频一区二区| 日韩欧美激情一区| a4yy欧美一区二区三区| 日本三级韩国三级欧美三级| 国产精品麻豆网站| 欧美一区二区三区四区久久| 国产馆精品极品| 日韩极品在线观看| 国产精品欧美精品| 日韩久久久精品| 91国内精品野花午夜精品| 黑人巨大精品欧美黑白配亚洲| 亚洲视频一区二区在线| 欧美色图片你懂的| 欧美电影在哪看比较好| www.一区二区| 国产一区二区三区香蕉 | 欧美美女一区二区在线观看| 国产精品99久久久| 免费欧美日韩国产三级电影| 一卡二卡三卡日韩欧美| 国产日韩成人精品| 日韩欧美成人一区| 欧美亚洲日本国产| 色哟哟在线观看一区二区三区| 国产伦精品一区二区三区在线观看| 亚洲线精品一区二区三区| 国产精品高潮久久久久无| 久久亚洲综合色一区二区三区| 91精品国产综合久久精品| 欧美特级限制片免费在线观看| 99久久国产免费看| aaa欧美大片| 不卡的av网站| av电影天堂一区二区在线观看| 国产一区二区在线影院| 国产在线视频精品一区| 免费观看在线综合色| 男人操女人的视频在线观看欧美| 五月天网站亚洲| 香蕉久久一区二区不卡无毒影院| 一区二区三区在线视频免费| 亚洲男人的天堂网| 亚洲专区一二三| 五月天一区二区三区| 日韩综合一区二区| 日本不卡视频一二三区| 久久99国产精品免费| 精品亚洲成av人在线观看| 国产一区不卡视频| 成人一道本在线| 成人av免费在线观看| 色吊一区二区三区| 欧美日韩中文精品| 欧美一级电影网站| 欧美精品一区二区三区蜜桃视频| 精品粉嫩超白一线天av| 久久久久99精品一区| 亚洲丝袜另类动漫二区| 亚洲电影在线免费观看| 免费观看91视频大全| 国产精品99久久久久久久vr| 97精品国产97久久久久久久久久久久| 色综合久久综合| 91精品国产欧美一区二区| 亚洲精品一区二区三区香蕉| 国产亚洲精品超碰| 一区二区三区在线观看视频| 强制捆绑调教一区二区| 高清成人免费视频| 欧美丝袜丝交足nylons图片| 日韩精品一区二区三区中文不卡| 久久亚洲捆绑美女| 亚洲夂夂婷婷色拍ww47 | 国产精品私人自拍| 亚洲高清在线精品| 经典一区二区三区| 色综合天天综合网国产成人综合天 | 成人97人人超碰人人99| 欧美性xxxxx极品少妇| 精品久久久久一区| 亚洲欧美日韩久久| 激情av综合网| 欧美三级在线视频| 中文字幕欧美国产| 视频一区二区三区入口| av网站免费线看精品| 欧美精品高清视频| 国产精品成人在线观看| 美日韩一区二区三区|