📄 extract.lst
字号:
C51 COMPILER V7.06 EXTRACT 07/29/2005 23:43:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE EXTRACT
OBJECT MODULE PLACED IN Extract.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\c51.exe Extract.c DB OE SMALL ROM(LARGE)
stmt level source
1
2 #include <REG51.H>
3 #include <ABSACC.H>
4 #include "Device.h"
5
6
7 void Main_Initlization( void ); /* 主初始化程序*/
8 void Interrupt_INT0( void ); /* 遥控解码*/
9 void Interrupt_INT1( void ); /* 10ms定时脉冲中断*/
10 void Interrupt_T0( void ); /* 遥控解码*/
11 void Interrupt_T1( void ); /* PWM 定时器*/
12
13 #define MAX_Length 50
14
15 unsigned char LongTime[MAX_Length]; /* 遥控器定时计数器高位*/
16 unsigned char ShortTime[MAX_Length]; /* 遥控器定时计数器低位*/
17 unsigned char RS_Bit_Index; /* 当前遥控码位置*/
18 unsigned char RS_High; /* 遥控器解码定时器高位*/
19
20 /********************************************************************/
21 /* 主程序 */
22 /********************************************************************/
23 void main( void )
24 {
25 1 Main_Initlization( ); /*主初始化程序*/
26 1
27 1 while( 1 )
28 1 {
29 2 }
30 1 }
31
32 /********************************************************************/
33 /* 遥控按键解码处理程序 */
34 /********************************************************************/
35 void KEY_Process( void ) /* 遥控按键解码*/
36 {
37 1
38 1 }
39
40 /********************************************************************/
41 /* 主初始化程序 */
42 /* 初始化定时器,中断模式等 */
43 /********************************************************************/
44 void Main_Initlization( void ) /*主初始化程序*/
45 {
46 1 TMOD = 0x19; /* 定时器1用于PWM 定时,定时器0用于遥控信号解码*/
47 1 TCON = 0x55; /* 启动两个定时器,外部中断模式为下降沿*/
48 1 TH1 = 0xF9; /* PWM 调节步长*/
49 1 TL1 = 0x7D;
50 1 TH0 = 0x00; /* 定时设置,最长约80ms, 24MHz晶振*/
51 1 TL0 = 0x00;
52 1 IE = 0x8F; /* 开放中断:INT0-遥控解码,INT1-10ms中断,T0-遥控解码, T1-PWM 发生*/
53 1 IP = 0x08; /* 10ms外部中断优先级最高*/
54 1 }
55
C51 COMPILER V7.06 EXTRACT 07/29/2005 23:43:53 PAGE 2
56
57 /********************************************************************/
58 /* 外部中断0服务程序( 遥控解码) */
59 /********************************************************************/
60 void Interrupt_INT0( void ) interrupt 0
61 {
62 1 if( RS_Bit_Index < MAX_Length )
63 1 {
64 2 LongTime[ RS_Bit_Index ] = RS_High;
65 2 ShortTime[ RS_Bit_Index ] = TH0;
66 2 RS_Bit_Index ++;
67 2
68 2 RS_High = 0;
69 2 }
70 1 else
71 1 {
72 2 RS_Bit_Index = 0;
73 2 for( RS_Bit_Index = 0; RS_Bit_Index < MAX_Length; RS_Bit_Index ++ )
74 2 {
75 3 LongTime[ RS_Bit_Index ] =0;
76 3 ShortTime[ RS_Bit_Index ] = 0;
77 3 }
78 2 }
79 1
80 1 TH0 = 0;
81 1 TL0 = 0;
82 1 }
83
84
85 /********************************************************************/
86 /* 定时器中断0服务程序( 遥控解码) */
87 /********************************************************************/
88 void Interrupt_T0( void ) interrupt 1
89 {
90 1 RS_High++;
91 1 if( RS_High > 100 )
92 1 {
93 2 RS_Bit_Index = 0;
94 2 RS_High = 0;
95 2 }
96 1 }
97
98 /********************************************************************/
99 /* 外部中断1服务程序( 10ms脉冲输入) */
100 /********************************************************************/
101 void Interrupt_INT1( void ) interrupt 2
102 {
103 1
104 1 }
105
106
107 /********************************************************************/
108 /* 定时器中断1服务程序( PWM 定时器) */
109 /********************************************************************/
110 void Interrupt_T1( void ) interrupt 3
111 {
112 1
113 1 }
114
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.06 EXTRACT 07/29/2005 23:43:53 PAGE 3
CODE SIZE = 133 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 102 ----
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 + -