?? main.lst
字號:
C51 COMPILER V7.20 MAIN 04/14/2007 11:59:55 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND SRC(.\main.SRC)
line level source
1 #include <ATT7027.H>
2 #include <MAIN.H>
3 xdata struct Emu_Parameter Emu_Parameter;
4 xdata struct Emu_Parameter_change Emu_Parameter_change;
5 xdata struct real_energy real_energy;
6 xdata struct meter_para meter_para;
7 data unsigned char aa[2]={0x0f,0x01};
8 xdata unsigned char g_CommBuffer[50];
9 unsigned char NUM;
10 unsigned int timea;
11
12 void main (void) //_at_ 0x100
13 {
14 1 //unsigned char i;
15 1 //i = temp2;
16 1 SP =0x7f;//程序堆棧指針
17 1 CKCON&= 0xf8;//定時器/計數器時鐘控制Timer 使用clk/4 作為時鐘
18 1 BWPR=0xC3 ;//使能寫PMOD[1:0]操作
19 1 BWPR=0x9B;//開啟所有受保護位的寫使能
20 1 CBORCFG|=0x80;//開啟高頻晶振電路功能
21 1 BWPR=0xA8;//關閉所有受保護位和受保護寄存器的寫使能
22 1
23 1 while((SYSSCR&0x80) != 0x80)//LOCK=1表示高頻晶振已經穩定
24 1 {;}
25 1 BWPR=0xC3;//使能寫PMOD[1:0]操作
26 1 BWPR=0x9B;//開啟所有受保護位的寫使能
27 1 CCLKCFG |=0x02;// ;//SYSCK1=1,fsys=fpri
28 1 CFMCFG|=0xE4;// ;BROM EN可以調用Monitor Rom中程序,
29 1 // BWPR=0xA8;//關閉所有受保護位和受保護寄存器的寫使能
30 1 LcdDrvInit();
31 1 BWPR=0xA8;//關閉所有受保護位和受保護寄存器的寫使能
32 1 //usart_init();
33 1 //interrupt_init();
34 1 // init_ATT7027();
35 1 // load_Flash_write();
36 1 // CLRALL_LCD_BUF();
37 1 init_time();
38 1 EA =1 ;
39 1 Autobaud();
40 1 EICON|= 0x20;// ;BREAK PONIT IE
41 1 while(1)
42 1 {
43 2 /****************************************************/
44 2 //把這個放到WHILE(1)能編譯過前面就不能進行仿真了
45 2
46 2 if(RI == 1)
47 2 {
48 3 Cmd_parser();
49 3 RI = 0 ;
50 3 }
51 2
52 2 /* for(i=1;i<=24;i++)
53 2 {
54 2 LADR=i;
55 2 LDAT=0xf ;
C51 COMPILER V7.20 MAIN 04/14/2007 11:59:55 PAGE 2
56 2 } */
57 2 /****************************************************/
58 2 //RTC_CAL_TEMP();
59 2 EMU_Parameter_change1();
60 2 switch(NUM)
61 2 {
62 3 case 1: // Time
63 3 UpdateLCD(0X11111111);
64 3 break;
65 3 case 2: // Date
66 3 UpdateLCD(0X22222222);
67 3 break;
68 3 case 3: // Energy
69 3 UpdateLCD(0X33333333);
70 3 break;
71 3 case 4: // PeakLevel
72 3 UpdateLCD(0X44444444);
73 3 break;
74 3 case 5: //Time
75 3 UpdateLCD(0X55555555);
76 3 break;
77 3 case 6: // Energy
78 3 UpdateLCD(0X66666666);
79 3 break;
80 3 case 7: // Energy
81 3 UpdateLCD(0X777777771);
82 3 break;
83 3 case 8: // Energy
84 3 UpdateLCD(0X88888888);
85 3 break;
86 3 case 9: // Energy
87 3 UpdateLCD(0X99999999);
88 3 break;
89 3 default:
90 3 UpdateLCD(0XFFFFFFFF);
91 3 break;
92 3
93 3 }
94 2
95 2 if(timea>100)
96 2 {
97 3 NUM++;
98 3 timea=0;
99 3 }
100 2 if(NUM>7)
101 2 NUM=1;
102 2 //communication_dl645();
103 2 // DisplayManager();
104 2 /****************************************************/
105 2 /* for (i=0;i<60;i++)
106 2 {
107 2 Pulse[i]=i;
108 2 }*/
109 2 /****************************************************/
110 2 /****************************************************/
111 2 //在C中嵌入匯編后能編譯過但不能進行仿真
112 2 /* #pragma asm
113 2 mov a,#30h
114 2 #pragma endasm*/
115 2 /***************************************************/
116 2 // Delay(2);
117 2 // Delay(2);
C51 COMPILER V7.20 MAIN 04/14/2007 11:59:55 PAGE 3
118 2 /* if(power_ctive<550)
119 2 {
120 2 real_energy.relay_flag |=bitflag_current ;
121 2 if((real_energy.relay_flag &=bitflag_command_off)&&(!(real_energy.relay_flag &=bitflag_fact_off)))
122 2 {
123 2 CTR_ON=0;
124 2 CTR_OFF=1;
125 2 real_energy.relay_flag |=bitflag_fact_off ;
126 2 }
127 2 else if(!(real_energy.relay_flag &=bitflag_command_off)&&(real_energy.relay_flag &=bitflag_fact_off))
128 2 {
129 2 CTR_ON=1;
130 2 CTR_OFF=0;
131 2 real_energy.relay_flag &=~bitflag_fact_off ;
132 2 }
133 2 }
134 2 else {
135 2 real_energy.relay_flag &=~bitflag_current;
136 2 //flag1 &=~bitflag_fact_off;
137 2 }*/
138 2 /* if((flag1&bitflag_EXLVI))
139 2 {
140 2 // DI();
141 2 display_index=5;
142 2 // display();
143 2 Power_fail();
144 2 do
145 2 {P1.2=0;
146 2 HALT();
147 2 if(WTIF!=0)
148 2 ;// CalcCalendar();
149 2 } while(EXLVI==0);
150 2 if(EXLVI)
151 2
152 2 POWER_On();
153 2 // goto aa;
154 2 // delay_ms(4);
155 2
156 2 }
157 2 if(WTIF!=0)
158 2 {
159 2 CalcCalendar();
160 2 display_time++;
161 2 display();
162 2 }
163 2 if(!(flag3&bitflag_Play))
164 2 {
165 2 if(Flag_ICPort)
166 2 ;// _ICardType();
167 2 }
168 2 if (current_time.second)
169 2 minute_0_deal=0;
170 2 //整分,做時段切換
171 2 if(current_time.second == 0) //per minute operation
172 2 {
173 2 if (!minute_0_deal)
174 2 {
175 2
176 2 } // 整點,per 1 hour operation
177 2 }
178 2 }
179 2 }
C51 COMPILER V7.20 MAIN 04/14/2007 11:59:55 PAGE 4
180 2 WDTE=0xac;
181 2 energy_add();
182 2 dl645(); */
183 2 }
184 1
185 1 }
186
187 timer0(void) interrupt 1 using 2
188 {
189 1 timea++;
190 1 }
191
192 //void Int_isr() interrupt 6
193 //{
194 // (Monitor_isr);
195 //}//
196
197 /*void Delay( unsigned int num)
198 {
199 while(num >0)
200 {
201 num --;
202 }
203 } */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 263 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 250 ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -