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

📄 main.c

📁 监控摄像头云台的单片机89C51坏了,用自编程序写入芯片,功能完全一样
💻 C
字号:
//main.c

#include <reg51.h>
#include <comtest1.h>
sbit IIP=P2^5;
sbit IN=P2^4;
sbit FP=P2^7;
sbit FN=P2^6;
sbit ZP=P3^7;
sbit ZN=P3^6;
sbit UP=P1^1;
sbit DOWN=P1^0;
sbit LEFT=P1^3;
sbit RIGHT=P1^2;
sbit AUTO=P1^4;
sbit LED=P1^7;
void com_init(unsigned int baud_rate);
int ReadConvert(char tunnel);
extern unsigned char databuf[FIELD_MAXBUF];
//bit bCommAct;
#define POINTNMB 7
int delay(int iTime)
{
	
	while(iTime--)
	{
	if(databuf[0]==POINTNMB) break;
	}

	return iTime;
}

void main(void){
int iInData;
unsigned char aa;
//for (i=0;i<FIELD_MAXBUF;i++)databuf[i]=i+0x30;
com_init(9600);
//bCommAct=0;
AUTO=1;
databuf[0]=0xff;
	while(1){
	/*可以处理非串口任务*/
 	while(databuf[0]!=POINTNMB)
	{
			LED=!LED;
			if(delay(0xfff)!=0xffff) break;
			P1|=0x0f;
			P2|=0xf0;
			P3|=0xc0;
			if(delay(0x4fff)!=0xffff) break;
	}
	EA=0;
	if(databuf[1]==0x80)
{
	switch(databuf[2])
	{
	case 0x10:	
		IN=1;
		IIP=0;
		break;
	case 0x11:
		IIP=1;
		IN=0;
		break;
	case 0x12:
		ZN=1;
		ZP=0;
		break;
	case 0x13:
		ZP=1;
		ZN=0;
		break;
	case 0x14:
		FN=1;
		FP=0;
		break;
	case 0x15:
		FP=1;
		FN=0;
		break;
	case 0x0e:
		P1|=0x1f;
		AUTO=0;
	}//switch
	}//databuf[0]=0x80
if(databuf[1]==0xc0)
	{
		AUTO=1;
		aa=databuf[2];	
		if((aa&0x70)>0x50)
		{
		if(aa&0x80)
		{
		UP=1;
		DOWN=0;
		}
		else
		{
		DOWN=1;
		UP=0;
		}
		}//	if((aa&0x70)>0x60)
		if((aa&0xf)>5)
		{
			if(aa&8)
			{
			LEFT=1;
			RIGHT=0;
			}
			else
			{
			RIGHT=1;
			LEFT=0;
			}
		}//if((aa&0xf)>6)
	}//databuf[1]=0xc0
	
	databuf[0]=0xff;
	EA=1;
		}//while
}

⌨️ 快捷键说明

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