📄 timer.lst
字号:
C51 COMPILER V7.08 TIMER 03/05/2007 16:38:07 PAGE 1
C51 COMPILER V7.08, COMPILATION OF MODULE TIMER
OBJECT MODULE PLACED IN timer.OBJ
COMPILER INVOKED BY: D:\程序\keil c\C51\BIN\C51.EXE timer.c LARGE INCDIR(c:|keil) DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h> //定时
2 #include<absacc.h>
3 #include<timer.h>
4
5 WORD count_timer1; //定时器记数变量
6 WORD count_timer0;
7
8 void timer1_init(WORD time_var)
9 {
10 1 //P1=0x0f;
11 1 count_timer1 = time_var;
12 1
13 1 EA=0; //总中断
14 1
15 1 ET1 = 1; //中断控制位,允许中断
16 1 TMOD= (TMOD|0x10); //工作方式一
17 1 TH1=(65535-10000)>>8; //12Mhz,10ms
18 1 TL1=(65535-10000)&0xff;
19 1 TR1=1; //TRO为T0的运行控制位,允许脉冲进入,TF为脉冲计数满标志
20 1 EA = 1;
21 1 }
22
23 void timer1(void) interrupt 3 using 2
24 {
25 1 TH1=(65535-10000)>>8;
26 1 TL1=(65535-10000)&0xff;
27 1 TF1 = 0; //clear the full flag
28 1 if(count_timer1) count_timer1--; //计时变量
29 1 }
30
31
32
33 void timer0_init(WORD time_var)
34 {
35 1 //P1=0x0f;
36 1 count_timer0 = time_var;
37 1
38 1 EA=0; //总中断
39 1
40 1 ET0 = 1; //中断控制位,允许中断
41 1 TMOD= (TMOD|0x01); //工作方式一
42 1 TH0=(65535-10000)>>8; //12Mhz,10ms
43 1 TL0=(65535-10000)&0xff;
44 1 TR0=1; //TRO为T0的运行控制位,允许脉冲进入,TF为脉冲计数满标志
45 1 EA = 1;
46 1 }
47
48 void timer0(void) interrupt 1 using 3
49 {
50 1 TH0=(65535-10000)>>8;
51 1 TL0=(65535-10000)&0xff;
52 1 TF0 = 0; //clear the full flag
53 1 if(count_timer0) count_timer0--; //计时变量
54 1 }
C51 COMPILER V7.08 TIMER 03/05/2007 16:38:07 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 150 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 4 ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -