⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 text_guandian.c

📁 基于51单片机或者ARM2131的电子小车的设计
💻 C
字号:
//2个光电传感器//2中断//
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int

sbit STK_CP1=P1^3;
sbit STK_DIR1=P1^2;

sbit STK_CP2=P1^1;
sbit STK_DIR2=P1^0;

bit youzhuan,zuozhuan;
uchar n1;
uint  n2;

void time0() interrupt 1
{	TR0=0;
	TH0=0xf8; TL0=0x30;		//2ms
	TR0=1;

	if(youzhuan==0)  
		STK_CP1=~STK_CP1;

   	if(zuozhuan==0)  
		STK_CP2=~STK_CP2;
		
	if(youzhuan==1)  
		{	n1++;
			if(n1==3)	//6ms
				{	n1=0;
					STK_CP1=~STK_CP1;
					n2++;
					if(n2==200)
						{	youzhuan=0;
							n2=0;
						}
			   	}
	  	}

   	if(zuozhuan==1)  
		{	n1++;
			if(n1==3)	//6ms
				{	n1=0;
					STK_CP2=~STK_CP2;
					n2++;
					if(n2==200)
						{	zuozhuan=0;
							n2=0;
						}
			   	}
	  	}
}

void int0() interrupt 0	
{	youzhuan=1;
	n1=0;
	n2=0;
	zuozhuan=0;
}

void int1() interrupt 2	
{	youzhuan=0;
	n1=0;
	n2=0;
	zuozhuan=1;
}	

main()
{	EA=0;
	TMOD=0x01;
	TH0=0xf8; TL0=0x30;		//2ms
	TR0=1; 		ET0=1;

	IT0=1;		EX0=1; PX0=1;
	IT1=1;		EX1=1; PX1=1;
	EA=1;
	
	STK_DIR1=1;		//电机方向
	STK_DIR2=0;
	while(1)
		{	TR0=1;	ET0=1; 
			TR1=1;	ET1=1;}				
}

⌨️ 快捷键说明

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