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

📄 to_pc.c

📁 单片机操作串口
💻 C
字号:
 #include<reg52.h>
 #define uchar unsigned char
 #define uint unsigned int
 uchar rebyte=0;
idata uchar chint;  //通信定义
bit flag_232C;
bit flag_COM;
bit cf;//校验标志位
bdata ab;
sbit abit0=ab^0;sbit abit1=ab^1;sbit abit2=ab^2;sbit abit3=ab^3;
sbit abit4=ab^4;sbit abit5=ab^5;sbit abit6=ab^6;sbit abit7=ab^7;
/*---------------------------------------------------------*/
/*----------------------------------------------------*/
void initial(void)   //~~系统初始化
{
  TMOD=0X20;
  SCON=0x50;
  TH1=0xf3;
  SBUF=0;
  TR1=1;
}

/*********************************************************/
void SCON_int(void) interrupt 4 using 3 //串行口中断
{
//uchar status;
if(RI){
   chint=SBUF;
   flag_232C=1;
   RI=0;
   }
if(TI)TI=0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void save_buff(uchar *buff,uint n1)   //~~存储接收的数据
{
data char *p;
data uint base,n;
p=buff;
n=n1; //ip=*(p+14);    //ip1;
base=0x20+((n-1)<<4);
//write_nbyte24(base,p);   //,16);
//write_abyte24(base+14,ip);
//write_abyte24(base+15,0x55);
}
/*---------------------------------------*/
void tra_buff(char da) //~~传送数据
{
 ACC=da;
 cf=P;
 //取校验位 偶校验
 //abit7=P;  7位数据
 // cf=~cf;
 ab=da;
 abit7=cf;
 SBUF=ab;
}
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~```
 void delay10(uchar j)    /*  time=j*10+7  延时*/
{
uchar ch;
    while(j--)
    {
    ch++; ch++;
    }
    /*
    _nop_();
     _nop_();};
     */
}
/*******************************************/
void main(void)
{
  uchar td=0x58;
  initial();
  while(1)
     {
      loop:
      tra_buff(td);
      while(1)
        {
         if(TI==1)
         {
          TI=0;
          goto loop;
         }
        }
      }
}

⌨️ 快捷键说明

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