📄 lesson 5_1.lst
字号:
C51 COMPILER V8.05a LESSON_5_1 02/03/2009 00:41:01 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE LESSON_5_1
OBJECT MODULE PLACED IN lesson 5_1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lesson 5_1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg52.h>
2 #include<intrins.h>
3 #define uint unsigned int
4 #define uchar unsigned char
5 uchar temp,t0,t1,a1,a2,a3,bai,shi,ge,i;
6 uint shu;
7 sbit dula=P2^6;
8 sbit wela=P2^7;
9 uchar code table[]={
10 0x3f,0x06,0x5b,0x4f,
11 0x66,0x6d,0x7d,0x07,
12 0x7f,0x6f,0x77,0x7c,
13 0x39,0x5e,0x79,0x71};
14 uchar code table_w[]={
15 0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
16 void initial();
17 void delay(uint z);
18 void display(uchar a1,uchar a2,uchar a3,uchar bai,uchar shi,uchar ge);
19 void main()
20 {
21 1 initial();
22 1 while(1)
23 1 {
24 2 display(7,6,5,bai,shi,ge);
25 2 }
26 1 }
27
28 void initial()
29 {
30 1 t0=0;
31 1 shu=432;
32 1 temp=0xfe;
33 1 P1=temp;
34 1
35 1 TCON=0x11;
36 1 TH0=(65536-50000)/256;
37 1 TL0=(65536-50000)%256;
38 1 ET0=1;
39 1 TR0=1;
40 1
41 1 TH0=(65536-50000)/256;
42 1 TL0=(65536-50000)%256;
43 1 ET1=1;
44 1 TR1=1;
45 1
46 1 EA=1;
47 1 }
48
49 void timer0() interrupt 1
50 {
51 1 TH0=(65536-50000)/256;
52 1 TL0=(65536-50000)%256;
53 1 t0++;
54 1 if(t0==10)
55 1 {
C51 COMPILER V8.05a LESSON_5_1 02/03/2009 00:41:01 PAGE 2
56 2 t0=0;
57 2 temp=_crol_(temp,1);
58 2 P1=temp;
59 2 }
60 1 }
61
62 void timer1() interrupt 3
63 {
64 1 TH1=(65536-50000)/256;
65 1 TL1=(65536-50000)%256;
66 1 t1++;
67 1 if(t1==2)
68 1 {
69 2 t1=0;
70 2 shu--;
71 2 bai=shu/100;
72 2 shi=shu%100/10;
73 2 ge=shu%10;
74 2 if(shu==389)
75 2 {
76 3 TR0=0;
77 3 TR1=1;
78 3 }
79 2
80 2 }
81 1 }
82
83 void display(uchar a1,uchar a2,uchar a3,uchar bai,uchar shi,uchar ge)
84 { for(i=0;i<6;i++)
85 1 {
86 2 dula=1;
87 2 if(i==0) P0=table[ge];
88 2 if(i==1) P0=table[shi];
89 2 if(i==2) P0=table[bai];
90 2 if(i==3) P0=table[a3];
91 2 if(i==4) P0=table[a2];
92 2 if(i==5) P0=table[a1];
93 2 dula=0;
94 2 P0=0xff; //消隐
95 2 wela=1;
96 2 P0=table_w[i];
97 2 wela=0;
98 2 delay(3);
99 2 }
100 1 }
101 void delay(uint z)
102 {
103 1 uint x,y;
104 1 for(x=z;x>0;x--)
105 1 for(y=110;y>0;y--);
106 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 393 ----
CONSTANT SIZE = 22 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 6
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V8.05a LESSON_5_1 02/03/2009 00:41:01 PAGE 3
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -