- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                单片机之间的串口通讯程序设计 
#include
#defineucharunsigne   dchar
#defineSLAVE0x00
#defineBN16
ucharidatatdata[16];
ucharidatardata[16];
bittrdy;
bitrrdy;
voidmain(void)
{
TMOD=0x20;//   定时器T1为模式2
TL1=0xfd;//定时器初值
TH1=0xfd;
PCON=0x00;
TR1=1;
SCON=0xf0;//串行口方式3
ES=1;EA=1;//开串行口中断
while(1){trdy=1;rrdy=1;}//准备好发送和接收
}
voidslave(void)interrupt4using1
{
voidstr(void);
voidsre(void);
uchara;
RI=0;//关串行口中断
ES=0;
if(SBUF!=SLAVE){ES=1;gotore   ti;}//非本机地址,继续监听
SM2=0;//取笑监听状态
SBUF=SLAVE;//发回从机地址
while(TI!=1);TI=0;
while(RI!=1);RI=0;
if(RB8==1){SM2=1;ES=1;gotoreti;}//确认地址不符,从机复位
a=SBUF;//接收命令
if(a==1){//从机接收主机的数据
if(rrdy==1)SBUF=0x01;//接收准备好,发回0x01
else
SBUF=0x00;
while(TI!=1);TI=0;
while(RI!=1);RI=0;
if(RB8==1){SM2=1;ES=1;gotoreti;}
sre();//接收数据
}
else
{
if(a==0x02)//从机向主机发送数据
{
if(trdy==1)SBUF=0x02;//发送准备好
else
SBUF=0x00;
while(TI!=1);TI=0;
while(RI!=1);RI=0;
if(RB8==1){SM2=1;ES=1;gotoreti;}
str();//发送数据
}
else
{
SBUF=0x80;//命令非法
while(TI!=1);TI=0;
SM2=1;ES=1;//恢复监听
}
}
reti:;
}
voidstr(void)//发送数据函数
{ucharp,i;
trdy=0;
do{p=0;//初始校验和为0
f   or(i=0;i{SBUF=tdata[i];//发送数据
p+=tdata[i];
while(TI!=1);TI=0;
}
SBUF=p;//发送校验和
while(TI!=1);TI=0;
while(RI!=1);RI=0;
}while(SBUF!=0);//主机接收不正确,重新发送
SM2=1;ES=1;
}
voidsre(void)//接收数据函数
{ucharp,i;
rrdy=0;
while(1)
{p=0;//初始化校验和为0
for(i=0;i{while(RI!=1);RI=0;
tdata[i]=SBUF;//接收数据
p+=rdata[i];
}
while(RI!=1);RI=0;
if(SBUF==p){SBUF=0x00;break;}//校验和相同,发00H
else{
SBUF=0xFF;while(TI!=1);TI=0;//校验和不同,发FFH,重新接收
}
}
SM2=1;ES=1;
}
                您可能关注的文档
最近下载
- 8. 电力系统小干扰稳定分析课件.ppt VIP
 - 2023年资料员资格考试题库答案下载.docx
 - 2025年工业5G终端设备发展报告-工业互联网产业联盟-44页.pdf VIP
 - 三年级上册道德与法治全册教学课件.pptx
 - 金太阳福建省2026届高三上学期10月联考含答案(9科试卷)1.pdf
 - 2025-2025学年人教新目标版八年级上册英语作文范文.docx VIP
 - 大学生人际交往(新)课件.ppt VIP
 - 【北京市】2016年 北京市建设工程计价依据 概算定额 房屋建筑与装饰工程(下册).pdf
 - 省重点项目信息管理系统运维服务方案投标文件(技术方案).doc
 - 四川省办渠道培训考核_DDEI试卷附答案.doc
 
原创力文档
                        

文档评论(0)