ppm.c

来自「频率发生器」· C语言 代码 · 共 79 行

C
79
字号
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit p32=P3^2;
sbit p33=P3^3;
sbit ppmout=P1^1;
uint d;
void delay_50us(uint t)
{   uchar i;
 	for(;t>0;t--)
	for(i=19;i>0;i--);
}


void time0(void) interrupt 1 using 1
{	if(d==0)
    {	TH0=0Xff;
    	TL0=0Xf5;
	 }

	 if(d==1)
	 {
	   TH0=0Xff;
       TL0=0Xf0;
	 }

	 if(d==2)
	 {
	   TH0=0Xff;
       TL0=0Xe0;
	 }
	 if(d==3)
	 {
	   TH0=0Xff;
       TL0=0Xd0;
	 }
	ppmout=~ppmout; 
}

void  int0(void) interrupt 0
{
  
   EA=0;
   d++;
   TMOD=0x01;
   while(!p32); 
   EA=1; 
}


void int1(void) interrupt 2
{
   EA=0;
   TMOD=0x01;
   if(d>0)
   d--; 		  
   while(!p33); 
   EA=1;  
}

void main(void)
{   d=0;
    
	IT1=1;
	EX1=1;	 
	IT0=1;
	EX0=1;
   TMOD=0x01;
   TH0=0Xff;
   TL0=0Xf5;
   ET0=1;
   TR0=1;
   EA=1;

	while(1)
	{
	 delay_50us(4);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?