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

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

?? 2_01_10i.lst

?? 基于時間觸發調度器的直流電機閉環控制
?? LST
字號:
C51 COMPILER V8.08   2_01_10I                                                              06/30/2007 15:58:44 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE 2_01_10I
OBJECT MODULE PLACED IN 2_01_10i.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 2_01_10i.c BROWSE DEBUG OBJECTEXTEND

line level    source

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

  56   1         tByte i;
  57   1      
  58   1         // Sort out the tasks
  59   1         for (i = 0; i < SCH_MAX_TASKS; i++) 
  60   1            {
  61   2            SCH_Delete_Task(i);
  62   2            }
  63   1      
  64   1         // Reset the global error variable
  65   1         // - SCH_Delete_Task() will generate an error code, 
  66   1         //   (because the task array is empty)
  67   1         Error_code_G = 0;
  68   1      
  69   1         // Now set up Timer 2
  70   1         // 16-bit timer function with automatic reload
  71   1         // Crystal is assumed to be 10 MHz
  72   1         // Using c515c, so timer can be incremented at 1/6 crystal frequency
  73   1         // if prescalar is not used
  74   1      
  75   1         // Prescaler not used -> Crystal/6
  76   1         T2PS = 0;
  77   1      
  78   1         // The Timer 2 resolution is  0.0000006 seconds (0.6 祍)
  79   1         // The required Timer 2 overflow is 0.001 seconds (1 ms)
  80   1         // - this takes  1666.666666667 timer ticks (can't get precise timing)
  81   1         // Reload value is 65536 - 1667 = 63869 (dec) = 0xF97D
  82   1         TH2 = 0xF9; 
  83   1         TL2 = 0x7D;
  84   1           
  85   1         // Compare/capture Channel 0 
  86   1         // Disabled
  87   1         // Compare Register CRC on: 0x0000;
  88   1         CRCH = 0xF9;
  89   1         CRCL = 0x7D;
  90   1      
  91   1         //  Mode 0 for all channels
  92   1         T2CON |= 0x11;
  93   1      
  94   1         //  timer 2 overflow interrupt is enabled
  95   1         ET2 = 1;
  96   1         //  timer 2 external reload interrupt is disabled
  97   1         EXEN2 = 0;
  98   1        
  99   1         //  CC0/ext3 interrupt is disabled
 100   1         EX3 = 0;
 101   1        
 102   1         // Compare/capture Channel 1-3 
 103   1         // Disabled
 104   1         CCL1 = 0x00;
 105   1         CCH1 = 0x00;
 106   1         CCL2 = 0x00;
 107   1         CCH2 = 0x00;
 108   1         CCL3 = 0x00;
 109   1         CCH3 = 0x00;
 110   1        
 111   1         // Interrupts Channel 1-3 
 112   1         // Disabled
 113   1         EX4 = 0;
 114   1         EX5 = 0;
 115   1         EX6 = 0;
 116   1        
 117   1         // all above mentioned modes for Channel 0 to Channel 3 
