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

📄 code.lst

📁 在Keil上实现的24输入编码功能源代码
💻 LST
字号:
C51 COMPILER V7.50   CODE                                                                  10/12/2007 13:06:44 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CODE
OBJECT MODULE PLACED IN Code.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Code.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*********************************************************************
   2          **********************************************************************
   3          **项目名称:电磁脉冲振打控制系统(控制板程序)
   4          **作    者:周文委      浙江工业大学电子工程系
   5          **起始日期:2006年9月15日
   6          **结束日期:
   7          **********************************************************************
   8          **修 改 人:
   9          **修改日期:
  10          **********************************************************************
  11          *********************************************************************/
  12          #include <reg52.h>
  13          //#include <absacc.h>
  14          #include <intrins.h>
  15          #include <stdio.h>
  16          #include <math.h>
  17          /**************************************************************
  18          宏定义:
  19          **************************************************************/
  20          #define uchar                   unsigned char
  21          #define uint                    unsigned int
  22          #define ulong                   unsigned long
  23          #define T                       0xc8                    //100us计时数
  24          #define Device1Address  0xa0
  25          #define Device2Address  0xa1
  26          #define Tmax                    0xffff                  //振打周期最大值
  27          #define Imax                    100                             //电流最大值待定
  28          #define dI                              0                               //闭环控制允许电流波动范围
  29          #define QMax                    90                              //占空比允许最大值
  30          #define QMin                    0                               //占空比允许最小值
  31          #define dtl                             27                              //tl的修正参数
  32          #define START           0xfa            //开始分组振打代码
  33          //#define START2          0xaf            //开始无分组振打代码
  34          //#define START3          0xf5            //开始维护手动振打代码
  35          //#define START4          0x5f            //开始维护自动振打代码
  36          #define END             0x99            //结束振打代码
  37          #define WError          0x64            //严重短路代码
  38          #define WOverI          0x65            //过流代码
  39          #define WUnderI         0x66            //欠流代码
  40          #define WCOM            0x67            //RS232通信故障代码
  41          #define WEEPROM         0x68            //EEPROM通信故障代码
  42          #define WPARA           0x69            //EEPROM结果错误代码
  43          #define StackOver               0x70                    //堆栈溢出代码
  44          #define RunError                0x71                    //程序跑飞代码
  45          #define CONTACT                 0xaa                    //联络信号代码
  46          #define CONTACTSUCESS   0x55                    //联络成功代码
  47          #define CONTACTFAIL             0xcc                    //联络失败代码
  48          #define COMSUCESS               0xa5                    //接收成功代码
  49          #define COMFAIL                 0x5a                    //接收失败代码
  50          #define MaxTeam                 10                              //设置最大组数
  51          #define MaxT                    0xffff                  //设置最大运行周期,防止停打
  52          #define StackSize               64                              //堆栈大小
  53          
  54          //#define FastWork
  55          #define test
C51 COMPILER V7.50   CODE                                                                  10/12/2007 13:06:44 PAGE 2   

  56          //#define test2
  57          /*============================================================
  58          Variables Definition:
  59          ============================================================*/
  60          uchar C0,C1,C2;
  61          sbit GS0=P1^0;
  62          sbit GS1=P1^1;
  63          sbit GS2=P3^4;
  64          sbit ADC573=P1^2;
  65          
  66          bit First_Bit;                                  //首轮振打标志
  67          sbit WarnIndicate=P1^3;         //报警指示信号
  68          
  69          sfr WDT_COUNTER=0xe1;
  70          
  71          //=============================================================
  72          //主函数里的一些初始化
  73          void Main_Init()
  74          {
  75   1              if(F0)                                                  //异常复位报警指示信号有效
  76   1              {
  77   2      //              TR0=0;TR1=0;EA=0;       //异常复位,停止所有工作
  78   2                      WarnIndicate=1;
  79   2              }
  80   1              else                                                    //正常启动不报警
  81   1                      WarnIndicate=0;
  82   1              First_Bit=1;
  83   1              //参数初始化
  84   1      /*    IP = 0xb;//0x8;                     //优先级:INT0,T0,T1,INT1,COM,T2
  85   1          TMOD=0x11;                     //2个定时器均为方式1,16位定时器
  86   1          TH0=0xff;TL0=0xaf;//TH0=0x3c;TL0=0xaf;
  87   1          TH1=0xff;TL1=0xff;
  88   1          IT0=0;                                                      //外部中断0采用电平触发方式
  89   1          IT1=1;                                                      //外部中断1采用边沿触发方式
  90   1          IE=0x1f;                                            //ET0=ET1=EX1=ES=1;T0,T1,INT1,COM中断允许
  91   1          SCON = 0x50;                                        //串口方式1,允许接收
  92   1          RCAP2H=0xff;RCAP2L=0x64;T2CON=0x34;
  93   1      */      WDT_COUNTER=0x33;
  94   1      
  95   1      /*      if(F0)
  96   1              Error(7);
  97   1      */      F0=1;
  98   1              P0=0xff;
  99   1      }
 100          /*********************************************************************
 101          **main函数
 102          *********************************************************************/
 103          void main()
 104          {
 105   1      //start:
 106   1      //      uchar i;
 107   1           Main_Init();                                       //一些初始化,中断etc
 108   1      //     EA=1;                                            //开CPU总中断
 109   1           while(1)
 110   1           {
 111   2                      ADC573=0;//i=P0;
 112   2              C0=P1;C2=P3;
 113   2                      C1=(C0>>5)&0x7; C0=(C0>>2)&0x7; C2=(C2>>5)&0x7;
 114   2                      if(!GS2)
 115   2                      {
 116   3      //              C2=(C2>>5)&0x7;
 117   3                      P0=C2;
C51 COMPILER V7.50   CODE                                                                  10/12/2007 13:06:44 PAGE 3   

 118   3              }
 119   2                      else if(!GS1)
 120   2                      {
 121   3      //              C1=(P1>>5)&0x7;
 122   3                      P0=8+C1;
 123   3                      }
 124   2                      else if(!GS0)
 125   2                      {
 126   3      //              C0=(P1>>2)&0x7;
 127   3                      P0=16+C0;
 128   3              }
 129   2              else
 130   2              {
 131   3                      P0=0xff;
 132   3              }
 133   2      
 134   2                      WDT_COUNTER=0x33;
 135   2           }
 136   1      }
 137          /**************************main  函数结束****************************/
 138          


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


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

⌨️ 快捷键说明

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