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

📄 rs485rxd.c

📁 基于51单片机
💻 C
字号:
 /***********************************************
                从机
**********************************************/
#include<reg52.h>
#define uchar unsigned char
sbit led = P1^2;
sbit EN = P1^1;
uchar uart_table[]={0
}; 


void serial () interrupt 4   //接收采用中断
{
   if(RI)
    {  
       uchar uart_data,i,k;
       static uchar num = 0;
       RI=0;
       uart_data=SBUF;
       led = 0;         //接受点亮灯 
       if(num  == 0)
      {
          k=uart_data;      //字节长度处理
       for(i=0;i<k;i++)
        {
          uart_table[i]=0;  //初始化数组
         }
      } 
        else
       {   
       uart_table[num] = uart_data;  //开始接受字节
       }
       num++;  
       if(k == num)                 //字节接受完毕
      {
           EA=0;        //close the uart interrupt
      }                  
      }     
}



void main (void) 
{

    SCON = 0x50;       /* uart in mode 1 (8 bit), REN=1 */
    TMOD = TMOD | 0x20 ;         /* Timer 1 in mode 2 */
    TH1  = 0xFD;                 /* 9600 Bds at 11.059MHz */
    TL1  = 0xFD;        /* 9600 Bds at 11.059MHz */
    IE =0x90;
    TR1 = 1;                     /* Timer 1 run */
    EN = 0;                        /* RS-485 enable,'0'--RX enable; '1'--TX disable */
    led = 1;
    while(1);
 }
   

⌨️ 快捷键说明

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