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

📄 controlboard.lst

📁 在Keil上实现的24输入编码功能源代码
💻 LST
字号:
C51 COMPILER V7.50   CONTROLBOARD                                                          01/20/2007 15:57:01 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE CONTROLBOARD
OBJECT MODULE PLACED IN .\CONTROLBOARD.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE D:\ControlBoard\CONTROLBOARD.C BROWSE DEBUG OBJECTEXTEND PRINT(.\CONTROLBOA
                    -RD.lst) OBJECT(.\CONTROLBOARD.obj)

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
C51 COMPILER V7.50   CONTROLBOARD                                                          01/20/2007 15:57:01 PAGE 2   

  55          #define test
  56          //#define test2
  57          /*============================================================
  58          Variables Definition:
  59          ============================================================*/
  60          
  61          ulong ExecuteTime;                      //振打器运行总时间参数(0~4294967295-1s)
  62          uchar HITable;                  //电流高度表
  63          uchar HQTable[2];               //占空比高度表(第0列是整数部分,第1列是小数部分)
  64          //uchar Address;                        //IGPT控制地址,控制对象:P2低6位
  65          //uchar WorkNum;                        //当前有效的振打器个数(其值从上位机接收)
  66          uchar ReceiveNum;                       //已接收字节数
  67          uchar ReceiveCount=0;           //已接收16字节的数据帧数
  68          //uchar ReceiveWord=0;          //接收内容
  69          uchar SendWord=0;                       //发送内容
  70          uchar CheckWord=0;                      //校验字
  71          uchar I=1;                                      //振打电流
  72          uchar tl;                                       //TL1临时变量,取决于当前占空比,tl越小,占空比越大
  73          uchar T1_Count1=0;                      //根据占空比计算的T1调整机器周期数(0~4),此参数越大PWM占空比越大
  74          uchar T1_Count2=0;                      //当前已完成的T1调整机器周期个数(0~4)
  75          ///////////////////////////////////////////////////////////////////////////////////
  76          struct CTRL
  77          {
  78              uchar Num,H;
  79              uint TT;
  80          }ConTable;//小组控制信息(Num:组内个数(1~64),High:高度(1~30cm),T:周期(0~Tmax))
  81          
  82          uchar idata Number;                             //振打序号(0~63)
  83          uchar idata t;                                  //25ms计数值
  84          uchar idata n;                                  //已执行小组内振打个数计数值
  85          uchar st[MaxTeam]={0};                  //小组定时起点//(0单元存1组,1单元存2组--)
  86          uint xdata TT[64]={0};//1,72,74,78,80,82,84,86};                //周期
  87          uchar WorkTeam;                                 //当前振打组号(0~9)
  88          uchar WorkNum;                                  //运行组数(个数)
  89          uchar idata Stack[StackSize]={0};                               //振打堆栈
  90          uchar *rpt=Stack,*wpt=Stack;            //堆栈读写指针
  91          bit FFlag;                                                      //堆栈满标志
  92          bit NEFlag;                                                     //堆栈空标志
  93          bit FastWork_Bit;                                               //快速振打标志
  94          uchar FirstNum;
  95          uchar ReceiveType;                              //接收数据类型(0:结束信号;1:启动信号;2:运行时间;3:分组总组数(无分组总个数);4:组控制

⌨️ 快捷键说明

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