|
芯片:STC89C52
晶振:11.0592M
程序:
- #include<reg51.h>
- #include<math.h>
- typedef unsigned int u16;
- typedef unsigned char u8;
- u16 i;
- sbit Waveout1=P2^0; /*P2.0口輸出方波*/
- sbit Waveout2=P0^0;
-
- u8 TIMER1_L,TIMER1_H;
- void delay(u16 i)
- {
- while(i--);
- }
- void main()
- {
- TMOD=0X01;//選擇定時(shí)器T1,工作方式1,僅用TR1打開(kāi)啟動(dòng)
- ET1=1; //開(kāi)定時(shí)器T1中斷
- TR1=1; //啟動(dòng)定時(shí)器T1
- EA=1; //開(kāi)總中斷
- TIMER1_L=0xd8; //定時(shí)變量,定時(shí)器1初始時(shí)間高8位賦值,具體定時(shí)時(shí)間自己查資料 10000
- TIMER1_H=0xff;
- while(1)
- {
- delay(50);
- Waveout1=!Waveout1;
- delay(50);
- Waveout2=!Waveout2;
- } //方波初始頻率 = 500Hz
- }
- //定時(shí)器T1的中斷服務(wù)函數(shù)
- void T1_time() interrupt 3//定時(shí)器T1的中斷序號(hào)為3
- {
- TH1=TIMER1_H; //2^16=65536 2^8=256 TH0=0Xdc
- TL1=TIMER1_L; //取余 TL0=0x00
- Waveout1=!Waveout1; //取反,產(chǎn)生方波
- }
復(fù)制代碼
想實(shí)現(xiàn)圖片中的兩路方波,要做哪些修改呢,謝謝大家。
|
|