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

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

?? 2_50_11g.lst

?? 嵌入式 時間觸發的嵌入式系統內核程序
?? LST
字號:
C51 COMPILER V8.01   2_50_11G                                                              07/13/2008 18:02:06 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE 2_50_11G
OBJECT MODULE PLACED IN 2_50_11G.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 2_50_11G.C OPTIMIZE(6,SIZE) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*------------------------------------------------------------------*-
   2          
   3             2_50_11g.C (v1.00) 
   4          
   5            ------------------------------------------------------------------
   6          
   7             *** THIS IS A SCHEDULER FOR STANDARD 8051 / 8052 ***
   8          
   9             *** Uses T2 for timing, 16-bit auto reload ***
  10             *** 11.059 MHz oscillator -> 50 ms (precise) tick interval ***
  11          
  12          
  13             COPYRIGHT
  14             ---------
  15          
  16             This code is from the book:
  17          
  18             PATTERNS FOR TIME-TRIGGERED EMBEDDED SYSTEMS by Michael J. Pont 
  19             [Pearson Education, 2001; ISBN: 0-201-33138-1].
  20          
  21             This code is copyright (c) 2001 by Michael J. Pont.
  22           
  23             See book for copyright details and other information.
  24          
  25          -*------------------------------------------------------------------*/
  26          
  27          #include "2_50_11g.h"
  28          
  29          // ------ Public variable declarations -----------------------------
  30          
  31          // The array of tasks (see Sch51.C)
  32          extern sTask SCH_tasks_G[SCH_MAX_TASKS];
  33          
  34          // Used to display the error code
  35          // See Main.H for details of error codes
  36          // See Port.H for details of the error port
  37          extern tByte Error_code_G;
  38          
  39          /*------------------------------------------------------------------*-
  40          
  41            SCH_Init_T2()
  42          
  43            Scheduler initialisation function.  Prepares scheduler
  44            data structures and sets up timer interrupts at required rate.
  45            
  46            You must call this function before using the scheduler.  
  47          
  48          -*------------------------------------------------------------------*/
  49          void SCH_Init_T2(void) 
  50             {
  51   1         tByte i;
  52   1      
  53   1         for (i = 0; i < SCH_MAX_TASKS; i++) 
  54   1            {
  55   2            SCH_Delete_Task(i);
C51 COMPILER V8.01   2_50_11G                                                              07/13/2008 18:02:06 PAGE 2   

  56   2            }
  57   1      
  58   1         // Reset the global error variable
  59   1         // - SCH_Delete_Task() will generate an error code, 
  60   1         //   (because the task array is empty)
  61   1         Error_code_G = 0;
  62   1      
  63   1         // Now set up Timer 2
  64   1         // 16-bit timer function with automatic reload
  65   1      
  66   1         // Crystal is assumed to be 11.0592 MHz
  67   1         // Assume 12 osc cycles per timer increment
  68   1         // -> timer resolution is 0.000001085069444444 seconds (1.085 祍)
  69   1         // The required Timer 2 overflow is 0.050 seconds (50 ms)
  70   1         // - this takes 46080 timer ticks
  71   1         // Reload value is 65536 - 46080 = 19456 (dec) = 0x4C00
  72   1      
  73   1         T2CON = 0x04;   // load Timer 2 control register
  74   1         T2MOD = 0x00;   // load Timer 2 mode register
  75   1      
  76   1         TH2    = 0x4C;  // load timer 2 high byte
  77   1         RCAP2H = 0x4C;  // load timer 2 reload capture reg, high byte
  78   1         TL2    = 0x00;  // load timer 2 low byte
  79   1         RCAP2L = 0x00;  // load timer 2 reload capture reg, low byte
  80   1      
  81   1         ET2   = 1;
  82   1      
  83   1         TR2   = 1;      /// start timer 2
  84   1         }
  85          
  86          /*------------------------------------------------------------------*-
  87            
  88            SCH_Start()
  89          
  90            Starts the scheduler, by enabling interrupts.
  91          
  92            NOTE: Usually called after all regular tasks are added,
  93            to keep the tasks synchronised.
  94          
  95            NOTE: ONLY THE SCHEDULER INTERRUPT SHOULD BE ENABLED!!! 
  96           
  97          -*------------------------------------------------------------------*/
  98          void SCH_Start(void) 
  99             {
 100   1         EA = 1;
 101   1         }
 102          
 103          /*------------------------------------------------------------------*-
 104          
 105            SCH_Update
 106          
 107            This is the scheduler ISR.  It is called at a rate 
 108            determined by the timer settings in SCH_Init().
 109            This version is triggered by Timer 2 interrupts:
 110            timer is automatically reloaded.
 111          
 112          -*------------------------------------------------------------------*/
 113          void SCH_Update(void) interrupt INTERRUPT_Timer_2_Overflow  
 114             {
 115   1         tByte Index;
 116   1      
 117   1         TF2 = 0; // Clear flag 
C51 COMPILER V8.01   2_50_11G                                                              07/13/2008 18:02:06 PAGE 3   

 118   1       
 119   1         // NOTE: calculations are in *TICKS* (not milliseconds)
 120   1         for (Index = 0; Index < SCH_MAX_TASKS; Index++)
 121   1            {
 122   2            // Check if there is a task at this location
 123   2            if (SCH_tasks_G[Index].pTask)
 124   2               {
 125   3               if (SCH_tasks_G[Index].Delay == 0)
 126   3                  {
 127   4                  // The task is due to run
 128   4                  SCH_tasks_G[Index].RunMe = 1;  // Set the run flag
 129   4      
 130   4                  if (SCH_tasks_G[Index].Period)
 131   4                     {
 132   5                     // Schedule periodic tasks to run again
 133   5                     SCH_tasks_G[Index].Delay = SCH_tasks_G[Index].Period;
 134   5                     }
 135   4                  }
 136   3               else
 137   3                  {
 138   4                  // Not yet ready to run: just decrement the delay 
 139   4                  SCH_tasks_G[Index].Delay -= 1;
 140   4                  }
 141   3               }         
 142   2            }
 143   1         }   
 144          
 145          
 146          /*------------------------------------------------------------------*-
 147            ---- END OF FILE -------------------------------------------------
 148          -*------------------------------------------------------------------*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    169    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   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一区二区三区免费野_久草精品视频
欧美一区2区视频在线观看| 99精品欧美一区二区三区小说| 亚洲品质自拍视频网站| 中文字幕av一区二区三区| 欧美激情一区二区| 中文字幕精品综合| 亚洲日本在线看| 亚洲精品乱码久久久久久久久 | 久久精品国产在热久久| 偷拍一区二区三区| 蜜臀av一区二区三区| 久久国产福利国产秒拍| 激情综合色播五月| 国产一区二区免费看| 粗大黑人巨茎大战欧美成人| 国产精品66部| 94-欧美-setu| 91.com视频| 国产午夜精品一区二区三区嫩草| 中文字幕乱码亚洲精品一区| 亚洲精品久久久蜜桃| 亚洲电影一区二区三区| 蜜臀av性久久久久蜜臀av麻豆 | 国产亚洲欧美一区在线观看| 亚洲国产成人午夜在线一区| 亚洲色图制服诱惑 | 亚洲天堂精品在线观看| 亚洲综合一二三区| 美女精品一区二区| 99re6这里只有精品视频在线观看| 欧美日韩综合在线| 精品国产91久久久久久久妲己| 亚洲国产精品99久久久久久久久| 综合久久综合久久| 精品一二三四在线| 日本韩国视频一区二区| 欧美精品一区二区久久婷婷| 综合分类小说区另类春色亚洲小说欧美| 亚洲韩国一区二区三区| 国产真实乱子伦精品视频| 一本大道久久a久久精品综合| 日韩三级电影网址| 亚洲蜜桃精久久久久久久| 久久99精品久久久久久动态图| 99re66热这里只有精品3直播| 日韩一二在线观看| 亚洲精品免费在线| 成人综合激情网| 91精品国产91久久久久久最新毛片 | 蜜臀精品久久久久久蜜臀| av资源网一区| 国产亚洲精品7777| 久久精品99久久久| 欧美日韩在线播| 亚洲欧美色图小说| 国产高清成人在线| 精品国产乱码久久| 日韩激情av在线| 欧美最猛性xxxxx直播| 亚洲精选免费视频| 国产精品自产自拍| 精品国产99国产精品| 亚洲bt欧美bt精品| 欧美色视频在线观看| 亚洲精品国产品国语在线app| 成人性视频免费网站| 久久综合久久综合九色| 日本成人在线不卡视频| 欧美人与z0zoxxxx视频| 亚洲午夜久久久久久久久电影网| 色综合一区二区| 亚洲同性gay激情无套| av在线播放一区二区三区| 日本一区二区三区四区在线视频| 国产精品99久久久久久久女警| 欧美一二三在线| 久久精品噜噜噜成人av农村| 91精品国产色综合久久| 日韩二区三区四区| 欧美一级国产精品| 精品一区二区在线看| 26uuu国产电影一区二区| 精品一区二区三区免费| 久久久久88色偷偷免费| 国产成人啪免费观看软件| 久久久国产一区二区三区四区小说| 国产一区二区91| 国产精品人成在线观看免费| 99久久国产综合精品女不卡| 亚洲男人的天堂在线aⅴ视频 | 91精品国产综合久久福利 | 欧美国产日韩一二三区| 91网址在线看| 天堂va蜜桃一区二区三区| 在线播放中文一区| 精品在线观看视频| 综合中文字幕亚洲| 欧美日产国产精品| 国产做a爰片久久毛片| 国产精品欧美一区二区三区| 色婷婷一区二区| 丝袜美腿亚洲一区| 国产日韩欧美a| 色哟哟精品一区| 日韩高清电影一区| 亚洲国产精品99久久久久久久久| 色香蕉成人二区免费| 轻轻草成人在线| 国产精品视频九色porn| 欧美精品第1页| 成人免费看视频| 日日噜噜夜夜狠狠视频欧美人| 精品国产第一区二区三区观看体验| 成人激情电影免费在线观看| 丝袜脚交一区二区| 成人欧美一区二区三区在线播放| 欧美一级午夜免费电影| 91视频国产观看| 精品午夜久久福利影院| 亚洲小少妇裸体bbw| 欧美激情中文字幕一区二区| 欧美酷刑日本凌虐凌虐| 99久久精品国产一区二区三区| 久久精品国产亚洲高清剧情介绍 | 成人国产精品免费网站| 日韩av电影免费观看高清完整版 | 自拍偷拍欧美激情| 欧美精品精品一区| 99精品视频在线免费观看| 美女爽到高潮91| 亚洲午夜一二三区视频| 国产精品美女久久久久av爽李琼| 日韩一区二区三区四区五区六区| 色哟哟亚洲精品| www.久久精品| 成人中文字幕电影| 国产一区二区三区免费观看| 免费精品视频最新在线| 亚洲精品v日韩精品| 国产人妖乱国产精品人妖| 欧美xxxx老人做受| 欧美一区二区三区电影| 欧美精品在线观看播放| 欧美伊人久久大香线蕉综合69 | 色哦色哦哦色天天综合| av不卡免费电影| www.66久久| 99久久精品免费精品国产| caoporen国产精品视频| 福利一区二区在线| www.综合网.com| av一二三不卡影片| 99re成人在线| 日本精品一区二区三区四区的功能| 高清免费成人av| 99re8在线精品视频免费播放| 成人app在线| 91网址在线看| 欧美日韩三级视频| 91精品欧美一区二区三区综合在| 欧美丰满嫩嫩电影| 欧美变态口味重另类| 久久九九影视网| 国产精品三级av在线播放| 最新日韩av在线| 亚洲成av人片一区二区梦乃| 丝袜美腿亚洲一区| 狠狠色伊人亚洲综合成人| 国产a区久久久| 91麻豆国产福利精品| 7777精品伊人久久久大香线蕉经典版下载 | 一本色道久久综合亚洲aⅴ蜜桃| 色欧美日韩亚洲| 日韩一区二区电影网| 国产亚洲短视频| 亚洲综合免费观看高清完整版在线| 洋洋av久久久久久久一区| 午夜久久久久久电影| 国产一区二三区| 色香蕉成人二区免费| 日韩一区二区三区三四区视频在线观看 | 中文字幕一区二区三区在线观看| 亚洲码国产岛国毛片在线| 亚洲国产美国国产综合一区二区| 日韩精品成人一区二区在线| 国产精品66部| 欧美三级日韩在线| 久久久久久久久久久久久夜| 中文字幕亚洲不卡| 麻豆一区二区99久久久久| 91在线精品秘密一区二区| 欧美丰满嫩嫩电影| 国产精品国产三级国产aⅴ中文| 一区二区三区欧美日韩| 国内精品视频666| 日本高清成人免费播放| www欧美成人18+| 五月婷婷欧美视频| 99精品桃花视频在线观看| 欧美mv日韩mv|