📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 09/02/2008 18:18:15 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2 #include <intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5
6 uchar masks[4]={0x18,0x24,0x42,0x81};
7 uchar mask=0x08;
8 int x=2;
9 delay()
10 {uchar i;
11 1 uint j;
12 1 for(j=2000;j>0;j--)
13 1 for(i=250;i>0;i--);
14 1
15 1 }
16
17
18
19 uchar keyin()
20 {
21 1 P2=0xff;
22 1 return P2&0x03;
23 1
24 1 }
25 uchar down1()
26 {
27 1 #ifdef __INTRINS_H__
28 1
29 1 return _crol_(mask,1);
30 1 #else
mask<<=1;
if (mask==0) mask=1;
return mask;
#endif
35 1 }
36
37 uchar up1()
38 {
39 1 return _cror_(mask,1);
40 1 /*
41 1 mask>>=1;
42 1 if (mask==0) mask=0x80;
43 1 return mask;
44 1 */
45 1 }
46
47 uchar down2()
48 {
49 1 x--;
50 1 if (x<0) x=3;
51 1 return masks[x];
52 1 }
53
54 uchar up2()
55
C51 COMPILER V7.06 MAIN 09/02/2008 18:18:15 PAGE 2
56 {
57 1 x++;
58 1 if (x>3) x=0;
59 1 return masks[x];
60 1 }
61
62 main()
63 {
64 1
65 1 uchar y,j,k;
66 1 y=0x91;
67 1 j=y>>2;
68 1 k=y<<6;
69 1 y=j|k;
70 1
71 1 delay();
72 1 while (1)
73 1 {
74 2 switch (keyin())
75 2 {
76 3 case 0: P1=~up1();break;
77 3 case 1: P1=~up2();break;
78 3 case 2: P1=~down1();break;
79 3 case 3: P1=~down2();break;
80 3 }
81 2
82 2 delay();
83 2 }
84 1
85 1
86 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 179 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 7 ----
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 + -