资源描述:
《单片机原理与应用课后答案(7-11章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第17页www.khdaw.com第七章MCS-51的串行口7.3帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。7.4串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有四种工作方式:方式0、方式1、方式2、方式3有三种帧格式:方式0帧格式D0D1D2D3D4D5D6D7方式0波特率=Fosc/12方式1帧格式起始位方式1波特率=2方式2和方式3帧格式起始位D0MOD方式2的波特率=2D0SMODD1D2D3D4D5D6D7停止定时器T1的溢出率/32D1*Fosc/64D2D3D4D5D6D7D8
2、停止MOD方式3的波特率=2*定时器T1的溢出率/327.5假定串行口发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符"A"的帧格式?010000010117.6判断下列说法是否正确(A)串行口通行的第9数据位的功能可由用户定义。(T)(B)发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(T)(C)串行通讯帧发送时,指令把TB8位的状态送入发送SBUF中。(F)(D)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(T)(E)串行口方式1的波特率是口变的,通过定时器/计数器T1的溢出率设定
3、。(T)7.7通过串行口发送或接收数据时,在程序中应使用:(C)(A)MOVC指令(B)MOVX指令(C)MOV指令(D)XCHD指令www.khdaw.com第17页第18页www.khdaw.com7.8为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率,通讯波特率,如何计算器初值?答:定时器T1工作方式2是一种自动重装方式,无需在中断服务程序中送数,没有由于中断引起的误差。定时器工作在方式2是一种既省事又精确的产生串行口波特率的方法。设定时器T1方式2的初值为X,则有:定时器T1的溢出率=计数速率/(256-X)=Fo
4、sc/(256-X)*12MOD则方式2的波特率=2故计数器初值为X=2MOD*F/(256-X)*12*32osc*F/12*32*波特率osc7.9串行口工作方式1的波特率是:C(A)固定的,为Fosc/32。(B)固定的,为Fosc/16。(C)可变得,通过定时器/计数器T1的溢出率设定。(D)固定的,为Fosc/64。7.10在串行通讯中,收发双方对波特率的设定应该是相同的。7.11若晶体振荡器为11.0592MHZ,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值。答:方式字为01000000。Fo
5、sc=11.0592MHzX=65536-11.0592*2/(384*4800)=65524=0FFF4HORGMOVMOVMOVMOVMOVEND0000HSCON,#40HPCON,#80HTMOD,#10HTL1,#0F4HTH1,#0FFHSMOD=1SCON=40H7.14使用8031的串行口按工作方式3进行串行口数据通讯,假定波特率为1200b/s,第9数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。方法一:中断方式发送程序ORG0000HLJMPMAINORGLJMPORG0023HSSEND0100Hwww.khdaw.com
6、第18页第19页MAIN:SEND:HERE:MOVMOVMOVMOVMOVMOVMOVMOVSETBSETBSETBMOVXMOVMOVMOVAJMPSSEND:DJNZAJMPSEND1:PUSHPUSHPUSHPUSHSETBSETBCLRINCMOVXMOVMOVMOVPOPPOPPOPPOPCLRCLRRETURN:RETIEND接收程序:ORGLJMPORGLJMPORGwww.khdaw.comSP,#60HTMOD,#20HTH1,#0F3HTL1,#0F3HR2,#0FFH87H,#80HSCON,#0C0HDPTR,#2000HTR
7、1ESEAA,@DPTRC,PTB8,CSBUF,AHERER2,SEND1RETURNDPHDPLPSWACC0D4H0D3HTIDPTRA,@DPTRC,PTB8,CSBUF,AACCPSWDPLDPH0D4H0D3H0000HMAIN0023HRRES0100Hwww.khdaw.com第19页第20页MAIN:MOVMOVMOVMOVMOVSETBMOVMOVMOVSETBSETBSJMPRRES:DJNZAJMPRES:L1:L2:ERP:CLRMOVMOVJNCJNBAJMPJBMOVXINCAJMPSETBCPLwww.khdaw.com
8、SP,#60HTMOD,#20HTH1,#0F3HTL1,#0F3HR2,#0FFHTR1DP