下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 单片机与单片机串口通讯程序

单片机与单片机串口通讯程序.doc

单片机与单片机串口通讯程序

周君萍
2017-11-16 0人阅读 举报 0 0 暂无简介

简介:本文档为《单片机与单片机串口通讯程序doc》,可适用于综合领域

单片机与单片机串口通讯程序#include<regh>#defineucharunsignedchar#defineSLAVEx#defineBNucharidatatdataucharidatardatabittrdybitrrdyvoidmain(void){TMOD=x定时器T为模式TL=xfd定时器初值TH=xfdPCON=xTR=SCON=xf串行口方式ES=EA=开串行口中断while(){trdy=rrdy=}准备好发送和接收}voidslave(void)interruptusing{voidstr(void)voidsre(void)ucharaRI=关串行口中断ES=if(SBUF!=SLAVE){ES=gotoreti}非本机地址继续监听SM=取笑监听状态SBUF=SLAVE发回从机地址while(TI!=)TI=while(RI!=)RI=if(RB==){SM=ES=gotoreti}确认地址不符从机复位a=SBUF接收命令if(a==){从机接收主机的数据if(rrdy==)SBUF=x接收准备好发回xelseSBUF=xwhile(TI!=)TI=while(RI!=)RI=if(RB==){SM=ES=gotoreti}sre()接收数据}else{if(a==x)从机向主机发送数据{if(trdy==)SBUF=x发送准备好elseSBUF=xwhile(TI!=)TI=while(RI!=)RI=if(RB==){SM=ES=gotoreti}str()发送数据}else{SBUF=x命令非法while(TI!=)TI=SM=ES=恢复监听}}reti:}voidstr(void)发送数据函数{ucharp,itrdy=do{p=初始校验和为for(i=i<BNi){SBUF=tdatai发送数据p=tdataiwhile(TI!=)TI=}SBUF=p发送校验和while(TI!=)TI=while(RI!=)RI=}while(SBUF!=)主机接收不正确重新发送SM=ES=}voidsre(void)接收数据函数{ucharp,irrdy=while(){p=初始化校验和为for(i=i<BNi){while(RI!=)RI=tdatai=SBUF接收数据p=rdatai}while(RI!=)RI=if(SBUF==p){SBUF=xbreak}校验和相同发Helse{SBUF=xFFwhile(TI!=)TI=校验和不同发FFH重新接收}}SM=ES=}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/4

单片机与单片机串口通讯程序

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利