×
单片机 > 单片机程序设计 > 详情

51单片机(AT89C52)串口收发程序

发布时间:2020-06-01 发布时间:
|

#include  

#define uchar unsigned char  

uchar rtemp,sflag;  

void SerialInit()   //11.0592M晶振,波特率9600  

{  

    TMOD=0x20;  //设置定时器1工作方式为方式2  

    TH1=0xfd;  

    TL1=0xfd;  

    TR1=1;      //启动定时器1  

  

    SM0=0;      //串口方式1  

    SM1=1;  

    REN=1;      //允许接收  

    PCON=0x00;  //关倍频  

    ES=1;       //开串口中断  

    EA=1;       //开总中断  

}  

void SerialService() interrupt 4  

{  

    if(RI==1)  

    {  

        RI=0;  

        rtemp=SBUF; //读缓冲区  

        sflag=1;  

    }  

}  

void main()  

{  

    SerialInit();  

    while(1)  

    {  

        if(sflag==1)  

        {  

            ES=0;   //发送期间关闭串口中断  

            sflag=0;  

            SBUF=rtemp;  

            while(!TI);  

            TI=0;  

            ES=1;   //发送完成开串口中断  

        }  

    }     

}  

关键字:51单片机  AT89C52  串口收发 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何为单片机选择合适的负载电容