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

📄 hardwareinit.lst

📁 一整套电梯控制器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 364      =1  
 365      =1  //can.c
 366      =1  void can_init(uint pointa);          					//can初始化
 367      =1  void can_reset(void);
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 14  

 368      =1  void can_call_in(uchar a);           //外呼
 369      =1  can_receive_more(uchar a);      //控制器
 370      =1  can_receive_only(uchar a);      //控制器
 371      =1  clear_unknow_code(uchar a);     //清乱码
 372      =1  void can_call_assign();              //外呼分派
 373      =1  can_call_lamp();                //暂定50ms循环点灯,灭灯
 374      =1  
 375      =1  
   2          //#include<w77c32.h>
   3          //#include<intrins.h>
   4          
   5          
   6          void maininit()
   7          {
   8   1      	uchar xdata *data s;
   9   1      
  10   1         	uchar xdata *data p;
  11   1         	uint data i;
  12   1      //		uchar a;
  13   1        // uint xdata *data q=0xc077;   用户参数存储过标志
  14   1         	PMR=PMR|1;                                         //cpu ram 有效
  15   1            
  16   1      	p=0x1800;                                          
  17   1      	*(p+0xe0)=0;  *(p+0xe2)=0xc;             		   //页=0  VM=12H 
  18   1      	*(p+6)=0xff;  *(p+7)=0xff;                         //PSD A,B口为输出 
  19   1      	*(p+4)=0;                                          //A口输出=0  
  20   1         
  21   1          //can复位
  22   1          *(p+5)=0xff;
  23   1      	_nop_();
  24   1      	_nop_();
  25   1          _nop_();
  26   1      	_nop_();
  27   1      	*(p+5)=0xf;
  28   1      	_nop_();
  29   1      	_nop_();
  30   1          _nop_();
  31   1      	_nop_();
  32   1      	*(p+5)=0xff;
  33   1        
  34   1         	s=0;                                        //1k ram 初始化
  35   1         	for(i=0;i<0x400;i++)
  36   1         		*(s+i)=0;
  37   1      
  38   1          canx_cs[0]=0xe000;  
  39   1          canx_cs[1]=0xe100;
  40   1          canx_cs[2]=0xe200;
  41   1          canx_cs[3]=0xe300;
  42   1          can_init(canx_cs[0]);
  43   1          can_init(canx_cs[1]);                        //can2初始化
  44   1          can_init(canx_cs[2]);                        //can3初始化
  45   1          can_init(canx_cs[3]);
  46   1      
  47   1      //2004.07.26 LHM(改为定时器0定时,定时器1波特率发生器)
  48   1      /*
  49   1          TMOD=0x21;                                   //T1为波特率发生器,T0为16位定时器
  50   1          
  51   1          TH0=-(0x28B0/256);
  52   1          TL0=-(0x28B0/256);
  53   1          TR0=1;                                       //启动T0
  54   1          ET0=1;                                       //开T0中断
  55   1       
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 15  

  56   1          TL1=0xe5; TH1=0xe5;               		     //25M晶振 TL1=0xf9; TH1=0xf9;  波特率2400  
  57   1          PCON=0;
  58   1          TR1=1;                                       //启动T1
  59   1          SCON=0x50;                                   //串行1为方式1 
  60   1          ET1=0;
  61   1      */    
  62   1      
  63   1      	TMOD=0x25;                                   //定时器1工作在方式2,波特率产生器
  64   1      //  TL1=0xf9; TH1=0xf9;               		     //25M晶振   波特率9600
  65   1      //  TL1=0xef; TH1=0xef;                          //16M晶振     波特率2400     
  66   1        	TL1=0xe5; TH1=0xe5;               		     //25M晶振   波特率2400                 
  67   1         	PCON=0;                                                                   
  68   1         	TR1=1;                                                                    
  69   1         	SCON=0x50;                                   //串行1为方式1 
  70   1                   
  71   1          //16M晶振                                                                  
  72   1      //	RCAP2H=-(0x1A0A/256);                        //T2工作在定时器方式,定时为5MS
  73   1      //	RCAP2L=-(0x1A0A%256); 
  74   1      // 	RCAP2H=-(0x6828/256);                        //T2工作在定时器方式,定时为20MS
  75   1      //	RCAP2L=-(0x6828%256); 
  76   1          //25M晶振
  77   1      	RCAP2H=-(0x28AF/256);                        //T2工作在定时器方式,定时为5MS
  78   1      	RCAP2L=-(0x28AF%256); 
  79   1      
  80   1          ET2=1;  T2CON=0x04;
  81   1      
  82   1      
  83   1      	P3_5=~P3_5;									 //看门狗
  84   1             
  85   1      	//时钟用
  86   1      
  87   1      	//rs232初始化
  88   1      	sbuf_rec=INVALID_ASC2;                 	 // SBUF的缓冲区初始值为0xFF
  89   1      	m_ST_60s_count=0;            				 // 60s计数器
  90   1      	m_comm_enable_flg=0;         				 // 通讯使能 
  91   1      	m_comm_60sover_flg=0;        				 // 60s计时结束标志   
  92   1      	m_msg_monitor_flg=0;		    		     // 监视命令标记
  93   1      	m_msg_quit_flg=0; 							 // 解除监视命令标志
  94   1      	m_msg_set_flg=0;			    		     // 参数设定命令标记
  95   1      //	m_monitor_delay_flg=0;						 // 监视延迟标记
  96   1      	m_monitor_delay_count=0;				
  97   1      	m_scc.WriteFlg=0;
  98   1      	m_active_idx=0;
  99   1      	m_add_type_idx=0;
 100   1      	m_get_senddata_flg=1;
 101   1      	m_resolve_flg=0;
 102   1      	
 103   1      	//clock用
 104   1      	m_read_time=1;															  
 105   1          m_read_time_count=COUNT_5s;
 106   1      
 107   1      	//can通讯用
 108   1      //-------04-5-17
 109   1          m_state_20ms=0;
 110   1          for(i=0;i<ENum_MAX;i++)
 111   1          	e_display_reflash_floor[i]=1;  
 112   1          //can复位用
 113   1      	m_can0_flg=0;
 114   1      	m_can1_flg=0;
 115   1      	m_can2_flg=0;
 116   1      	m_can3_flg=0;
 117   1      	m_can0_count=COUNT_ERR; 
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 16  

 118   1      	m_can1_count=COUNT_ERR; 
 119   1      	m_can2_count=COUNT_ERR; 
 120   1      	m_can3_count=COUNT_ERR; 
 121   1      	m_can0err_flg=0;
 122   1      	m_can1err_flg=0;
 123   1      	m_can2err_flg=0;
 124   1      	m_can3err_flg=0;
 125   1      
 126   1      	//用户参数存储
 127   1      	m_once_param_over_flg=0;
 128   1      //2004.06.11 上电后设置为用户参数
 129   1          m_save_over_flg=0;
 130   1      	m_restore_flg=1;    	
 131   1      	m_save_flg=0;				
 132   1      	m_factory_flg=0;
 133   1      
 134   1       
 135   1      	EA=1;                                        // 总中断允许
 136   1      }
 137          
 138          
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 17  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION maininit (BEGIN)
                                           ; SOURCE LINE # 6
                                           ; SOURCE LINE # 7
                                           ; SOURCE LINE # 14
0000 43C401            ORL     PMR,#01H
                                           ; SOURCE LINE # 16
0003 750018      R     MOV     p,#018H
0006 750000      R     MOV     p+01H,#00H
                                           ; SOURCE LINE # 17
0009 E500        R     MOV     A,p+01H
000B 24E0              ADD     A,#0E0H
000D F582              MOV     DPL,A
000F E4                CLR     A
0010 3500        R     ADDC    A,p
0012 F583              MOV     DPH,A
0014 E4                CLR     A
0015 F0                MOVX    @DPTR,A
0016 E500        R     MOV     A,p+01H
0018 24E2              ADD     A,#0E2H
001A F582              MOV     DPL,A
001C E4                CLR     A
001D 3500        R     ADDC    A,p
001F F583              MOV     DPH,A
0021 740C              MOV     A,#0CH
0023 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 18
0024 E500        R     MOV     A,p+01H
0026 2406              ADD     A,#06H
0028 F582              MOV     DPL,A
002A E4                CLR     A
002B 3500        R     ADDC    A,p
002D F583              MOV     DPH,A
002F 74FF              MOV     A,#0FFH
0031 F0                MOVX    @DPTR,A
0032 E500        R     MOV     A,p+01H
0034 2407              ADD     A,#07H
0036 F582              MOV     DPL,A
0038 E4                CLR     A
0039 3500        R     ADDC    A,p
003B F583              MOV     DPH,A
003D 74FF              MOV     A,#0FFH
003F F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 19
0040 E500        R     MOV     A,p+01H
0042 2404              ADD     A,#04H
0044 F582              MOV     DPL,A
0046 E4                CLR     A
0047 3500        R     ADDC    A,p
0049 F583              MOV     DPH,A
004B E4                CLR     A
004C F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 22
004D E500        R     MOV     A,p+01H
004F 2405              ADD     A,#05H
0051 F582              MOV     DPL,A
0053 E4                CLR     A
0054 3500        R     ADDC    A,p
0056 F583              MOV     DPH,A
0058 74FF              MOV     A,#0FFH
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 18  

005A F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 23
005B 00                NOP     
                                           ; SOURCE LINE # 24
005C 00                NOP     
                                           ; SOURCE LINE # 25
005D 00                NOP     
                                           ; SOURCE LINE # 26
005E 00                NOP     
                                           ; SOURCE LINE # 27
005F 740F              MOV     A,#0FH
0061 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 28
0062 00                NOP     
                                           ; SOURCE LINE # 29
0063 00                NOP     
                                           ; SOURCE LINE # 30
0064 00                NOP     
                                           ; SOURCE LINE # 31
0065 00                NOP     
                                           ; SOURCE LINE # 32
0066 74FF              MOV     A,#0FFH
0068 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 34
0069 E4                CLR     A
006A F500        R     MOV     s,A
006C F500        R     MOV     s+01H,A
                                           ; SOURCE LINE # 35
006E F500        R     MOV     i,A
0070 F500        R     MOV     i+01H,A
0072         ?C0001:
                                           ; SOURCE LINE # 36
0072 E500        R     MOV     A,s+01H
0074 2500        R     ADD     A,i+01H
0076 F582              MOV     DPL,A
0078 E500        R     MOV     A,s
007A 3500        R     ADDC    A,i
007C F583              MOV     DPH,A
007E E4                CLR     A
007F F0                MOVX    @DPTR,A
0080 0500        R     INC     i+01H
0082 E500        R     MOV     A,i+01H
0084 7002              JNZ     ?C0008
0086 0500        R     INC     i
0088         ?C0008:
0088 B400E7            CJNE    A,#00H,?C0001
008B E500        R     MOV     A,i
008D B404E2            CJNE    A,#04H,?C0001
0090         ?C0002:
                                           ; SOURCE LINE # 38
0090 900000      E     MOV     DPTR,#canx_cs
0093 74E0              MOV     A,#0E0H
0095 F0                MOVX    @DPTR,A
0096 A3                INC     DPTR
0097 E4                CLR     A

⌨️ 快捷键说明

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