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

📄 init.lst

📁 用于GPRS远程电力抄表系统中采集器端的程序
💻 LST
字号:
C51 COMPILER V7.50   INIT                                                                  07/19/2006 10:05:13 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE INIT
OBJECT MODULE PLACED IN init.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE init.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "sm89516a.h"
   2          #include "common.h"
   3          #include "i2c.h"
   4          #include "io.h"
   5          #include "process.h"
   6          #include "recframe.h"
   7          
   8          /*********************************************************************
   9          * 函 数 名: Init
  10          * 功能描述: 串口初始化
  11          * 函数说明: 定时器1产生通信波特率2400
  12          * 调用函数: 无
  13          * 全局变量:无
  14          * 输 入: 无
  15          * 返 回: 无
  16          * 设 计 者:zy
  17          ***********************************************************************/
  18          
  19          void sum_init(void)
  20          {
  21   1              uchar radd_end;
  22   1              uchar wport_end;
  23   1              uchar port_init;
  24   1              uchar freezetime_end;
  25   1      
  26   1      //      uchar i;
  27   1      //      for(i=0;i<96;i++)
  28   1      //              FreezeData[i]=0;
  29   1      
  30   1              R_block(WPAGE0,RPAGE0,i2c_time_flag,&freezetime_end,1); 
  31   1                   
  32   1              if(freezetime_end)
  33   1                      R_block(WPAGE0,RPAGE0,i2c_time_freeze,FreezeData,96);   
  34   1              else
  35   1                      R_block(WPAGE1,RPAGE1,i2c_time_freeze,FreezeData,96);
  36   1                      
  37   1         
  38   1              R_block(WPAGE0,RPAGE0,i2c_addr_addflag,&radd_end,1); 
  39   1                   
  40   1              if(radd_end)
  41   1                      R_block(WPAGE0,RPAGE0,i2c_addr_data,&sum[0][0],96);     
  42   1              else
  43   1                      R_block(WPAGE1,RPAGE1,i2c_addr_data,&sum[0][0],96);
  44   1      
  45   1              R_block(WPAGE0,RPAGE0,i2c_addr_portflag,&wport_end,1);
  46   1                      
  47   1              if(wport_end)
  48   1                      R_block(WPAGE0,RPAGE0,i2c_addr_io,bwary,2);
  49   1          else
  50   1              R_block(WPAGE1,RPAGE1,i2c_addr_io,bwary,2);
  51   1      
  52   1              R_block(WPAGE0,RPAGE0,i2c_port_initflag,&port_init,1);
  53   1              
  54   1      
  55   1              if(port_init==0xff)
C51 COMPILER V7.50   INIT                                                                  07/19/2006 10:05:13 PAGE 2   

  56   1              {
  57   2                      port_init=0;
  58   2                      W_block(WPAGE0,i2c_port_initflag,&port_init,1);
  59   2                      bwary[0]=0xff;
  60   2                      bwary[1]=0xff;
  61   2              }
  62   1      
  63   1      
  64   1      }
  65          
  66          
  67          void Init()
  68          {
  69   1              P0=0;
  70   1              P2=0;
  71   1              P1_2=0;
  72   1              wr_switch=1;
  73   1      
  74   1      
  75   1              P1_4=R_CON;
  76   1          TMOD=0x21;        // 设置定时器1工作方式 2 
  77   1          TH0=0xfc;         // 定时1MS
  78   1          TL0=0x18; 
  79   1          TR0=1;
  80   1          ET0=1;
  81   1          
  82   1          TH1=0xfd;         // 设置波特率9600bps
  83   1          TL1=0xfd;
  84   1        
  85   1      //  TH1=0xf4;         // 设置波特率2400bps
  86   1      //  TL1=0xf4;
  87   1          PCON&=0x00;       // SMOD=0
  88   1      
  89   1          TR1=1;                // 开启定时器 
  90   1          SCON=0x40;        // 设置串行口工作方式 1
  91   1          REN=1;            // 允许接收
  92   1          EA=1;             // 总中断允许 
  93   1          ES=1;             // 串行口中断允许
  94   1              EX0=1;            // 外中断0允许
  95   1              IT0=1;            // 负跳变触发方式
  96   1          SCONF=0x02;       // 片内扩展ram使能
  97   1      
  98   1          
  99   1          RCAP2H=0xb1;      // 重装值
 100   1              RCAP2L=0xe0;
 101   1          TH2=0x9e;         //定时器2定时25ms  
 102   1              TL2=0x58;
 103   1                                    
 104   1          ET2= 1;           // 允许T2中断
 105   1              T2CON= 0x00;
 106   1          TR2= 0;
 107   1              
 108   1              WDTKEY=0x1E;
 109   1              WDTKEY=0xE1;
 110   1              WDTC=0x85;        // 看门狗定时器使能,溢出时间为65.536ms
 111   1              WDTKEY=0xE1;
 112   1              WDTKEY=0x1E;
 113   1      
 114   1          EX0=1;            // INT0中断开
 115   1          IT0=0;            // INT0低电平触发
 116   1          sum_init();
 117   1      }
C51 COMPILER V7.50   INIT                                                                  07/19/2006 10:05:13 PAGE 3   

 118          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    443    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   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 + -