51单片机的某个I/O口 输出一组脉冲,求例子程序,谢谢了
#include<reg51.h> //
sbit P1_0 = P1^0; // PWM 脉冲输出
sbit key10 = P3^2;
sbit key11 = P3^3;
unsigned char Set_PWM0 = 2; // 占空比调整
unsigned char counter = 0; // 计数的
bit bdata tt1; // 标志位
void main()
{
TMOD=0x01;
TH0=(65536-2000)/256; // 定时时间 可以修改
TL0=(65536-2000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{ // 开关调整 PWM 占空比
if(key10==0 && tt1==0) {tt1 = 1; Set_PWM0++;} // K1、K2
if(key11==0 && tt1==0) {tt1 = 1; Set_PWM0--;}
if(key10==1 && key11==1) tt1=0;
}
}
void Timer0(void) interrupt 1 // 定时器0 PWM 控制
{
TH0=(65536-2000)/256; // 定时时间 可以修改
TL0=(65536-2000)%256;
counter++;
if(counter >= 16) counter = 0; // PWM 16级 可以修改
if(counter >= Set_PWM0) P1_0 = 0; else P1_0 = 1;
}
#include <reg51.h>
delay_ms(unsigned int )
{
……
}
void main()
{
P1=~P1;
delay_ms(1);
}
void main()
{
while(1)
{
P0=0x00;
P0=0xff;
}
}