?? 11.lst
字號:
C51 COMPILER V7.00 11 06/29/2008 21:41:41 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE 11
OBJECT MODULE PLACED IN 11.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 11.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1
2 #include <AT892051.H>
3 //#include <AT89C2051.H>
4 //#include <w77c32.h>
5
6 #define uchar unsigned char
7 #define uint unsigned int
8 //#define FULL_ON 255
9 //#define FULL_OFF 0
10
11 #define ON 1
12 #define OFF 0
13
14 void SYsInit(void);
15 void ucjianbian(void);
16 //void P_Init();
17 void All_Dimming();
18 //void R_G_B_Dimming(void);
19 //void Delay30s(uint Time);
20
21 uchar ucTime50us;
22 uchar PWMcounter;
23 uchar ucdot[6]; //pwm 控制;
24 uchar lightness[6];
25 uchar bhroad;
26 //bit mode_flag;
27 //sfr WDREST = 0xa6;
28 uchar k,counter0,counter1,counter2;
29
30 uchar Is_10mschange;
31 uchar Data_20mschange;
32
33 void main(void)
34 {
35 1 SYsInit();
36 1 while(1)
37 1 {
38 2 All_Dimming();
39 2 }
40 1 }
41
42
43 void SYsInit(void)//初始化函數;
44 {
45 1
46 1 uchar i;
47 1
48 1 ucTime50us=0;
49 1 Is_10mschange=0;
50 1 PWMcounter=128;
51 1
52 1 TH0=0xff;
53 1 TL0=0xea;
54 1 Data_20mschange=0;
55 1 // PMR=0X45;
C51 COMPILER V7.00 11 06/29/2008 21:41:41 PAGE 2
56 1 TMOD=0x01;
57 1 counter0=2;
58 1 counter1=2;
59 1 counter2=2;
60 1 EA=1;
61 1 ET0=1;
62 1 // bhroad=0;
63 1 TR0=1;
64 1 k=0;
65 1 for(i=0;i<2;i++)
66 1 {
67 2 lightness[i]=0;
68 2 }
69 1 }
70
71
72 void Int_T0(void) interrupt 1 using 1 //t0定時中斷50us;at 11.0592mhz.
73 {
74 1 uchar i;
75 1 TH0=0xff;
76 1 TL0=0xea;
77 1
78 1 ucTime50us++;
79 1 if(ucTime50us>150)
80 1 {
81 2 ucTime50us=0;
82 2 Is_10mschange=1;
83 2 Data_20mschange++;
84 2 }
85 1
86 1 if( Data_20mschange>=250)
87 1 {
88 2 Data_20mschange=0;
89 2 }
90 1
91 1 PWMcounter--;
92 1 if( PWMcounter>0)
93 1 {
94 2 if(ucdot[0]>0){ ucdot[0]--; P1_7=ON; } else { P1_7=OFF; }
95 2 if(ucdot[1]>0){ ucdot[1]--; P1_6=ON; } else { P1_6=OFF; }
96 2 if(ucdot[2]>0){ ucdot[2]--; P1_5=ON; } else { P1_5=OFF; }
97 2 }
98 1 else
99 1 {
100 2 PWMcounter=128;
101 2 for(i=0;i<3;i++)
102 2 {
103 3 ucdot[i]=lightness[i]>>1;
104 3 }
105 2 }
106 1 }
107
108
109 void All_Dimming(void)
110 {
111 1
112 1 switch(k)
113 1 {
114 2 case 0:if(Is_10mschange)
115 2 {
116 3 Is_10mschange=0;
117 3 if( Data_20mschange>=2)
C51 COMPILER V7.00 11 06/29/2008 21:41:41 PAGE 3
118 3 {
119 4 Data_20mschange=0;
120 4 counter0++;
121 4 counter1=0;
122 4 counter2=0;
123 4 if(counter0>=254)
124 4 {
125 5 k++;
126 5 }
127 4 }
128 3
129 3 lightness[0]= counter0;
130 3 lightness[1]= counter1;
131 3 lightness[2]= counter2;
132 3 }
133 2 break;
134 2
135 2
136 2 case 1: while(Data_20mschange<=10)
137 2 {
138 3 // REST_DOG();
139 3 }
140 2 Data_20mschange=0;
141 2 k++;
142 2 break;
143 2 case 2:if(Is_10mschange)
144 2 {
145 3 Is_10mschange=0;
146 3 if( Data_20mschange>=2)
147 3 {
148 4 Data_20mschange=0;
149 4 counter0--;
150 4 counter1=0;
151 4 counter2=0;
152 4 if(counter0<=0)
153 4 {
154 5 k++;
155 5 }
156 4 }
157 3
158 3 lightness[0]= counter0;
159 3 lightness[1]= counter1;
160 3 lightness[2]= counter2;
161 3 }
162 2 break;
163 2 case 3: while(Data_20mschange<=10)
164 2 {
165 3 // REST_DOG();
166 3 }
167 2 Data_20mschange=0;
168 2 k++;
169 2 break;
170 2 case 4:if(Is_10mschange)
171 2 {
172 3 Is_10mschange=0;
173 3 if( Data_20mschange>=2)
174 3 {
175 4 Data_20mschange=0;
176 4 counter0=0;
177 4 counter1++;
178 4 counter2=0;
179 4 if(counter1>=254)
C51 COMPILER V7.00 11 06/29/2008 21:41:41 PAGE 4
180 4 {
181 5 k++;
182 5 }
183 4 }
184 3
185 3 lightness[0]= counter0;
186 3 lightness[1]= counter1;
187 3 lightness[2]= counter2;
188 3 }
189 2 break;
190 2 case 5: while(Data_20mschange<=10)
191 2 {
192 3 // REST_DOG();
193 3 }
194 2 Data_20mschange=0;
195 2 k++;
196 2 break;
197 2 case 6:if(Is_10mschange)
198 2 {
199 3 Is_10mschange=0;
200 3 if( Data_20mschange>=2)
201 3 {
202 4 Data_20mschange=0;
203 4 counter0=0;
204 4 counter1--;
205 4 counter2=0;
206 4 if(counter1<=0)
207 4 {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -