📄 jianpan.lst
字号:
C51 COMPILER V7.50 JIANPAN 08/20/2007 14:26:50 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE JIANPAN
OBJECT MODULE PLACED IN jianpan.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE jianpan.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include"reg51.h"
2 #define unchar unsigned char
3 #define uint unsigned int
4 //#define dizhi1 0x00
5 //#define dizhi2 0x20
6 //#define dizhi3 0x40
7 //#define dizhi4 0x80
8 uint danyuan[]={8,16,24,32,40,48,56,64,72,80};
9 void delay();
10 unchar keyscan();
11 uint i=0;
12 sbit play=P0^0;
13 sbit lu=P0^1;
14 //sbit reday=P0^2;
15 //sbit a0=P2^0;
16 //sbit a1=P2^1;
17 //sbit a3=P2^3;
18 //sbit a4=P2^4;
19 //void zhongduan( ) interrupt 1
20 //{ i++ ;
21 //}
22 void delay1( )
23 {
24 1 uint a,j;
25 1 for(a=0;a<1000;a++)
26 1 {
27 2 for(j=0;j<400;i++)
28 2 {;}
29 2 }
30 1 }
31 /*void moshi(uint a )
32 {
33 P2=a;
34 } */
35
36 void luyin(uint b )
37 { P2=b;
38 1 // TR0=1;
39 1 lu=0;
40 1
41 1
42 1 // if(i==100)
43 1 // {
44 1 // lu=1;
45 1 // }
46 1
47 1 }
48
49 void fangyin(uint c )
50 { P2=c;
51 1 play=1;
52 1 delay( );
53 1 play=0;
54 1 delay( );
55 1 // while(!reday) ;
C51 COMPILER V7.50 JIANPAN 08/20/2007 14:26:50 PAGE 2
56 1
57 1 }
58
59 void main()
60 { unchar key;
61 1 // TMOD=0x00;
62 1 // TH0=0xdc;
63 1 // TL0=0x00;
64 1 // EA=1;
65 1 // ET0=1;
66 1 P2=0x00;
67 1
68 1 while (1)
69 1 {
70 2 key=keyscan();
71 2 switch(key)
72 2 {
73 3 case 0x18:
74 3 i++;
75 3 if(i==10) i=0;
76 3 break;
77 3 case 0x14:
78 3 i--;
79 3 if(i==0) i=10;
80 3 break;
81 3 case 0x12:
82 3 luyin(danyuan[i]);
83 3 break;
84 3 case 0x11:
85 3 fangyin(danyuan[i]);
86 3 break;
87 3
88 3 case 0x28:
89 3 fangyin(danyuan[i]);
90 3 delay( );
91 3 fangyin(danyuan[i+3]);
92 3 break;
93 3 // case 0x24:fangyin(dizhi2,dizhi4);break;
94 3 // case 0x22:P2=0x7d;break;
95 3 // case 0x21:P2=0x07;break;
96 3
97 3 // case 0x48:P2=0x7f;break;
98 3 // case 0x44:P2=0x6f;break;
99 3 // case 0x42:P2=0x77;break;
100 3 // case 0x41:P2=0x7c;break;
101 3
102 3 // case 0x88:P2=0x39;break;
103 3 // case 0x84:P2=0x5e;break;
104 3 // case 0x82:P2=0x79;break;
105 3 // case 0x81:P2=0x71;break;
106 3 // case 0x00:P2=0x76;break;
107 3 default: break;
108 3 }
109 2
110 2 }
111 1 }
112
113 void delay()
114 {
115 1 unchar i;
116 1 for(i=500;i>0;i--);
117 1 }
C51 COMPILER V7.50 JIANPAN 08/20/2007 14:26:50 PAGE 3
118 unchar keyscan()
119 {
120 1 unchar scode,recode;
121 1 static unchar m;
122 1 P1=0xf0;
123 1 if ((P1&0xf0)!=0xf0)
124 1 {
125 2 delay();
126 2 if ((P1&0xf0)!=0xf0)
127 2 {
128 3 scode=0xfe;
129 3 while((scode&0x10)!=0)
130 3 {
131 4 P1=scode;
132 4 if((P1&0xf0)!=0xf0)
133 4 {
134 5 recode=(P1&0xf0)|0x0f;
135 5 m=(~scode)+(~recode);
136 5 return (m);
137 5 }
138 4 else
139 4 scode=(scode<<1)|0x01;
140 4 }
141 3 }
142 2
143 2
144 2 }
145 1 if((P1&0xf0)==0xf0) return(0);
146 1 return(m);
147 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 253 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 23 ----
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 + -