send.c

来自「AT89C51的RS232收发程序」· C语言 代码 · 共 59 行

C
59
字号
#include < reg52.h >
#include < stdio.h >
#define LENGHT 30
unsigned char c;
bit recive,trance; 
void print(char *P)
{
    while ((*P != 0x0a)&&(*P!= 0x0d))
     {
	    SBUF = *P;
		while ( trance == 0 );
		 trance = 0 ;
		 P++;
	  }
	  SBUF = *P ;
	while ( trance == 0 );
	 trance = 0 ;
 }
	
 void main()
  {
    unsigned char b;
	unsigned char dis_play[LENGHT];
	SCON = 0x50 ;
	TMOD |=0x20;
	PCON |= 0x80;
	TH1  = 0xff;
	TR1  = 1;
	EA = 1 ;
	ES = 1 ;
	recive = 0;
	trance = 0 ;
	c = b;
	while ( 1 ) 
	   {
         while ( b < LENGHT )
		   {dis_play[b] = 0 ; b++;}
		  c = 0 ;
		  b = 0 ;
		  while (( c != 0x0a ) || ( c != 0x0d ))
		    {
			 while ( recive == 0 );
			  recive = 0 ;
			  if (( c >= 0x20 ) && ( c <= 0x7f ))
			     { dis_play[b] = c ; b++ ; }
			}
		  if (( c == 0x0a ) || ( c == 0x0d ))
		    {
			 dis_play[b] = c;
			 print(dis_play);
			}
	   }
  }
void serial(void) interrupt 4
{
  if ( TI == 1 ) { TI = 0 ; trance = 1 ;}
  if ( RI == 1 ) { c = SBUF ; RI = 0 ; recive = 1 ;}
}

⌨️ 快捷键说明

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