单片机原理与应用作业答案Word格式.docx
《单片机原理与应用作业答案Word格式.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用作业答案Word格式.docx(39页珍藏版)》请在冰豆网上搜索。
P0~P3)、一个输入驱动器和输入缓冲器。
通常把4
个端口称为
P0~P3。
在无片外扩展的存储器的系统中,这
4个端口的每一位都可以作为双
向通用I/O端口使用。
在具有片外扩展存储器的系统中,
P2口作为高
8位地址线,P0口分
时作为低8位地址线和双向数据总线。
MCS-51系列单片机数据总线为
8位,地址总线为
18位,对外可寻址空间为
64KB。
25.开机复位后,CPU使用的是哪组工作寄存器(
R0-Rn)?
它们的地址是什么?
CPU如何
确定和改变当前工作寄存器组(
R0-Rn)?
开机复位后,CPU使用的是第0组工作寄存器。
它们的地址是
00H-07H。
CPU通过对程
序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。
27.MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的?
当主频为
12MHz的时
候,一个机器周期是多长时间?
执行一条最长的指令需要多长时间?
时钟周期又称为振荡周期,
由单片机内部振荡电路
OSC产生,定义为OSC时钟频率的
倒数。
时钟周期又称为节拍(用
P表示)。
时钟周期是时序中的最小单位。
一个状态有两个
节拍,
机器周期定义为实现特定功能所需的时间。
MCS-51的机器周期由
12个时钟周期构成。
执行一条指令所需要的时间称为指令周期,
指令周期是时序中的最大单位。
由于机器执
行不同指令所需的时间不同,因此不同指令所包含的机器周期数也不尽相同。
MCS-51
的指
令可能包括
1~4个不等的机器周期。
当MCS-51
的主频为12MHz时,一个机器周期为
1s。
执行一条指令需要的最长时间为
4s。
第2章MCS-51单片机指令系统与汇编语言程序设计
4.假定累加器A中的内容为30H,执行指令1000H:
MOVCA,@A+PC后,把程序存储
器(1031H)单元的内容送入累加器A中。
7.指出下列各指令在程序存储器中所占的字节数
(1)MOV
DPTR,#1234H
3字节
(2)MOVX
A,@DPTR
1字节
(3)LJMPLOOP
(4)MOV
R0,A
(5)AJMP
LOOP
2字节
1
(6)MOVA,30H2字节
(7)SJMPLOOP2字节
(8)MOVB,#30H2字节
15.设堆栈指针(SP)=60H,片内RAM中的(30H)=24H,(31H)=10H。
执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?
PUSH30H
PUSH31H
POPDPL
POPDPH
MOV30H,#00H
MOV31H,#0FFH
结果为:
61H、62H单元为堆栈单元,其内容已被弹出栈。
(30H)=00H
(31H)=0FFH(DPTR)=2410H(SP)=60H
17.完成以下的数据传送过程
(1)R1的内容传送到R0。
(2)片外RAM20H单元的内容送R0。
(3)片外RAM20H单元的内容送片内RAM20H单元。
(4)片外RAM1000H单元的内容送片内RAM20H单元。
(5)ROM2000H单元的内容送R0。
(6)ROM2000H单元的内容送片内RAM20H单元。
(7)ROM2000H单元的内容送片外RAM20H单元。
解:
(1)R1的内容传送到R0;
MOVA,R1
MOVR0,A
(2)片外RAM20H单元内容送R0;
MOV
R1,
#20H
MOVX
A,
@R1
R0,
A
(3)片外RAM20H
单元的内容送片内
RAM20H单元;
@R0
20H,
(4)片外RAM1000H
DPTR,#1000H
@DPTR
(5)ROM2000H单元的内容送R0单元;
CLR
DPTR,
#2000H
MOVC
A,@A+DPTR
(6)ROM2000H
单元的内容送片内RAM20H
单元;
(7)ROM2000H单元的内容送片外RAM20H
单元。
@R0,
2
19.编程将片内RAM的40H~60H单元中内容送到片外RAM以3000H开始的单元中。
并将原片内RAM数据块区域全部清0。
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVSP,#60H
MOVR7,#21H
MOVR1,#40H
MOVDPTR,#3000H
LOOP:
MOVA,@R1
MOVX@DPTR,A
MOV@R1,#00H
INCR1
INCDPTR
DJNZR7,LOOP
SJMP$
END
23.设有100个有符号数,连续存放在片外RAM以2000H为首地址的存储区中,试编程
统计其中正数、负数、零的个数。
MOVR2,#100
MOVR3,#00H
MOVR4,#00H
MOVR5,#00H
MOVDPTR,#2000H
LOOP:
MOVXA,@DPTR
CJNEA,#00H,NET1
INCR3
SJMPNET3
NET1:
JBACC.7NET2
INCR4
NET2:
INCR5
NET3:
INCDPTR
DJNZR2,LOOP
24.试编一查找程序,从外部RAM首地址为2000H、长度为9FH的数据块中找出第一个
ASCII码A,将其地址送到20A0H和20A1H单元中。
MAIN:
MOVDPTR,#2000H
MOVR7,#9FH
LP0:
MOVXA,@DPTR
CJNEA,#41H,LP1
MOVR2,DPL
MOVR3,DPH
MOVDPTR,#20A0H
MOVA,R2
MOVX@DPTR,A
3
INC
DPTR
A,R3
@DPTR,A
SJMPLP2
LP1:
DJNZ
R7,LP0
LP2:
RET
27.编程实现将片外RAM中2400H~2450H单元中的数传送到
2500H~2550H单元中。
ORG
0000H
MOV
30H,#24H
LJMP
MAIN
31H,#00H
0030H
32H,#25H
R7,#51H
33H,#00H
DPTR,#2400H
R2,#51H
LOOP:
A,@DPTR
DPH,30H
DPH,
#25H
DPL,31H
#24H
DPH,32H
DPL,33H
R7,LOOP
SJMP
$
31H
33H
另一种方法:
R2,LOOP
第三章作业答案
6.设(TMOD)=0A5H,则定时器T0
的状态是(方式1计数),定时器T1的状态是(方式
2定时)。
27.请写出INT1为低电平触发的中断系统初始化程序。
INT1为低电平触发的中断系统初始化程序如下:
0013H
INTN1