欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    点对点串行通信.ppt

    • 资源ID:78659381       资源大小:438.50KB        全文页数:33页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    点对点串行通信.ppt

    实验9 点对点串行通信 实验9 点对点串行通信 一、实验目的一、实验目的二、实验设备与器材二、实验设备与器材三、实验电路三、实验电路 四、实验内容、过程及要求四、实验内容、过程及要求 实验9 点对点串行通信 一、实验目的一、实验目的(1)理解串行通信概念。(2)掌握MCS-51串行通信口的初始化方法、步骤。(3)掌握串行发送、接收程序的编写方法。理解串行通信波特率误差允许范围。实验9 点对点串行通信 二、实验设备与器材二、实验设备与器材仿真器及其附件、图1所示的实验电路板各两套,RS-232串行通信电缆一条,导线数条。实验9 点对点串行通信 三、实验电路三、实验电路按实验7的要求设置实验板上跳线,将JP105、JP106的1-2引脚短路,用RS-232电缆或导线将第一块实验电路板的TXD(发送端)引脚与第二块电路板的RXD(接收端)引脚连在一起,第一块实验电路板的RXD(接收端)引脚与第二块电路板的TXD(发送端)引脚连在一起;再用导线将两块电路板地线连在一起(用RS-232通信电缆连接时,两块实验电路板地线已通过DB9插座的第5引脚连在一起),这样就形成了没有联络信号的串行通信方式。实验9 点对点串行通信 四、实验内容、过程及要求四、实验内容、过程及要求1串行通信格式的约定(1)波特率(CPS)为4800。假设晶振频率为11.0592MHz,使用定时器T1溢出率作发送、接收波特率,则定时器T1重装初值C=0FAH(不倍增)。(2)数据长度为9位,其中b7b0为数据位,b8为奇偶校验位。(3)采用偶校验方式,即传送的8位数据中含有奇数个“1”时,校验位为1。实验9 点对点串行通信 2没有协议的单字节收/发对于单字节串行收/发来说,无需约定通信协议,完成了串行口初始化后,即可通过写串行输出缓冲寄存器SBUF,启动串行发送;当接收有效标志RI置1时,就表示已接收了一字节的数据信息。试在实验7的基础上,增加单字节串行通信功能,使程序具备在任一实验板上按下某一按键时,两块板同时显示被按下的键名。下面给出了与串行通信有关的程序段,完整程序由读者编写。实验9 点对点串行通信;初始化定时器T1(将定时器T1的溢出信号作串行通信波特率发生器输入信号)MOVTL1,#250;4800波特率对应定时器初值MOVTH1,#250ANLTMOD,#0F0HORLTMOD,#00100000B;定时器T1工作在方式2(8位自动重装初值)SETBTR1;启动定时器T1CLRET1;禁止T1中断;初始化串行口实验9 点对点串行通信 MOVSCON,#11010000B;串行口工作在方式3,SM2=0,以便用TB8位;作奇偶校验位;SETBREN;允许接收SETBES;允许串行中断SETBEA;开中断;单字节串行发送初始化MOVA,KEYNAME;取按键值送AMOVC,P实验9 点对点串行通信 MOVTB8,C;奇偶标志P送TB8,即b8位MOVSBUF,A;写串行发送缓冲器即可将一字节信息按设定的波特率发送到串行口上PROCUART;串行中断服务程序UART:PUSHACCPUSHPSWJNBTI,NEXT1;串行发送结束引起中断CLRTI;清除发送中断标志实验9 点对点串行通信 NEXT1:JNBRI,EXIT;串行接收有效CLRRI;清除接收有效中断MOVA,SBUF;读串行接收缓冲器;奇偶校验,即检查P标志与RB8位是否相同,否则奇偶校验错MOVC,PANLC,/RB8;计算PMOVF0,C;暂时保存在F0标志中MOVC,RB8ANLC,/P;计算RB8实验9 点对点串行通信 ORLC,F0;完成了P与RB8的异或运算JCEXIT;校验正确!MOVRXDBUF,A;数据送串行接收缓冲区SETBRXDB;串行接收有效标志置1EXIT:POPPSWPOPACCRETIEND实验9 点对点串行通信 3按约定协议收/发的双机串行通信将JP201、JP202跳线的1-2引脚短路,即串行数据从P1.2引脚输出,串行移位脉冲从P3.4引脚输出,并行输出锁存信号从P3.5输出。在实验6的基础上,通过串行口将电子钟时间送到另一实验板显示出来,通信协议如下:(1)数据帧格式为:0AAH(起始标志)+4字节信息+1字节的和校验信息。实验9 点对点串行通信(2)接收方正确接收后回送A5作应答;如果错误,则回送A6,请求重发。(3)发送/接收缓冲区在30H35H单元,其中35H单元存放和校验信息(b7作接收缓冲数据有效标志)。(4)发送、接收均采用中断方式。实验9 点对点串行通信 与串行发送有关的发送参考程序如下:TXDBDATA30H;发送缓冲区TXDCDATA35H;发送/接收字节计数器TXDOKBIT07H;发送成功标志(1表示成功;0表示失败);初始化串行口MOVSCON,#11010000B;串行口工作在方式3,SM2=0,以便用TB8位;作奇偶校验位;SETBREN;允许接收PROCTIMETXB;时间送发送缓冲区实验9 点对点串行通信 TIMETXB:MOVA,SECONDMOVB,#10DIVAB;转换为BCD码;十位在A中,个位在B中MOVR0,#TXDB+2MOVR0,AINCR0MOVR0,B;秒低位送发送缓冲区缓冲区;分单元计数器笔段码送显示缓冲区实验9 点对点串行通信 MOVA,MINUTEMOVB,#10DIVAB;转换为BCD码;十位在A中,个位在B中MOVR0,AINCR0MOVR0,B;分低位送发送缓冲区缓冲区;计算校验和MOVR0,#TXDBMOVR7,#4CLRA;清累加器实验9 点对点串行通信 LOOP1:ADDA,R0;累加求和INCR0DJNZR7,LOOP1ANLA,#7FH;保留和的低7位,避免与帧首标志相同MOVR0,A;校验和存入发送缓冲区MOVA,#0AAH;先发送帧首标志MOVC,P;奇偶标志P送CMOVTB8,C;奇偶标志P送TB8,即b8位MOVSBUF,A;写串行口缓冲寄存器,启动发送MOVTXDC,#0;初始化发送字节数RETEND实验9 点对点串行通信 PROCUART;串行中断服务程序UART:PUSHACCPUSHPSWSETBRS0;切换工作寄存器区SETBRS1JNBTI,NEXT2;串行发送结束中断CLRTI;清除发送结束中断;检查发送字节计数器,确定是否已发送了所有数据MOVA,TXDCCJNEA,#5,NEXT1实验9 点对点串行通信 NEXT1:JNCNEXT2;小于5,说明尚未完成发送ADDA,#TXDB;加上发送缓冲区首地址MOVR0,AMOVA,R0;取发送数据MOVC,P;奇偶标志P送CMOVTB8,C;奇偶标志P送TB8,即b8位MOVSBUF,A;写串行口缓冲寄存器,启动发送INCTXDC;发送字节计数器加1实验9 点对点串行通信 NEXT2:JNBRI,EXIT;退出CLRRI;清除接收有效中断;串行接收有效MOVA,SBUF;执行奇偶校验,P标志与RB8位应该相同,否则就错MOVC,PANLC,/RB8;计算PMOVF0,C;暂时保在存F0标志中MOVC,RB8ANLC,/P;计算RB8ORLC,F0;完成了P与RB8的异或运算实验9 点对点串行通信 JCEXIT;奇偶校验错;奇偶校验正确CJNEA,#0A5H,NEXT3;等于0A5H,说明接收方已准确接收,成功标志置1SETBTXDOKSJMPEXITNEXT3:CJNEA,#0A6H,EXIT;重新发送CLRTXDOK;清除发送成功标志MOVTXDC,#0;初始化发送字节计数器MOVA,#0AAH;发送帧首标志实验9 点对点串行通信 MOVC,P;奇偶标志P送CMOVTB8,C;奇偶标志P送TB8,即b8位MOVSBUF,A;写串行口缓冲寄存器,启动发送EXIT:POPPSWPOPACCRETIEND实验9 点对点串行通信 与串行接收有关的参考程序段如下:;初始化串行口MOVSCON,#11010000B;串行口工作在方式3,SM2=0,以便用TB8位作奇偶校验位;SETBREN;允许接收ORLPCON,#40H;将b6位置1,启用帧错误侦测功能;初始化中断控制器SETBES;允许串行口中断SETBEA;开中断;接收显示处理实验9 点对点串行通信 WAIT:MOVR0,#RXDB+4MOVA,R0;读接收缓冲区有效标志JNBACC.7,WAIT;接收缓冲区无效,等待CLRACC.7MOVR0,A;清除接收缓冲区有效标志;把接收缓冲区信息送显示缓冲区显示MOVDPTR,#LEDTAB;0F字模表首地址送DPTRMOVR0,#DISPBUFMOVR1,#RXDBMOVR7,#4实验9 点对点串行通信 LOOP1:MOVA,R1;取显示数码MOVCA,A+DPTR;取数码对应字模MOVR0,A;字模送显示缓冲区INCR0INCR1DJNZR7,LOOP1;显示分与秒之间的小数点MOVR0,#DISPBUF+1MOVA,R0CLRACC.7;使b7,即DP位亮实验9 点对点串行通信 MOVR0,A;回写SETBREN;允许串行口接收新的数据LCALLS_DISP;执行串行输出子程序,将笔段码送LEDSJMPWAIT;等待ENDPROCUART;串行中断服务子程序UART:PUSHACCPUSHPSWSETBRS0;切换工作寄存器区SETBRS1实验9 点对点串行通信 JNBRI,NEXT1CLRRI;清除接收中断JBCSCON.7,RERROR;帧错误MOVA,SBUF;执行奇偶校验,P标志与RB8位应该相同,否则偶校验错MOVC,PANLC,/RB8;计算PMOVF0,C;暂保存在F0标志中MOVC,RB8ANLC,/P;计算RB8ORLC,F0;完成了P与RB8的异或运算JCRERROR;奇偶校验错实验9 点对点串行通信;奇偶校验正确!判别是否为帧首信息CJNEA,#0AAH,NEXT11;等于0AAH,属于一信息帧开始MOVRXDC,#0;复位接收字节计数器SETBFRAMES;帧开始标志有效SJMPNEXT1NEXT11:;非帧首信息JNBFRAMES,RERROR;在这之前尚未接收到帧开始标志;当前接收内容为帧内数据信息MOVA,RXDC实验9 点对点串行通信 ADDA,#RXDB;加接收缓冲区首地址MOVR0,AMOVR0,SBUF;接收数据送接收缓冲区INCRXDC;接收字节计数器加1;判别接收的字节数MOVA,RXDCCJNEA,#5,NEXT1;已经接收了五字节,做和校验MOVR0,#RXDBMOVR7,#4;对30H33H单元求和,共四字节CLRA;清除累加器实验9 点对点串行通信 LOOP1:ADDA,R0;累加求和INCR0DJNZR7,LOOP1XRLA,R0;与接收到的和校验字节异或JNZRERROR;正确MOVA,R0ORLA,#80HMOVR0,A;接收缓冲区数据有效标志置1MOVA,#0A5H;发送0A5H应答信号CLRREN;停止接收,等待处理接收数据SJMPTXDACK实验9 点对点串行通信 RERROR:MOVA,#0A6H;错误标志TXDACK:CLRFRAMES;清除帧开始标志MOVRXDC,#0;复位接收字节计数器MOVC,P;奇偶标志P送CMOVTB8,C;奇偶标志P送TB8,即b8位MOVSBUF,A;写串行口缓冲寄存器,启动发送SJMPEXIT实验9 点对点串行通信 NEXT1:JNBTI,EXIT;串行发送结束中断CLRTI;清除发送结束中断EXIT:POPPSWPOPACCRETIEND实验9 点对点串行通信 4实验过程(1)分别在两台仿真器上输入、汇编上述程序,并执行。(2)修改定时器T1的初值(最好换上振荡频率为12.0MHz的晶振),使两者波特率误差从1%逐渐增大到5%,然后再进行数据传送,验证波特率误差允许范围。(3)接收方改用定时器T2溢出率作为串行口波特率,重复上述通信过程。(4)选择其他的通信约定,写出相应的发送、接收程序,并在仿真器上调试。

    注意事项

    本文(点对点串行通信.ppt)为本站会员(赵**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开