单片机硬件与接口答案.docx
《单片机硬件与接口答案.docx》由会员分享,可在线阅读,更多相关《单片机硬件与接口答案.docx(32页珍藏版)》请在冰点文库上搜索。
单片机硬件与接口答案
单片机硬件与接口(共18题)
1、图1用作播放音乐。
当单片机为89C51时,请将下面单片机最小系统的元件补齐:
(10分)
(1)晶振电路(4分)
(2)复位电路(4分)
(3)片内或片外ROM选择电路。
(2分)
图1播放音乐的电路
*******************************************************************************
解答:
(1)18脚19脚
(2)第九脚RST
(3)EA脚进行选择EA=1,内部;EA=0,外部;
*******************************************************************************
回答完毕
2、图2为用164作接口的电路图,当用下面的指令设置命令时,请将图中所需的连线补齐。
提示:
164的4根空脚从上往下依次是8、9、1、2(7分)
…
clrp1.7
setbp1.7;复位信号端P1.7=9脚
movscon,#00h
movsbuf,a;数据线P3.0=1脚和2脚
…
图2164接口
*******************************************************************************
解答:
P1.7=9脚
P3.0=1脚和2脚
P3.1=移位脉冲
*******************************************************************************
(回答完毕)
参考资料:
74LS1648位串入,并出移位寄存器
1脚:
DSA(数据输入端A)
2脚:
DSB
8脚:
时钟输入
9脚:
中央复位输入
3、图3为具有E2ROM的单片机电路图。
试根据下面程序段中的信息,将图中的连线补齐。
(5分)
DEVICEEQU30H;器件硬件地址的存储单元
SLAEQU32H;定义器件片内地址的存储单元
SDABITP1.2;定义24C02数据线
SCLBITP1.1;定义24C02时钟线
ORG0000H
MAIN:
MOVSP,#70H;设堆栈指针
MOVNUMBYT,#16;设置传送数据的长度
MOVDEVICE,#0A2H;器件硬件地址的存储单元10100010
MOVSLA,#040H
LCALLWrToROM
MOVNUMBYT,#13
MOVDEVICE,#0ACH;器件硬件地址的存储单元10101100
MOVSLA,#040H
LCALLWrToROM
SJMP$
;写数据块
WrToROM:
MOVR1,SLA
MOVR0,#60H
MOVR2,NUMBYT
ReWrite:
LCALLStart
MOVA,DEVICE;DEVICEWrite
LCALLSend
LCALLAck
MOVA,R1;Address+i
LCALLSend
LCALLAck
MOVA,@R0;*(PData+i)
LCALLSend
LCALLAck
LCALLStop
LCALLDELAY
INCR0
INCR1
DJNZR2,ReWrite
RET
图3读写24CXX
*******************************************************************************
解答:
由程序得到两块芯片的地址
24C02的地址线A2A1A0的内容必须硬件布线一致即#0A2H#0ACH
*******************************************************************************
回答完毕
参考资料:
1010A2A1A0R/W
2、图2为用8255作接口的电路图。
试根据下面程序段中的信息,将图中8255所缺的连线补齐。
提示:
8255图中从上向下依次为A0、A1和
。
8255命令的定义参见第四大题。
(10分)
ORG000H
MOVDPTR,#0BFFFH;1011111111111111
MOVA,#88H;10001000
MOVX@DPTR,A
begin:
MOVDPTR,#0AFFFH;1010111111111111
MOVXA,@DPTR
JNBACC.5,SUB1
AJMPSUB2
SUB1:
MOVR7,#8
MOVDPTR,#8FFFH
MOVA,#0FEH
ROT1:
MOVX@DPTR,A
RRA
ACALLDELAY
DJNZR7,ROT1
AJMPbegin
SUB2:
图28255接口
3、图3为串口彩灯电路图。
(共9分)
a)根据下面程序片段,请将图中所需的连线补齐。
(3分)
b)程序运行后,彩灯的效果是(注:
开关自上而下分别为K1、K2、K3)
(1)K1合上,(3分)
(2)K2合上,K1断开,(3分)
ORG0000H
movscon,#00h
begin:
jnbp1.0,sub1
jnbp1.1,sub2
jnbp1.2,sub3
ajmpbegin
sub1:
mova,#0feh;11111110
MOVR4,#8;00001000
NEXT1:
acallserial
acalldelay
RRA;循环右移1位
DJNZR4,NEXT1
ajmpbegin
sub2:
mova,#0feh
MOVR4,#8
NEXT2:
acallserial
acalldelay
RLA
DJNZR4,NEXT2
ajmpbegin
sub3:
mova,#0AAh
acallserial
acalldelay
ajmpbegin
serial:
clrp1.7
setbp1.7
movsbuf,a
jnbti,$
clrti
ret
delay:
movr7,#0
d1:
movr6,#0
d2:
djnzr6,d2
djnzr7,d1
ret
图3串口彩灯
*******************************************************************************
解答:
(1)P3.0=1脚和2脚
(2)
*******************************************************************************
第7题重复,答案参照第1题
2、当单片机为89C51时,请将下面单片机部分的元件补齐:
(6分)
(1)晶振电路(2分)
(2)复位电路(2分)
(3)片内或片外ROM选择电路。
(2分)
图1彩灯电路
图3串口彩灯
第8题重复,答案参照第1题
3、图1是一个步进电机控制图。
当单片机为89C51时,请将下面单片机最小系统的元件补齐:
(共10分)
(1)晶振电路(4分)
(2)复位电路(4分)
(3)片内或片外ROM选择电路。
(2分)
图1步进电机控制
4、图2为用8255作接口的电路图。
若8255的/CS接在80C51的P2口高4位,A0、A1接80C51的P2口低4位。
当用下面的指令设置命令时,请将图中所需的连线补齐。
提示:
8255图中A0在上,A1在下,/CS在最下面。
(7分)
…
MOVDPTR,#7CH
MOV@DPTR,A
…
图28255接口
5、图3为P1口彩灯电路图。
(共8分)
a)根据下面程序片段,请将图中所需的连线补齐。
(2分)
b)程序运行后,彩灯的效果是
(1)开关打开,(3分)
(2)开关合上,(3分)
begin:
mova,#0feh;11111110
start:
jbp3.0,s2;按键接口P3.0
rra
movp1,a
acalldelay
jmpstart
s2:
MOVa,#55h;01010101取反交替显示
s20:
jnbp3.0,begin
cpla
movp1,a
acalldelay
ajmps20
delay:
movr6,#0a0h
delay2:
movr7,#0
delay1:
djnzr7,delay1
djnzr6,delay2
ret
end
图3P1彩灯
*******************************************************************************
解答:
(a)按键接P3.0
(b)
(1)01010101与10101010四灯交替闪烁
(2)一灯从下至上移动显示
*******************************************************************************
第11题重复,答案参照第10题
6、图3为P1口彩灯电路图。
a)根据下面程序片段,请将图中所需的连线补齐。
(5分)
b)程序运行后,彩灯的效果是
(1)开关打开,(3分)
(2)开关合上,(3分)
begin:
mova,#0f0h
start:
jbp3.7,s2
cpla
movp1,a
acalldelay
jmpstart
s2:
MOVa,#0FFh
s20:
jnbp3.7,begin
cpla
movp1,a
acalldelay
ajmps20
delay:
movr6,#0a0h
delay2:
movr7,#0
delay1:
djnzr7,delay1
djnzr6,delay2
ret
end
图3P1彩灯
第12题重复,答案参照第1题
7、图1的电路图中缺少构成单片机最小系统的电路。
当单片机为89C51时,请将所需的电路补齐:
(共5分)
(1)晶振电路(2分)
(2)复位电路(2分)
(3)片内或片外ROM选择电路。
(1分)
图1单片机电路图
8、有如图2所示按多机通信运行的A、B、C、D四只单片机,其中一只运行主机程序,其余运行分机程序。
主机连接有两只开关,可用四个状态选择不同的分机。
分机被选中后,用两只LED灯显示自己的机号。
(共10分)
根据下面程序片段,请将图中所需的元件和连线补齐。
主机的部分程序段
K1BITP3.0
K2BITP3.1
SDABITP3.7;定义数据线
SCLBITP3.6;定义时钟线
ORG00H
AJMPMAIN
MAIN:
JBK1,SUB01
JBK2,SUB02
SUB00:
MOVA,#00H;发送0号分机的地址
ACALLSENDBYTE
。
。
。
;发送0号分机的数据
AJMPMAIN
。
。
。
;其它代码
SENDBYTE:
MOVR7,#08
。
。
。
RET
分机0的部分程序段:
SDABITP3.7;定义数据线
SCLBITP3.6;定义时钟线
ORG00H
AJMPMAIN
MAIN:
ACALLRCVBYTE;接收分机地址
。
。
。
;地址判断程序
MOVP0,A;点亮两盏LED灯,用以表示本机地址
。
。
。
;其它代码
RCVBYTE:
。
。
。
RET
分机1的部分程序段:
SDABITP3.7;定义数据线
SCLBITP3.6;定义时钟线
ORG00H
AJMPMAIN
MAIN:
ACALLRCVBYTE;接收分机地址
。
。
。
;地址判断程序
MOVP1,A;点亮两盏LED灯,用以表示本机地址
。
。
。
;其它代码
RCVBYTE:
。
。
。
;其它代码
分机2的部分程序段:
SDABITP3.7;定义数据线
SCLBITP3.6;定义时钟线
ORG00H
AJMPMAIN
MAIN:
ACALLRCVBYTE;接收分机地址
。
。
。
;地址判断程序
MOVP2,A;点亮两盏LED灯,用以表示本机地址
。
。
。
;其它代码
RCVBYTE:
。
。
。
;其它代码
图2多机通信
9、图3为具有E2ROM的单片机电路图。
试根据下面程序段中的信息,将图中的连线补齐。
(5分)
DEVICEEQU30H;器件硬件地址的存储单元
SLAEQU32H;定义器件片内地址的存储单元
SDABITP1.2;定义24C02数据线
SCLBITP1.1;定义24C02时钟线
ORG0000H
MAIN:
MOVSP,#70H
MOVNUMBYT,#16
MOVDEVICE,#0A6H;器件硬件地址的存储单元10100110
MOVSLA,#040H
LCALLWrToROM
MOVNUMBYT,#13
MOVDEVICE,#0A8H;器件硬件地址的存储单元10101000
MOVSLA,#040H
LCALLWrToROM
SJMP$
;写数据块
WrToROM:
MOVR1,SLA
MOVR0,#60H
MOVR2,NUMBYT
ReWrite:
LCALLStart
MOVA,DEVICE;DEVICEWrite
LCALLSend
LCALLAck
MOVA,R1;Address+i
LCALLSend
LCALLAck
MOVA,@R0;*(PData+i)
LCALLSend
LCALLAck
LCALLStop
LCALLDELAY
INCR0
INCR1
DJNZR2,ReWrite
RET
图3读写24CXX
*******************************************************************************
解答:
由程序得到两块芯片的地址
*******************************************************************************
回答完毕
10、图2为用8255作接口的电路图。
试根据下面程序段中的信息,将图中8255所缺的连线补齐。
提示:
8255图中从上向下依次为A0、A1和
。
(10分)
ORG000H
MOVDPTR,#0FBFFH;
MOVA,#88H
MOVX@DPTR,A
begin:
MOVDPTR,#0FAFFH
MOVXA,@DPTR
JNBACC.7,SUB1
AJMPSUB2
SUB1:
MOVR7,#8
MOVDPTR,#0F8FFH
MOVA,#0FEH
ROT1:
MOVX@DPTR,A
RRA
ACALLDELAY
DJNZR7,ROT1
AJMPbegin
SUB2:
图28255接口
*******************************************************************************
解答:
(1)
*******************************************************************************
11、图3为串口彩灯电路图。
(共9分)
a)根据下面程序片段,请将图中所需的连线补齐。
(3分)
b)程序运行后,彩灯的效果是(注:
开关自上而下分别为K1、K2、K3)
(1)K1合上,(3分)
(2)K2合上,K1断开,(3分)
ORG0000H
movscon,#00h
begin:
jnbp1.0,sub1
jnbp1.1,sub2
jnbp1.2,sub3
ajmpbegin
sub1:
mova,#0feh
MOVR4,#8
NEXT1:
acallserial
acalldelay
RLA
DJNZR4,NEXT1
ajmpbegin
sub2:
mova,#0feh
MOVR4,#8
NEXT2:
acallserial
acalldelay
RRA
DJNZR4,NEXT2
ajmpbegin
sub3:
mova,#0AAh
acallserial
acalldelay
ajmpbegin
serial:
clrp1.7
setbp1.7
movsbuf,a
jnbti,$
clrti
ret
delay:
movr7,#0
d1:
movr6,#0
d2:
djnzr6,d2
djnzr7,d1
Ret
*******************************************************************************
解答:
(1)
*******************************************************************************
第17题重复,答案参照第1题
12、图1的电路图中缺少构成单片机最小系统的电路。
当单片机为89C51时,请将所需的电路补齐:
(共5分)
(1)晶振电路(2分)
(2)复位电路(2分)
(3)片内或片外ROM选择电路。
(1分)
图1单片机电路图
13、有如图2所示按多机通信运行的A、B、C、D四只单片机,其中一只运行主机程序,其余运行分机程序。
主机连接有两只开关,可用四个状态选择不同的分机。
分机被选中后,用两只LED灯显示自己的机号。
(共10分)
根据下面程序片段,请将图中所需的元件和连线补齐。
主机的部分程序段
K1BITP3.0
K2BITP3.1
ORG00H
AJMPMAIN
MAIN:
。
。
。
;初始化定时器、串口
JBK1,SUB01
JBK2,SUB02
SUB00:
MOVSBUF,#00H;发送0号分机的地址
。
。
。
;发送0号分机的数据
AJMPMAIN
。
。
。
;其它代码
分机0的部分程序段:
ORG00H
AJMPMAIN
MAIN:
。
。
。
;初始化定时器、串口
MOVA,SBUF;接收分机地址
。
。
。
;地址判断程序
MOVP0,A;点亮两盏LED灯,用以表示本机地址
。
。
。
;其它代码
分机1的部分程序段:
ORG00H
AJMPMAIN
MAIN:
。
。
。
;初始化定时器、串口
MOVA,SBUF;接收分机地址
。
。
。
;地址判断程序
MOVP1,A;点亮两盏LED灯,用以表示本机地址
。
。
。
;其它代码
分机2的部分程序段:
ORG00H
AJMPMAIN
MAIN:
。
。
。
;初始化定时器、串口
MOVA,SBUF;接收分机地址
。
。
。
;地址判断程序
MOVP2,A;点亮两盏LED灯,用以表示本机地址
。
。
。
;其它代码
图2多机通信