微处理机第七章作业
1、请问下述表达方式是否正确?
A)串行工作方式0时,TXD引脚为同步时钟输出端,RXD为串行数据接收端。
正确
B)串行方式2时,经TB8发送的第九位信息为奇偶校验位。
错误,数据经TXD发送,发送由软件置位或者清零的TB8的信息作为第九位.
C)全双工串行口的发送和接收,可以在同一时刻进行。
正确
D)发送结束标志TI不能自动清零,但接收结束标志RI可以自动清零。
正确
E)启动串行发送的指令是MOV SBUF,A
启动串行接收的指令是MOV A,SBUF
第一行正确,第二行改为SETB REN (同时,ri=0)
2、请叙述MCS51串行口四种工作方式的特点。
四种工作方式的特点分别为:
工作方式0是同步通讯方式,即8位移位寄存器输入输出方式波特率固定为fosc/12;
工作方式1是波特率可变的8位数据异步通信方式,波特率可通过设置PCON中SMOD位及T1的溢出速率而改变;
工作方式2是波特率固定为fosc /64或fosc/32的9位数据异步通讯方式;
工作方式3是波特率可变的9位数据异步通讯方式,波特率可通过设置PCON中SMOD位及T1的溢出速率而改变。
工作方式的选择和设定方法为:通过设定SCON中的SM0、SM1来进行工作方式的选择。
当程序设定SCON中的SM0=0,SM1=0时,选择串行口工作于方式0;当程序设定SCON 中的SM1=0,SM0=0时,选择串行口工作于方式0;当程序设定SCON中的SM1=0,SM0=1时,选择串行口工作于方式1;当程序设定SCON中的SM1=1,SM0=0时,选择串行口工作于方式2;当程序设定SCON中的SM1=1,SM0=1时,选择串行口工作于方式3。
3/何计算和设置80C51单片机串行通信的波特率?
答:当用定时器1作波特率发生器时,波特率由下式决定:
波特率=×定时器T1的溢出速率
定时器T1的溢出速率=
式中n是定时器的时间计数器长度,定时器T1工作在方式0时n=13,工作在方式1时n=16,工作在方式2时n=8。
MCS-51串行口的波特率设置方法为:由于定时器T1在工作方式2下具有自动重新装载计算初值的功能,采用定时器1方式2作波特率发生器比较合适。
如果要用T0或T1工作在其它方式作波特率发生器,编程时除了需要注意定时器长度不同之外,还须注意需要在定时器溢出之后重新装载时间初值的问题,因此,一般不采用。
4、80C51单片机的串行口设为方式1,当波特率为9600bit/s时,每分钟可以传送多少字节?工作方式1下,每一帧为10位,有8位数据.
波特率位9600bit/s时,1分钟可以传送576,000位.其中有用的数据为460,800位.数据传送了57,600字节
5、80C51单片机的串行口按工作方式3进行串行数据通信。
假定波特率为1200bit/s,第9
数据位TB8作奇校验位,连续发送80个数据,待发送数据存在内部RAM的30H开始的连续单元中。
请编写数据通信程序,对源程序加以注释和加上伪指令。
tr:
mov scon,#0c0h
mov tmod,#20h
clr tr1
mov th1,#0e8h
mov tl1,#0e8h
setb tr1
mov r0,#30h
mov r1,#80
loop1:
mov a,@r0
mov c,p
mov tb8,c
mov sbuf,a
wait:
jnb ti,wait
clr ti
inc r0
djnz r1,loop1
ret
6、简述80C51单片机的多机通信原理,及在多机通信中SM2、TB8、RB8的作用。
主机控制发送地址帧和数据帧,通过SM2以及TB8来实现. 当从机的SM2=1时表示多极通信方式,如果接收到的RB8=1就将数据送入SBUF,置位RI请求中断,如果RB8=9则丢弃数据.如果从机的SM2=0,那么无论接收到的第九位的RB8是0还是1,都将数据装入SBUF,置位RI=1并且发出中断请求.。