- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理及应用清华版课件
3.串行通信编程举例 #include c8051f020.h #include string.h char s[]=“C8051F020 Serial Communication”; char bdata c; sbit c7=c^7; void main(void) { char a,b=0; T2CON=0x14; //T2作发送波特率发生器,TCLK0=1,TR2=1 SCON0=0x40; //SM20=SM00=0,SM10=1,REN0=0; RCAP2H=0xff; RCAP2L=0xdc; a=strlen(s); 3.串行通信编程举例 for(;ba;b++) { c=s[b]; ACC=c; //形成校验位 c7=P; //最高位作校验位 SBUF0=c; while(!TI0); TI0=0; } } 方式2、3中也可以使用TB8、RB8作校验位,请自己练习! 例4.9 A机和B机进行点对点通信 A机开始发送时,先发送AA联络信号, B机收到后回答一个BB信号,表示同意接收。 A机收到BB信号后开始发送数据,每发送一个字节便求一次累加校验和。 假定数据块长度为16字节,数据缓冲区首地址为BUF,数据发送完后马上发送校验和。 B机接收数据并将其存入BUF为首地址的缓冲区,每收到一字节也计算一次校验和,当收齐数据块后,再接收A机发来的校验和,并将其与自己计算出来的校验和进行比较。若二者相等,则说明接收正确,B机回答00H;否则说明接收不正确,B机回答FFH,请求重发。 A机收到00H的回答后,结束发送。否则将数据再重发一次。 双方约定的波特率为1200,SYSCLK=11.0592MHz,用定时器T1作波特率发生器,取T1M=0、SMOD0=0。 例4.9 A机和B机进行点对点通信 AA 数据(16字节) 校验和 BB 数据(16字节) 校验和 00/FF A机 B机 数据(16字节) 校验和 例4.9 A机和B机进行点对点通信 #include c8051f020.h #define uchar unsigned char #define TR 1 //发送、接收控制变量,0发送、1接收 uchar idata buf[16]; //发送、接收缓冲区 uchar pf; //校验和 void init(void) //初始化函数 { TMOD=0x20; //定时器T1方式2,作波特率发生器 TH1=0xe8; TL1=0xe8; PCON=0x00; TR1=1; SCON0=0x50; //UART0方式1、REN0=1 } 例4.9 A机和B机进行点对点通信 void send(uchar idata *d) //发送函数 { uchar i; do { SBUF0=0xAA; //发送联络信号 while(!TI0); TI0=0; while(!RI0); RI0=0; }while((SBUF0^0xBB)!=0); //直到对方同意接收 do{ pf=0; for(i=0;i16;i++) { SBUF0=d[i]; //发送一字节 pf+=d[i]; //计算校验和 while(!TI0); TI0=0; } 例4.9 A机和B机进行点对点通信 SBUF0=pf; //发送校验和 while(!TI0); TI0=0; while(!RI0); //等待对方回应 RI0=0; }while(SBUF0!=0); //直到对方回应00,否则重发 } void receive(uchar idata *d) //接收函数 { uchar i; do { while(!RI0); RI0=0; }while((SBUF0^0xAA)!=0); //接收发送请求 SBUF0=0XBB; //回送应答 while(!TI0); TI0=0; 3.特殊功能寄存器PCON 位7(SMOD0):UART0波特率系数控制位 0:UART0的波特率不加倍。 1:UART
您可能关注的文档
- 六年级美术生命的甘露ppt课件_2.ppt
- 六年级美术上册第6课让剪影动起来ppt课件1 新人教版.ppt
- 六年级英语上册Unit3Getting Ready for a Tripppt课件 闽教版.ppt
- 六年级英语上册第三单元ppt课件.ppt
- 六年级语文4生命奏鸣曲1模版ppt课件.ppt
- 六年级英语下册UNIT4ANIMALSLESSON10 课件 闽教版.ppt
- 六年级英语下册UNIT2HELPINGEACH OTHER LESSON3 课件 闽教版.ppt
- 六年级语文8《爱之链》ppt课件苏教版.ppt
- 六年级语文上册419《生命的意义》ppt课件上海版(五四制).ppt
- 六年级语文《宇宙生命之谜》课堂演示ppt课件.ppt
- 南丰县第一中学高中语文61兼爱ppt课件新人教版选修《先秦诸子选读》课件.ppt
- 单车环岛从南部出发的话必吃不可的美食课件.ppt
- 南京市高淳县外国语学校七年级政治上册第一课第二课时创建新集体ppt课件 新人教版.ppt
- 南大《新媒体传播与应用》ppt课件三网络传播的总体特征.ppt
- 南方新课堂2016-2017学年高中语文61兼爱ppt课件 新人教版选修《先秦诸子散文》.ppt
- 南华大学计算机科学与技术学院数字媒体导论ppt课件第四章数字动画技术.ppt
- 南方版五年级下册《第十课我的空间》课件.ppt
- 南方版六年级下册《第八课走近机器人》课件.ppt
- 南方版六年级下册《第十一课机器人行走》课件.ppt
- 卡通贝贝手拉手课件.ppt
文档评论(0)