哈工大单片机习题及参考答案1-10 联系客服

发布时间 : 星期六 文章哈工大单片机习题及参考答案1-10更新完毕开始阅读70c56917cc7931b765ce15c7

T1工作在定时方式2,则T1的计数初值为: X=256-(1/32)?11059200/12?4800=250=0FAH 用T1作为波特率发生器的方式字 TMOD=20H,

7.8 为什么定时器T1用作串行口波特率发生器时,常选用工作方式2,若已知系

统时钟频率和通信的波特率,则如何计算其初值?

答:因工作方式2可以自动装入初值,避免由程序装入初值带来波特率的误差 波特率=

2SMOD32?定时器T1的溢出率

7.9 简述MCS-51单片机多机通信的原理。

答:多机通讯工作过程如下:

(1)从机串行口编程为方式2或方式3接收,且置“1”SM2和REN位,使从机只处于多机通讯且接收地址帧的状态。

(2)在主机先将从机地址(即准备接收数据的从机地址)发送给各从机,然后再传送数据或命令,主机发出的地址信息的第9位为1,数据(包括命令)信息的第9位为0。当主机向各从机发送地址时,各从机的串行口接收到的第9位信息RB8为1,且由于SM2=1,则置“1”中断标志位RI,各从机响应中断执行中断服务程序。在中断服务子程序中,判断主机送来的地址是否与本机地址相符合,若为本机地址,则该从机清“0”SM2位,准备接收主机的数据或命令;若于本机地址不相符,则保持SM2=1状态。

(3)接着主机发送数据帧,此时各从机串行口接收到的RB8=0,只有与前面地址相符合的从机(即已清“0”SM2位的从机)才能激活中断标志位RI,从而产生中断,进入中断服务程序,在中断服务程序中接收主机的数据(或命令);其它的从机因SM2保持为1,而RB8=0不激活中断标志RI,不能进入中断,将所接收的数据丢弃不作处理,从而保证主机和从机间通讯的正确性。图7-22所示的多机系统是主从式,由主机控制多机之间的通讯,从机和从机的通讯只能经主机才能实现。

7.10设计一个单片机的双机通信系统,串行口工作在方式1,编写通信程序将甲机内部RAM 30H~3FH存储区的数据块通过串行口传送到乙机内部RAM 40H~4FH存储区中去。

答:假设甲、乙双方均采用6MHz晶振,波特率为2400。 若设SMOD=1,T1工作在方式2,则T1的计数初值为: X=256-(2/32)?6000000/12?2400=122=7AH

甲机发送程序:

ORG 0000H LJMP MAIN

ORG

MAIN: MOV MOV MOV

0100H

SP, #60H TMOD, #20H ;设T1工作方式2 TL1, #7AH ;置T1计数初值

;禁止T1中断 ;启动T1 ;置串口方式1 ;置SMOD=0 ;禁止串行中断

MOV TH1, #7AH CLR ET1 SETB TR1

MOV SCON,#40H MOV PCON,#00H CLR ES

25

MOV R0, #30H MOV R2, #16 MOV A, @R0 MOV SBUF, A JNB TI, $ CLR TI INC R0

;置发送数据区首地址 ;置发送数据长度 ;读一个缓冲器数据 ;发送

;等待一帧数据发送完 ;清发送标志位 ;指向下一个单元 ;未发送完,继续

TRSA:

DJNZ R2, TRSA SJMP $

乙机接收程序:ORG LJMP ORG MAIN: MOV MOV MOV MOV CLR SETB MOV MOV CLR MOV MOV

SETB RESV: MOV MOV JNB CLR INC

DJNZ SJMP 0000H MAIN

0100H

SP, #60H TMOD, #20H TL1, #7AH TH1, #7AH ET1 TR1 SCON,#40H PCON,#00H ES

R0, #40H R2, #16 REN

A, SBUF

@R0 , A, RI, $

TI R0

R2, RESV

$

;设T1工作方式2 ;置T1计数初值

;禁止T1中断 ;启动T1 ;置串口方式1 ;置SMOD=0 ;禁止串行中断

;置发送数据区首地址 ;置发送数据长度 ;启动接收 ;读接收数据 ;存接收数据

;等待一帧数据接收完 ;清接收标志位 ;指向下一个单元 ;未完,继续

26

习题 8

8.1 简述51系列单片机系统扩展时总线形成电路的基本原理,并说明各控制信号

的作用。

P2.0~P2.7A8~A15ALEP0.0~P0.7G地址总线A0~A7地址锁存器MCS-51D0~D7数据总线PSENWRRD控制总线

① ALE作为地址锁存的选通信号,以实现低8位地址的锁存。 ② PSEN信号作为扩展程序存储器的读选通信号。 ③ EA信号作为内、外程序存储器的选择信号。 ④ RD和WR作为扩展数据存储器和I/O端口的读,写选通信号。执行MOVX指令时,这两个信号分别自动有效。

8.2 简述全地址译码、部分地址译码和线选法的特点及应用场合。

1)线性选择法

直接以系统空闲的高位地址线作为芯片的片选信号。当存储器对应的片选地址线输出有效电平时,该芯片被选通。优点是简单明了,无须另外增加电路;缺点是寻址范围不唯一,地址空间没有被充分利用,可外扩芯片的个数较少。线性选择法适用于小规模单片机应用系统中片选信号的产生。 2)全地址译码法

利用译码器对系统地址总线中未被外扩芯片用到的高位地址线进行译码,以译码器的输出作为外围芯片的片选信号。常用的译码器有:74LS138,74LS139,74LS154等。优点是存储器的每个存储单元有惟一的一个系统空间地址,不存在地址重叠现象,对存储空间的使用是连续的,能有效地利用系统的存储空间。缺点是所需的地址译码电路较多。全地址译码法是单片机应用系统设计中经常采用的方法。

3)部分地址译码法

单片机未被外扩芯片用到的高位地址线中,只有一部分参与地址译码,其余部分是悬空的。优点是可以减少所用地址译码器的数量。缺点是存储器每个存储单元的地址不是惟一的,存在地址重叠现象。因此,采用部分地址译码法时必须把程序和数据存放在基本地址范围内,以避免因地址重叠引起程序运行的错误。

8.3 利用全地址译码为MCS-51扩展16 KB的外部数据存储器,存储器芯片选用SRAM 6264。要求6264占用从A000H开始的连续地址空间,画出电路图。

27

cba74LS138P2.7P2.6P2.5P2.0~P2.4ALEY5Y65Q0LED08~~Q7D78051874LS373A0~A7A8~A126264CE1#D0~D7OEWRA0~A7A8~A126264CE2#D0~D7OEWRP0.0~P0.7EA8RDWR

8.4 利用全译码为MCS-51扩展8 KB的外部程序存储器,存储器芯片选用EPROM 2764,要求2764占用从2000H开始的连续地址空间,画出电路图。

P2.7P2.6P2.5P2.0~P2.4ALE74LS138cbaY15LEQD00D7Q774LS373~~880518A0~A7A8~A122764D0~D7CEOEP0.0~P0.78EAPSEN

8.5 使用74LS244和74LS273,采用全地址译码方法为MCS-51扩展一个输入口和一个输出口,口地址分别为FF00H和FF01H,画出电路图。编写程序,从输入口输入一个字节的数据存入片内RAM 60H单元,同时把输入的数据送住输出口。

答:此题取消电路图,程序如下: } MAIN:

ORG 0000H AJMP MAIN ORG 0040H MOV DPTR,#FF00H MOVX A,@DPTR MOV 60H, A; MOV DPTR,# FF01H MOVX @DPTR,A SJMP MAIN 28