第六章__AT89系列单片机内部资源及应用.ppt

第六章__AT89系列单片机内部资源及应用.ppt

  1. 1、本文档共118页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章__AT89系列单片机内部资源及应用

从机程序如下(采用中断方式): #include reg52.h unsigned char numbercj,address,numberml,i; unsigned char bdata state; sbit RRDY=state^0; sbit TRDY=state^1; unsigned char trndata[16]={0,1,2,3,4,5,6,7,8,9,10,11, 12,13,14,15 }; unsigned char revdata[16]; main ( ) { TMOD=0X20; PCON=0; TH1=0XF4; TL1=0XF4; TR1=1; SCON=0XF0; while(1); } uart ( ) interrupt 4 using 1 { if (RI==1) {RI=0; if (RB8==1) { numbercj=SBUF; if (numbercj==address) {SBUF=numbercj ; //反馈丛机地址 SM2=0; state=0;} } else {if (RRDY==0) { numberml=SBUF; if(numberml==0){ RRDY=1; TRDY=0; SBUF=state; } else{TRDY=1; RRDY=0; SBUF=state; } } else {for(i=1;i=16;i++) { while (RI==0); RI=0; trndata[i]=SBUF; } SM2=1; RRDY=0; } } } else { TI=0; if (TRDY==1) { for(i=1;i=16;i++) { TB8=0; SBUF=trndata[i]; while(TI==0); TI=0; } SM2=1; TRDY=0; } } } 6.4.6 RS-422、RS-485标准串行总线接口 1. RS-422标准接口 RS-422A的最大传输距离是300m,传输速度为10Mbps, 在低速方式下,最大传输距离可达1200m。 RS-422接口电路如图6-30所示, 75174完成TTL电平到RS-422A电平转换,经过数据线传输, 75175把接收到的RS-422A电平转换为TTL电平输出。 图6-30 RS-422接口电路 2. RS-485标准接口 TTL电平到RS-485电平转换,一般使用芯片MC3487转换, RS-485电平到TTL电平转换,使用芯片MC3486转换。 6.4.7 串行通信应用举例 1.移位寄存器方式应用 例6-10 串行口方式0输出扩展并行口。 如图6-32所示,串行口外接两片74LS164,编程使得 0#74LS164的输出端并行输出存储单元30H单元数据, 1#74LS164的输出端并行输出存储单元31H单元数据。 图6-32 串行口扩展16位并行输出电路 MOV SCON,#00H ;设置串行口工作于方式0 MOV R0,#30H MOV R2,#02H CIRCU:MOV A,@R0 ;先发送30H单元数据 MOV SBUF,A ;数据送入串口发送缓冲器,启动串口发送 WAIT:JNB TI,WAIT ;等待数据发送结束 CLR TI INC R0 DJNZ R2,CIRCU C51程序如下: #include reg52.h #define uchar unsigned char #include absacc.h #define d

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档