📄 controlboard.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 + -