第七章串行接口答案

第七章串行接口答案
第七章串行接口答案

第七章串行接口答案

7·1 什么是串行异步通信?它有哪些特点?有哪几种帧格式?

答:串行通信是所传送数据的各位按顺序一位一位地发送或接收。串行通信分同步和异步两种方式。

在异步通信中数据或字符是一帧(frame)一帧地传送的。帧定义为一个字符的完整的通信格式,通常也称为帧格式。

它的主要特点:由于异步通信每传送一帧有固定格式,通信双方只需按约定的帧格式来发送和接收数据,所以硬件结构比同步通信方式简单;此外,它还能利用校验位检测错误。

帧格式的一般形式是先用一个起始位"0"表示字符的开始,然后是数据位,其后是奇偶校验位,最后是停止位,用以表示字符的结束。不同的帧格式主要表现在数据位可以不同,例如其位数为5~8位,停止位可以是1、1.5、2位;起始位和奇偶校验位可以有,也可以没有。起始位、数据位、奇偶校验位、停止位的不同组合就形成了多种形式的帧格式。不同的计算机规定适用的帧格式有所不同,例如适用于80C51的帧格式只有三种:8位数据位;一位起始位、8位数据位、一位停止位;一位起始位、8位数据位、一位奇偶校验位、一位停止位。

7·2 某异步通信接口按方式3传送,己知其每分钟传送3600个字符,计算其传送波特率。

答:设每个字符由1个起始位、8个数据位、1个可编程位和1个停止位组成,则其传送波特率为:

llb×3600/60s=660b/s

7·3 为什么定时器Tl用做串行口波特率发生器时,常采用工作方式2?若己知系统时钟频率、通信选用的波特率,姑何计算其初值?

答:在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。我们通过软件对80C51串行口编程可约定4种工作方式。其中方式0和方式2波特率是固定的,而方式1和方式3的波特率是可变的,由定时器Tl的溢出率控制。定时器Tl用做串行口波特率发生器时,因为工作方式2是自动重装载方式,因而当定时器Tl作波特率发生器时常采用工作方式2。

在方式2中,TLl作计数用,但自动重装载的值放在THl内。假如已知系统时钟频率、通信选用的波特率,计算初值的方法如下:设计数初值为X,那么每过"256一X"个机器周期定时器1就会产生一次溢出。溢出周期是:

12

T= ×(256-X)

f ose

因溢出率为溢出周期之倒数,因此

2SMOD f ose

波特率= ×

32 l2×(256-X)

则定时器Tl在方式2 时的初值为:

f ose×2SMOD

X=256-

384×波特率

7·4 己定时器T1设置为方式2,用做波特率发生器,系统时钟频率为6 MHz ,求可能产生的最高和最低的波特率是多少?

答:最高波特率:

TH l= 0FFH TLl= 0FFH

波特率=2/32×6000 000/(12×(256- 255))b/s= 31 250 b/s 最低波特率:

TH l= OOH TLl= OOH 波特率= 1/32×6 000 000/(12×(256- 0))b/s= 61 b/s

7·5 请设计一个80C51 单片机的双机通信系统,并编写程序将甲机片外RAM 3400H ~ 3500H的教据块通过串行口传送到乙机的片外RAM 4400H ~ 4500H 单元中去。

答:设波特率为9600 b/s。当晶体频率为f= 11.0592 MHz和SMOD=1时,定时器T1按方式2工作,TH l=0FAH ,TLl=0FAH 。

甲机发送程序

SEND_SUB:

MOV TMOD,#20H ;设定时器TlI:作在方式2

MOV THl,#0FAH ;设定时器Tl的初值

MOV TLl,#0FAH

MOV PCON,#80H ;置SMOD=l

MOV SCON,#50H ;串口初始化为方式1,允许接收

SETB TR1 ;启动定时器Tl

EX5_SEND1:

MOV DPTR,#3400H ;置数据块首地址

MOV R6,#00H ;长度寄存器初始化

MOV R5,#00H ;校验和寄存器初始化

MOV SBUF,R6 ;发送长度

JNB TI,$ ;等待发送

CLR TI

EX5_SEND2:

MOVX A,@DPTR ;读取数据

MOV SBUF,A ;发送数据

ADD A,R5 ;形成累加和送R5

MOV R5,A

INC DPTR ;修改地址指针

JNB TI,$ ;等待发送

CLR TI

DJNZ R6,EX5_SEND2 ;发送末完,继续

MOV SBUF,R5 ;发校验码

JNB TI,$

CLR TI

JNB RI,$ ;等乙机回答

CLR RI

MOV A,SBUF

JZ EX5_SENDOK ;发送正确返回

LJMP EX5_SEND1 ;发送有错,重发

EX5_SENDOK:

RET

乙机接收程序

RECEIVE_SUB:.

MOV TMOD,#20H ;定时器Tl初始化

MOV THl,#0FAH

MOV TLl,#0FAH

MOV PCON,#80H

MOV SCON,#50H

SETB TR1

EX5_RCV1:

MOV DPTR,#4400H

JNB RI,$

CLR RI

MOV A,SBUF ;接收发送长度MOV R6,A

MOV R5,#00H ;累加和清0 EX5JRCV2;

JNB RI,$

CLR RI

MOV A,SBUF ;接收数据

MOVX @DPTR,A ;存储数据

INC DPTR ;修改地址指针

ADD A,R5

MOV R5,A

DJNZ R6,EX5_RCV2 ;未接收完,继续

JNB RI,$ ;接收校验码

CLR RI

MOV A,SBUF

XRL A,R5 ;比较校验码

JZ EX5_RCVOK ;正确转EX5_RCVOK

MOV SBUF,#0FFH ;出错送0FFH

JNB TI,$

CLR TI

LJMP EX5_RCV1 ;重新接收

EX5_RCVOK:

MOV SBUF,#00H ;正确送00H

JNB TI,$ ;发迭完,返回

CLR TI

RET

第七章答案

第七章 1、什么是串行异步通信,它有哪些作用? 答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。通信采用帧格式,无需同步字符。存在空闲位也是异步通信的特征之一。 2、89C51单片机的串行口由哪些功能部件组成?各有什么作用? 答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。 由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。定时器T1产生串行通信所需的波特率。 3、简述串行口接收和发送数据的过程。 答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。 在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。当发读SBUF 命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF取出信息通过89C51内部总线送CPU。 4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定? 答:89C51串行口有4种工作方式: 方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。 有2种帧格式:10位,11位 方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12) 方式2:方式2波特率≌2SMOD/64×fosc 方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率) 如果T1采用模式2则: 5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则: 波特率=(11b/字符)×(3600字符/60s)=660b/s 6、89C51中SCON的SM2,TB8,RB8有何作用? 答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。 TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需要由软件置位或复位。它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。RB8是接收数据的第9位,在方式2或方式3中接收到的第9位数据放在RB8位。它或是约定的奇偶校验位,或是约定的地址/数据标示位。

第七章并行口习题答案

第七章习题 一、填空题: 1、8255把A口和C口的下半部分和B口和C口的上半部分分别称为A组和B组, 可组成两个独立的并行接口。 2、8255中,A组有3种工作方式,它们是方式0方式1方式2,B组有2种工作方式, 它们是方式0和方式1。当A组工作于方式2时,B组可以工作于方式1或方式0。 3、当8255的PC4~PC7全部为输出线时,表明8255的A端口的工作方式是方式0。 4、当数据从8255的端口C往数据总线上读出时,8255的几个控制信号 CS,A0,A1,RD,WR分别是“0”“1”“0”“0”“1”。 5、对于共阴极连接的7段数码显示其,如果要使某一段发光,则需要在对应的段输入 引脚上输入TTL高电平。 6、发光二极管(LED)组成的8段数码显示器有共阴极和共阳极两种接法。不通接法 显示段码之间的关系是互为反码。 二、选择题 1、并行接口和串行接口之间的区别主要表现在之间的数据传输前者是并 行,后者是串行。( B ) A.接口与MPU B.接口与外设C.接口与MPU和外设 2、8255工作方式中具有中断请求功能的是。( BC ) A. 方式0 B. 方式1 C. 方式2 3、一台微机化仪器采用8255芯片作为数据传送借口,并规定使用I/O地址的最低两位做芯片内部殉职,已知芯片A口地址为0F4H,则当CPU执行输出指令访问0F7H端口时,其操作为。( C ) A.数据从端口C送往数据线 B. 数据从数据线送端口C C. 控制字送控制寄存器 D. 数据从数据线送端口A 4、并行接口芯片8255与打印机的连线如图所是,当A15~A2=00000000110000时,经地址译码器输出使CS=0。 1)口A工作方式应为。( A ) A.方式0 B.方式1 C.方式2 D.方式0或方式1均可 2)口C的工作方式应为。( A ) A.方式0 B.方式1 C.方式2 D.方式0或方式2均可 3)I/O传送的控制方式为方式。( D ) A.无条件传送 B.查询或中断 C.中断 D.查询 4)8255口C的地址为。( B ) A.00C0H B.00C1H C.00C2H D.00C3H 5)8255口A的地址为。( A ) A.00C0H B.00C1H C.00C2H D.00C3H

第七章串行接口答案

第七章串行接口答案 7·1 什么是串行异步通信?它有哪些特点?有哪几种帧格式? 答:串行通信是所传送数据的各位按顺序一位一位地发送或接收。串行通信分同步和异步两种方式。 在异步通信中数据或字符是一帧(frame)一帧地传送的。帧定义为一个字符的完整的通信格式,通常也称为帧格式。 它的主要特点:由于异步通信每传送一帧有固定格式,通信双方只需按约定的帧格式来发送和接收数据,所以硬件结构比同步通信方式简单;此外,它还能利用校验位检测错误。 帧格式的一般形式是先用一个起始位"0"表示字符的开始,然后是数据位,其后是奇偶校验位,最后是停止位,用以表示字符的结束。不同的帧格式主要表现在数据位可以不同,例如其位数为5~8位,停止位可以是1、1.5、2位;起始位和奇偶校验位可以有,也可以没有。起始位、数据位、奇偶校验位、停止位的不同组合就形成了多种形式的帧格式。不同的计算机规定适用的帧格式有所不同,例如适用于80C51的帧格式只有三种:8位数据位;一位起始位、8位数据位、一位停止位;一位起始位、8位数据位、一位奇偶校验位、一位停止位。 7·2 某异步通信接口按方式3传送,己知其每分钟传送3600个字符,计算其传送波特率。 答:设每个字符由1个起始位、8个数据位、1个可编程位和1个停止位组成,则其传送波特率为: llb×3600/60s=660b/s

7·3 为什么定时器Tl用做串行口波特率发生器时,常采用工作方式2?若己知系统时钟频率、通信选用的波特率,姑何计算其初值? 答:在串行通信中,收发双方对发送或接收的数据速率(即波特率)要有一定的约定。我们通过软件对80C51串行口编程可约定4种工作方式。其中方式0和方式2波特率是固定的,而方式1和方式3的波特率是可变的,由定时器Tl的溢出率控制。定时器Tl用做串行口波特率发生器时,因为工作方式2是自动重装载方式,因而当定时器Tl作波特率发生器时常采用工作方式2。 在方式2中,TLl作计数用,但自动重装载的值放在THl内。假如已知系统时钟频率、通信选用的波特率,计算初值的方法如下:设计数初值为X,那么每过"256一X"个机器周期定时器1就会产生一次溢出。溢出周期是: 12 T= ×(256-X) f ose 因溢出率为溢出周期之倒数,因此 2SMOD f ose 波特率= × 32 l2×(256-X) 则定时器Tl在方式2 时的初值为: f ose×2SMOD X=256- 384×波特率

相关主题
相关文档
最新文档