📄 text1.lst
字号:
C51 COMPILER V7.50 TEXT1 05/30/2008 15:59:20 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: D:\keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************法一**********************************/
2
3 #include<reg52.h>
4
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 uchar dispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
9 //uchar dispbitcode[]={0xdf,0xbf,0x7f};
10 uchar dispbuf[]={0,0,0};
11
12 uchar h=0,dispbitcnt=0;
13
14 sbit P3_0=P3^0;
15 sbit P3_1=P3^1;
16 sbit P3_2=P3^2;
17 sbit P3_3=P3^3;
18 sbit P3_4=P3^4;
19 sbit P3_5=P3^5;
20 sbit P3_6=P3^6;
21 sbit P3_7=P3^7;
22
23 void keyboard();
24
25 void initTimer(void)
26 {
27 1 TMOD=0x00;
28 1 TH0=0xc1;
29 1 TL0=0x18;
30 1 EA=1;
31 1 ET0=1;
32 1 TR0=1;
33 1 }
34
35 void delay10ms() //延时函数
36 {
37 1 unsigned char i,j;
38 1 for(i=0;i<248;i++)
39 1 for(j=0;j<10;j++);
40 1 }
41
42 void main()
43 {
44 1
45 1 initTimer();
46 1 switch(dispbitcnt)
47 1 {
48 2 case 0:{P3_5=1;P3_6=0;P3_7=0;}break;
49 2 case 1:{P3_5=0;P3_6=1;P3_7=0;}break;
50 2 case 2:{P3_5=0;P3_6=0;P3_7=1;}break;
51 2 break;
52 2 }
53 1 P1=dispcode[dispbuf[dispbitcnt]];
54 1 dispbitcnt=(dispbitcnt+1)%3;
55 1 while(1)
C51 COMPILER V7.50 TEXT1 05/30/2008 15:59:20 PAGE 2
56 1 {
57 2 P3_0=1;P3_1=1;P3_2=1;P3_3=1;
58 2 if((P3&0x0f)!=0x0f) keyboard();
59 2 P3_4=1;
60 2 P0=h;
61 2 P3_4=0;
62 2 }
63 1 }
64
65 void keyboard()
66 {
67 1 unsigned char temp;
68 1 if((P3&0x0f)!=0x0f) delay10ms();
69 1 if((P3&0x0f)!=0x0f) temp=P3&0x0f;
70 1 switch(temp)
71 1 {
72 2 case 0x0e:{h=(h+1)%151;while((P3&0x0f)==0x0e);}break;
73 2 case 0x0d:{if(h>=0)h--;while((P3&0x0f)==0x0d);}break;
74 2 break;
75 2 }
76 1 }
77
78 void t0(void) interrupt 1
79 {
80 1 TH0=0xc1;
81 1 TL0=0x18;
82 1 dispbuf[2]=h/100;dispbuf[1]=(h%100)/10;dispbuf[0]=h%10;
83 1 //P1=0x00;
84 1 P1=dispcode[dispbuf[dispbitcnt]];
85 1 switch(dispbitcnt)
86 1 {
87 2 case 0:{P3_5=1;P3_6=0;P3_7=0;}break;
88 2 case 1:{P3_5=0;P3_6=1;P3_7=0;}break;
89 2 case 2:{P3_5=0;P3_6=0;P3_7=1;}break;
90 2 break;
91 2 }
92 1 dispbitcnt=(dispbitcnt+1)%3;
93 1 }
94
95
96
97
98 /*********************法二*****************/
99 /*
100 #include<reg51.h>
101
102 #define uchar unsigned char
103 #define uint unsigned int
104
105 uchar dispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
106 uchar dispbitcode[]={0xdf,0xbf,0x7f};
107 uchar dispbuf[]={0,0,0};
108
109 uchar h=0,dispbitcnt=0;
110
111 sbit P3_0=P3^0;
112 sbit P3_1=P3^1;
113 sbit P3_2=P3^2;
114 sbit P3_3=P3^3;
115 sbit P3_4=P3^4;
116 sbit P3_5=P3^5;
117 sbit P3_6=P3^6;
C51 COMPILER V7.50 TEXT1 05/30/2008 15:59:20 PAGE 3
118 sbit P3_7=P3^7;
119
120 void keyboard();
121
122 void initTimer(void)
123 {
124 TMOD=0x00;
125 TH0=0xe0;
126 TL0=0x18;
127 EA=1;
128 ET0=1;
129 TR0=1;
130 }
131
132 void delay10ms() //延时函数
133 {
134 unsigned char i,j;
135 for(i=0;i<248;i++)
136 for(j=0;j<5;j++);
137 }
138
139 void main()
140 {
141
142 initTimer();
143 P2=dispbitcode[dispbitcnt];
144 P1=dispcode[dispbuf[dispbitcnt]];
145 dispbitcnt=(dispbitcnt+1)%3;
146 while(1)
147 {
148 P3=0xff;
149 if(P3!=0xff) keyboard();
150 P3_4=1;
151 P0=h;
152 P3_4=0;
153 }
154 }
155
156 void keyboard()
157 {
158 unsigned char temp;
159 if(P3!=0xff) delay10ms();
160 if(P3!=0xff) temp=P3;
161 switch(temp)
162 {
163 case 0xfe:{h=(h+1)%151;while(P3==0xfe);}break;
164 case 0xfd:{if(h>=0)h--;while(P3==0xfd);}break;
165 break;
166 }
167 }
168
169 void t0(void) interrupt 1
170 {
171 TH0=0xe0;
172 TL0=0x18;
173 dispbuf[2]=h/100;dispbuf[1]=(h%100)/10;dispbuf[0]=h%10;
174 P2=dispbitcode[dispbitcnt];
175 P1=dispcode[dispbuf[dispbitcnt]];
176 dispbitcnt=(dispbitcnt+1)%3;
177 } */
C51 COMPILER V7.50 TEXT1 05/30/2008 15:59:20 PAGE 4
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 299 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 15 ----
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 + -