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

📄 main.c.o.lst

📁 智能车的马达控制程序,通过串口控制车的加速减速等。
💻 LST
字号:
ANSI-C/cC++ Compiler for HC12 V-5.0.35 Build 8093, Apr  3 2008

    1:  #include <hidef.h>      /* common defines and macros */
    2:  #include <MC9S12XS128.h>     /* derivative information */
    3:  #pragma LINK_INFO DERIVATIVE "mc9s12xs128"
    4:  
    5:   void PWM_Init(void)
    6:  {     

Function: PWM_Init
Source  : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106

    7:                                         //SB,B for ch2367
    8:                                         //SA,A for ch0145  
    9:      PWMPRCLK = 0X55;                   //clockA,CLK B 32分频:500khz   
  0000 cc0255       [2]     LDD   #597
  0003 7b0000       [3]     STAB  _PWMPRCLK
   10:      PWMSCLA = 0x02;                    //对clock SA 进行2*PWMSCLA=4分频;pwm clock=clockA/4=125KHz;     
  0006 7a0000       [3]     STAA  _PWMSCLA
   11:      PWMSCLB = 0X02;                   //clk SB=clk B/(2*pwmsclb)=125KHZ
  0009 7a0000       [3]     STAA  _PWMSCLB
   12:    //pwm1  
   13:      PWMCNT1 = 0;
  000c 790000       [3]     CLR   _PWMCNT01:1
   14:      PWMCAE_CAE1=0;      
  000f 1d000002     [4]     BCLR  _PWMCAE,#2
   15:      PWMPOL_PPOL1=0;                      
  0013 1d000002     [4]     BCLR  _PWMPOL,#2
   16:      PWMPER1 =125;        
  0017 c67d         [1]     LDAB  #125
  0019 7b0000       [3]     STAB  _PWMPER01:1
   17:      PWMDTY1 =100;        
  001c c664         [1]     LDAB  #100
  001e 7b0000       [3]     STAB  _PWMDTY01:1
   18:      PWMCLK_PCLK1 = 1;                 
  0021 1c000002     [4]     BSET  _PWMCLK,#2
   19:      PWME_PWME1 = 0; 
  0025 1d000002     [4]     BCLR  _PWME,#2
   20:  }
  0029 3d           [5]     RTS   
   21:  
   22:  
   23:  #define BusClock	8000000				//8MHz
   24:  #define	BaudRate	9600				//SCI baud rate (hz)
   25:  
   26:  
   27:  
   28:  
   29:  /*=========================================================
   30:  	GLOBAL	VIRIABLE DEFINE ( FirstSndThd )
   31:  ==========================================================*/
   32:  
   33:  
   34:  
   35:  
   36:  
   37:  
   38:  /*=========================================================
   39:  	FUNCTION DECLARE ( Module_Func_ADDITION() ) ( GE = general )
   40:  ==========================================================*/
   41:  
   42:  void	GE_Delay( unsigned int x );		//延时控制
   43:  
   44:  void	SCI_Init( void );				//SCI初始化函数,波特率根据宏定义
   45:  void	SCI_Tx( byte TxData );			//SCI发送数据函数
   46:  //byte	SCI_Rx( void );					//SCI接收数据函数
   47:  interrupt	void	SCI_Rx_IRS( void );	//SCI接收中断处理【回显】函数
   48:  
   49:  
   50:  
   51:  
   52:  
   53:  /*==========================================================
   54:  	FUNCTION DEFINE
   55:  ===========================================================*/
   56:  
   57:  void main(void)
   58:  { 

Function: main
Source  : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106

   59:  	DisableInterrupts;
  0000 1410         [1]     SEI   
   60:  	
   61:  	SCI_Init();
  0002 160000       [4]     JSR   SCI_Init
   62:  	
   63:  	EnableInterrupts;
  0005 10ef         [1]     CLI   
   64:  	
   65:  	for( ; ; )
   66:  	{
   67:  		SCI_Tx( 'a' );
  0007 c661         [1]     LDAB  #97
  0009 160000       [4]     JSR   SCI_Tx
   68:  		GE_Delay( 50 );		
  000c c632         [1]     LDAB  #50
  000e 87           [1]     CLRA  
  000f 160000       [4]     JSR   GE_Delay
  0012 20f3         [3]     BRA   *-11 ;abs = 0007
   69:  	}
   70:  
   71:  }
   72:  
   73:  
   74:  void	GE_Delay( unsigned int x )
   75:  {

Function: GE_Delay
Source  : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106

  0000 6cac         [2]     STD   4,-SP
   76:  	unsigned int i,j;
   77:  	for( i=0;i<=x;i++ )
  0002 186982       [3]     CLRW  2,SP
  0005 200b         [3]     BRA   *+13 ;abs = 0012
   78:  		for( j=0;j<=10000;j++ )
  0007 1887         [2]     CLRX  
  0009 08           [1]     INX   
  000a 8e2710       [2]     CPX   #10000
  000d 23fa         [3/1]   BLS   *-4 ;abs = 0009
  000f 186282       [4]     INCW  2,SP
  0012 ec82         [3]     LDD   2,SP
  0014 ac80         [3]     CPD   0,SP
  0016 23ef         [3/1]   BLS   *-15 ;abs = 0007
   79:  			;
   80:  }
  0018 1b84         [2]     LEAS  4,SP
  001a 3d           [5]     RTS   
   81:  
   82:  void	SCI_Init( void )
   83:  {

Function: SCI_Init
Source  : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106

   84:  	SCI0BDL	= ( byte ) ( BusClock / BaudRate / 16 ); //必须/16,不能写出后两项相乘
  0000 cc2c34       [2]     LDD   #11316
  0003 5b00         [2]     STAB  _SCI0BD:1
   85:  	SCI0CR1	= 0x00;						//8位数据位,1位停止位,无校验
  0005 790000       [3]     CLR   _SCI0ACR2
   86:  	SCI0CR2	= 0x2C;						//接收中断使能,使能发送与接收	
  0008 5a00         [2]     STAA  _SCI0CR2
   87:  }
  000a 3d           [5]     RTS   
   88:  
   89:  void	SCI_Tx( byte TxData )
   90:  {

Function: SCI_Tx
Source  : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106

   91:  	unsigned char	ReadStatus1;
   92:  	
   93:  //	ReadStatus1	= SCI0SR1;				//为清除标志位,读状态寄存器【下次写入后完全清除】
   94:  	SCI0DRH	= 0;
  0000 790000       [3]     CLR   _SCI0DRH
   95:  	SCI0DRL	= TxData;					//将待发数据写入寄存器
  0003 5b00         [2]     STAB  _SCI0DRL
   96:  	while( !SCI0SR1_TDRE );				//等待发送结束
  0005 4f0080fc     [4]     BRCLR _SCI0SR1,#128,*+0 ;abs = 0005
   97:  	ReadStatus1	= SCI0SR1;				//为清除标志位,读状态寄存器【下次写入后完全清除】
  0009 d600         [3]     LDAB  _SCI0SR1
   98:  }
  000b 3d           [5]     RTS   
   99:  
  100:  /*
  101:  byte	SCI_Rx_IRS( void );
  102:  */
  103:  
  104:  
  105:  //不能有返回值
  106:  interrupt 20 void SCI_Rx_IRS( void )
  107:  {

Function: SCI_Rx_IRS
Source  : C:\Documents and Settings\YOU\桌面\moto_test\Sources\main.c
Options : -CPUHCS12X -D__ONLY_INIT_SP -D__NO_FLOAT__ -Env"GENPATH=C:\Documents and Settings\YOU\桌面\moto_test;C:\Documents and Settings\YOU\桌面\moto_test\bin;C:\Documents and Settings\YOU\桌面\moto_test\prm;C:\Documents and Settings\YOU\桌面\moto_test\cmd;C:\Documents and Settings\YOU\桌面\moto_test\Sources;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\lib;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\src;D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"LIBPATH=D:\Program Files\Freescale\CodeWarrior for HCS12 V4.7\lib\HC12c\include" -Env"OBJPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Env"TEXTPATH=C:\Documents and Settings\YOU\桌面\moto_test\bin" -Lasm="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o.lst" -Ms -ObjN="C:\Documents and Settings\YOU\桌面\moto_test\moto_test_Data\TBDML\ObjectCode\main.c.o" -WmsgSd1106

  0000 3b           [2]     PSHD  
  108:  	byte	ReadStatus1 , RxData;
  109:  	
  110:  	DisableInterrupts;
  0001 1410         [1]     SEI   
  111:  	
  112:  	ReadStatus1	= SCI0SR1;
  0003 d600         [3]     LDAB  _SCI0SR1
  0005 6b81         [2]     STAB  1,SP
  113:  	RxData	= ( byte ) SCI0DRL;
  0007 d600         [3]     LDAB  _SCI0DRL
  0009 6b80         [2]     STAB  0,SP
  114:  	SCI_Tx( RxData );
  000b 0700         [4]     BSR   SCI_Tx
  115:  	EnableInterrupts;
  000d 10ef         [1]     CLI   
  116:  }
  000f 3a           [3]     PULD  
  0010 0b           [8]     RTI   

⌨️ 快捷键说明

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