C51 COMPILER V8.08   2_01_10I                                                              06/30/2007 15:58:44 PAGE 3   

 118   1         CCEN = 0x00;
 119   1         // ------ Set up Timer 2 (end) ----------------------------------
 120   1         }
 121          
 122          /*------------------------------------------------------------------*-
 123          
 124            SCH_Start()
 125          
 126            Starts the scheduler, by enabling interrupts.
 127          
 128            NOTE: Usually called after all regular tasks are added,
 129            to keep the tasks synchronised.
 130          
 131            NOTE: ONLY THE SCHEDULER INTERRUPT SHOULD BE ENABLED!!! 
 132           
 133          -*------------------------------------------------------------------*/
 134          void SCH_Start(void) 
 135             {
 136   1         // Comment out as required, depending on compiler used
 137   1         //EA = 1;   // Use with C51 v5.X
 138   1         EAL = 1;  // Use with C51 v6.X
 139   1         }
 140          
 141          /*------------------------------------------------------------------*-
 142            
 143            SCH_Update()
 144          
 145            This is the scheduler ISR.  It is called at a rate determined by 
 146            the timer settings in SCH_Init_T2().  This version is 
 147            triggered by Timer 2 interrupts: timer is automatically reloaded.
 148           
 149          -*------------------------------------------------------------------*/
 150          void SCH_Update(void) interrupt INTERRUPT_Timer_2_Overflow  
 151             {
 152   1         tByte Index;
 153   1      
 154   1         TF2 = 0; // Have to manually clear this. 
 155   1      
 156   1         // NOTE: calculations are in *TICKS* (not milliseconds)
 157   1         for (Index = 0; Index < SCH_MAX_TASKS; Index++)
 158   1            {
 159   2            // Check if there is a task at this location
 160   2            if (SCH_tasks_G[Index].pTask)
 161   2               {
 162   3               if (SCH_tasks_G[Index].Delay == 0)
 163   3                  {
 164   4                  // The task is due to run
 165   4                  SCH_tasks_G[Index].RunMe += 1;  // Incr. the run flag
 166   4      
 167   4                  if (SCH_tasks_G[Index].Period)
 168   4                     {
 169   5                     // Schedule periodic tasks to run again
 170   5                     SCH_tasks_G[Index].Delay = SCH_tasks_G[Index].Period;
 171   5                     }
 172   4                  }
 173   3               else
 174   3                  {
 175   4                  // Not yet ready to run: just decrement the delay 
 176   4                  SCH_tasks_G[Index].Delay -= 1;
 177   4                  }
 178   3               }         
 179   2            }
C51 COMPILER V8.08   2_01_10I                                                              06/30/2007 15:58:44 PAGE 4   

 180   1         }   
 181          
 182          /*------------------------------------------------------------------*-
 183            ---- END OF FILE -------------------------------------------------
 184          -*------------------------------------------------------------------*/
 185          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    192    ----
   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一区二区三区免费野_久草精品视频
国产女人水真多18毛片18精品视频| 2021国产精品久久精品| 日韩欧美一二三四区| 国产欧美日韩在线观看| 日本午夜精品一区二区三区电影| 成人丝袜高跟foot| 欧美三级日韩在线| 欧美性xxxxxx少妇| 日本一区中文字幕| 国产欧美日韩不卡免费| 色综合久久88色综合天天免费| 成人欧美一区二区三区黑人麻豆| 欧美伊人精品成人久久综合97| 奇米影视一区二区三区| 国产精品乱人伦中文| 在线观看一区二区视频| 国产一区二区影院| 亚洲一级二级三级| 国产日韩欧美一区二区三区乱码| 99热精品一区二区| 亚洲五码中文字幕| 亚洲第四色夜色| 亚洲美女偷拍久久| 欧美日韩五月天| 亚洲精品乱码久久久久久黑人| 色综合天天综合网天天看片| 国产一区亚洲一区| 久久久久国产一区二区三区四区 | 国产91丝袜在线播放九色| 欧美日韩一级片网站| 中文字幕字幕中文在线中不卡视频| 国产精品 日产精品 欧美精品| 亚洲精品在线网站| 国产精品一区二区在线看| 2021国产精品久久精品| 激情欧美一区二区三区在线观看| 中文字幕亚洲成人| 国产精品美女一区二区三区| 精品88久久久久88久久久| 日韩免费性生活视频播放| 欧美顶级少妇做爰| 欧美四级电影在线观看| 91在线观看高清| 国产精品一二三区| 成人免费高清视频在线观看| 国产精品乡下勾搭老头1| 日韩欧美一区二区久久婷婷| 亚洲国产aⅴ成人精品无吗| 亚洲视频在线观看一区| 91麻豆精品一区二区三区| 一区二区三区精品| 欧美一区二区视频在线观看2020| 蜜臀精品一区二区三区在线观看| 精品国产青草久久久久福利| 国产精品一二三| 国产精品天天摸av网| 色网站国产精品| 日韩国产在线观看一区| 日韩精品一区二区三区视频| 成人小视频在线观看| 亚洲成人av福利| 久久精品亚洲一区二区三区浴池| 91麻豆精东视频| 蜜臀91精品一区二区三区| 国产精品视频你懂的| 欧美高清视频在线高清观看mv色露露十八 | 一区二区三区精品久久久| 欧美另类变人与禽xxxxx| 国产一区二区不卡老阿姨| 亚洲日本免费电影| www国产亚洲精品久久麻豆| 粉嫩aⅴ一区二区三区四区| 亚洲国产日日夜夜| 欧美经典一区二区| 日韩一区二区高清| 一本到三区不卡视频| 韩国毛片一区二区三区| 亚洲激情图片qvod| 国产三级精品在线| 91精品国产综合久久久蜜臀图片| kk眼镜猥琐国模调教系列一区二区| 日韩av中文字幕一区二区三区| 国产精品高潮呻吟久久| 久久综合五月天婷婷伊人| 欧美日韩在线不卡| 色欧美乱欧美15图片| 国产一区二区91| 美女国产一区二区三区| 亚洲第一主播视频| 一区二区三区中文免费| 国产精品私房写真福利视频| 精品成人一区二区| 国产精品一区二区久久精品爱涩| 欧美岛国在线观看| 国产伦精品一区二区三区在线观看| 日韩一区二区免费在线观看| 韩国成人福利片在线播放| 一区二区在线免费| 成人网在线免费视频| 精品久久久久久久人人人人传媒| 奇米综合一区二区三区精品视频| 日韩欧美一区二区在线视频| 久久99久久精品欧美| 久久精品一区八戒影视| 91精品久久久久久久久99蜜臂| 奇米四色…亚洲| 亚洲欧美中日韩| 欧美一级艳片视频免费观看| 韩国女主播一区二区三区| 亚洲欧美日韩系列| 国产欧美日韩不卡免费| 久久久.com| 中文字幕国产一区| 91成人免费在线视频| 日韩理论片中文av| 一区二区欧美视频| 色婷婷国产精品| 国产精品伦理一区二区| 色综合天天综合在线视频| 色噜噜久久综合| 欧美亚男人的天堂| 欧美精品日日鲁夜夜添| 91精品国产日韩91久久久久久| 日韩一区二区三区四区| 日韩欧美精品在线视频| 精品少妇一区二区| 国产精品区一区二区三区| 成人欧美一区二区三区视频网页| 欧美精品乱码久久久久久按摩 | 亚洲成人手机在线| 亚洲一区二区三区中文字幕在线| 欧美精品高清视频| 欧美日韩三级在线| 一本大道久久a久久精二百| 懂色av一区二区三区免费观看| 另类小说色综合网站| 一区二区三区色| 日本va欧美va精品发布| 国产福利电影一区二区三区| 精品久久久久一区| 一本色道亚洲精品aⅴ| 国产精品888| aaa欧美色吧激情视频| 欧美在线观看禁18| 久久你懂得1024| 亚洲欧美日韩电影| 免费欧美日韩国产三级电影| 国产黄色精品网站| 欧美肥妇bbw| 国产欧美日韩另类一区| 亚洲高清一区二区三区| 国产福利精品一区| 9191国产精品| 亚洲欧美日韩系列| 韩国av一区二区三区在线观看| 91老师片黄在线观看| 亚洲精品一区二区三区福利| 亚洲精品成人精品456| 激情文学综合插| 欧美日韩精品高清| 欧美激情一区二区三区| 日韩黄色小视频| 91麻豆国产香蕉久久精品| 精品成人免费观看| 午夜精品视频一区| 91影院在线免费观看| 久久日一线二线三线suv| 亚洲第一精品在线| 成人av片在线观看| 欧美精品一区二区三区蜜桃| 亚洲成av人片在线观看无码| 99国产精品久久久久久久久久久| 精品国产自在久精品国产| 亚洲成人av一区| 91福利社在线观看| 亚洲日本va在线观看| 国产福利一区在线观看| 日韩欧美成人一区| 日本视频一区二区三区| 欧美亚洲国产一区二区三区va| 国产精品污网站| 国产不卡视频一区| 久久久久九九视频| 免费人成精品欧美精品| 在线播放一区二区三区| 亚洲综合丁香婷婷六月香| aaa欧美日韩| 亚洲欧美日韩在线| 91色.com| 亚洲伊人伊色伊影伊综合网| www.亚洲在线| 国产精品国产自产拍高清av王其| 韩国欧美国产一区| 久久久综合精品| 国产精品亚洲一区二区三区在线| 日韩一区二区电影网| 美国精品在线观看| 久久精品免费观看| 欧美变态凌虐bdsm| 色先锋资源久久综合|