c语言项目式教程课后答案,《单片机C语言项目式教程》合题含答案.doc

《单片机C语言项目式教程》合题含答案

六、综合题

1.现有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:

(1)画出硬件电路连线图,并标注主要引脚;

(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。

解:(1)电路图如下所示:

(2)2764的地址为C000H-DFFFH;

第一个6116的地址为A000H-A7FFH;

第二个6116的地址为6000H-67FFH;

事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。

2.使用89C51芯片外扩一片E2PROM2864,要求2864兼作程序存储器和数据存储器,且首地址为8000H。要求:

(1)确定2864芯片的末地址;

(2)画出2864片选端的地址译码电路;

(3)画出该应用系统的硬件连接图。

解:(1)2864为8KB的存储器,如果首地址为8000H,则其末地址为9FFFH,理由参考第12题;

(2)电路图如下所示:

(3)电路图如下所示:

3.画出MCS-51系列单片机利用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请叙述主机向02H从机发送一个字节数据的过程。

答:主机发送数据过程如下:

将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。

由主机向4个从机发出一帧地址址信息02H,第9位为1。从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。若相同,则清SM2=0,若不同则SM2不变仍为1。

主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其余SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一个字节数据的功能。

4.请回答:

(1).下图中外部扩展的程序存储器和数据存储器容量各是多少?

(2).两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1)

(3).请编写程序,要求:

(A)将内部RAM 30H~3FH中的内容送入1# 6264的前16个单元中;

(B)将2# 6264的前4个单元的内容送入40H~43中;

解:(1).外扩程序存储器的容量是8K,外扩数据存储器的容量是16K

(2).2764范围:C000H~DFFFH

1#范 围: A000H~BFFFH

2#范 围: 6000H~7FFFH

(3).请编写程序

(A)MOV R1 ,#10H

MOV DPTR,@0A000H

MOV R0,#30H

LOOP: MOV A,@Ro

MOVX @DPTR,A

INC DPTR

INC R0

DINE R1,LOOP

RET

(B) MOV R1,#04H

MOV DPTR,#6000H

MOV R0 ,#40H

LOOP: MOVX A ,@DPTR

MOV @R0 ,A

INC DPTR

INC R0

DTNZ R1 ,LOOP

RET

5.简述一种多外部中断源系统的设计方法。(给出图和程序)

解:原理电路如图所示

程序如下:

INT:PUSH PSW

PUSH  A

JNB P1.0, IR0 ;扫描中断请求

JNB P1.1 , IR1

JNB P1.2, IR2

JNB P1.3, IR3

INTIR: POP A         ;返回

POP PSW

IR0: 中断服务子程序 :中断服务

AJMP INTIR

IR1: 中断服务子程序

AJMP INTIR

IR2: 中断服务子程序

AJMP INTIR

IR3: 中断服务子程序

AJMP INTIP

6.结合原理图,简述行列式扫描键盘的工作原理。

答: 扫描键盘工作原理

首先X0~X3,始终接高电平,Y0~Y3给低电平,扫描P1.0~P1.3若全为高电平,则没有键按下,若有低电平,则有键按下。

接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1.3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键。

再Y1输出低电平,Y0,Y2,Y3输出高电平,重复第2 步骤作.

再Y2输出低电平,Y0,Y1,Y3输出高电平扫描

再Y3输出低电平,Y0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值