📄 timer.lst
字号:
C51 COMPILER V7.06 TIMER 12/18/2007 11:18:07 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN timer.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE timer.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include "c51base.h"
2
3
4 static uint time_20ms;
5
6
7 static bit is_key;
8 static uchar key_value;
9
10 void TimerInit()
11 {
12 1 TH0 = 0X88;
13 1 TL0 = 0X00;
14 1 TMOD = 0X21;
15 1 TR0 = 1;
16 1 ET0 = 1;
17 1 }
18
19 sbit KEY_1 = P2^3;
20 sbit KEY_2 = P2^2;
21 sbit KEY_3 = P2^1;
22 sbit KEY_4 = P2^0;
23
24
25 void TimeInter() interrupt 1
26 {
27 1 static uchar last_value;
28 1 static uint back_time;
29 1 uchar temp;
30 1 TH0 =0x88;
31 1 TL0 =0x00;
32 1 time_20ms++;
33 1 if(time_20ms - back_time>=1000)
34 1 BACK_LIGHT = 1;
35 1
36 1 temp=0;
37 1 KEY_1 = KEY_2 = KEY_3 = KEY_4 = 1;
38 1 KEY_1 = 0;
39 1 if(!KEY_3)
40 1 temp = temp+1;
41 1 temp<<=1;
42 1 if(!KEY_4)
43 1 temp = temp+1;
44 1 KEY_2 = 0;
45 1 temp<<=1;
46 1 if(!KEY_3)
47 1 temp = temp+1;
48 1 temp<<=1;
49 1 if(!KEY_4)
50 1 temp = temp+1;
51 1 temp<<=1;
52 1 if(temp!=0 && last_value != temp)
53 1 {
54 2 key_value = temp;
55 2 is_key = 1;
C51 COMPILER V7.06 TIMER 12/18/2007 11:18:07 PAGE 2
56 2 BACK_LIGHT = 0;
57 2 back_time = time_20ms;
58 2 }
59 1 last_value = temp;
60 1 }
61
62 bit IsKeyCheck(void)
63 {
64 1 return is_key;
65 1 }
66
67 uchar ReadKey(void)
68 {
69 1 uchar temp;
70 1 is_key = 0;
71 1 switch(key_value)
72 1 {
73 2 case 2:temp = 'd';
74 2 break;
75 2 case 4:temp = 'x';
76 2 break;
77 2 case 20:temp = 'e';
78 2 break;
79 2 case 10:temp = 'u';
80 2 break;
81 2 default:
82 2 break;
83 2 }
84 1 return temp;
85 1 }
86
87 uchar WaitKey(uint time_out)
88 {
89 1 uchar i;
90 1 time_out = time_out*6;
91 1 while(time_out--)
92 1 {
93 2 WDTReset_SM89516();
94 2 for(i=0;i<=112;i++)
95 2 ;
96 2 if(IsKeyCheck())
97 2 return ReadKey();
98 2 }
99 1 return 0xff;
100 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 220 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 2
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -