你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> 技术中心 >> 单片机入门 >> 89C52单片机串行通信编程两则

89C52单片机串行通信编程两则

关键字:89C52 单片机 串行通信 编程 作者:admin 来源:不详 发布时间:2018-05-18  浏览:5

1.当89C52串行口按工作方式1进行串行数据通信时,假定波特率为1 200b/s,以中断方式传送数据,请编写全双工通信程序。

#include <at89x52.h>

unsigned char data txbuf;

unsigned char data rebuf;

 

void main()

{

unsigned char temp;

SCON=0x50;

TMOD=0x20;

TH1=0xE8;

TL1=0xE8;

TR1=1;

ES=1;

EA=1;

}

 

void comre()

{

    rebuf=SBUF;

}  

 

void comtx()

{

    SBUF=txbuf;

}   

 

void serial_server() interrupt 4              

{

       if(TI)                    

           TI=0;

       else                      

       {

           RI=0;

           comre();                      

       }

}

 

2.当89C52串行口按工作方式3进行串行数据通信时,假定波特率为1 200b/s,第9位数据作奇偶校验位,以中断方式传送数据,请编写通信程序。

#include <at89x52.h>

unsigned char data txbuf;

unsigned char data rebuf;

 

void main()

{

unsigned char temp;

SCON=0xd0;

TMOD=0x20;

TH1=0xE8;

TL1=0xE8;

TR1=1;

ES=1;

EA=1;

}

 

void comre()

{

    ACC=SBUF;

    if(RB8==P)

        rebuf=ACC;

    else

        error();

}  

 

void comtx()

{

    ACC=txbuf;

SBUF=ACC;

    TB8=P;

}   

 

void serial_server() interrupt 4              

{

       if(TI)                    

           TI=0;

       else                      

       {

           RI=0;

           comre();                      

       }

}

 

void error()

{

    F0=1;

}


编辑:admin  最后修改时间:2018-05-18

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4