
1.现有8031单片机、74LS373锁存器、1片27EPROM和2片6116RAM,请使用他们组成一个单片机系统,要求:
(1)画出硬件电路连线图,并标注主要引脚;
(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。
解:(1)电路图如下所示:
(2)27的地址为C000H-DFFFH;
第一个6116的地址为A000H-A7FFH;
第二个6116的地址为6000H-67FFH;
事实上,由于采用的是线选法,导致了地址不连续,地址空间利用不充分。建议在实际工作中要具体情况具体分析。在两种地址分配中选一种较好的来应用。
2.使用C51芯片外扩一片E2PROM28,要求28兼作程序存储器和数据存储器,且首地址为8000H。要求:
(1)确定28芯片的末地址;
(2)画出28片选端的地址译码电路;
(3)画出该应用系统的硬件连接图。
解:(1)28为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# 62的前16个单元中;
(B)将2# 62的前4个单元的内容送入40H~43中;
解:(1).外扩程序存储器的容量是8K,外扩数据存储器的容量是16K
(2).27范围: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,Y1,Y2输出高电平扫描
根据据以上扫描,确定以上各键是否按下。
7.MCS-51单片机外扩展一片8255,画出系统电路原理图,写出地址分布。
8255A可以直接与MCS-51单片机进行接口,其连接图如图所示。8255A的A0、A1分别接地址总线的A0、A1,片选端接P2.7口,因此8255A PA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH。
8.编写交通灯控制程序。在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向(A线)通车时,东西方向绿灯亮、南北方向(B线)红灯亮;东西方向通车时间(30秒)到后,东西方向的绿灯亮,黄灯亮3秒,之后由东西方向切换到南北方向通车,此时东西方向黄灯灭,红灯亮,南北方向红灯灭、绿灯亮,南北方向开始通车。通车时间(60秒)到后,南北方向的绿灯亮,黄灯亮3秒,之后由南北方向切换到东西方向通车,如此循环。(20分)
ORG 2000H
MAIN: MOV P1,#0CH;A线放行、B线禁止
MOV R7,#19H;延时秒数
MAIN1: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN1
MOV P1,#0AH;A线警告、B线禁止
MOV R7,#05H;延时秒数
MAIN2: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN2
MOV P1,#21H;A线禁止、B线放行
MOV R7,#19H;延时秒数
MAIN3: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN3
MOV P1,#11H;A线放行、B线警告
MOV R7,#05H;延时秒数
MAIN4: LCALL DELAY;1秒延时子程序
DJNZ R7,MAIN4
AJMP MAIN
1秒延时子程序:
ORG 2100H
DEY1S:MOV R1,#02H;
LOOP3:MOV R2,#C8H;
LOOP2:MOV R3,#FAH;
LOOP1:NOP
NOP
NOP
DJNZ R3,LOOP1
DJNZ R2,LOOP2
DJNZ R1,LOOP3
RET
9.若外部程序存储器已扩展(未画出),请编写程序,要求:
(1)将30H~3FH中的内容送入62 1# 的前16个单元中;
(2)将62 2# 的前32个单元的内容送入40H~5FH中;
解:(1).外部扩展的数据存储器为3片8K的RAM帮外扩容量为24中
(2). A15 A!4 A13 地址范围
0 1 1 6000H~7FFFH
1 0 1 A000H~BFFFH
(3).(1)程序如下:
ORG 0000H
RESET:AJMP MAIN ;复位,转主程序
ORG 0100H
MAIN: MOV DPL,#ooH ;初始化DPTR
MOV DPH,#60H
MOV R0,#30H. ;初始化R0
LOOP: MOV A,@R0
MOVX @DPTR, A
INC R0
INC DPTR
CJNE R0,#40H,Loop
NOP
RET
(2)程序如下:
ORG 0000H
RESET:AJMP MAIN ;转主程序
ORG 0100H
MAIN: MOV DPL#00H ;初始化DPTR
MOV DPH,#0A0H
MOV R0,#40H ;初始化 R0
Loop2: movx A,@DPTR
Mov @Ro,A
INC DPTR
INC Ro
CJNE Ro,#60H,Loop2
NOP
RET
10.实现一个4个键盘的方法,画出硬件简略图.怎么实现都可以不限条件。
(键盘为1行四列,p1.7为输出,p1.0 p1.1 p1.2 p1.3为输入,键值放在20H单元)
解:编写程序
ORG 0000H
MOV 20h ,#00H
WAIT: ACALL KEY INPUT
AJMP WAIT
KEY INPUT:JNB P1.0,KEY_0
JNB P1.1, KEY _1
JNB P1.2, KEY _2
JNB P1.3, KEY _3
RET
KEY_0: ACALL DELAY
JNB P1.0,GET_KEY_0
MOV 20H,#00H
RET
GET_KEY_0:MOV 20H,#30H
RET
KEY_1: ACALL DELAY
JNB P1.1,GET_KEY_1
MOV 20H,#00H
RET
GET_KEY_1:MOV 20H,#31H
RET
KEY_2: ACALL DELAY
JNB P1.2,GET_KEY_2
MOV 20H,#00H
RET
GET_KEY_2:MOV 20H,#32H
RET
KEY_3: ACALL DELAY
JNB P1.0,GET_KEY_3
MOV 20H,#00H
RET
GET_KEY_3:MOV 20H,#33H
RET
DELAY: MOV R0,#0FFH;
DELAY2: MOV R1,#22H
DELAY1: DJNZ R1,DELAY1
DJNZ R0,DELAY2
RET
END
10.回答下列问题并写出简要分析过程。
图1(a)所示为某微机中存储器的地址空间分布图。图1(b)为存储器的地址译码电路,为使地址译码电路按图1(a)所示的要求进行正确寻址(设CPU的地址线为16条),要求画出:
A组跨接端子的内部正确连线图?(并简要分析)
B组跨接端子的内部正确连线图?(并简要分析)
(注:74LS139是2-4译码器,A为低端,B为高端,使能端G接地表示译码器处于正常译码状态)。
答:连线部分:A组跨接端子与B组跨接端子的各自连接如图1(b)所示。
简答部分:如果图连线错误,则需对简答酌情扣分,然后再视简答的逻辑性酌情给分。
在连对的基础上,只要分析出连线的逻辑关系或各芯片的地址范围或连线逻辑均给分。
