单片微型计算机原理及应用 - 课后习题答案 - 山东理工 联系客服

发布时间 : 星期二 文章单片微型计算机原理及应用 - 课后习题答案 - 山东理工更新完毕开始阅读3a3cdb87524de518974b7d49

MOV MOV MOV MOV MOV CLR SETB JBN MOV CLR 5.设外部晶频率振为SCON,#50H PCON,#80H TMOD,#20H TH1,#0E5H TL1,#0E5H ES TR1 RI,$ A,SBUF RI

11.0592MHz,串行口工作在方式1,波特率为4800b/s。编

写用T1作为波特率发生器的方式字并计算T1的计数初值。

TMOD:20H TH1=TL1=0FAH

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

甲机发送(采用查询方式): MOV SCON,#80H MOV PCON,#00H MOV R0,#30H MOV R2,#10H LOOP: MOV A,@R0 MOV C,P MOV TB8,C MOV SBUF,A WAIT: JBC TI,NEXT SJMP WAIT NEXT: INC R0 DJNZ R2,LOOP RET

乙机接收(采用查询方式): LOOP: READ: LP0: LP1: ERR:

MOV MOV MOV MOV JBC SJMP MOV MOV JNC JNB AJMP JB MOV INC DJNZ RET …

SCON,#90H PCON,#00H R0,#40H R2,#10H RI,READ LOOP

A,SBUF C, P LP0 RB8,ERR LP1

RB8,ERR @R0,A R0

R2,LOOP

;设置工作方式2

;置SMOD = 0,波特率不加倍 ;数据区地址指针 ;数据长度 ;取发送数据

;奇偶位送TB8

;送串行口并开始发送数据 ;检测是否发送结束并清TI

;修改发送数据地址指针

;工作方式2,并允许接收 ;置SMOD = 0

;置数据区地址指针 ;等待接收数据长度 ;等待接收数据并清RI

;读一帧数据

;C不为1转LP0

;RB8 = 0,即RB8不为P转ERR ;RB8 = 1,即RB8不为P转ERR ;RB8 = P,接收一帧数据

;出错处理程序

第8章 MCS?51系列单片机系统扩展技术

1.MCS?51单片机扩展系统中,程序存储器和数据存储器共用16位地址线和8位数据线,为什么两个存储空间不会发生冲突?

因为是使用不同的控制信号。

程序存储器的读控制使用/PSEN信号;数据存储器的读、写控制室使用/RD、/WR。 2.试用Intel 2764,6264为MCS?51单片机设计一个存储器系统,它具有8KB EPROM(地址由0000H~1FFFH)和16KB的数据存储器(地址为2000H~5FFFH)。要求绘出该存储器系统的硬件连接图,并指出每片芯片的地址空间。

使用一片Intel 2764,两片RAM6264.

参看图8-22,采用译码器译码。2764可以不用译码,其片选信号直接接地,其地址为0000H~1FFFH,读控制接/PSEN;RAM6264的片选分别接74LS138的/Y1、/Y2,其地址分别为:2000H~3FFFH、4000H~5FFFH,其读。写控制分别接/RD、/WR。

3.在一个8031应用系统中扩展一片2764、一片8255A和一片6264。试画出系统框图,并指出所扩展的各个芯片的地址范围。

参看图8-20、8-23、8-29.

将图8-23中的/CE1接74LS138译码器的/Y0端。 2764的地址空间范围:0000H~1FFFH 6464的地址空间范围:0000H~1FFFH

82552A的口地址:PA口0FFFCH、PB口0FFFDH、PC口0FFFEH、控制口0FFFFH。 4.试设计用两片74LS377和两片74LS244扩展两个并行输出口和两个并行输入口的扩展连接电路图。

参看图8-26、8-27.

5.8255A有哪几种工作方式?怎样进行选择?简述8255A的控制字。

8255A具有3种工作方式,通过向8255A?的控制字寄存器写入方式选择字,就可以规定各端口的工作方式。当8255A工作于方式1和方式2时,C口可用做A口或B口的联络信号,用输入指令可以读出C口的状态。

通过方式选择控制字进行选择。

D7 D6 D5 D4 D3 D2 D1 D0 C口低4位I/O 1?输入 0?输出 0?输出 0?方式0 B组方式 00 1 1?方式C口高4位I/O 1?输入 0?输出 00?方式0 00 1 A组方式 01?方式A口I/O D7=1 标志位 1*?方式2 1?输入 0?输出 B口I/O 1?输入

端口C置位/复位控制字

端口C的各位常用做控制或应答信号,通过对8255A的控制口写入置位/复位控制字,可使端口C的任意一个引脚的输出单独置1或清零,或者为应答式数据传送发出中断请求信号。在基于控制的应用中,经常希望在某一位上产生一个TTL电平的控制信号,利用端口C的这个特点,只需要用简单的程序就能形成这样的信号,从而简化了程序。

D7 D6 D5 任意位 00 D4 D3 D2 D1 D0 D7=0 标志位 00 00 1?置位 00 0?复位 000 选中00 PC0 00 位选择 001 选中PC1 00 …00 111 选中PC7 00 D7位为置位/复位控制字标志位,它必须等于0,用来和方式选择控制字进行区分;D3~D1位用于选择对端口C中某一位进行操作;D0位指出对选中位是置1还是清零。D0 = 1时,使选中位置1;D0 = 0时,使选中位清零。

8.SPI总线一般使用几条线?分别是什么?

SPI使用4条线:串行时钟SCK,主机输入/从机输出数据线MISO(简称SO),主机输出/从机输入数据线MOSI(简称SI)和低电平有效的从机选择线CS。

9.I2C总线一般使用几条线?分别是什么?

I2C总线采用两线制,由数据线SDA和时钟线SCL构成。

第9章 MCS?51系列单片机键盘/显示器接

口技术

1.简述单片机如何进行键盘的键输入以及怎样实现键功能处理。

当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所规定的功能。键信息输入是与软件编程密切相关的过程。对于一组键或一个键盘,需要通过接口电路与CPU相连。CPU可以采用查询或中断方式了解有无键输入并检查是哪个键被按下,将该键的信息送入CPU,然后通过散转指令转入执行该键的功能程序,执行完毕又返回到原始状态。

键输入接口与软件应可靠而快速地实现键信息输入与执行键功能任务。为此,应解决下列问题。

(1)键开关状态的可靠输入

目前,无论是按键还是键盘,大部分利用的都是机械触点的合、断作用。机械触点在闭合及断开瞬间由于弹性作用的影响均有抖动过程,从而使电压信号也出现抖动,如图9-20所示。抖动时间长短与开关的机械特性有关,一般为5~10ms。

按键的稳定闭合时间,由操作人员的按键动作确定,一般为十分之几秒至几秒。为了保证CPU对键的一次闭合仅做一次键输入处理,必须去抖动影响。

通常,去抖动影响的方法有硬、软两种。在硬件上是采取在键输出端加R?S触发器或单稳态电路构成去抖动电路。在软件上采取的措施是,在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而去除了抖动影响。 (2)对按键进行编码以给出键值或直接给出键号

任何一组按键或键盘都要通过I/O接口线查询按键的状态。根据不同的键盘结构采用不同的编码方法。但无论有无编码及采用什么编码,最后都要转换成与累加器中数值相对应的键值,以实现按键功能程序的散转转移(相应的散转指令为JMP @A + DPTR),因此一个完善的键盘控制程序应完成下述任务:

① 检测有无键按下。

② 有键按下后,在无硬件去抖动电路时,应用软件延时方法除去抖动影响。 ③ 有可靠的逻辑处理方法,如n键按下,即只处理一个键,其间任何按下又松开的键不产生影响,不管一次按键持续有多长时间,仅执行一次按键功能程序。

④ 输出确定的键号以满足散转指令的要求。

2.何谓键抖动?键抖动对单片机系统有何影响?如何消除键抖动?

目前,无论是按键还是键盘,大部分利用的都是机械触点的合、断作用。机械触点在闭