📄 timer.lst
字号:
C51 COMPILER V7.06 TIMER 12/04/2008 15:12:03 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 "Include.h"
2 //Timer0中判断按键,所有的超时判断
3 //如果Timer0的中断时间变化,超时参数也要做对应变化
4 unsigned char Timer = 0;
5 //unsigned char BellTimer = 0;
6 extern unsigned char NowKey; //当前按键
7 extern bit ReceiveOK; //数据包接收完成标志位
8 unsigned int Tc=0; //超时计时器
9 unsigned char KeyStep[3]={0,0,0}; //步骤
10 sbit K_CANCEL=P3^2;
11 sbit K_UP=P3^3;
12 sbit K_DOWN=P3^6;
13 //使能Timer0中断
14 void EnableT0(void)
15 {
16 1 ET0=1;
17 1 }
18 //Timer0启动
19 void Timer0Start(void)
20 {
21 1 TR0=1;
22 1 }
23 //Timer0初始化
24 void Timer0Init(void)
25 {
26 1 TMOD|=1;//设置为16位定时器
27 1 TH0=0;
28 1 TL0=0;
29 1
30 1 EnableT0();
31 1 Timer0Start();
32 1 }
33 //按键步骤
34 //0 没有按键
35 //1 第一次检测到按键
36 //2 第二次检测到按键(认为有按键)
37 //中断一次约71ms
38 void ISRTimer0(void) interrupt 1
39 {
40 1 TH0=0;
41 1 TL0=0;
42 1 //按键判断
43 1 //-------------------------------------------------
44 1 if(0==K_CANCEL){if(1==KeyStep[0])
45 2 { KeyStep[0]=2;//有按键
46 3 NowKey=ADD_KEY;//增加
47 3 }else{KeyStep[0]=1;}
48 2 }else{if(NowKey!=EMPTY_KEY){KeyStep[0]=0;}}
49 1 //-------------------------------------------------
50 1 if(0==K_UP){if(1==KeyStep[1])
51 2 { KeyStep[1]=2;//有按键
52 3 NowKey=EMPTY_KEY;//删除键
53 3 }else{KeyStep[1]=1;}
54 2 }else{if(NowKey!=ADD_KEY){KeyStep[1]=0;}}
55 1 //-------------------------------------------------
C51 COMPILER V7.06 TIMER 12/04/2008 15:12:03 PAGE 2
56 1 if(0==K_DOWN){if(1==KeyStep[2])
57 2 { KeyStep[2]=2;//有按键
58 3 NowKey=SEARCH_KEY;//搜索键
59 3 }else{KeyStep[2]=1;}
60 2 }else{if(NowKey!=DEL_KEY){KeyStep[2]=0;}}
61 1 //-------------------------------------------------
62 1 if(Tc>0) {Tc--;}
63 1 if(Timer>0) {Timer--;}
64 1 if(0==Timer){ReceiveOK = 0;}
65 1 //if(BellTimer>0) { BellTimer--; if(0 == BellTimer){BellOff();} }
66 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 159 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 ----
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 + -