📄 keyled.lst
字号:
C51 COMPILER V6.23a KEYLED 11/11/2005 12:17:01 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE KEYLED
OBJECT MODULE PLACED IN keyled.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE keyled.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include < AT89X52.H >
2 #include " define.h "
3 bit keyflag = 1 ;
4 bit keystatu = 1 ;
5
6 void ledvalue (void)
7 {
8 1 unsigned char i ;
9 1 unsigned int div=1000 ;
10 1 unsigned int fre ;
11 1 fre = frequency ;
12 1 for (i=0;i<4;i++)
13 1 {
14 2 unsigned char a;
15 2 a=fre/div;
16 2 leddat[i]=a;
17 2 fre%=div;
18 2 div/=10;
19 2 }
20 1 }
21 //功能:检查按键
22 void keypress ( void )
23 {
24 1 if ( keyflag == 1 )
25 1 {
26 2 KADD = 1 ; KMIN = 1 ;
27 2 if (KMIN == 0 || KADD == 0 )
28 2 keyflag = 0;
29 2 }
30 1 else
31 1 {
32 2 KADD = 1 ; KMIN = 1 ;
33 2 if ( KADD == 0 )
34 2 {
35 3 frequency += 10 ;
36 3 keystatu = 0 ;
37 3 keyflag = 1 ;
38 3 if( frequency == 410 ) frequency = 10;
39 3 thl=5000000/(frequency*109);
40 3 ledvalue();
41 3 }
42 2 else if ( KMIN == 0 )
43 2 {
44 3 frequency -= 10 ;
45 3 thl=5000000/(frequency*109);
46 3 ledvalue();
47 3 if( frequency == 10 ) frequency = 410;
48 3 keystatu = 0 ;
49 3 keyflag = 1 ;
50 3 }
51 2 }
52 1 }
53 //功能:检查松键
54 void keyfree (void)
55 {
C51 COMPILER V6.23a KEYLED 11/11/2005 12:17:01 PAGE 2
56 1 if ( keyflag == 1 )
57 1 {
58 2 KADD = 1 ; KMIN = 1 ;
59 2 if ( (KADD == 1)&& (KMIN == 1))
60 2 keyflag = 0 ;
61 2 }
62 1 else
63 1 {
64 2 KADD = 1 ; KMIN = 1 ;
65 2 if ( (KADD == 1)&& (KMIN == 1))
66 2 {
67 3 keystatu = 1 ;
68 3 keyflag = 1 ;
69 3 }
70 2 }
71 1 }
72
73 void kbhit ( void )
74 {
75 1 if ( keystatu == 1 ) keypress();
76 1 if ( keystatu == 0 ) keyfree ();
77 1 }
78 //功能:LED显示控制程序
79 void ledwork ( void )
80 {
81 1 static unsigned char t = 0; //static表示静态变量,指变量的赋值只在第一次定义的时候赋
82 1 P2 |= 0x0f ;
83 1 P0 = ledcode[ leddat[t] ] ;
84 1
85 1 switch( t ) //选择数据送到哪个管子
86 1 {
87 2 case 0: S1 = 0 ; break;
88 2 case 1: S2 = 0 ; break;
89 2 case 2: S3 = 0 ; break;
90 2 case 3: S4 = 0 ; break;
91 2 }
92 1 if (++t>=4) t = 0; //判断四位数是否都已经送完
93 1 }
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 327 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 5
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -