📄 aaa.lst
字号:
C51 COMPILER V7.06 AAA 05/01/2008 16:44:47 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE AAA
OBJECT MODULE PLACED IN aaa.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE aaa.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<REG51.H>
2 #define uint unsigned int
3 #define uchar unsigned char
4 //***********************************
5 unsigned char code SEG7[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
6 uchar code WEEK_SEG7[8]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};
7 uchar ACT[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
8 uchar deda,sec,min,hour,week=1;
9 uchar cnt;
10 /*****************************************************/
11 void init(void)
12 {
13 1 TMOD=0x11;
14 1 TH0=-(50000/256);
15 1 TL0=-(50000%256);
16 1 ET0=1;
17 1 TR0=1;
18 1 TH1=-(1000/256);
19 1 TL1=-(1000%256);
20 1 ET1=1;
21 1 TR1=1;
22 1 EA=1;
23 1 }
24 /******************************************/
25 void time0(void) interrupt 1
26 {
27 1 TH0=-(50000/256);
28 1 TL0=-(50000%256);
29 1 deda++;
30 1 }
31 /*******************************************/
32 void time1(void) interrupt 3
33 {
34 1 TH1=-(1000/256);
35 1 TL1=-(1000%256);
36 1 if(++cnt>7)cnt=0;
37 1 switch (cnt)
38 1 {
39 2 case 0:P1=SEG7[sec%10];P2=ACT[cnt];break;
40 2 case 1:P1=SEG7[sec/10];P2=ACT[cnt];break;
41 2 case 2:P1=SEG7[min%10];P2=ACT[cnt];break;
42 2 case 3:P1=SEG7[min/10];P2=ACT[cnt];break;
43 2 case 4:P1=SEG7[hour%10];P2=ACT[cnt];break;
44 2 case 5:P1=SEG7[hour/10];P2=ACT[cnt];break;
45 2 case 6:P1=0x00;P2=0xff;break;
46 2 case 7:P1=WEEK_SEG7[week];P2=ACT[cnt];break;
47 2 default:break;
48 2 }
49 1 }
50 /***************************************/
51 void conv(void)
52 {
53 1 if(deda>=20){deda=0;sec++;}
54 1 if(sec>=60){sec=0;min++;}
55 1 if(min>=60){min=0;hour++;}
C51 COMPILER V7.06 AAA 05/01/2008 16:44:47 PAGE 2
56 1 if(hour>=24){hour=0;week++;}
57 1 if(week>7){week=1;}
58 1 }
59 /*****************************************/
60 void delay(uint k)
61 {
62 1 uint data i,j;
63 1 for(i=0;i<k;i++){
64 2 for(j=0;j<121;j++)
65 2 {;}}
66 1 }
67 /**********************************************/
68 uchar scan_key(void)
69 {
70 1 uchar temp;
71 1 P3=0xff;
72 1 temp=P3;
73 1 if(temp!=0xff)
74 1 {delay(20);
75 2 temp=P3;
76 2 if(temp!=0xff)return temp;
77 2 }
78 1 return 0;
79 1 }
80 /********************************************/
81 void main(void)
82 {uchar key_flag;
83 1 init();
84 1 while(1)
85 1 {
86 2 conv();
87 2 key_flag=scan_key();
88 2 switch(key_flag)
89 2 {
90 3 case 0xfb:if(++min>59)min=0;delay(300);break;
91 3 case 0xf7:if(++hour>23)hour=0;delay(300);break;
92 3 case 0xef:if(++week>7)week=1;delay(300);break;
93 3 default:break;
94 3 }
95 2 }
96 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 375 ----
CONSTANT SIZE = 18 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 14 ----
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 + -