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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 2_01_12g.lst

?? 51系列具有PWM斷口的單片機(jī)PWM調(diào)制程序.
?? LST
字號(hào):
C51 COMPILER V6.10  2_01_12G                                                               03/16/2001 06:57:37 PAGE 1   


C51 COMPILER V6.10, COMPILATION OF MODULE 2_01_12G
OBJECT MODULE PLACED IN .\2_01_12G.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE .\2_01_12G.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*------------------------------------------------------------------*-
   2          
   3             2_01_12g.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             *** 12 MHz oscillator -> 1 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_01_12g.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 V6.10  2_01_12G                                                               03/16/2001 06:57:37 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 12 MHz
  67   1         // The Timer 2 resolution is 0.000001 seconds (1 祍)
  68   1         // The required Timer 2 overflow is 0.001 seconds (1 ms)
  69   1         // - this takes 1000 timer ticks
  70   1         // Reload value is 65536 - 1000 = 64536 (dec) = 0xFC18
  71   1      
  72   1         T2CON = 0x04;   // load Timer 2 control register
  73   1         T2MOD = 0x00;   // load Timer 2 mode register
  74   1      
  75   1         TH2    = 0xFC;  // load timer 2 high byte
  76   1         RCAP2H = 0xFC;  // load timer 2 reload capture reg, high byte
  77   1         TL2    = 0x18;  // load timer 2 low byte
  78   1         RCAP2L = 0x18;  // load timer 2 reload capture reg, low byte
  79   1         
  80   1         ET2   = 1;  // Timer 2 interrupt is enabled
  81   1      
  82   1         TR2   = 1;  // Start Timer 2
  83   1         }
  84          
  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 the 'init' function.
 109          
 110            This version is triggered by Timer 2 interrupts:
 111            timer is automatically reloaded.
 112          
 113          -*------------------------------------------------------------------*/
 114          void SCH_Update(void) interrupt INTERRUPT_Timer_2_Overflow  
 115             {
 116   1         tByte Index;
 117   1      
C51 COMPILER V6.10  2_01_12G                                                               03/16/2001 06:57:37 PAGE 3   

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


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    170    ----
   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)

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品在线麻豆| 国产精品成人免费| 99久久er热在这里只有精品66| 亚洲成人一区在线| 欧美高清一级片在线观看| 欧美一区二区私人影院日本| 91欧美一区二区| 盗摄精品av一区二区三区| 久久精品99国产精品日本| 亚洲一区二区三区美女| 一区在线播放视频| 久久精品人人爽人人爽| 欧美成人bangbros| 欧美浪妇xxxx高跟鞋交| 在线亚洲精品福利网址导航| 粉嫩久久99精品久久久久久夜| 老司机免费视频一区二区| 亚洲动漫第一页| 亚洲最新在线观看| 一区二区三区日韩欧美精品 | 久久久久国产精品人| 欧美精品tushy高清| 色悠悠久久综合| 不卡av电影在线播放| 国产精品亚洲第一| 国产精品一区二区三区网站| 久久99久国产精品黄毛片色诱| 婷婷成人激情在线网| 亚洲一区日韩精品中文字幕| 亚洲精品美国一| 一区二区三区日韩欧美| 亚洲另类一区二区| 亚洲精品国产a| 亚洲免费观看高清完整版在线观看| 国产精品美女视频| 中文字幕一区不卡| 亚洲精品五月天| 日韩理论片一区二区| 亚洲日本乱码在线观看| 尤物av一区二区| 亚洲图片欧美视频| 日韩有码一区二区三区| 免费看精品久久片| 精品一区二区三区免费| 国产精品99久久久久| 大胆欧美人体老妇| 91视视频在线观看入口直接观看www| 99精品久久久久久| 91官网在线免费观看| 欧美午夜精品免费| 日韩欧美亚洲一区二区| 欧美成人欧美edvon| 久久久99精品免费观看| 国产精品久久网站| 亚洲精品国产第一综合99久久| 亚洲一二三四在线观看| 日韩电影一区二区三区四区| 久久99精品久久久久久久久久久久| 国产一区二区三区日韩 | 国产一区二区三区在线看麻豆| 国产麻豆9l精品三级站| 成人短视频下载| 精品视频在线视频| 欧美白人最猛性xxxxx69交| 国产色产综合产在线视频| 亚洲私人黄色宅男| 午夜精品影院在线观看| 国产一区二区在线电影| 一本大道久久精品懂色aⅴ| 欧美美女网站色| 久久亚洲精华国产精华液 | 中文字幕一区二区三区四区| 一区二区三区美女| 久久av老司机精品网站导航| 成人动漫一区二区| 欧美一区二区三区免费视频 | 石原莉奈在线亚洲二区| 国产盗摄视频一区二区三区| 色偷偷久久一区二区三区| 制服丝袜亚洲色图| 国产精品久久看| 视频一区在线播放| jlzzjlzz欧美大全| 欧美一区二区三区在线观看视频| 欧美激情一区二区三区不卡 | 国产在线精品免费av| 972aa.com艺术欧美| 日韩欧美在线网站| 一区二区三区在线免费观看| 国内一区二区在线| 欧美日韩国产三级| 国产精品午夜电影| 美女精品一区二区| 日本高清成人免费播放| 久久精品欧美日韩精品| 日本不卡中文字幕| 在线精品视频一区二区三四| 久久久久国色av免费看影院| 丝袜美腿亚洲一区二区图片| 91在线观看污| 国产亚洲精品免费| 久久99精品久久久久久久久久久久| 色吧成人激情小说| 国产精品视频看| 国产一区二区中文字幕| 91精品国产综合久久福利| 一片黄亚洲嫩模| 99精品黄色片免费大全| 中文字幕精品一区| 国产精品一区二区视频| 欧美成人video| 免费精品99久久国产综合精品| 在线视频一区二区三区| 亚洲品质自拍视频| 不卡的av中国片| 欧美激情综合五月色丁香| 韩国av一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 亚洲成av人片在线观看| 在线观看不卡视频| 亚洲欧美日韩一区| 91亚洲国产成人精品一区二三| 国产精品午夜久久| 懂色av中文字幕一区二区三区| 久久久久久影视| 国模无码大尺度一区二区三区| 日韩欧美一级二级三级久久久| 亚洲18色成人| 欧美一区二区视频免费观看| 日欧美一区二区| 欧美一二三四区在线| 奇米色一区二区| 日韩免费性生活视频播放| 老司机精品视频一区二区三区| 日韩女优制服丝袜电影| 美女视频网站久久| 精品国精品自拍自在线| 国产一区二区三区综合| 欧美国产丝袜视频| k8久久久一区二区三区| 一区二区激情小说| 精品视频123区在线观看| 婷婷中文字幕综合| 在线成人av网站| 蜜桃视频在线观看一区| 26uuu国产电影一区二区| 国产丶欧美丶日本不卡视频| 中文av字幕一区| 色婷婷综合在线| 天堂av在线一区| 久久综合给合久久狠狠狠97色69| 国产91精品免费| 亚洲摸摸操操av| 9191国产精品| 国产制服丝袜一区| 国产精品久久久久久久裸模| 91精彩视频在线观看| 日韩电影免费一区| 久久久99精品久久| 色婷婷综合久久久久中文| 亚洲一区二区三区四区在线观看| 欧美伦理影视网| 国产精品乡下勾搭老头1| 亚洲人成网站精品片在线观看| 欧美男同性恋视频网站| 国产在线视视频有精品| 中文字幕一区二区三| 欧美精品自拍偷拍动漫精品| 国产精一区二区三区| 曰韩精品一区二区| 精品黑人一区二区三区久久 | 日韩一区二区三区视频| 成人综合在线视频| 婷婷激情综合网| 久久久精品欧美丰满| 欧美亚洲国产一区二区三区 | 欧美系列日韩一区| 蜜桃av一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 色视频成人在线观看免| 久久99久久久欧美国产| 亚洲欧美日韩系列| 久久婷婷综合激情| 欧美性欧美巨大黑白大战| 国产麻豆视频一区二区| 亚洲国产综合人成综合网站| 国产欧美精品一区| 欧美日韩免费一区二区三区| 国产盗摄一区二区| 日日欢夜夜爽一区| 亚洲精品免费在线| 久久久亚洲午夜电影| 91麻豆精品国产91久久久久久 | 蓝色福利精品导航| 亚洲精品伦理在线| 国产偷国产偷精品高清尤物| 欧美巨大另类极品videosbest| 99精品视频中文字幕| 国产尤物一区二区在线| 日韩中文字幕区一区有砖一区|