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

📄 main.c

📁 该程序可连接51单片机和pc机的通讯
💻 C
字号:
  #include<reg51.h>
	 void PutStr_LCD(unsigned char *str);
void Init_LCD(void);
 int kb_input(void);
 void PutStrXY_LCD(unsigned char x, unsigned char y, unsigned char *str);
 void PutIntXY_LCD(unsigned char x, unsigned char y, unsigned Num);

//void PutNumXY_LCD(unsigned char x, unsigned char y, unsigned Num, unsigned char Len);
//void WriteCommand_LCD(unsigned char Code);
//v//oid SetPos_LCD(unsigned char x, unsigned char y);

 void send_char(unsigned char Dat)
 {SBUF=Dat;
 while(TI==0);
 TI=0;
 }
  void send_frame(unsigned char to_pc[32])
  {
	  int i=0;
	  send_char(0);
	  for(i=0;i<32;i++)
	  {send_char(to_pc[i]);
	  }
  }

 void set_siaral_mode(void)//19200
 { 
 TMOD=0x20;
 //TH1=0xfd;
 //TL1=0xfd;	 //19200
 //	TH1=0xfa;
//	TL1=0x00;//9600

 	TH1=0xfa;
	TL1=0xfa;//9600baund  11.0592Mhz

 PCON |= 0x80;
 SCON=0x50;
  TR1=1;
 }

void set_interrupt(void)
{
EA=1;
ES=1;
IT1=1;
REN=1;
PS=1;
}
unsigned  receive_buffer[32];	 
 int buffer_index=0;
 void init_receive_buffer(void)
 {
 int i=0;
 for(i=0;i<32;i++){receive_buffer[i]=' ';}
 }
 void clear_receive_buffer(void)
 {	  int i=0;
 for(i=0;i<32;i++)receive_buffer[i]=' ';
 }
void receive(void) interrupt 4 using 0
{ unsigned  temp;	

  if(RI)
  {
 temp=SBUF;
 receive_buffer[buffer_index]=temp;
   buffer_index++;
   if(buffer_index==32){
   Init_LCD();

  // PutStr_LCD(receive_buffer);
PutIntXY_LCD(0, 0, receive_buffer[0]);
PutIntXY_LCD(0, 1, receive_buffer[31]);
   buffer_index=0;
   clear_receive_buffer();
  // m_delay(300);
   //Init_LCD();
   }
	 }

    RI=0;
}
  void main(void)
  {			 int i=0;
unsigned char out_buffer[32];
for(i=0;i<32;i++)out_buffer[i]=i;
init_receive_buffer();
Init_LCD();
set_siaral_mode();
set_interrupt();

//send_frame(out_buffer);	
for(i=0;i<32;i++)send_char('i');
	
Init_LCD();	
PutStr_LCD("oghjgk");	
while(1);

  }

⌨️ 快捷键说明

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