你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> 89C52单片机串行通信编程两则

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

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

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

#include

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

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

Baidu
map