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

📄 com.h

📁 这是本自己写的一个关于STC12C5412AD的IAP测试程序源码
💻 H
字号:
/************************************************************/
/*********          COM.H C51 driver            *************/
/**********  Written by WangBiao---20060824  ****************/
/************************************************************/
//P3_0->RXD  ;;  P3_1->TXD
//-----------------------------------------------------------------------
//bit read_flag=0;//for ES interrupt
//-----------------------------------------------
//unsigned char Get_Data;//for interrupt get data
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//-----------------------------------------------------------------------
//-----------------------外部函数----------------------------------------
void Init_Com(void);
void SendChar(unsigned char InData);
void SendString(unsigned char *ptr);
void SendHexChar(unsigned char n);
void SendNumb(unsigned int n,unsigned char number_bit);
void CT(void);//chang tab==enter
//unsigned char Rece_Wait(void);//wait until the RI=1;
//unsigned char Rece_Timer(void);//wait for RI=1 for a little time;
//void Serial() interrupt 4 using 3;//ES interrupt,set read_flag
//-----------------------------------------------------------------------
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
//-----------------------------------------------------------------------
//--------------------------------------------------------------------
void Init_Com(void) 
{
	TMOD=0x20; //定时器1,方式2
	TL1=0xFD; 
	TH1=0xFD; //11.0592MHZ晶振,波特率为9600
	PCON=0x00;
	SCON=0x50; //方式3
	TR1=1; //启动定时
}
//------------------------------------------------------------------
//发送一个字节
//------------------------------------------------------------------
void SendChar(unsigned char InData) 
{	 	
	SBUF=InData;
	while(TI!=1);TI=0;
}
//------------------------------------------------------------------
//发送一串字符

//------------------------------------------------------------------
void SendString(unsigned char *ptr)
{	
	unsigned char i,l=0;
	while(ptr[l]>31) l++;//get length
	for(i=0;i<l;i++) SendChar(*(ptr+i));
}
//-------------------------------------------------------------------
//发送一组数字,位数可变
//--------------------------------------------------------------------------
void SendNumb(unsigned int n,unsigned char number_bit)
{	
	unsigned char digi[5];
	unsigned char i;

	digi[0]=n/10000%10;
	digi[1]=n/1000%10;
	digi[2]=n/100%10;
	digi[3]=n/10%10;
	digi[4]=n%10;

	for(i=0;i<number_bit;i++) SendChar(digi[5-number_bit+i]+0x30);
}
//-------------------------------------------------------------------
//-------------------------------------------------------------------
void SendHexChar(unsigned char n)
{	
	unsigned char h,l;

	SendChar('0');SendChar('x');

	h=(n&0xf0)>>4;if(h>9) h+=0x57;else h+=0x30;
	l=(n&0x0f);if(l>9) l+=0x57;else l+=0x30;
	SendChar(h);SendChar(l);

	SendChar(',');
}
//-------------------------------------------------------------------

//回车、换行
//-------------------------------------------------------------------
void CT(void)
{	
	SendChar(0x0d);SendChar(0x0a);
}
//--------------------------------------------------------------------
/*
//查询接收(一直查询)
//--------------------------------------------------------------------
unsigned char Rece_Wait(void)//wait until the RI=1;
{   unsigned char a;
	while(RI!=1);
	RI=0;
	a=SBUF;
	return(a);
}
//--------------------------------------------------------------------
//查询接收(查询一段时间)
//--------------------------------------------------------------------
unsigned char Rece_Timer(void)//wait for RI=1 for a little time;
{   unsigned char a=0;
	unsigned int i;
	for(i=0;i<100;i++)
	{	if(RI) 
		{	RI=0;
			a=SBUF;
			break;
		}
	}
	return(a);
}
//--------------------------------------------------------------------
//中断接收(置标志位read_flag)
//--------------------------------------------------------------------

void Serial() interrupt 4 using 3
{
	ES=0;
	if(RI)
	{	RI=0;
		Get_Data=SBUF;
		read_flag=1; 
	}
	ES=1;
}
*/
//----------com end---------------------------------------------------
  

⌨️ 快捷键说明

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