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

📄 952.lst

📁 16C554VX1128MAX4359-MAX4456P89LPC952 驱动开发
💻 LST
字号:
C51 COMPILER V8.02   952                                                                   05/23/2008 11:50:49 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE 952
OBJECT MODULE PLACED IN 952.OBJ
COMPILER INVOKED BY: D:\软件安装路径\C51\BIN\C51.EXE 952.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REG952.H>
   2          #include <intrins.H>
   3          #include "16C554.h"
   4          #include "uart.h"
   5          #include "T0.h"
   6          
   7          #define uchar unsigned char
   8          #define uint unsigned int
   9          
  10          #define SIZE2 10
  11          extern uchar over, d554,s[8];
  12          
  13          static bit cmdflag2=0;
  14          static uchar check_sum2,command2[SIZE2],cmdpos2;
  15          
  16          void protocol2(uchar cmd2)
  17          {               
  18   1              if(cmdflag2 == 0)
  19   1              {
  20   2                      TR0=1;
  21   2                      TH0=0x00;        //     11.8ms  T0重装初值
  22   2                      TL0=0x00;
  23   2                      command2[0] = cmd2;
  24   2                      cmdpos2 = 1;
  25   2                      cmdflag2 = 1;
  26   2                      check_sum2=command2[0]; 
  27   2              } 
  28   1              else 
  29   1              {
  30   2                      command2[cmdpos2] = cmd2;
  31   2                      if(cmdpos2 <SIZE2-1)            //表明数组没有溢出
  32   2                      {               
  33   3                              check_sum2 += command2[cmdpos2];                        
  34   3                      }
  35   2                      else    //数组溢出
  36   2                      {
  37   3                              over=1;
  38   3                              check_sum2 += command2[cmdpos2];                        
  39   3                              cmdflag2 = 0;
  40   3                      }               
  41   2                      cmdpos2++;
  42   2              }       
  43   1      } 
  44          //主函数
  45          void main(void) 
  46          {        
  47   1              uchar chr,h,rt2;
  48   1              P0M1=0x00;       //配置P0为准双向口
  49   1              P0M2=0x00;  
  50   1              P1M1=0x0e;   //P1.6,P1.7接Serial_M1,Serial_M2配置为推换输出        
  51   1          P1M2=0xcd;   //端口初始化P1.0,P1.1分别为推挽输出和输入,P1.2 1.3为开漏输出
  52   1              P1M1=0x10|P1M1; //P1.4设置为中断输入
  53   1              P1M2=0xEF&P1M1;
  54   1              P2M1=0x00; //P2设置为推挽输出方式
  55   1          P2M2=0x3F;
C51 COMPILER V8.02   952                                                                   05/23/2008 11:50:49 PAGE 2   

  56   1              Serial_M1=0; //将扩展的八个串口都定义为RS232
  57   1              Serial_M2=0; 
  58   1              Serial_M3=0; 
  59   1              Serial_M4=0; 
  60   1              Serial_M5=0; 
  61   1              Serial_M6=0; 
  62   1              Serial_M7=0; 
  63   1              Serial_M8=0;
  64   1      //P4.4=nWR P4.5=nRD P4.6=WR P4.7=LATCH 
  65   1              P4M1=0x08; //uart1,P4.2设置为推挽输出方式       P4.3为输入 其它为推挽输出
  66   1              P4M2=0xFB;
  67   1              P5M1=0x00;           
  68   1          P5M2=0xFF;  //P5设置为推挽输出方式
  69   1      
  70   1              T0_init();
  71   1      
  72   1              EA=1;   //开总中断
  73   1              IT1=0;   //外部中断1低电平触发中断
  74   1              EX1=1;   //外部中断1使能位
  75   1              IP0H=0x14;      //设置外部中断优先级为2级,UART0接收中断为3级
  76   1              IP0=0x10;
  77   1      
  78   1              for(h=0;h<8;h++)
  79   1              {
  80   2                      SC16C554_SET(s[h],38400); 
  81   2                      SC16C554_Write(s[h]|THR, 0xff);
  82   2              }
  83   1              UART0_Init(); //串口初始化
  84   1      
  85   1              while(1)
  86   1              {       
  87   2                      rt2=com_getchar554(&chr);
  88   2                      if(rt2==1)
  89   2                      {
  90   3                              protocol2(chr); 
  91   3                      } 
  92   2                      if(over)
  93   2                      {               
  94   3                              uchar r;
  95   3                              TR0=0;
  96   3                              cmdflag2=0;
  97   3                              com_putchar(d554+1);
  98   3                              for(r=0;r<cmdpos2;r++)
  99   3                              {
 100   4                                      com_putchar(command2[r]);
 101   4                              }
 102   3                              com_putchar(check_sum2);
 103   3                              over=0;
 104   3                      } 
 105   2              }               
 106   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    246    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     12       3
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.

C51 COMPILER V8.02   952                                                                   05/23/2008 11:50:49 PAGE 3   


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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