?? main.lst
字號:
C51 COMPILER V8.02 MAIN 07/06/2010 09:13:29 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: F:\Program Files\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1
2 // Header:DIY搖棒
3 // Author:hxembed
4 // Date:2010年1月
5 #include<AT89x52.h>
6 #define uchar unsigned char
7 #define uint unsigned int
8
9 sbit key = P3^0;//定義切換畫面開關
10 uchar Key_num;//定義按鍵次數
11 uchar Int0_num;//定義中斷次數
12 uchar Direction;//定義搖動方向(從左到右)
13
14 uchar code Embed[]={
15 0x80,0x00,0x88,0x00,0x4A,0x80,0x4A,0x41,0x2A,0x21,0x2A,0x19,0x1A,0x07,0xFE,0x01,
16 0x19,0x09,0x19,0x0D,0x29,0x4B,0x29,0x89,0x49,0x48,0xC8,0x38,0x48,0x00,0x00,0x00,/*秀*/
17 0x80,0x00,0x88,0x00,0x4A,0x80,0x4A,0x41,0x2A,0x21,0x2A,0x19,0x1A,0x07,0xFE,0x01,
18 0x19,0x09,0x19,0x0D,0x29,0x4B,0x29,0x89,0x49,0x48,0xC8,0x38,0x48,0x00,0x00,0x00,/*秀*/
19
20
21 0x20,0x04,0x20,0x04,0x22,0x42,0x22,0x82,0xFE,0x7F,0x21,0x01,0x21,0x01,0x20,0x10,
22 0x20,0x10,0xFF,0x08,0x20,0x07,0x22,0x1A,0xAC,0x21,0x20,0x40,0x20,0xF0,0x00,0x00,/*我*/
23 0x00,0x40,0x40,0x20,0xB2,0xA0,0x96,0x90,0x9A,0x4C,0x92,0x47,0xF6,0x2A,0x9A,0x2A,
24 0x93,0x12,0x91,0x1A,0x99,0x26,0x97,0x22,0x91,0x40,0x90,0xC0,0x30,0x40,0x00,0x00,/*愛*/
25 0x80,0x00,0x40,0x00,0xF0,0x7F,0x2C,0x00,0x43,0x10,0x20,0x0C,0x98,0x03,0x0F,0x21,
26 0x0A,0x40,0xE8,0x3F,0x08,0x00,0x88,0x00,0x28,0x03,0x1C,0x1C,0x08,0x08,0x00,0x00,/*你*/
27
28 };
29
30 uchar code love[] = {
31 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
32 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x20,0x00,0x20,
33 0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,
34 0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x00,
35 0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x10,
36 0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x82,0x20,0x82,0x20,
37 0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x00,
38 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*LOVE*/
39 };
40
41 uchar code love_picture[] = {
42 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
43 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
44 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
45 0x78,0x00,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,
46 0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,
47 0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
48 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
49 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形圖案*/
50 };
51
52 uchar code Hello[]={
53 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
54
55 0x08,0x20,0xF8,0x3F,0x08,0x21,0x00,0x01,0x00,0x01,0x08,0x21,0xF8,0x3F,0x08,0x20,/*"H",1*/
C51 COMPILER V8.02 MAIN 07/06/2010 09:13:29 PAGE 2
56
57 0x00,0x00,0x00,0x1F,0x80,0x22,0x80,0x22,0x80,0x22,0x80,0x22,0x00,0x13,0x00,0x00,/*"e",2*/
58
59 0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"l",3*/
60
61 0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,/*"l",4*/
62
63 0x00,0x00,0x00,0x1F,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x00,0x1F,0x00,0x00,/*"o",5*/
64
65 0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x33,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",6*/
66
67 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",7*/
68
69
70 };
71
72 uchar code Smile[] =
73 {
74 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
75 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
76 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
77 0xF0,0x1F,0x3C,0x3C,0x0E,0xF7,0x06,0xEF,0xF3,0xDC,0xF3,0xB0,0x63,0xB0,0x03,0xB0,
78 0xF3,0xB0,0xF3,0xB8,0x03,0xDD,0x06,0xEF,0x0E,0x76,0x3C,0x3C,0xF8,0x1F,0x00,0x00,
79 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
80 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
81 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
82 };
83
84 uchar code Hxembed_Make[]={
85 0x00,0x00,0x00,0x0E,0x00,0x11,0x80,0x20,0x80,0x20,0x88,0x10,0xF8,0x3F,0x00,0x20,/*"d",6*/
86 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
87 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
88 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
89 0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,
90
91
92 0x00,0x40,0x08,0x20,0x28,0x10,0x49,0x08,0x8A,0x04,0x0C,0x03,0xC8,0x06,0x38,0x38,
93 0x08,0x10,0x00,0x00,0xF8,0x07,0x00,0x20,0x00,0x40,0xFF,0x3F,0x00,0x00,0x00,0x00,/*劉*/
94 0x00,0x00,0x90,0x00,0x8C,0x00,0x84,0x00,0x84,0x00,0x84,0x40,0x85,0x80,0x86,0x7F,
95 0x84,0x00,0x84,0x00,0x84,0x00,0x84,0x00,0x94,0x00,0x8E,0x00,0x04,0x00,0x00,0x00,/*寧*/
96
97
98
99 0x00,0x00,0x00,0x00,0xC0,0x00,0xB8,0x1E,0xA0,0x02,0xFE,0x3F,0xA4,0x02,0x60,0x02,
100 0x50,0x1E,0x00,0x00,0xE0,0x03,0x00,0x00,0x14,0x60,0xEC,0x3F,0x00,0x00,0x00,0x00,/*"制",7*/
101
102 0x00,0x00,0x00,0x01,0x80,0x00,0x40,0x00,0xF0,0x3F,0x0C,0x00,0x80,0x00,0x40,0x00,
103 0x30,0x00,0xEE,0x7E,0x20,0x09,0x20,0x09,0x20,0x05,0x10,0x00,0x00,0x00,0x00,0x00,/*"作",8*/
104
105 };
106
107 uchar code Thanks[] =
108 {
109 0x00,0x00,0x00,0x08,0x00,0x09,0x00,0x10,
110 0x00,0xFF,0x00,0x20,0x00,0x42,0x00,0x04,
111 0x00,0xC8,0x00,0x30,0x00,0x2C,0x00,0xC3,
112 0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,
113
114 0x00,0x00,0x00,0x80,0x00,0x81,0x00,0x86,
115 0x00,0x98,0x00,0xE0,0x00,0xB1,0x00,0xAA,
116 0x00,0xA4,0x00,0xAA,0x00,0xB2,0x00,0xA1,
117 0x00,0x81,0x00,0x01,0x00,0x00,0x00,0x00,
C51 COMPILER V8.02 MAIN 07/06/2010 09:13:29 PAGE 3
118 0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,
119 0x00,0x00,0x00,0x08,0x00,0x10,0x00,0x61,
120 0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x40
121 };
122
123 /*延時函數*/
124 void delay(uint X)
125 {
126 1 uint i;
127 1 for(i=0;i<=X;i++)
128 1 ;
129 1 }
130 /* '嵌入式系統工程'顯示112*16像素 */
131 void display1()
132 {
133 1 uchar i;
134 1 delay(4000);
135 1 for(i=0;i<80;i++)
136 1 {
137 2 P0=~Embed[i*2];
138 2 P2=~Embed[i*2+1];
139 2 delay(40);//延時時間自己可以調,最好讓畫面顯示在中間
140 2 }
141 1 }
142 /*'LOVE'顯示64*16像素 */
143 void display2()
144 {
145 1 uchar i;
146 1 delay(4000);
147 1 for(i=0;i<64;i++)
148 1 {
149 2 P0=~love[i*2];
150 2 P2=~love[i*2+1];
151 2 delay(120);
152 2 }
153 1
154 1 }
155 /*心形圖案 顯示64*16像素 */
156 void display3()
157 {
158 1 uchar i;
159 1 delay(4000);
160 1 for(i=0;i<64;i++)
161 1 {
162 2 P0=~love_picture[i*2];
163 2 P2=~love_picture[i*2+1];
164 2 delay(120);
165 2 }
166 1 }
167
168 /*‘Hello!’顯示64*16像素 */
169 void display4()
170 {
171 1 uchar i;
172 1 delay(4000);
173 1 for(i=0;i<64;i++)
174 1 {
175 2 P0=~Hello[i*2];
176 2 P2=~Hello[i*2+1];
177 2 delay(120);
178 2 }
179 1 }
C51 COMPILER V8.02 MAIN 07/06/2010 09:13:29 PAGE 4
180 /*笑臉圖案 顯示64*16像素*/
181 void display5()
182 {
183 1 uchar i;
184 1 delay(4000);
185 1 for(i=0;i<64;i++)
186 1 {
187 2 P0=~Smile[i*2];
188 2 P2=~Smile[i*2+1];
189 2 delay(120);
190 2 }
191 1 }
192
193 /*‘Hxembed制作 顯示88*16像素’*/
194 void display6()
195 {
196 1 uchar i;
197 1 delay(4000);
198 1 for(i=0;i<88;i++)
199 1 {
200 2 P0=~Hxembed_Make[i*2];
201 2 P2=~Hxembed_Make[i*2+1];
202 2 delay(60);
203 2 }
204 1 }
205 /* '謝謝!'顯示48*16像素 */
206 void display7()
207 {
208 1 uchar i;
209 1 delay(4000);
210 1 for(i=0;i<48;i++)
211 1 {
212 2 P0=~Thanks[i*2];
213 2 P2=~Thanks[i*2+1];
214 2 delay(120);
215 2 }
216 1 }
217
218 /*外部中斷0子函數*/
219 void int0(void) interrupt 0
220 {
221 1 Direction=~Direction;
222 1 if(Direction==0)
223 1 {
224 2 Int0_num++;//中斷次數加1
225 2 switch(Key_num)
226 2 {
227 3 case 0:display1();break;
228 3 case 1:display2();break;
229 3 case 2:display3();break;
230 3 case 3:display4();break;
231 3 case 4:display5();break;
232 3 case 5:display6();break;
233 3 case 6:display7();break;
234 3 default :display1();
235 3 }
236 2 }
237 1 }
238 void main(void)
239 {
240 1 EA=1;//開總中斷
241 1 IT0=1;//下降沿中斷
C51 COMPILER V8.02 MAIN 07/06/2010 09:13:29 PAGE 5
242 1 EX0=1;//啟動外部中斷0你——怒目
243 1
244 1 Key_num=0;//初始化按鍵次數為零
245 1
246 1 while(1)
247 1 {
248 2 if(key==0)
249 2 {
250 3 delay(10000); // 去抖,可以跟自己的電路適當選擇時間
251 3 if(key==0)
252 3 {
253 4 Key_num++;
254 4 if(Key_num>6)//如果超過切換頁面的次數就清零
255 4 Key_num=0;
256 4 }
257 3 }
258 2 }
259 1 }
260
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 518 ----
CONSTANT SIZE = 936 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
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 + -