?? 波形產生3(雙定時雙輸出).lst
字號:
C51 COMPILER V6.23a 波_尾___3(___╛盻__鋉_) 04/13/2006 21:38:39 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE 波_尾___3(___╛盻__鋉_)
OBJECT MODULE PLACED IN 波形產生3(雙定時雙輸出).OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 波形產生3(雙定時雙輸出).c BROWSE DEBUG OBJECTEXTEND TABS(8)
stmt level source
1 //*******************************************************************//
2 //用定時計數器0 工作在方式1 在P1.0引腳上輸出一個高電平為86ms低電平為//
3 //138ms的脈沖波形(即周期為224ms),在P2.0引腳上輸出一個低電平為600us高電平為//
4 //800us的脈沖波形(即周期為1400us),單片機采用12M晶體 //
5 //*******************************************************************//
6 #include <at89x52.h>
7 unsigned int data i=0;k=0;
8 void Timer0Interrupt( void ) interrupt 1
9 {
10 1 i++;
11 1 if(i==860){P1_0=0;}
12 1 if(i==2240){P1_0=1;i=0;} //改變i(1,5)調占空比
13 1
14 1 }
15 void Timer1Interrupt( void ) interrupt 3
16 {
17 1 k++;
18 1 if(k==6){P2_0=1;}
19 1 if(k==14){P2_0=0;k=0;} //改變k(6,12)調占空比
20 1
21 1
22 1 }
23 void Timer01Init( void )
24 { TMOD=0x22; //初始化,定時器T0T1,工作方式2 與INT0\NT1無關 定時器模式
25 1 P1_0=0;
26 1 TL0 = -200; //定時100us時標, 單片機采用24M晶體
27 1 TH0=-200;
28 1 TL1 = -200; //定時100us時標, 單片機采用24M晶體
29 1 TH1=-200;
30 1 TCON =0x50; //允許T0開始計數
31 1 IE=0x8a; //允許T0\T1中斷
32 1 //IP=0X80;
33 1
34 1 }
35 void main( void )
36 {
37 1 P1_0=1;
38 1 P2_0=0;
39 1 Timer01Init(); //time0time1初始化
40 1 while(1);
41 1 } ////等待硬件定時 到 并輸出波形
42
43
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 113 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -