51单片机脉冲产生程序设计_51单片机发脉冲的程序
51单片机脉冲产生程序设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“51单片机发脉冲的程序”。
独立键盘控制输出脉冲信号
用51单片机用独立键盘控制输出4种频率:1Hz、2Hz、10Hz、50Hz,占空比为50%的脉冲信号。
#include
#define uint unsigned int #define uchar unsigned char sbit d0=P1^0;sbit d1=P3^2;uintnum=0,counter=0;void delay(uint x){ uinti,j;for(i=x;i>0;i--)for(j=110;j>0;j--);} void main(){
d1=1;
d0=1;
d2=1;num=0;
IT0=1;
EX0=1;
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
EA=1;
ET0=1;
TR0=1;while(1)
{
} } void Int0()interrupt 0 { delay(10);if(d1==0){
d1=1;num++;if(num==4)num=0;counter=0;}
} void Timer0(void)interrupt 1 {
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;counter++;
if(num==0){ if(counter
d0=0;if(counter>500)
d0=1;if(counter==1000)counter=0;
} if(num==1){ if(counter
d0=0;if(counter>250)d0=1;if(counter==500)counter=0;}
if(num==2){ if(counter50)d0=1;if(counter==100)counter=0;} if(num==3){ if(counter
d0=0;if(counter>10)
d0=1;
} if(counter==20)counter=0;}