📄 t2_m0_c.lst
字号:
C51 COMPILER V7.06 T2_M0_C 04/15/2004 16:12:55 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE T2_M0_C
OBJECT MODULE PLACED IN t2_m0_c.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE t2_m0_c.c BROWSE DEBUG OBJECTEXTEND TABS(3)
stmt level source
1 /**
2 * @file $RCSfile: t2_m0_c.c,v $
3 *
4 * Copyright (c) 2004 Atmel.
5 *
6 * Please read file license.txt for copyright notice.
7 *
8 * @brief This file is an example to use timer2 in mode 0.
9 *
10 * This file can be parsed by Doxygen for automatic documentation
11 * generation.
12 * Put here the functional description of this file within the software
13 * architecture of your program.
14 *
15 * @version $Revision: 1.0.0 $ $Name: $
16 */
17 /*_____ M A C R O S ________________________________________________________*/
18
19 /**
20 * This is a macro local to this file .
21 */
22 #define MSB_reload_value 0x36 /* msb reload value exemple */
23 #define LSB_reload_value 0x36 /* lsb reload value exemple */
24
25
26 /* @section I N C L U D E S */
27 #include "reg_c51.h"
28
29
30 /**
31 * FUNCTION_PURPOSE: This file set up timer 2 in mode 0 (16 bits auto-reload
32 * up/down counter).
33 * The 16-bits register consist of all 8 bits of TH2 and all 8 bits
34 * of TL2. The EXF2 bit toggles when timer2 overflow or underflow occurs.
35 * EXF2 does not generate interrupt. This bit can be used to provide 17-bit resolution
36 * FUNCTION_INPUTS: P1.0(T2) must be controlled by an external clock
37 * P1.1(T2EX)=0 for down counting or 1 for up counting.
38 * FUNCTION_OUTPUTS: void
39 */
40 void main(void)
41 {
42 1 T2MOD &= 0xFC; /* T2OE=0;DCEN=1; */
43 1 T2MOD |= 0x01;
44 1
45 1 EXF2=0; /* reset flag */
46 1 TCLK=0;RCLK=0; /* disable baud rate generator */
47 1 EXEN2=0; /* ignore events on T2EX */
48 1 TH2=MSB_reload_value; /* Init msb_value */
49 1 TL2=LSB_reload_value; /* Init lsb_value */
50 1 RCAP2H=MSB_reload_value; /* reload msb_value */
51 1 RCAP2L=LSB_reload_value; /* reload lsb_value */
52 1 C_T2=1; /* counter mode */
53 1 CP_RL2=0; /* reload mode */
54 1 EA=1; /* interupt enable */
55 1 ET2=1; /* enable timer2 interrupt */
C51 COMPILER V7.06 T2_M0_C 04/15/2004 16:12:55 PAGE 2
56 1 TR2=1; /* timer2 run */
57 1
58 1 while(1); /* endless */
59 1 }
60
61
62 /**
63 * FUNCTION_PURPOSE: timer2 interrupt
64 * FUNCTION_INPUTS: void
65 * FUNCTION_OUTPUTS: P1.2 toggle period = 2 * (65536-reload_value) * P1.0(T2) period
66 */
67 void it_timer2(void) interrupt 5 /* interrupt address is 0x002b */
68 {
69 1 P1_2 = ~P1_2; /* P1.2 toggle when interrupt. */
70 1 TF2 = 0; /* reset interrupt flag */
71 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 43 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
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 + -