资源描述:
《高教版单片机原理及应用7-11章部分参考(1).》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第七章MCS-51的串行口7.3帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式(1)。7.4串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有四种工作方式:方式0、方式1、方式2、方式3有三种帧格式:方式0帧格式D1D2D3D4D5D6D7D0方式0波特率=Fosc/12方式1帧格式停止位起始位D7D6D5D4D3D2D1D0方式1波特率=2SMOD定时器T1的溢出率/32方式2和方式3帧格式D1D2D3D4D5D6D7D0停止位起始位D8方式2的波特率=2MOD*Fosc/64方式3的波特率=2MOD*定时器T
2、1的溢出率/327.5假定串行口发送的字符格式为1个起始位,8个数据位,1个奇校验位,1个停止位,请画出传送字符“A”的帧格式?000001010117.6判断下列说法是否正确(A)串行口通行的第9数据位的功能可由用户定义。(T)(B)发送数据的第9数据位的内容在SCON寄存器的TB8位中预先准备好的。(T)(C)串行通讯帧发送时,指令把TB8位的状态送入发送SBUF中。(F)(D)串行通讯接收到的第9位数据送SCON寄存器的RB8中保存。(T)(E)串行口方式1的波特率是口变的,通过定时器/计数器T1的溢出率设定。(T)7.7通过串行口发送或接收数据时,在程
3、序中应使用:(C)(A)MOVC指令(B)MOVX指令(C)MOV指令(D)XCHD指令7.8为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2?若已知时钟频率,通讯波特率,如何计算器初值?答:定时器T1工作方式2是一种自动重装方式,无需在中断服务程序中送数,没有由于中断引起的误差。定时器工作在方式2是一种既省事又精确的产生串行口波特率的方法。设定时器T1方式2的初值为X,则有:定时器T1的溢出率=计数速率/(256-X)=Fosc/(256-X)*12则方式2的波特率=2MOD*Fosc/(256-X)*12*32故计数器初值为X=2MOD*Fo
4、sc/12*32*波特率7.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。Fosc=11.0592MHzSMOD=1SCON=40HX=65536-11.0592*2/(384*4800)=65524=0FF
5、F4HORG0000H
MOVSCON,#40HMOVPCON,#80H
MOVTMOD,#10H
MOVTL1,#0F4H
MOVTH1,#0FFH
END7.14使用8031的串行口按工作方式3进行串行口数据通讯,假定波特率为1200b/s,第9数据位作奇偶校验位,以中断方式传送数据,请编写通讯程序。方法一:中断方式发送程序ORG0000H
LJMPMAIN
ORG0023H
LJMPSSEND
ORG0100H
MAIN:MOVSP,#60H
MOVTMOD,#20H
MOVTH1,#0F3H
MOVTL1,#0F3H
MOVR2,#0FFH
MOV87
6、H,#80H
MOVSCON,#0C0H
MOVDPTR,#2000H
SETBTR1
SETBES
SETBEA
SEND:MOVXA,@DPTR
MOVC,P
MOVTB8,C
MOVSBUF,A
HERE:AJMPHERE
SSEND:DJNZR2,SEND1
AJMPRETURN
SEND1:PUSHDPH
PUSHDPL
PUSHPSW
PUSHACC
SETB0D4H
SETB0D3H
CLRTI
INCDPTR
MOVXA,@DPTR
MOVC,P
MOVTB8,C
MOVSBUF,A
POPACC
POPPSW
POPDPL
POPDPH
CL
7、R0D4H
CLR0D3H
RETURN:RETI
END接收程序:ORG0000H
LJMPMAIN
ORG0023H
LJMPRRES
ORG0100H
MAIN:MOVSP,#60H
MOVTMOD,#20H
MOVTH1,#0F3H
MOVTL1,#0F3H
MOVR2,#0FFH
SETBTR1
MOVDPTR,#3000H
MOV87H,#80H
MOVSCON,#0D0H
SETBES
SETBEA
SJMP$
RRES:DJNZR2,RES
AJMPRETURN
RES:CLRRI
MOVA,SBUF
MOVC,P
JNCL1
JNBRB8,E
8、RP
AJMPL2
L1:JBRB8,