芯片是stc15w408as
目标:产生一个占空比为90%的方波。振幅5-0v,占空比可调,比如周期20ms,高电平2ms。
#include <reg51.h> unsigned char a,b;//定义全局变量 sbit OUT = P0^0;//定义引脚 // 定时器中断初始化 void timer0_init() { EA = 0; TMOD = 0X01; ET0 = 1; TR0 =1; TH0 = (65535-10000)/256; TL0 = (65535-10000)%256; EA = 1; } // 定时器中断 void timer0() interrupt 1 { TH0 = (65535-10000)%256; TL0 = (65535-10000)%256; a++; } void main() { void timer0_init(); while(1) { if(a==4) { OUT = 0; } else { OUT = 1; } if(a==5) { a = 0; } } }
转自:51单片机 方波_weixin_30716141的博客-CSDN博客
或者下面这个: