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

📄 main.txt

📁 STC12c5a60s2双串口通信
💻 TXT
字号:
#include <reg51.h>
#include "string.h"
//=======================================
#define U8 unsigned char
#define U16 unsigned int
#define open 0
#define close 1
//========================================
U8 flag=0;
U8 tab[50];
U8 c=0;
//=======================================
sbit relay_0=P0^0;
sbit relay_1=P0^1;
sbit relay_2=P0^2;
sbit relay_3=P0^3;
sbit relay_4=P0^4;
sbit relay_5=P0^5;
sbit relay_6=P0^6;
sbit relay_7=P0^7;
sbit relay_8=P2^0;
sbit relay_9=P2^1;
sbit relay_10=P2^2;
sbit relay_11=P2^3;
sbit relay_12=P2^4;
sbit relay_13=P2^5;
sbit relay_14=P2^6;
sbit relay_15=P2^7;
//========================================
U8 code *cmd1="open com1";
U8 code *cmd2="open com2";
U8 code *cmd3="open com3";
U8 code *cmd4="open com4";
U8 code *cmd5="open com5";
U8 code *cmd6="open com6";
U8 code *cmd7="open com7";
U8 code *cmd8="open com8";
//========================================
//========================================
void com_init(){
  EA=1;
  TMOD=0x20;
  SCON=0X50;
  TH1=0xfa;
  TL1=0xfa;
  TR1=1;
  ES=1;
}
//=======================================
void putch(U8 dat){
    if(dat=='\n'){
		SBUF='\r';
		while(TI==0);
		TI=0;
	}
	SBUF=dat;
	while(TI==0);
	TI=0;
}
//=========================================
void printf(U8 *p){
   while(* p!='\0')putch(*p++);
}
//======================================
void com_ser() interrupt 4{
	U8 a=0; 
	if(RI==1){		
	   a=SBUF;
	   	 RI=0;
	   if(a=='\b'){
		 if(c>0){
		   c=c-1;
		   putch('\b');
		   putch(' ');
		   putch('\b');
		 }
	   }else if(a=='\r'){
		   tab[c]='\0';
		   putch('\n');
		   flag=1;
		   
	   }else if(a=='\n'){

	   }else{
		   tab[c++]=a;
		   putch(a);
	   }
	   
	}
}
//======================================== 
void check(U8 *str){
   if(strcmp(cmd1,str)==0)	   {printf("OK 1\n"); relay_0=open;}
   else if(strcmp(cmd2,str)==0){printf("OK 2\n"); relay_1=open;}
   else if(strcmp(cmd3,str)==0){printf("OK 3\n"); relay_2=open;}
   else if(strcmp(cmd4,str)==0){printf("OK 4\n"); relay_3=open;}
   else if(strcmp(cmd5,str)==0){printf("OK 5\n"); relay_4=open;}
   else if(strcmp(cmd6,str)==0){printf("OK 6\n"); relay_5=open;}
   else if(strcmp(cmd7,str)==0){printf("OK 7\n"); relay_6=open;}
   else if(strcmp(cmd8,str)==0){printf("OK 8\n"); relay_7=open;}
   else printf("undefine com");
}
//========================================
//========================================
void main(){	
	com_init();	
	while(1){
	if(flag==1){
		 check(tab);
		 c=0;
		 flag=0;
	  }
	}	  	
}

⌨️ 快捷键说明

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