serialint.h

来自「用proteus仿真」· C头文件 代码 · 共 82 行

H
82
字号
#include <absacc.h>
#include <intrins.h>
#include <reg51.h>
#define uchar unsigned char
#define  uint unsigned int

#define Number 16 
uchar  inbuf1[10]="密码设置";
unsigned char count;
bit  read_flag=0;
bit  receive=0;


void Serialint()
{
    SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
    TMOD  = 0x20;       //TMOD: timer 1, mode 2, 8-bit reload 
    PCON  = 0x80;       //SMOD=1; 
    TH1   = 0xF3;       //Baud:4800  fosc=12.0MHz 
    TL1   = 0xF3;     
    TR1   = 1;          // timer 1 run 
    IE    = 0x95; 
}

void send_char_com(unsigned char ch)  
{
    SBUF=ch;
    while(TI==0);
    TI=0;
}



void send_string_com(unsigned char *str,unsigned int strlen)
{
    unsigned int k=0;
    do 
    {
        send_char_com(*(str + k));
        k++;
    } while(k<strlen);
}



void serial() interrupt 4 using 3 
{  uchar ch,i;
   if(RI)
     { 
        RI=0;
        ch=SBUF; 		 
  		if(ch=='{')
  		   receive=1; 
  		else    			
		{
		if(ch=='}')  
		  {	
		  if(count<Number)  
			{
		      for(i=count;i<Number;i++)
			    inbuf1[i]=32;
			  read_flag=1;
		      receive=0;
		      count=0;				
			}
		  }
		else
           if(receive==1)
		     {
			  inbuf1[count++]=ch; 
			  send_char_com(ch); 
			  if(count==Number)	
      		    {
             	 count=0;
			 	 receive=0;
             	 read_flag=1;
                }			
		      }
		 }
     } 

}

⌨️ 快捷键说明

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