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

📄 soft_232.c

📁 噪音测试。该测量仪能能满足一般民用需要。具有数字显示
💻 C
字号:
#include <reg52.h>

#define UART2
sbit RX2_Pin=P3^3;   sbit TX2_Pin=P3^4;
U8 RX2_b_CT,rx2buf,TX2_b_CT,tx2buf,rx2buf0;   
#define  eRS_t  160     //9600bps @11.592Mhz 256-96; 

#ifdef UART2
//*****************************   Extend RS232 Comunication ***************
//软件仿真串口例程
/*利用51单片机外部中断1触发 一字节接收         同步时钟(T0)

void comUART2(void) interrupt 2 //using 2
{
	if(!RX2_Pin){ EX1=0;RX2_b_CT=10; RI2=0;  //if(TL0<(eRS_t+10)) TL0=eRS_t; 
	}
}
*/
void T0OUT(void) interrupt 1 using 2
{
//	TH1=255; TL1=eRS_t;
  if((RX2_b_CT==0)&&(!RX2_Pin))	RX2_b_CT=9;   //起始位到来
  else if(RX2_b_CT){                          //正在接收当中
	if(RX2_b_CT>1){
		rx2buf0>>=1; if(RX2_Pin)rx2buf0 |=0x80;RX2_b_CT--;
	}	
	else { RX2_b_CT=0;	RI2=1;  rx2buf=rx2buf0; }  //接收一字节数据结束
  }
  if(TX2_b_CT){			
	if(TX2_b_CT==10) { TX2_b_CT--;  TX2_Pin=0; }
	else  {
	  	tx2buf>>=1;  TX2_Pin=CY;  TX2_b_CT--;
		if(TX2_b_CT==0){ TI2=1;  TX2_Pin=1;  }	
	}
  }	
  timer0++;  timer1++; 
  if((RX2_b_CT==0)&&(!RX2_Pin))	RX2_b_CT=9; //再次探测是否有起始位到来
}
/*
void SendToPc(U8 dat){
//	U8 i;
	while(RX2_b_CT);
	while(!TF1); TX2=0;   TF1=0;tx2buf=dat; TX2_b_CT=8; while(!TF1);  //Start
//	for(i=8;i;i--){
//		dat>>=1;	TX2=CY;   TF1=0;while(!TF1);
//	}
//	TX2=1;  //EA=1;	//Over
}*/

#endif
/***********************end**************************/
main(){
	while(1){
		if(RI2){		//RI2=1   接收到1字节数据
						//添加您的程序
			//TX2_b_CT=10;  tx2buf=dat;   //发送一字节数据
		}
	}
}

⌨️ 快捷键说明

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