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

📄 step heixian_hao_hao2.c

📁 基于51单片机或者ARM2131的电子小车的设计
💻 C
字号:
//中断扩展
#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;

sbit p14=P1^4;
sbit p15=P1^5;

sbit p32=P3^2;
sbit p33=P3^3;

bit  	youzhuan=0,zuozhuan=0;
uchar 	n;
	
void time0() interrupt 1	//电机1
{	if(youzhuan==1)
		{	TR0=0; TH0=0xe2; TL0=0xb4;	TR0=1;	//7.5ms
			n++;
			if(n==200)	//1/4
				{	n=0;
					youzhuan=0;				
				}
		}
	else
		{	TR0=0; TH0=0xec; TL0=0x78; TR0=1;	//5ms
		}					
	STK_CP1=~STK_CP1;
}

void time1() interrupt 3	//电机2
{	if(zuozhuan==1)
		{	
			TR1=0; TH1=0xe2; TL1=0xb4;	TR1=1;	//7.5ms
			n++;
			if(n==200)
				{	n=0;
					zuozhuan=0;				
				}
		}
	
	else
		{	TR1=0; TH1=0xec; TL1=0x78; TR1=1;	//5ms
		}					
	STK_CP2=~STK_CP2;
}

void int1() interrupt 2	
{	if( (p14==0) && (p15!=0) )		//不能同时为低
		{	youzhuan=1;	
			zuozhuan=0;
			n=0;	
		}
	else if( (p14!=0) && (p15==0) )		//不能同时为低
		{	youzhuan=0;
			n=0;
			zuozhuan=1;
		}
	else if( (p14==0) && (p15==0) )	
	 	{	youzhuan=0;	
			zuozhuan=0;
			n=0;
		 }
}

main()
{	EA=0;
	TMOD=0x11;
	TH0=0xec;	TL0=0x78;	//5ms
	TR0=1; 		ET0=1;

	TH1=0xec;	TL1=0x78;	//5ms
	TR1=1; 		ET1=1;
	
	IT1=1;		EX1=1;		PX1=1;
	EA=1;
	STK_DIR1=0;
	STK_DIR2=1;
	while(1);		
}

⌨️ 快捷键说明

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