⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 movementcontrol_function.lst

📁 UCOSii for c8051f020
💻 LST
字号:
C51 COMPILER V7.06   MOVEMENTCONTROL_FUNCTION                                              01/26/2008 08:30:12 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MOVEMENTCONTROL_FUNCTION
OBJECT MODULE PLACED IN .\obj\MovementControl_Function.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Source\MovementControl_Function.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\l
                    -st\MovementControl_Function.lst) OBJECT(.\obj\MovementControl_Function.obj)

stmt level    source

   1          
   2          #define  OS_CPU_GLOBALS
   3          #include "includes.h"
   4          //#define OS_V_GLOBALS 1
   5          //#include "movementdefine.h"
   6          //Automatic Prototypes
   7          #include "FunctionPrototype.h"
   8          //初始化定时器0 ------ 系统时钟
   9          void InitTimer0(void) 
  10          {
  11   1          TMOD |= 0x01;   //定时器0:模式1(16位定时器),仅受TR0控制
  12   1          TH0  = 0xBE;    //定义Tick=100次/秒(即0.02秒/次),TH,TL值与CPU的频率有关(20M)
  13   1          TL0  = 0xE4;    //OS_CPU_C.C中定时器中断响应也要设置,OS_CFG.H中OS_TICKS_PER_SEC也有关系
  14   1          ET0=1;          //允许T0中断
  15   1          TR0=1;   
  16   1      }
  17          
  18          
  19          /***********************************************************************************
  20           FUNCTON NAME:   SYSCLK_Init
  21           FUNCTION VERSION:  
  22           CREATED ON:   
  23           FUNCTION DESCRIPTION: This routine initializes the system clock to use an 20MHz crystal as its clock sour
             -ce.
  24           INPUT PARAMETER: None
  25           RETURN VALUE: None
  26           MODIFY RECORD:
  27          ***********************************************************************************/    
  28          
  29          void SYSCLK_Init (void)
  30          {
  31   1         int i;                              // delay counter
  32   1      
  33   1         OSCXCN = 0x67;                      // start external oscillator with
  34   1                                             // 22.1184MHz crystal
  35   1      
  36   1         for (i=0; i < 256; i++) ;           // XTLVLD blanking interval (>1ms)
  37   1      
  38   1         while (!(OSCXCN & 0x80)) ;          // Wait for crystal osc. to settle
  39   1      
  40   1         OSCICN = 0x88;                      // select external oscillator as SYSCLK
  41   1                                             // source and enable missing clock
  42   1                                             // detector
  43   1      }
  44          
  45          //------------------------------------------------------------------------------------
  46          
  47          
  48          /*************************************************************************************
  49           FUNCTON NAME:   PORT_Init
  50           FUNCTION VERSION:   
  51           CREATED ON:   
  52           FUNCTION DESCRIPTION: intialize the port input and output
  53           INPUT PARAMETER:None
C51 COMPILER V7.06   MOVEMENTCONTROL_FUNCTION                                              01/26/2008 08:30:12 PAGE 2   

  54           RETURN VALUE:None
  55           MODIFY RECORD:
  56          *************************************************************************************/
  57          void PORT_Init(void)
  58          {
  59   1                
  60   1      }
  61          //------------------------------------------------------------------------------------
  62          
  63          
  64          
  65          
  66          /*********************************************************************************************************
             -*********
  67           FUNCTON NAME             : init_devices
  68           FUNCTION VERSION         :   
  69           CREATED ON               :   
  70           FUNCTION DESCRIPTION     : 设置硬件寄存器的初始值。
  71                                      初始化定时器0,作为ucOS-II的系统时钟。
  72                                                                  还有其他的与硬件相关的初始化也可以放在这里。
  73           INPUT PARAMETER          : None
  74           RETURN VALUE             : None
  75           MODIFY RECORD            :
  76          **********************************************************************************************************
             -********/
  77          
  78          
  79          void Hardware_Init(void)
  80          {   
  81   1          WDTCN = 0xde;                                                                                                       //禁止看门狗
  82   1              WDTCN = 0xad;
  83   1      
  84   1          SYSCLK_Init ();
  85   1          PORT_Init ();
  86   1      
  87   1          XBR2   = 0x40;      // Enable crossbar and weak pull-ups
  88   1          P1MDOUT = 0xFF;     
  89   1      }
  90          
  91          //--------------------------------------------------------------------------------------------------------
             ---------
  92          
  93          
  94          /*********************************************************************************************************
             -*********
  95           FUNCTON NAME             : Table_TilitStatus
  96           FUNCTION VERSION         :   
  97           CREATED ON               :   
  98           FUNCTION DESCRIPTION     : 
  99           INPUT PARAMETER          : None
 100           RETURN VALUE             : None
 101           MODIFY RECORD            :
 102           REMARK                   :                         _________________ 
 103             断开延时定时器:   Control Signal:         _____|                 |________________
 104                                                              ________________________
 105                                Timer Flag    :        _____|                        |_________
 106          **********************************************************************************************************
             -********/
 107          void Table_TilitStatus(void)
 108          {
 109   1          //19--
 110   1                //注:Q_正倾 上升沿   ||   Q_负倾 上升沿    
C51 COMPILER V7.06   MOVEMENTCONTROL_FUNCTION                                              01/26/2008 08:30:12 PAGE 3   

 111   1            //    --->>   开启 床体倾斜 断开延时 定时器
 112   1          if(IS_POS_EDGE(Output_1,Q_T_TilitPOS) || IS_POS_EDGE(Output_1,Q_T_TilitNEG))
 113   1          {
 114   2              SOFT_TIMER_RUN(Tilit_Timer,TOF,1000);
 115   2          }
 116   1            //注:Q_正倾 下降沿   ||   Q_负倾 下降沿    
 117   1            //    --->>   停止 床体倾斜 断开延时 定时器  (使其开始计时1S)
 118   1          if(IS_NEG_EDGE(Output_1,Q_T_TilitPOS) || IS_NEG_EDGE(Output_1,Q_T_TilitNEG))
 119   1          {
 120   2              SOFT_TIMER_STOP(Tilit_Timer);
 121   2          }
 122   1         
 123   1          //21--从正90度到正角度区
 124   1                //注:I_正90度限位  下降沿   
 125   1                //    --->>  置位A_正角度区域  、 清位A_水平区域  、 清位A_负角度区域 
 126   1          if(IS_NEG_EDGE(Tilit_Switch,I_T_P90)) 
 127   1          {
 128   2              SET_STATUS(Tilit_Switch,A_Table_POS);
 129   2              CLR_STATUS(Tilit_Switch,A_Table_ZERO);
 130   2              CLR_STATUS(Tilit_Switch,A_Table_NEG);
 131   2          }
 132   1          
 133   1          //22--水平位置位(抗齿轮间隙扰动) A_Table_POS(正角度区域标志)A_Table_NEG(负角度区域标志)条件避免

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -