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

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

?? clock.lst

?? 1、學習Proteus的使用
?? LST
字號:
C51 COMPILER V8.08   CLOCK                                                                 06/27/2008 20:17:06 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE CLOCK
OBJECT MODULE PLACED IN clock.OBJ
COMPILER INVOKED BY: E:\Program Files\xp\Keil\C51\BIN\C51.EXE clock.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /******************************************************************************/
   2          /*                                                                            */
   3          /*   多任務程序設計                                     */
   4          /*                                                                            */
   5          /******************************************************************************/
   6          
   7          #include <rtx51tny.h>                 /* RTX-51 tiny functions & defines      */
   8          #include <reg51.h>
   9          
  10          //定義各任務
  11          #define INIT             0
  12          #define CLOCK_RUN        1
  13          #define CLOCK_DISPLAY    2
  14          #define KEY_SCAN         3
  15          #define KEY_DEAL         4
  16          #define CLOCK_BEEP       5
  17          //增加一個任務:CLOCK_BEEP
  18          
  19          //定義各個鍵值
  20          #define UPKEY            6
  21          #define DOWNKEY          5
  22          #define MODEKEY          3
  23          
  24          //定義數碼管顯示字符0-9,數碼管是共陰極
  25          unsigned char numcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
  26          //定義顯存,buf[0]對應最左邊數碼管,buf[7]對應最右邊數碼管
  27          unsigned char buf[8];
  28          
  29          struct  Clock_Struc 
  30          {
  31             unsigned char  hour;
  32             unsigned char  minute;
  33             unsigned char  second;
  34          }  Clock,Beep_Clock,Display_Clock;
  35          
  36          sbit  BEEP  =  P2^3;
  37          
  38          unsigned char keyvalue;
  39          
  40          unsigned char status; 
  41          /*
  42              status =0--Clock Run ; 1--Change Clock Minute 2--Change Clock Hour 3--Change Alarm Minute 4--Change AL
             -ARM hour
  43              status =1--Change Clock.minute
  44              status =2--Change Clock.hour
  45              status =3--Change Beep_Clock.minute
  46              status =4--Change Beep_Clock.hour
  47          */
  48          
  49          /******************************************************************************/
  50          /*       Task 0 'job0':  RTX-51 tiny starts execution with task 0            */
  51          /******************************************************************************/
  52          void job0 (void) _task_ INIT 
  53           {                  
  54   1            Clock.hour   = 11;
C51 COMPILER V8.08   CLOCK                                                                 06/27/2008 20:17:06 PAGE 2   

  55   1            Clock.minute = 59;
  56   1            Clock.second = 50;    
  57   1            
  58   1                
  59   1            Beep_Clock.hour   = 12;
  60   1            Beep_Clock.minute = 0;
  61   1            Beep_Clock.second = 0;   
  62   1            
  63   1            status  = 0;
  64   1                
  65   1             os_create_task (CLOCK_RUN);                 /* start task 1                         */
  66   1            os_create_task (CLOCK_DISPLAY);             /* start task 2                         */
  67   1        
  68   1            os_create_task (KEY_SCAN);
  69   1            os_create_task (KEY_DEAL);
  70   1          os_create_task (CLOCK_BEEP);
  71   1             
  72   1             //創建 CLOCK_BEEP 任務     
  73   1            
  74   1            os_delete_task (INIT);                /* stop init task (no longer needed)    */
  75   1       }
  76          
  77          
  78          /******************************************************************************/
  79          /*       Task 1 'job1':  Clock Run                                            */
  80          /******************************************************************************/
  81          void job1 (void) _task_ CLOCK_RUN
  82          {                  
  83   1          while(1)
  84   1          {
  85   2               os_wait (K_IVL, 50, 0);          /* wait interval:  1 second             */
  86   2               os_send_signal(CLOCK_BEEP);
  87   2               Clock.second ++ ;
  88   2               if(Clock.second>=60)
  89   2               {
  90   3                      Clock.second = 0 ;
  91   3                      Clock.minute ++;
  92   3                      if(Clock.minute>=60)
  93   3                      {
  94   4                          Clock.minute = 0;
  95   4                          Clock.hour++;
  96   4                          if(Clock.hour>=24)
  97   4                              Clock.hour = 0; 
  98   4                      }       
  99   3                 }
 100   2             }
 101   1      }
 102              
 103              
 104          /******************************************************************************/
 105          /*       Task 2 'job2':  Clock Display                                        */
 106          /******************************************************************************/
 107          void job2 (void) _task_  CLOCK_DISPLAY
 108          {                  
 109   1           unsigned char i,j;
 110   1           while(1)
 111   1           {
 112   2                   if(status<=2)
 113   2                         Display_Clock = Clock;
 114   2                   else
 115   2                         Display_Clock = Beep_Clock;
 116   2                         
C51 COMPILER V8.08   CLOCK                                                                 06/27/2008 20:17:06 PAGE 3   

 117   2                   
 118   2                   buf[0] = numcode[Display_Clock.hour/10];
 119   2                 buf[1] = numcode[Display_Clock.hour%10];
 120   2                 buf[2] = 0x40;
 121   2                 buf[3] = numcode[Display_Clock.minute/10];
 122   2                 buf[4] = numcode[Display_Clock.minute%10];
 123   2                 buf[5] = 0x40;
 124   2                 buf[6] = numcode[Display_Clock.second/10];
 125   2                 buf[7] = numcode[Display_Clock.second%10];
 126   2                   
 127   2                 for(i=0;i<=7;i++)
 128   2                 {
 129   3                      P1 = buf[i];
 130   3                          P3 = i ;
 131   3                          for(j=0;j<20;j++)
 132   3                                  ;
 133   3                          P1 = 0x00;
 134   3                   }
 135   2           }
 136   1       }   
 137            
 138            void job3 (void) _task_  KEY_SCAN
 139            //此任務是不停地偵聽是否有鍵按下
 140            {
 141   1             unsigned char i;
 142   1             while(1)
 143   1             {
 144   2                 os_wait (K_IVL, 10, 0); 
 145   2                 i = P2&0x07 ;
 146   2                 if(i!=0x07)
 147   2                 {
 148   3                   keyvalue = i ;
 149   3                                   
 150   3                   //在此添加一條語句,發送信號量給KEY_DEAL任務,告知有鍵按下
 151   3                    os_send_signal(KEY_DEAL);          
 152   3                   while(i!=0x07)
 153   3                        i = P2&0x07;  //等待鍵釋放    
 154   3               }
 155   2            }        
 156   1                 
 157   1                                            
 158   1          }                   
 159                   
 160          
 161              
 162              void job4 (void) _task_  KEY_DEAL
 163              {
 164   1            //此任務是進行按鍵處理
 165   1             while(1)
 166   1             {
 167   2               //等待有鍵按下的信號量
 168   2                os_wait(K_SIG,0,0);
 169   2               /* 
 170   2                MODEKEY按鍵處理
 171   2                 當 status = 0 時,按下MODEKEY后,status = 1,系統進入修改走時的分針狀態
 172   2                 當 status = 1 時,按下MODEKEY后,status = 2,系統進入修改走時的時針狀態
 173   2                   當 status = 2 時,按下MODEKEY后,status = 3,系統進入修改鬧時的分針狀態
 174   2                   當 status = 3 時,按下MODEKEY后,status = 4,系統進入修改鬧時的時針狀態
 175   2                   當 status = 4 時,按下MODEKEY后,status = 0,系統進入正常的走時狀態
 176   2                   
 177   2               UPKEY處理
 178   2                 當status = 1,走時的分針加1
C51 COMPILER V8.08   CLOCK                                                                 06/27/2008 20:17:06 PAGE 4   

 179   2                 當status = 2,走時的時針加1
 180   2                  當status = 3,鬧時的分針加1
 181   2                  當status = 4,鬧時的時針加1
 182   2              
 183   2               DOWNKEY處理
 184   2                 當status = 1,走時的分針減1
 185   2                 當status = 2,走時的時針減1
 186   2                  當status = 3,鬧時的分針減1
 187   2                  當status = 4,鬧時的時針減1
 188   2            
 189   2              */
 190   2           if(keyvalue==MODEKEY)
 191   2          {
 192   3           status++;
 193   3              if(status>=5)
 194   3                status=0;
 195   3                keyvalue=0;
 196   3          }
 197   2           switch(status)
 198   2          {
 199   3             case 1:
 200   3                if(keyvalue==UPKEY)
 201   3                 {
 202   4                  Clock.minute++;
 203   4                if(Clock.minute>=60)
 204   4                   Clock.minute=0;
 205   4                }
 206   3               if(keyvalue==DOWNKEY)
 207   3              {
 208   4                  Clock.minute--;
 209   4                  if(Clock.minute==0xFF)
 210   4                  Clock.minute=59;
 211   4             }
 212   3                break;
 213   3             case 2:
 214   3                if(keyvalue==UPKEY)
 215   3                    {
 216   4                     Clock.hour++;
 217   4                     if(Clock.hour>=24)
 218   4                     Clock.hour=0;
 219   4                    }
 220   3                 if(keyvalue==DOWNKEY)
 221   3                    {
 222   4                      Clock.hour--;
 223   4                      if(Clock.hour==0xFF)
 224   4                       Clock.hour=23;
 225   4                     }
 226   3                 break;
 227   3              case 3:
 228   3                  if(keyvalue==UPKEY)
 229   3                  {
 230   4                   Beep_Clock.minute++;
 231   4                   if(Beep_Clock.minute>=60)
 232   4                        Beep_Clock.minute=0;
 233   4                   }
 234   3                   if(keyvalue==DOWNKEY)
 235   3                   {
 236   4                   Beep_Clock.minute--;
 237   4                   if(Beep_Clock.minute==0xff)
 238   4                      Beep_Clock.minute=59;
 239   4                    }
 240   3                    break;
C51 COMPILER V8.08   CLOCK                                                                 06/27/2008 20:17:06 PAGE 5   

 241   3               case 4:
 242   3                 if(keyvalue==UPKEY)
 243   3                  {
 244   4                   Beep_Clock.hour++;
 245   4                   if(Beep_Clock.hour>=60)
 246   4                        Beep_Clock.hour=0;
 247   4                   }
 248   3                   if(keyvalue==DOWNKEY)
 249   3                   {
 250   4                   Beep_Clock.hour--;
 251   4                   if(Beep_Clock.hour==0xff)
 252   4                      Beep_Clock.hour=59;
 253   4                    }
 254   3                    break;
 255   3      
 256   3                    }
 257   2      
 258   2           }
 259   1      }  
 260            //增加一個任務,當走時Clock與設定的鬧時Beep_Clock時間相等(只要時針和分針相同),BEEP驅動LED點亮
 261            void job5(void)_task_ CLOCK_BEEP
 262          
 263            {
 264   1        while(1)
 265   1        {
 266   2            os_wait(K_SIG,0,0);
 267   2            if(Clock.hour==Beep_Clock.hour&&Clock.minute==Beep_Clock.minute)
 268   2                BEEP=0;
 269   2           }
 270   1         }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    513    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     29       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久久久久无| 欧美国产激情一区二区三区蜜月| 亚洲激情一二三区| 欧美tickling挠脚心丨vk| 91麻豆精品国产| 色婷婷亚洲婷婷| 狠狠色狠狠色合久久伊人| 亚洲精品免费播放| 午夜一区二区三区在线观看| 精品99一区二区三区| 欧美日韩视频在线一区二区| 欧美精品乱码久久久久久按摩| 欧美私模裸体表演在线观看| 91麻豆高清视频| 色乱码一区二区三区88| 在线亚洲人成电影网站色www| 国产综合色在线视频区| 欧美日韩成人在线一区| 欧美二区三区的天堂| 综合欧美亚洲日本| 亚洲综合在线免费观看| 肉色丝袜一区二区| 精品无人码麻豆乱码1区2区| 国产成人夜色高潮福利影视| 99精品国产视频| 欧美精品第1页| 午夜免费久久看| 欧美熟乱第一页| 日韩二区三区四区| 国产成人一区在线| 国产精品久久久久久久久久免费看| 亚洲精品五月天| 日本精品视频一区二区| 亚洲福中文字幕伊人影院| 国产精品一卡二卡在线观看| 91电影在线观看| 日韩中文字幕91| 日韩一级成人av| 日韩高清电影一区| 久久久精品日韩欧美| 久久精品av麻豆的观看方式| 99久久777色| 日本女优在线视频一区二区| 国产校园另类小说区| 奇米精品一区二区三区在线观看 | 天天影视色香欲综合网老头| 日韩色视频在线观看| 成人免费视频视频| 国产精品女人毛片| 成人免费视频一区| 美女一区二区三区| 久久久久国色av免费看影院| 欧美羞羞免费网站| 不卡av在线网| 亚洲第一主播视频| 亚洲欧美偷拍另类a∨色屁股| 色婷婷亚洲精品| 国产乱妇无码大片在线观看| 日韩国产高清影视| 亚洲bt欧美bt精品| 亚洲自拍偷拍综合| 日韩一级片网址| 8v天堂国产在线一区二区| 91官网在线观看| 在线精品视频一区二区三四| 91精彩视频在线观看| 91精品福利在线| 538在线一区二区精品国产| 欧美三级日韩三级| 欧美日韩不卡一区二区| 欧美一级日韩一级| 成人午夜又粗又硬又大| 不卡的电影网站| 亚洲va欧美va国产va天堂影院| 欧美一个色资源| 久久久久9999亚洲精品| 国产精品白丝在线| 亚洲一卡二卡三卡四卡无卡久久 | 国产亚洲一二三区| 综合自拍亚洲综合图不卡区| 亚洲国产欧美一区二区三区丁香婷| 日本亚洲一区二区| 一本大道久久a久久综合婷婷| 欧美区一区二区三区| 国产精品乱人伦中文| 丝袜诱惑制服诱惑色一区在线观看| 免费观看成人av| 欧美色图天堂网| 国产精品拍天天在线| 天天色综合成人网| 一本一道波多野结衣一区二区| 日韩精品在线网站| 欧美一区二区精品在线| 亚洲免费资源在线播放| 国产成人av一区二区| 欧美一级理论片| 免费看黄色91| 3atv在线一区二区三区| 一区二区三区免费看视频| 成人视屏免费看| 久久精品人人做人人综合| 美女网站色91| 2022国产精品视频| 亚洲在线视频网站| 91成人国产精品| 蜜桃一区二区三区四区| 精品日韩一区二区| 成年人午夜久久久| 亚洲一区二区偷拍精品| 91精品视频网| 久久国产欧美日韩精品| 久久久久国产精品免费免费搜索| 国产一区二区精品久久91| 欧美日韩在线三区| 久久99久久久久| 成人欧美一区二区三区| 国产精品一品视频| 亚洲综合免费观看高清在线观看| 在线观看国产91| 久久国产剧场电影| 亚洲午夜日本在线观看| 欧美精品一区二区三区在线播放| 丁香啪啪综合成人亚洲小说 | 精品国产1区2区3区| 99国产精品久久久久| 五月婷婷久久综合| 中文字幕在线一区| 色婷婷激情久久| 老汉av免费一区二区三区 | 91在线视频在线| 亚洲欧美日韩精品久久久久| 99久久国产免费看| 一区二区三区不卡视频在线观看 | 九色综合狠狠综合久久| 国产精品久久久久影院老司| 7777精品伊人久久久大香线蕉超级流畅| 蜜臀av性久久久久蜜臀aⅴ流畅 | 97精品久久久午夜一区二区三区 | 欧美a级一区二区| 亚洲一区二三区| 国产精品国产三级国产aⅴ入口| 日韩欧美在线一区二区三区| 欧美理论电影在线| 欧洲在线/亚洲| 色综合久久综合| 91年精品国产| 色天使久久综合网天天| 91黄色免费看| 欧美日韩美少妇| 欧美一级夜夜爽| 2023国产精品| 中文字幕欧美一| 午夜久久久影院| 国产精品一二二区| 97久久超碰精品国产| 欧美久久久久中文字幕| 欧美男人的天堂一二区| 5858s免费视频成人| 日韩一区二区在线看| 欧美在线|欧美| 欧美老女人在线| 精品裸体舞一区二区三区| 日韩欧美第一区| 久久精品一区蜜桃臀影院| 日韩欧美国产综合一区 | 国产呦萝稀缺另类资源| 国产成人免费9x9x人网站视频| 韩国v欧美v亚洲v日本v| 综合久久给合久久狠狠狠97色| 亚洲美女视频在线观看| 丝袜美腿亚洲一区| 国模冰冰炮一区二区| 欧美午夜精品久久久久久孕妇 | 国产精品欧美一区喷水| 亚洲成人av福利| 成人精品亚洲人成在线| 91精品国产色综合久久不卡蜜臀| 国产三级一区二区| 男女男精品视频网| 91行情网站电视在线观看高清版| 国产亚洲短视频| 国产成人综合在线播放| 欧美大黄免费观看| 亚洲国产成人av| 色综合天天做天天爱| 激情综合色综合久久综合| 欧美日韩一区精品| 亚洲图片欧美视频| 91九色02白丝porn| 亚洲黄色尤物视频| 91蜜桃在线观看| 亚洲一区影音先锋| 成人免费视频网站在线观看| 国产婷婷色一区二区三区在线| 久久99精品久久久久| 国产日产欧美一区| 在线影视一区二区三区| 亚洲激情男女视频| 欧美一区二区三区四区视频| 日韩不卡免费视频|