?? taskmain.lst
字號:
C51 COMPILER V7.06 TASKMAIN 10/30/2008 13:20:04 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TASKMAIN
OBJECT MODULE PLACED IN TaskMain.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE TaskMain.c OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #define DATA
2 #include"include.h"
3
4 /*********************************************************************************************************
5 ** 函數(shù)名稱: uint8 ReadKey(void)
6 ** 功能描述: 讀取本機(jī)地址
7 ** 輸 入: 無
8 ** 輸 出: 無
9 ** 全局變量:
10 ** 調(diào)用模塊:
11 **
12 ** 作 者: 李偉
13 ** 日 期: 2008年12月09日
14 **-------------------------------------------------------------------------------------------------------
15 ** 修 改 人:
16 ** 日 期:
17 **-------------------------------------------------------------------------------------------------------
18 ********************************************************************************************************/
19 uint8 ReadKey(void)
20 {
21 1 uint8 KEY;
22 1 KEY = 0;
23 1 if(KEY0 == 1)KEY = KEY + 1;
24 1 if(KEY1 == 1)KEY = KEY + 2;
25 1 if(KEY2 == 1)KEY = KEY + 4;
26 1 if(KEY3 == 1)KEY = KEY + 8;
27 1 return KEY;
28 1 }
29 /*********************************************************************************************************
30 ** 函數(shù)名稱: void Voltage_Collect(void)
31 ** 功能描述: 各模擬量采集
32 ** 輸 入: 無
33 ** 輸 出: 無
34 ** 全局變量:
35 ** 調(diào)用模塊:
36 **
37 ** 作 者: 李偉
38 ** 日 期: 2008年12月09日
39 **-------------------------------------------------------------------------------------------------------
40 ** 修 改 人:
41 ** 日 期:
42 **-------------------------------------------------------------------------------------------------------
43 ********************************************************************************************************/
44 void Voltage_Collect(void)
45 {
46 1 uint8 channel;
47 1 uint16 adcT;
48 1 ChargeCurrent = Adc_Collect(NEG_CURRENT); //充電電流為負(fù)
49 1 DisChargeCurrent = Adc_Collect(ACT_CURRENT); //放電電流為正
50 1 for(channel = 0;channel < 15;channel++)
51 1 {
52 2 A11 = 1;
53 2 A12 = 1;
54 2 delaynms(20);
55 2 SetChannel(channel);
C51 COMPILER V7.06 TASKMAIN 10/30/2008 13:20:04 PAGE 2
56 2 if(channel == 0)delaynms(100);
57 2 else delaynms(50);
58 2 CellVoltage[channel] = Adc_Collect(CELL_VOLTAGE);
59 2 if(channel <= 7)
60 2 {
61 3 adcT = Adc_Collect(CELL_TEMPERATURE);
62 3 if(channel == 2)Temperature[0] = TemperatureLine(adcT);
63 3 if(channel == 1)Temperature[1] = TemperatureLine(adcT);
64 3 if(channel == 0)Temperature[2] = TemperatureLine(adcT);
65 3 if(channel == 3)Temperature[3] = TemperatureLine(adcT);
66 3 if(channel == 4)Temperature[4] = TemperatureLine(adcT);
67 3 if(channel == 6)Temperature[5] = TemperatureLine(adcT);
68 3 if(channel == 7)Temperature[6] = TemperatureLine(adcT);
69 3 if(channel == 5)Temperature[7] = TemperatureLine(adcT);
70 3 }
71 2 else if(channel == 8)
72 2 {
73 3 adcT = Adc_Collect(OUTS_TEMPERATURE);
74 3 Temperature[channel] = TemperatureLine(adcT);
75 3 }
76 2 }
77 1 //RunLed = ~RunLed;
78 1 }
79 /**
80 ********************************************************************************************************
81 ** 名 稱: void SystermInitiate(void)
82 ** 功 能:
83 ** 作 者: 李 偉
84 ** 日 期: 2008年12月09日
85 **------------------------------------------------------------------------------------------------------
86 ** 修改人:
87 ** 日 期:
88 **------------------------------------------------------------------------------------------------------
89 ********************************************************************************************************
90 **/
91 void SystermInitiate(void)
92 {
93 1 uint8 i;
94 1 uint16 address;
95 1 if(EepReadByte(0x2E00) != 119)//第四扇區(qū)
96 1 {
97 2 EepSectotErase(0x2E00); //擦除第四扇區(qū)
98 2 EepWriteByte(119,0x2E00); //寫入119定值
99 2 CUK = 10000; //單體電池電壓采集系數(shù)
100 2 CTK = 10000; //單體電池溫度采集系數(shù)
101 2 OTK = 10000; //環(huán)境溫度系數(shù)
102 2 P1M0 &= 0xFD; //將RS485通訊使能端設(shè)為推挽模式
103 2 P1M1 |= 0x02;
104 2
105 2 ModeSysConfig[0] = 2600; //CellVlow 單體電壓下限2600mV
106 2 ModeSysConfig[1] = 4200; //CellVhigh 單體電壓上限4200mV
107 2 ModeSysConfig[2] = 56000; //PackOV 電池組充電過壓限值56.0V
108 2 ModeSysConfig[3] = 40500; //PackUV 電池組放電欠壓限值40.5V
109 2 ModeSysConfig[4] = 2000; //ChargeOC 充電電流限值 2A
110 2 ModeSysConfig[5] = 10000; //DisChargeOC 放電電流限值10A
111 2 ModeSysConfig[6] = 3000; //ReCellVlow 單體電池電壓恢復(fù)下限 3000mV
112 2 ModeSysConfig[7] = 4000; //ReCellVhigh 單體電池電壓恢復(fù)上限 4000mV
113 2 ModeSysConfig[8] = ReadKey(); //BoardAddress讀取本機(jī)地址
114 2
115 2 ModeTempCofing[0] = 5; //ChargeTlow 充電溫度下限 5 攝氏度
116 2 ModeTempCofing[1] = 45; //ChargeThigh 充電溫度上限 45 攝氏度
117 2 ModeTempCofing[2] = -10; //DisChargeTlow 放電溫度下限-10 攝氏度(光宇標(biāo)準(zhǔn))
C51 COMPILER V7.06 TASKMAIN 10/30/2008 13:20:04 PAGE 3
118 2 ModeTempCofing[3] = 55; //DisChargeThigh 放電溫度上限 55 攝氏度(光宇標(biāo)準(zhǔn))
119 2 ModeTempCofing[4] = 55; //EnvironmentOT 環(huán)境溫度告警值與放電溫度告警值相同
120 2 ModeTempCofing[5] = -10; //EnvironmentUT
121 2 ModeTempCofing[6] = 53; //ReEnvironmentOT環(huán)境溫度告警恢復(fù)限值與放電溫度告警恢復(fù)限值相同
122 2 ModeTempCofing[7] = -8; //ReEnvironmentUT
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -