接口技术复习题4docx.docx
《接口技术复习题4docx.docx》由会员分享,可在线阅读,更多相关《接口技术复习题4docx.docx(18页珍藏版)》请在冰豆网上搜索。
接口技术复习题4docx
应用题
1.如下图所示,是一个8OC51片外分别扩展程序存储器和数据存储器的连接示意图,请回答:
(1)该系统外部扩展的程序存储器和数据存储器容量各是多少?
(2)系统中各片存储器芯片的地址范围分别是多少?
(3)2764和6264的片选端并接在一根译码输出线上,这会发生地址冲突吗?
为什么?
(1)该系统外部扩展的程序存储器是24KB,数据存储器容量
是24KB
(3)2764和6264的片选端并接在一根译码输出线上,但这不会发生地址冲突,因为两种芯片的控制信号是不一样的,外ROM受PSEN信号的控制,而外RAM受初和标信号的控制。
另外,对它们操作的指令也是不一样的,对ROM的操作指令是“MOVC”,而对外RAM的操作指令是
“MOVX”。
2.如下图所示,请回答:
(1)该系统外部扩展的程序存储器和数据存储器容量各是多少?
(2)系统中各片存储器芯片的地址范围分别是多少?
(3)请编写程序,要求:
(a)将累加器A中的内容送入1#6264
的第一个单元中;
(b)将2#6264的最后一个单元的内容送入内部RAM的30H单元中;
(1)外扩程序存储器的容量是8KB,外扩数据存储器的容量是16KB
(2)2764范围:
C000H〜DFFFH
1#6264范围:
A000H〜BFFFH
2#6264范围:
6000H〜7FFFH
MOV30H,A
3.如下图所示,是一个80C51片外分别扩展程序存储器和数据
存储器的连接示意图,请I可答:
(1)该系统外部扩展的程序存储器和数据存储器容量各是多少?
(2)系统中各片存储器芯片的地址范围分别是多少?
(3)2764和6264的片选端并接在一根译码输出线上,这会发
生地址冲突吗?
为什么?
(1)该系统外部扩展的程序存储器是24KB,数据存储器容量
是24KB
(2)
2764的地址分别是:
6264的地址分别是:
6000H〜7FFFH;6000H—7FFFH
0A000H—0BFFFH;0A000H—0BFFFH
0C000H—0DFFFH;0C000H—0DFFFH
(3)2764和6264的片选端并接在一根译码输出线上,但这不会发生地址冲突,因为两种芯片的控制色号是歹一样的,外ROM受PSEN信号的控制,而外RAM受希和标信号的控制。
另外,对它们操作的指令也是不一样的,对ROM的操作指令是“MOVC”,而对外RAM的操作指令是“MOVX”。
4.如下图,一个8031应用系统扩展了一片2716程序存储器、一片6264数据存储器,请列出2716、6264的地址范围,如果要将6264芯片中前面100个单元内容清零,试编写程序。
2716的地址0000H—07FFH
6264的地址0000H-1FFFH
MOVDPTR,#0000H
MOVR7,#100
CLR
NEXT:
MOVX@DPTR,A
INCDPTR
DECR7
JNCNEXT
RET
5.设8051晶振频率fosc为6MHz,利用定时器T0方式1,产生50ms定时。
使P1.0每隔50ms产生一次跳变。
(即输出周期为100ms的方波。
)编写定时器T0的初始化程序和方波实现程序。
方式控制字:
0000000101H方式1为16位计数器
计数初值:
N=2i6.50ms/2ns=2'6.25000=40536=9E58H
DPH=9EHDPL=58H
初始化:
MOVTMOD,#01H
MOVDPL,#58H
MOVDPH,#9EH
MOVIE,#82H
SETBTRO
方波实现程序:
CLRTRO
MOVDPL,#58H
MOVDPH,#9EH
CPLP1.0
SETBTRO
RETI
6.按照与CPU的连接方式,非编码键盘可分为哪两种键盘结构?
如下图所示是一个简单的键盘电路,它属于哪种键盘接口电路?
如果KO、KI、K2分别按下时各自处理功能子程序FUNCO、FUNC1>FUNC2,试编写读键盘处理子程序(设单片机晶振频率为6MHz)。
80C51
Pl.2
Pl.l
P1.0
按照与CPU的连接方式,非编码键盘可分为独立式键盘和矩阵式键盘。
如图所示是独立式键盘。
KEYSCAN:
MOVPh#0FFH
MOVA,Pl
LCALLD1Oms
MOVB,Pl
CJNEA,B,GORET
JNBACC.O,KEYO
JNBACC.2,KEY2
GORET:
RET
KEYO:
LCALLFUNCO
RET
KEY1:
LCALLFUNCI
RET
KEY2:
LCALLFUNC2
RET
DIOms:
MOVR7,#10
DL2:
MOVR6,#250
DL1:
DJNZR6,DL1
DJNZR7,DL2
RET
7.下图是一单片机控制DI、D2、D3、D4灯泡系统,K为手动控制开关,试编写一程序,使当K合上时,DI、D2、D3、D4循环顺序点亮,每个灯点亮时间为1秒,当K打开时,四个灯泡全部熄灭。
(单片机晶振频率为12MHz)
Pl.0
Pl.1
Pl.2
Pl.3
8031+5V+5Vi+5V1
D3
START:
MOVA,#01HLOOP:
MOVPl,#0F0HLOOP1:
JBPl.4,LOOPMOVPl,ACLRCRLCA
LCALLDELAYJBACC.4,LOOP2AJMPLOOP1
LOOP2:
MOVA,#01H
AJMPLOOP1
DELAY:
MOVR6,#0
DELI:
MOVR7,#0DJNZR7,$DJNZR6,DELIRET
8.下图所示是二位BCD码拨盘输入的硬件连接图,在执行拨盘输入程序之前,BCD码拨盘已拨好数码,试编制程序,读入二位BCD码数据,将它存放于内部RAM20H、21H单元中。
(注:
(1)、
(2)两个是BCD码拨盘,A端是公共端,若将拨码拨至7,则拨盘的4、2、1与A相连,若将拨码拨至9,则拨盘的8、1与A相连)
MOVPl,#OFFH
CLRPl.4
SETBPl.5
MOVA,Pl
ANL
A,#0FH
MOV
20H,A
SETB
Pl.4
CLR
Pl.5
MOV
A,Pl
ANL
A,#0FH
MOE
21H,A
END
9.如图所示,用8031单片机的P1口和微型打印机的8根数据线连接以输出数据,P3口的P3.0和P3.1分别连接打印机的联络线STB、BUSY,以构成查询方式的打印机接口。
试编写打印机程序,将8031内部RAM从20H单元开始的50个数据送打印机打印。
(已知微型打印机忙时BUSY=1,此时不能接收数据;打印机的数据输入采用选通控制,当STB±出现负跳变时数据被打入)
8031微型打印机
Pl
//
\
DBO
—
>
DB7
P3.0
►
STB
P3.1
V
BUSY
MOV
MOV
RO,#20H
Rl,#50
;取数据区首地址
;数据长度
LOOP:
JB
P3.1,LOOP
;若BUSY=1,则继续查询
MOVA,@R0
;取数
MOV
Pl,A
;送数
CLR
P3.0
SETB
P3.0
;模拟STB负脉冲
INC
RO
;指向下一个数
DJNZ
Rl,LOOP
;未完继续
RET
10.下图所示为一单片机应用系统中的七段LED显示器,7475为锁存器,9368为段译码器,FND500为共阴极LED显示器,试编写程序使显示器上交替显示“0"和T”,间隔时间为0.5秒。
(设单片机时钟频率为6MHz)
共阴核及系撮
LI:
MOVDPTR,#0088H
MOVA,#00H
MOVX@DPTR,A
LCALLTIME
MOVA,#01H
MOVX@DPTR,A
LCALLTIME
SJMPL1
TIME:
MOVRO,#10
TO:
MOVR1,#50
Tl:
MOVR2,#250
T2:
NOP
DJNZR2,T2
DJNZR1,Tl
DJNZRO,TO
RET
11.下图是8051与DAC0832以单缓冲方式连接的接口电路示意图,试编写程序,使DAC0832输出三角波。
AH
ADC0832的端口地址,A0=0;输出三角波即输出从小到大,从大到小的变化过程:
MOVDPTR,#00FEH
MOVA,
#00H
UP:
MOVX
INCA
JNZUP
MOVA,
@DPTR,A
#0FEH
DOWN:
MOVX@DPTR,A
DECA
JNZDOWN
SJMPUP
END
12.下图是一智能仪器数据采集接口,ADC0809为8通道模数转换器,试编程对8路模拟信号依次进行A/D转换,并把转换
MOVRO,#030HMOVRl,#0
MOVDPTR,#0FE00HLOOP:
MOVA,R1
MOVX@DPTR,AJNBP3.3,$
MOVXA,@DPTRMOV@R0,AINCDPTRINCROINCR1
CJNER1,#8,LOOPEND
13.
下图是80C51与DAC0832的单缓冲连接方式的接口电路。
14.
试编程产生一个锯齿波信号的程序。
CJNEA,#dataend,NEXT:
本锯齿波未结束,则继续
SJMPLOOP
NEXT:
INCA
SJMPLOOP
15.下图为DAC0832双缓冲工作方式的接口电路,如果要使两路同步输出,请编程(设输出的参数分别在内部RAM30H、31H单元)。
MOVDPTR,#0DFFFH:
MOVA,30H
MOVX@DPTR,A
MOVDPTR,#OBFFFH:
MOVA,31H
MOVX@DPTR,A
MOVDPTR,#7FFFH
MOVX@DPTR,A
RET
16.下图AD574A与80C51的接口电路。
试编程将转换后的低4位和高8位数据分别存入片内RAM的40H和41H单元。
P0.7P06PO.5PO.4P0.3P0.2PO1PO.O
80C51
ALE
WR*疝
PI.0
D7Q7
D6Q6
D5cQ5
IMQ4
D3uQ3
D2?
Q2
DIQI
DOQO
GE
cs
V(r
V径
DGNDAo..
R/C
AGNI)
AD571A
DBII
DBIO
DB9REFIN
DB8
DB7REFOUT
DB6
」
±
J
100Q
100Q
DB5BIP
DB4
DB3
DB2IOVIN
DBI
DBO
CE2OVIN
--r~i
□
n—
L
STS12/T
♦15V
-15V
讣伦
±IOV
±5V
松振给入
;R1指向转换结果的送
;启动12位转换地址送
ADCVT:
MOVRl,#41H
存单元地址
MOVRO,#7CH
RO
A/D转换
17.下图为ADC0809与80C51的接口电路图。
P0口直接与
ADC0809的数据线相接,P0口的低三位连接到ADDA、
ADDB、ADDCo80C51的ALE信号经二分频后连到ADC0809的CLK引脚。
P2.7口作为读写口的选通信号。
ADC0809的8个通道所占用的片外RAM的地址为7FF8H〜7FFFH。
试编程采用查询法采集数据,并将采集数据分别存入内存40H-47H单元。
地址
START:
MOVRO,#40H
;置缓冲区地址
MOV
DPTR,#7FF8H
;指向INO的通道
MOVR2,#20H
DELY:
DJNZR2,DELY
SETBP3.2
DONE:
JBP3.2,DONE
MOVXA,@DPTR
MOV@R0,A
;指向下一通道
INCRO;修改缓冲区指针
DJNZRl,LOOP
RET