?? 交通燈.lst
字號:
C51 COMPILER V8.02 交通燈 03/26/2008 23:21:08 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE 交通燈
OBJECT MODULE PLACED IN 交通燈.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 交通燈.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 #define uchar unsigned char
3 #define uint unsigned int
4 sbit hong1 =P0^0;
5 sbit huang1 =P0^1;
6 sbit lan1 =P0^2;
7 sbit hong2 =P0^3;
8 sbit huang2 =P0^4;
9 sbit lan2 =P0^5;
10 uint s;
11 uchar t=0;
12 uchar m=0;
13 uchar n=0;
14 uchar u=0;
15 uchar p=0;
16 uchar h=0;
17 uchar g=0;
18 uchar code0[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
19 void display(void);//動態顯示
20 uchar keyb(void);//鍵盤程序
21 uchar shijian(void);//
22 void delay(int k);
23 main()
24 {EA=1;EX0=1;IT0=1;
25 1 ET0=1;
26 1 TH0=(65535-50000)/256;
27 1 TL0=(65535-50000)%256;
28 1 TMOD=0X01;
29 1
30 1 hong1=0;lan2=0;huang1=0;lan1=0;hong2=0;huang2=0;P2=code0[0];
31 1 m=keyb();delay(100);
32 1 n=keyb();
33 1 delay(100);
34 1 p=m*10+n;
35 1 for(;;)
36 1 {s=p;TR0=1;
37 2 for(;;)
38 2 {hong1=1;lan2=1;huang1=0;lan1=0;hong2=0;huang2=0;
39 3 if(!s)break;
40 3 if(s<=5){hong1=1;lan2=0;huang1=0;lan1=0;hong2=0;huang2=1;}
41 3 display();}
42 2 s=p;
43 2 for(;;)
44 2 {hong1=0;lan2=0;huang1=0;lan1=1;hong2=1;huang2=0;
45 3 if(!s)break;
46 3 if(s<=5){hong1=0;lan2=0;huang1=1;lan1=0;hong2=1;huang2=0;}
47 3 display();
48 3 }}}
49 /////////////////////////////
50 void delay(int k)
51 {int i,j;
52 1 for(;k>0;k--)
53 1 for(j=2;j>0;j--)
54 1 for(i=100;i>0;i--);}
55 ////////////////////
C51 COMPILER V8.02 交通燈 03/26/2008 23:21:08 PAGE 2
56 void display(void)
57 {int i;for(i=5;i>0;i--)
58 1 {
59 2 P3=0X1F;P2=code0[s/1000];delay(10);
60 2 P3=0X2F;P2=code0[s%1000/100];delay(10);
61 2 P3=0X4F;P2=code0[s%100/10];delay(10);
62 2 P3=0X8F;P2=code0[s%10];delay(10);
63 2 }}
64 /////////////////////////////
65 uchar keyb(void)
66 {unsigned int a,b=0,c,jzhi,f=0,i=0,dma[]={0,0,0,0,0,0,0,3,0,0,0,2,0,1,0};
67 1 int yw[]={0x7f,0xbf,0xdf,0xef};a=0x7f;
68 1 for(;;)
69 1 {P1=a;a=P1;b=a;c=a;
70 2 a=a&0x0f;
71 2 if(a==0x0f) {i++;a=yw[i];if(i==4) {i=0;a=0x7f;}}
72 2 else break;}
73 1 b=b>>4;f=c&0x0f;
74 1 jzhi=dma[b]*4+dma[f];
75 1 return jzhi;}
76 /////////////////////////////
77 void waibu1(void)interrupt 0
78 {int j; TR0=0;
79 1 for(j=30;j>0;j--)
80 1 { hong1=1;lan2=0;huang1=0;lan1=0;hong2=1;huang2=0;display();}
81 1 TR0=1;
82 1 }
83 /////////////////////////////////////////
84 void time(void)interrupt 1
85 {
86 1 u++;if(u==20){u=0;s--;}
87 1 TH0=(65535-50000)/256;
88 1 TL0=(65535-50000)%256;
89 1 }
90
91
92
93
94
95
96
97
98
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 627 ----
CONSTANT SIZE = 38 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 19 46
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 + -