📄 divdefrenqency.lst
字号:
C51 COMPILER V6.23a DIVDEFRENQENCY 04/01/2005 18:26:40 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE DIVDEFRENQENCY
OBJECT MODULE PLACED IN DIvdeFrenqency.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE SCR\DIvdeFrenqency.c BROWSE DEBUG OBJECTEXTEND PRINT(.\DIvdeFrenqency.lst)
-OBJECT(DIvdeFrenqency.obj)
stmt level source
1 //*************************************************************************************//
2 //有一个频率为10MHz的方波信号,要求用定时器1模式2工作对该方波信号计数,每计满100个脉冲 //
3 //将P1.1脚上的电平取反。(相当于对10MHz的方波信号进行200分频,分频后的信号从P1.1脚上输出)//
4 //分析:外部计数信号由T1(P3.5)引脚输入,每来一个下降沿计数器加1,方式2有自动重装初值 //
5 //的功能,初始化后不必再置初值。 //
6 //*************************************************************************************//
7 #include <at89x52.h>
8
9
10 void Timer1Interrupt( void ) interrupt 3
11 {
12 1 static unsigned char i=0;
13 1 EA=0; //关中断
14 1 TR1=0; //禁止T1开计数
15 1 i=~i;
16 1 P1_1=i^0;;
17 1 TR1 = 1; //允许T1开始计数
18 1 EA=1; //开中断
19 1 }
20 void Timer1Init( void )
21 { TMOD=(TMOD & 0x0f) | 0x60; //初始化,定时器T1,工作方式2 与INT1无关 外部工作时钟
22 1 TL1 = -100; //计100个脉冲
23 1 TH1=TL1;
24 1 ET1=1; //允许T1中断
25 1 EA=1; //开中断
26 1 TR1 = 1; //允许T1开始计数
27 1
28 1 }
29 void main( void )
30 {
31 1
32 1 Timer1Init(); //time1初始化
33 1 while(1); //等待硬件定时 到 并输出方波
34 1
35 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 52 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -