📄 ch06.lst
字号:
C51 COMPILER V8.12 CH06 08/18/2008 22:23:37 PAGE 1
C51 COMPILER V8.12, COMPILATION OF MODULE CH06
OBJECT MODULE PLACED IN ch06.OBJ
COMPILER INVOKED BY: C:\program files\Keil\C51\BIN\C51.EXE ch06.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #define LEDS 2
3 sbit PB1=P3^0;
4 sbit PB2=P3^1;
5 sbit PB3=P3^2;
6 //sbit outpl=P0;
7 unsigned char select[]={0x01,0x02};
8 unsigned char LED_CODES[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98};
9 void delay(int x);
10 void display(int x,y,z);
11 int gw,sw;
12 int s;
13 char isflash;
14 void main()
15 {
16 1 sw=0;
17 1 gw=0;
18 1 isflash=0;
19 1 PB1=PB2=1;
20 1 while(1)
21 1 {
22 2 if(PB1==0)
23 2 {
24 3 isflash=1;
25 3 delay(1);
26 3 gw++;
27 3 if(gw>9)
28 3 {
29 4 gw=0;
30 4 sw++;
31 4 if(sw>9)sw=0;
32 4 }
33 3 }
34 2 if(PB2==0)
35 2 {
36 3 isflash=1;
37 3 delay(1);
38 3 gw--;
39 3 if(gw<0)
40 3 {
41 4 gw=9;
42 4 sw--;
43 4 if(sw<0)sw=9;
44 4 }
45 3
46 3 }
47 2 if(PB3==0)
48 2 {
49 3 s=sw*10+gw;
50 3 //outpl=s&0xff;
51 3 isflash=0;
52 3 }
53 2 if(isflash==1)
54 2 {
55 3 display(150,sw,gw);
C51 COMPILER V8.12 CH06 08/18/2008 22:23:37 PAGE 2
56 3 P1=0xff;
57 3 delay(200);
58 3 }
59 2 else
60 2 {
61 3 display(150,sw,gw);
62 3 }
63 2 }
64 1 }
65 void delay(int x)
66 {
67 1 int i;
68 1 int j;
69 1 for(i=x;i>0;i--)
70 1 for(j=120;j>0;j--);
71 1 }
72 void display(int x,y,z)
73 {
74 1 char i=0;
75 1 int ws;
76 1 int disp_code[2];
77 1 int xh;
78 1 disp_code[0]=y;
79 1 disp_code[1]=z;
80 1 for(xh=x;xh>0;xh--)
81 1 {
82 2 ws=disp_code[i];
83 2 P2=0;
84 2 P1=LED_CODES[ws];
85 2 P2=select[i];
86 2 delay(1);
87 2 i++;
88 2 if(i>1)i=0;
89 2 }
90 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 299 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 4
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 + -