|
芯片: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;//选择定时器T1,工作方式1,仅用TR1打开启动
- ET1=1; //开定时器T1中断
- TR1=1; //启动定时器T1
- EA=1; //开总中断
- TIMER1_L=0xd8; //定时变量,定时器1初始时间高8位赋值,具体定时时间自己查资料 10000
- TIMER1_H=0xff;
- while(1)
- {
- delay(50);
- Waveout1=!Waveout1;
- delay(50);
- Waveout2=!Waveout2;
- } //方波初始频率 = 500Hz
- }
- //定时器T1的中断服务函数
- void T1_time() interrupt 3//定时器T1的中断序号为3
- {
- TH1=TIMER1_H; //2^16=65536 2^8=256 TH0=0Xdc
- TL1=TIMER1_L; //取余 TL0=0x00
- Waveout1=!Waveout1; //取反,产生方波
- }
复制代码
想实现图片中的两路方波,要做哪些修改呢,谢谢大家。
|
|