当前位置:文档之家› 单片机原理与运用-第三章答案

单片机原理与运用-第三章答案

单片机原理与运用-第三章答案
单片机原理与运用-第三章答案

第三章单片机的汇编语言与程序设计习题

1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值?

MOV A,59H

MOV R0,A

MOV A,#00H

MOV @R0,A

MOV A,#25H

MOV 51H,A

MOV 52H,#70H

解:MOV A,59H ;A=50H

MOV R0,A ;RO=50H

MOV A,#00H ;A=00H

MOV @R0,A ;50H=00H

MOV A,#25H ;A=25H

MOV 51H,A ;51H=25H

MOV 52H,#70H ;52H=70H

所以:A=25H R0=50H ;50H=00H 51H=25H

2.请选用合适的指令对P0口内容做修改(例如使P0.0~P0.3不变,P0.4~P0.7为0)。

解:MOV A,P0

ANL A,0fh

Mov P0,A

3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。

解:访问外部数据存储器指令有:

MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,A

MOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTR

MOVX A,@Ri MOVX A,@R0

MOVX @Ri,A MOVX @RI,A

访问程序存储器指令有:

MOVX A,@A+PC

MOVX A,@A+DPTR

4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?

PUSH 30H

PUSH 31H

POP DPL

POP DPH

MOV 30H,#00H

MOV 31H,#0FFH

解:PUSH 30H ;61H=24H

PUSH 31H ;62=10H SP=62H

POP DPL ;DPL=10H

POP DPH ;DPH=24H SP=60H

MOV 30H,#00H ;30H=00H

MOV 31H,#0FFH ;31H=0FFH

5.设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各位何值?

XCH A,R1

XCHD A,@R1

解:XCH A,R1 ;A=23H R1=40H

XCHD A,@R1 ;A=25H 40H=03H

6.两个四位BCD码数相加,被加数和加数分别存于50H,51H和52H,53H单元中(次序为千位、百位在低地址中),和数存在54H,55H和56H中(56H用来存放最高位的进位,试编写加法程序)

解:ORG 0000H

LJMP START

ORG 0100H

START: MOV A,53H

ADD A,51H

DA A

MOV 55H,A

MOV A,52H

ADDC A,50H

DA A

MOV 56H,C

SJMP $

END

7.设(A)=01010101B,(R5)=10101010B,分别写出执行ANL A,R5;ORL A,R5:XRL A,R5 指令后结果。

解:ANL A,R5 ;00000000B

ORL A,R5 ;11111111B

XRL A,R5 ;11111111

8.设指令SJMPrel=7EH,并假设该指令存放在2114H和2115H单元中。当该指令执行后,程序将跳转到何地址?

解:2116H+60H=2176H

9.简述转移指令AJMPaddr11,SJMPrel,LJMPaddr16及JMP@A+DRTR的应用场合。

解:AJMPaddr11为2K字节范围内的无条件转跳指令,把程序的执行转移到指定

的地址。

SJMPrel是无条件转跳指令,执行时在PC加2后,把指令中补码形式的偏移量加到PC上,并计算出转向目标地址。转向的目标地址可以在这条指令前128字节到后127字节之间

LJMPaddr16执行这条指令时把指令的第二字节和第三字节分别装入PC的高位和地位字节中无条件地转向指定地址。转移目标地址可以在64K程序存储器地址空间的任何地方,不影响任何标志。

JMP @A+DRTR指令的功能是把累加器中8位无符号数与数据指针DRTR中的16位数相加,将结果作为下条指令地址送入PC,利用这条指令能实现程序的散转。

10.试分析下列程序段,当程序执行后,位地址00H,01H中的内容将为何值?P1口的8条I/O线为何状态?

CLR C

MOV A,#66H

JC LOOP1

CPL C

SETB 01H

LOOP: ORL C,ACC.0

JB ACC.2,LOOP2

CLR 00H

LOOP2: MOV P1,A

解:CLR C ;CY=0

MOV A,#66H ;A=66H

JC LOOP1

CPL C ;CY=1

SETB 01H ;20H.1=1

LOOP: ORL C,ACC.0 ;CY=1

JB ACC.2,LOOP2 ;

CLR 00H

LOOP2: MOV P1,A ;P1=01100110B

SJMP $

20H.0=0 20H.1=1 P1=66H

11.的特查指令表,写出下列两条指令的机器码,并比较一下机器码中操作数排列次序点。

MOV 78H,80H

MOV 78H,#80H

解:直接寻址单元传送到直接寻址单元的机器码是第二个操作数在前,而立即数传送到直接地址单元是第一个操作数在前,次序正好相反。

12.手工汇编下列程序段

ORG 873BH

AAA EQU 851AH

QQQ MOV A,35H

CLR C

SUBB A,#0AH

JC QQ16

MOV A,36H

SUBB A,#0AH

JC QQ15

AJMP AAA

QQ15: MOV 35H,#00H

QQ16: JNB 02H,QQ17

MOV R6,39H

DEC R6

SJMP QQ18

QQ17: MOV R6,39H

INC 39H

QQ18: CLR 05H

LJMP 8500H

END

13.若有两个无符号数x,y分别存放于内部存储器50H,51H单元中,试编写一个程序实现x*10+y,结果存入52H,53H两个单元中。

解:ORG 0000H

SJMP START

ORG 0030H

START :MOV A,50H

MOV B,#10

MUL AB ;(50H)×10积的高、低字节分别在B、A中ADD A,51H

MOV 53H,A ;积的低字节加(51H)其和存放在53H中MOV A,#00H

ADDC A,B

MOV 52H,A;积的高字节加进位位存放在52H中。

SJMP $

END

14从内部存储器20H单元开始,有30个数据。试编一个程序,把其中的正数,负数分别送51H和71H开始的存储单元,并分别记下正数负数的个数送50H和70H单元。

解:ORG 0000H

SJMP START

ORG 0030H

START: MOV 1EH,#51H;正数存放首地址51H存于1EH单元

MOV 1FH,#71H;负数存放首地址71H存于1EH单元

MOV R0,#20H;建立取数(源操作数)的地址指针

MOV R2,#30;预置数据长度

MOV 50H,#00H;正数个数统计单元清零

MOV 70H,#00H;负数个数统计单元清零

LOOP:MOVA,@R0 ;取数

JB ACC.7,NEG ;是负数转NEG处理

POST:MOV R1,1EH;是正数,将暂存的地址送R1(间址寄存器)

MOV @R1,A;将正数入存

INC50H;正数个数加1

INC 1EH;正数暂存地址加1修正

LOOP1:INCR0;取数地址加1修正

DJNZ R2,LOOP;计数长度减1,不等于零,继续循环统计

SJMP $;结束

NEG: MOVR1,1FH;是负数,将暂存的地址送R1(间址寄存器)

MOV @R1,A;将正数入存

INC 70H;负数个数加1

INC1FH;负数暂存地址加1修正

SJMP LOOP1;转取数地址修正

15内部存储单元40H中有一个ASCII码字符,试编一程序,给该数的最高位加上奇检验。

解:ORG 0000H

SJMP START

ORG 0030H

START: MOV A,40H;取数给A

CLR ACC.7 ;A最高位(奇偶校验位)清零

JB P, LOOP ;40H中的ASCII码原来就是奇数个1(最高位给零)

SETB ACC.7 ;40H中的ACSII码原来是偶数个1,最高位置1 LOOP:MOV 40H,A ;入存

SJMP $;结束

END

16.编写一段程序,将存放在自DATA单元开始的一个四字节数(高位在前)取补后送回原单元。

解:若DATA在内部数据存储器中(假如存放在30H起始的4个单元中);采用求反加1的算法;

ORG 000H

SJMP START

ORG 0030H

START: SETB C ;置进位位为1

MOV R2,#04H ;预置计数长度

MOV R0,#DATA1+3 ;取数指针指向低字节的地址

LOOP:MOV A,@R0 ;取数

CPL A ;求反

ADDC A,#00H ;加进位

MOV @R0,A ;入存

DEC R0 ;地址指针修正

DJNZ R2,LOOP ;4字节未处理完,继续循环处理

SJMP $;结束

DATA1 EQU 30H;

END

17.以BUF1为起始地址的外存储区中,存放有16个单字节无符号二进制数,是编一程序,求其平均值并送BUF2单元。

解:设R2、R3存放和,将其除以16(R2、R3联合左移4位)即为平均置值(单字节存放)

ORG 0000H

SJMP START

ORG 0030H

START: MOV R2,#00H;和高字节清零

MOV R3,#00H;和低字节清零

MOV DPTR,#DATA1 ;建立外部数据存储器的地址指针

MOV R4,#10H;预置计数长度

LOOP:MOVX A,@DPTR;从外部数据存储器取数

ADD A ,R3

MOV R3,A

MOV A,R2;

ADDC A,#00H;

MOV R2,A;累加

INC DPTR;地址指针修正

DJNZ R4,LOOP;16字节未累加完,继续循环累加

MOV R4,#04H;R2、R3联合移位4次(除以16)

LOOP1: CLR C

MOVA,R2

RRC A

MOV R3,A

DJNZ R4,LOOP1;平均值存放于R3中

SJMP $;结束

DATA1 EQU 1000H;

END

18.在DATA1单元中有一个带符号8位二位进制数x。编一程序,按以下关系计算y值,送DATA2单元。

y =x+5,x>0

y=x,x=0

y=x-5,x<0

解:设DATA1、DATA2为内部数据存储器的二个单元(假设为30H、31H)且y 的值单字节不会产生溢除出

ORG 000H

SJMP START

ORG 0030H

START:MOV A,30H;取数X给A

JZ ZERO;若X=0,则Y=0,转入存

JB ACC.7,NEG;若X<0,则转X-5

POZI :ADD A,#05H;若X>0,则X=5,入存

SJMP ZERO;

NEG:CLR C;

SUBB A,#05H;

ZERO:MOV 31H,A;结果入存

SJMP $

END

19.设内部RAM中30H和31H单元中有两个带符号数,求出其中的大数存放在32H单元中。

解:若两数同号,则值大的数大;两数异号,正数值大

ORG 000H

SJMP START

ORG 0030H

START: MOV A,30H

XRL A,31H;两数异或

JB ACC.7,YIHAO ;两数异号

TONGHAO:CLRC;两数同号

MOV A,30H

SUBB A,31H

JC LOOP1-2

LOOP0:MOV A,30H;同号被减数大,值大

LOOED:MOV 32H, A

SJMP $

LOOP1:MOV A,31H;异号被减数大,值小

SJMP ED;

YIHAO:MOV A,30H;异号,哪个正,其值大

JNB ACC.7,LOOP0

SJMP LOOP1

END

20.利用逻辑控制的方法,设计一个主程序,在第1,3,5,6次调出SB1子程序,第2,4,7,8次调用SB2程序。

解:ORG 000H

SJMP TEST

ORG 0030H

TEST:MOV R2,#08H

MOV A,#10101100B

LOOP:RLC A

JC LOOP1

LCALL SB1

SJMP RELT

LOOP1:LCALL SB2

RELT:DJNZ R2,LOOP

SJMP $

PRGO : RET

PRG1:RET

END

21.将DATA单元存放的以ASCII码表示的16进制数转换成十进制数存放于DATA+1单元。

解:先将DATA的ASCII码转换成十六进制的数,再转换成十进制数。数字的ASCII 码转成十六进制数(即为十进制数)采用减30H

字母的ASCII码转成十六进制数采用减37H,十六进制再转十进制可采用先减0AH,再加10H;这样-37H-0AH+10H=-31H,可采用直接减31H。

数字与字母的ASCII的区别,可采用对D6的检测D6=1为字母的ASCII码,反之为数字的ASCII码。

ORG 000H

SJMP TEST

ORG 0030H

TEST:MOV R0,#DATA1

MOV A,@R0;将DATA1的数给A

CLR C;

LOOP:JB ACC.6,LOOP1;是字母,转LOOP1

SUBB A,#30H;是数字减30H

ED:MOV DATA+1,A;入存

SJMP $;结束

LOOP1:SUBB A,#31H;是字母减31H

SJMP ED;

DATA1 EQU 30H

END

22.编一个将十六进制数转换成十进制数的子程序。

解:一个单字节的十六进制数转成十进制数一般考虑用二字节BCD码来存放。设转换后的数存放在R3(高)、R4(低)中。

ORG 000H

SJMP TEST

ORG 0030H

TEST:MOV DPTR,#TAB;建立表头地址

MOV A,30H

ANL A,#0F0H

SWAPA;高半字节分离

ADD A,0E0H;高半字节数乘2

MOV B,A;暂存

MOVC A,@A+DPTR;

MOV R3,A;取转换后的高半字节存R3

INC DPTR;

MOV A,B;

MOVC A,@A+DPTR;

MOV R4,A;取转换后的低半字节存R4

MOV A,30H;

ANL A,#0FH;

ADD A,R4;

DA A;

MOV R4,A;加原数的低半字节(DA A)

MOV A,R3;

ADDC A,#00H;

DA A;

MOV R3,A;

RET;

TAB:DB 00H,00H,00H,16H,00H,32H,00H,48H,00H,64H

DB 00H,80H,00H,96H,01H,12H,01H,28H,01H,44H

DB 01H,60H,01H,76H,01H,92H,02H,08H,02H,24H

DB 02H,40H,02H,40H,02H,56H

END

23.编一程序,将存储区DATA1单元开始的20个单字节数据依次与DATA2单元为起始地址的20个单字节数据进行交换。

解:设DATA1、DATA2分别为内部RAM30H和50H单元。

ORG 0000H

SJMP START

ORG 0030H

START: MOV R0,#30H ;建立源地址指针

MOV R1,#50H ;建立目标地址指针

MOV R6,#20 ;置计数长度

LOOP: MOVA,@R0 ;取源地址数据

XCHA,@R1

MOV@R0,A ;源地址数据与目标地址数据交换

INC R0 ;源地址指针修正

INC R1 ;目标地址指针修正

DJNZ R6,LOOP ;计数长度减1,不等于0继续循环

RET

END

24试编写一程序,将存储区DATA1单元开始的50个单字节逐一移至DATA2单元开始的存储区中。

解:START:MOV R0,#DATA1 ;建立源操作数地址指针

MOV R1,#DATA2 ;建立目标操作数地址指针

MOV R6,#50 ;置计数长度

LOOP: MOVA,@R0

MOV@R0,A

INCR0

INC R1

DJNZ R6,LOOP

RET

END

25试编写一采用查表法求1~20的平方数子程序(要求:x在累加器A中,1≤x ≤20,平方数高位存放在R6,低位在R7)

解:为了方便起见,每一数的平方在表中统一用双字节来存放,这样只要把数乘以2加表头地址,就可以找到平方数的高字节存放的地址,连续取两个字节即可ORG 0000H

SJMP START

ORG0030H

START: MOV DPTR,#TAB ;建立源地址指针

DEC A

MOV B,A

ADDA,B

MOV B,A

LOOP: MOVCA,@A+DPTR

MOV R5,A

INC DPTR

MOVA,B

MOVCA,@A+DPTR

MOV R6,A

RET

TAB: DB00H,00H,00H,01H,00H,04H,00H,09H,00H,16H;平方数用BCD表示(也可用DB00H,25H,00H,36H,00H,49H,00H,64H,00H,81H;十六进制表示)DB01H,00H,01H,21H,01H,44H,01H,69H,01H,96H

DB02H,25H,02H,56H,02H,89H,03H,24H,03H,61H,04H,00H

END

若平方表从0的平方存放,把程序中红色的DEC A指令去掉,若表从1的平方存放,则将DEC A指令加上。

26试编写一个三字节无符号数乘法程序。

解:OGR 0000H

MOV R0,#5CH

MUL1: MOV A,5AH

MOV B58H

MUL AB

MOV @R0,A

MOV R3,B

MOV A,5BH

MOV B,5BH

MUL AB

ADD A,R3

MOV R3,A

MOV A,B

ADD A,R2

MOV R2,A

MOV R1,#A

JNC LAST

INC R1 LAST:MOV A,5BH MOV B,29H

MUL AB

ADD A,R2

INC R0

MOV @R0,A

MOV A,B

ADDC A,RI

INC R0

MOV @R0,A

MOV R5,#04H

MOV R1,#10H LOOP: MOV A,@R0 MOV @R1,A

INC R0

INC R1 BINBCD: MOV R1,#48H

MOV R2,#04H

INC R2

CLR A

BB0: MOV @R1,A

INC R1

DJNZ R2,BB0

MOV A,#04H

MOV B,#8

MUL AB

MOV R3,A

BB3: MOV R0,#10H

MOV R2,#04H

CLR C

BB1: MOV A,@R0

RLC A

MOV @R0,A

INC R0

DJNZ R2,BB1

MOV R2,#04H

INC R2

MOV R1,#48H BB2: MOV A,@R1

ADDC A,@R1

DA A

MOV @R1,A

INC R1

DJZN R2,BB2

DJZN R3,BB3

SJMP $

单片机原理及接口技术第3章习题答案.docx

1>指令:CPU 根据人的意图来执行某种操作的命令 指令系统:一台计算机所能执行的全部指令集合 机器语言:用二进制编码表示,计算机能直接识别和执行的语言 汇编语言:用助记符、符号和数字来表示指令的程序语言 高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入 了解的通用性语言 2、 见第1题 3、 操作码[目的操作数][,源操作数] 4、 寻址方式 寻址牢间 立即数寻址 程序存储器ROM 直接寻址 片内RAM 低128B 、特殊功能寄存器 寄存器寻址 工作寄存器R0 R7、A 、B 、C 、DPTR 寄存器间接寻址 片内RAM 低128B 、片外RAM 变址寻址 程序存储器(@A+PC,@A+DPTR ) 相对寻址 程序存储器256B 范围(PC+偏移量) 位寻址 片内RAM 的20H-2FH 字节地址、部分SFR 5、SFR :直接寻址,位寻址,寄存器寻址;片外RAM :寄存器间接寻址 A, 40H ;直接寻址 (40H ) A RO, A ;寄存器寻址 (A ) - RO Pl, #0F0H ;立即数寻址 0F0—P1 A, @R0 ;寄存器间接寻址((RO )) - A P2, Pl ;直接寻址(Pl ) ->P2 最后结果:(RO) =38H, (A) =40H, (PO) =38H, (Pl) = (P2) =0F0H, (DPTR) =3848H, (18H) =30H, OOH) =38H, (38H) =40H, (40H) =40H, (48H) =38H 注意:?左边是内容,右边是单元 7、 用直接寻址,位寻址,寄存器寻址 8、 MOV A,DATA ;直接寻址2字节1周期 MOV A,#DATA ;立即数寻址 2字节1周期 6、MOV MOV MOV MOV MOV MOV MOV MOV MOV @R0,30H ;直接寻址(3UH ) (RO ) DPTR,#3848 ;立即数寻址 3848—DPTR 40H,38H ;直接寻址(38H ) ->40H R0,30H ;直接寻址(30H ) ->R0 P0,R0 ;寄存器寻址 (RO ) PO 18H, #30H ;立即数寻址 30->18H MOV MOV

单片机原理与应用及C51程序设计(第三版)(1、2、3、4、7章课后习题答案)

第一章: 1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。 +45 -89 -6 +112 答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101 【-89】原=11011001,【-89】反=10100110,【-89】补=10100111 【-6】原=10000110,【-6】反=11111001,【-6】补=11111010 【+112】原=01110000,【+112】反=01110000,【+112】补=01110000 2. 指明下列字符在计算机内部的表示形式。 AsENdfJFmdsv120 答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H 3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。 答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。存储器是用来存放程序和数据的记忆装置。输人设备是向计算机输人原始数据和程序的装置。输出设备是计算机向外界输出信息的装置。I/O接口电路是外部设备和微型机之间传送信息的部件。总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。微型计算机的各大功能部件通过总线相连。 4.简述8086CPU的内部结构。 答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。 5.何谓总线?总线按功能可分为哪几种? 答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。总线功能来划分又可分为地址总线(Address Bus)、数据总线(Date Bus)和控制总线(Control Bus)三类。 6.内部存储器由哪几部分组成? 答:包括随机存储器(RAM)和只读存储器(ROM)。 7.简述8086中的存储器管理? 答:8086把1M空间分成若干块(称为“逻辑段”),各个逻辑段之间可在实际存储空间中完全分开,也可以部分重叠,甚至可以完全重叠。每个逻辑段容量不超过64K字节,这样就可用16位寄存器提供地址访问。一个存储单元的地址可由段基址和偏移地址组成,这个地址我们称为逻辑地址,一般表示为“段基址:偏移地址”。而1M存储空间中的20位地址称为物理地址。逻辑地址是程序中使用的地址,物理地址是访问存储器的实际地址。 物理地址=段基址×16 + 段内偏移地址 8.什么是接口电路?接口电路有何功能? 答:I/O接口电路是外部设备和微型机之间传送信息的部件。接口电路主要功能。(1) 数据的寄存和缓冲功能。(2) 信号转换功能。(3) 设备选择功能。(4) 外设的控制和监测功能。(5) 中断或DMA管理功能。(6) 可编程功能。 9.外部设备与CPU之间的数据传送方式常见有几种?各有什么特点? 答:外部设备与微机之间的信息传送传送方式一般有无条件传送方式、查询传送方式、中断控制方式等。无条件传送方式是指CPU直接和外部设备之间进行数据传送。查询传送方式又称为条件传送方式,是指CPU通过查询I/O设备的状态决定是否进行数据传输的方式。中断是一种使CPU暂停正在执行的程序而转去处理特殊事件的操作。即当外设的输入数据准备好,或输出设备可以接收数据时,便主动向CPU发出中断请求,CPU可中断正在执行的程序,转去执行为外设服务的操作,服务完毕,CPU再继续执行原来的程序。 10.什么是单片机? 答:单片机是把微型计算机中的微处理器、存储器、I/O接口、定时器/计数器、串行接口、中断系统等电路集成到一个集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。 11.和一般微型计算机相比,单片机有何特点? 答:主要特点如下: 1) 在存储器结构上,单片机的存储器采用哈佛(Harvard)结构 2) 在芯片引脚上,大部分采用分时复用技术 3) 在内部资源访问上,采用特殊功能寄存器(SFR)的形式

单片机原理与应用第三章作业.docx

单片机第三章作业 2、什么是寻址方式?MCS-51单片机有哪几种寻址方式? 寻址方式是指令中确定操作数的形式。MSC-51单片机有立即数寻址、直接 寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。 3、指出下列指令中画线的操作数的寻址方式? MOV R0, #55H ;立即寻址 MOV A, 2AH ;直接寻址 MOV A, @R1 ;寄存器间接寻址 MOV @R0, A ;寄存器寻址 DIV A, B ;寄存器寻址 ADD A, R7 ;寄存器寻址 MOVX A, @DPTR ;寄存器间接寻址 MOV DPTR, #0123H ;立即寻址 MOVC A, @A+DPTR ;基址加变址寻址 INC DPTR ;寄存器寻址 7、为什么要进行十进制调整?调整方法是什么? 十进制表示用BCD码规则,相加大于10进位;运算用二进制规则,相加大于16进位。所以要进行十进制调整。 调整方法:数的低四位大于9或标志位AC=1,则低四位加06H调整。高四位大于9或标志位CY=1则高四位加60H。 8、编程实现两个一字节压缩型BCD码的减法。设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中? CLR C MOV A,#9AH SUBB A,@R1 ADD A,@R0 DA A MOV @R0,A 9、把片外数据存储器8000H单元中的数据读到累加器中,应用哪几条指令? MOV DPTR, #8000H MOV A, @DPTR 10、已知内部RAM中,(A)=35H,(R0)=6FH,(P1)=0FCH,(SP)=0C0H。分别写出下列各条指

令的执行结果。 (1) MOV R0, A ; (R0)=35H (2) MOV @R0, A ; (6FH)=35H (3) MOV A, #90H ; (A)=90H (4) MOV A, 90H ; (A)=(90H) (5) MOV 80H, #81H ; (80H)=81H (6) MOVX @R0, A ; (6FH)=35H (7) PUSH A ; (0C1H)=35H,(SP)=0C1H (8) SWAP A ; (A)=53H (9) XCH A, R0 ; (A)=6FH,(R0)=35H

单片机原理及应用技术苏家建曹柏荣汪志锋课后习题参考答案

单片机原理及应用技术苏家建 课后习题参考答案 第三章MCS-51指令系统 3-1 MCS-51指令系统有哪几种寻址方式?按功能分类有哪几种指令? 3-2 设A=0FH,R0=30H,片内RAM的(30H)=0AH, (31H)=0BH, (32H)=0CH,下列程序段运行后的结果? MOV A,@R0 ;A=0AH MOV @R0,32H ;(30H)=0CH MOV 32H,A ;(32H)=0AH MOV R0,#31H ;R0=31H MOV A,@R0;A=(31H)=0BH 3-3 (1)R0的内容传送到R1 MOV A,R0 MOV R1,A (2)内部RAM 20H单元的内容传送到A MOV A,20H (3)外部RAM 30H单元的内容传送到R0 MOV R1,#30H MOVX A,@R1 MOV R0,A (4) 外部RAM 30H单元的内容传送到内部RAM 20H单元 MOV R1,#30H MOVX A,@R1 MOV 20H,A (5) 外部RAM 1000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6)程序存储器ROM 2000H单元的内容传送到R1 MOV DPTR,#2000H CLR A MOVC A,@A+DPTR MOV R1,A (7) RAM 2000H单元的内容传送到内部RAM 20H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (8) RAM 2000H单元的内容传送到外部RAM 30H单元 MOV DPTR,#2000H MOVX A,@DPTR MOV R0,#30H MOVX @R0,A (9) RAM 2000H单元的内容传送到外部RAM 1000H单元

单片机原理与应用技术教学大纲

《单片机原理与应用技术》教学大纲 一、课程名称 单片机原理与应用技术 二、先修课程 电子技术类基础课程和微机应用类基础课程 三、课程性质与任务 课程性质: 本课程是高职高专电子类相关专业的的一门专业课程。本大纲可作为(高中后大专、对口单招、五年制高职)层次学生的教学参考。 课程的任务: 它以MCS-51单片机为例,详细介绍片内结构、工作原理、接口技术和单片机在各领域中的应用。为学生进一步学习微机在智能仪表、工业控制领域中的应用技术奠定必要的基础。 四、课程教学目标 1、知识目标 (1)熟练掌握单片机内部硬件结构、工作原理及指令系统,掌握程序的设计基本方法,能够较熟练地设计常用的汇编语言源程序; (2)掌握单片机的接口技术,熟悉常用的外围接口芯片及典型电路。 (3)熟悉设计、调试单片机的应用系统的一般方法,具有初步的软、硬件设计能力。 (4)能够熟练地掌握一种单片机开发系统的使用方法。 2、能力目标 初步具备应用单片机进行设备技术改造、产品开发的能力。 五、教学内容 第一章微机基础知识 (一)教学目的 熟悉微处理器、微型机和单片机的概念及组成。掌握计算中常用数制及数制间的转换,了解BCD码和ASCII码。熟悉数据在计算机中的表示方法。 (二)教学重点与难点 重点:

计算中常用数制及数制间的转换。 难点: 微处理器、微型机和单片机的概念及组成,微机的工作过程 (三)教学内容 1、微处理器、微机和单片机的概念; 2、微机的工作过程。 (四)本章小结 1、数制有二进制、十进制、十六进制等。 2、计算机系统中常包含有地址总线、数据总线、控制总线 3、微处理器是由运算器、控制器两部组成 4、单片机是由输入、输出、接口电路、时钟电路、存储器、运算器、控 制器几部分组成 (五)思考题 1、试用计算机汇编语言指令完成12*34+56÷7-8的计算步骤? 第二章 MCS-51单片机的结构和原理 (一)教学目的 熟悉MCS- 51单片机内部结构、引脚功能以及单片机执行指令的时序;掌握单片机存储器结构和输入/输出端口结构特点。掌握堆栈的使用。 (二)教学重点与难点 重点: 1、8051的存储器配置及特点; 2、21个特殊功能寄存器(SFR)的功能; 3、堆栈的概念; 4、复位电路。 难点: 1、MCS- 51单片机内部结构; 2、CPU时序。 (三)教学内容

第3章单片机原理课后答案

习题 1. 在MCS-51单片机中,寻址方式有几种? 答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。 2. 在MCS-51单片机中,哪些寻址方式访问的是片内RAM? 答:访问片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。 3. 在MCS-51单片机中,哪些寻址方式访问的是片外RAM? 答:只有寄存器间接寻址方式访问片外RAM寻址。 4. 在对片外RAM单元的寻址中,用Ri间接寻址与用DPTR间接寻址有什么区别? 答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR 作指针间接访问可访问整个64K字节。 5. 在MCS-51单片机中,相对寻址方式的目的地址如何计算? 答:目的地址=当前PC+rel=转移指令的地址+转移指令的字节数+rel 6. 在位处理中,位地址的表示方式有哪几种? 答:位地址的表示方式有4种: (1) 直接位地址(00H~0FFH)。例如,20H。 (2) 字节地址带位号。例如,20H.3表示20H单元的3位。 (3) 特殊功能寄存器名带位号。例如,P0.1表示P0口的1位。 (4) 位符号地址。例如,TR0是定时/计数器T0的启动位。 7. 写出完成下列操作的指令。 (1) R2的内容送到R3中。 MOV A,R2 MOV R3,A (2) 片内RAM的30H单元内容送到片内RAM的40H单元中。 MOV 40H,30H (3) 片内RAM的30H单元内容送到片外RAM的30H单元中。 MOV A,30H MOV R0,#30H MOVX @R0,A (4) 片内RAM的20H单元内容送到片外RAM的2000H单元中。 MOV A,20H MOV DPTR,#2000H MOVX @DPTR,A (5) 片外RAM的1000H单元内容送到片内RAM的20H单元中。 MOV DPTR,#1000H MOVX A,@DPTR MOV 20H,A (6) 片外RAM的1000H单元内容送到片外RAM的4000H单元中。 MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#4000H

《单片机原理与应用》一(含答案)

《单片机原理与应用》期末复习题一 一、填空题: 1.单片微型计算机是一种把(1)中央处理器(CPU)(2)半导体存储器(ROM、RAM)(3)输入/输出接口(I/O接口)(4)定时器/计数器(5)中断系统(6)串行口等部分集成在同一块硅芯片上的有完整功能的微型计算机。 2.十进制数+100的补码=64H,十进制数-100的补码= 9C H 。 3.在8051单片机内部,其RAM高端128个字节的地址空间称为特殊功能寄存器或SFR 区,8051单片机其内部有 21 个特殊功能寄存器,其中11 个可以位寻址。 4.通常单片机上电复位时PC = 0000H,P0~P3 = FFH。SP = 07H,PSW = 00H ,通用寄存器则采用第0组,这一组寄存器的地址范围是从00H 到07H。 5.若PSW为18H,则选取的是第3组工作寄存器。 6.在微机系统中,CPU是按照程序计数器PC 来确定程序的执行顺序的。7.ORL A , #0F0H是将A的高四位置1,而低四位不变。 8.堆栈遵循先进后出(或后进先出)的数据存储原则,针对堆栈的两种操作为PUSH 和 POP 。 9.MCS-51片内20H~2FH范围内的数据存储器,既可以字节寻址又可以:位寻址。 10. 8位二进制数,采用补码形式表示带符号数,它能表示的带符号数真值的范围是分别为-128~127。 11.I/O端口作为通用输入输出口时,在该端口引脚输入数据时,应先向端口锁存器进行写“1”操作。 12.MCS51单片机PC的长度为16位;SP的长度为8位,数据指针DPTR的长度为16位。 13.8051片内有256B的RAM ,可分为四个区,00H~1FH为工作寄存器区;20H~2FH为位寻址区;30H~7FH为堆栈、数据缓冲区;80H~FFH为特殊功能寄存器区。 14.半导体存储器中有一类在掉电后不会丢失数据,称为只读存储器,另一类掉电后丢失数据,且通电后也不能自动恢复,称为随机存取存储器。15.程序储存器的主要功能是存储指令和固定常数与表格数据。16.8051在物理结构上只有四存储空间,它们分别是片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器;但在逻辑结构上只有三个存储空间,它们分别是片内外统一编址的64KB程序存储器、片内256B的数据存储器和片外64KB的数据存储器。

单片机原理与运用_第三章答案

第三章单片机的汇编语言与程序设计习题 1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H MOV R0,A MOV A,#00H MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 解:MOV A,59H ;A=50H MOV R0,A ;RO=50H MOV A,#00H ;A=00H MOV @R0,A ;50H=00H MOV A,#25H ;A=25H MOV 51H,A ;51H=25H MOV 52H,#70H ;52H=70H

所以:A=25H R0=50H ;50H=00H 51H=25H 2.请选用合适的指令对P0口内容做修改(例如使P0.0~P0.3不变,P0.4~P0.7为0)。 解:MOV A,P0 ANL A,0fh Mov P0,A 3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。解:访问外部数据存储器指令有: MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,A MOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTR MOVX A,@Ri MOVX A,@R0 MOVX @Ri,A MOVX @RI,A 访问程序存储器指令有: MOVX A,@A+PC

MOVX A,@A+DPTR 4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化? PUSH 30H PUSH 31H POP DPL POP DPH MOV 30H,#00H MOV 31H,#0FFH 解:PUSH 30H ;61H=24H PUSH 31H ;62=10H SP=62H POP DPL ;DPL=10H POP DPH ;DPH=24H SP=60H MOV 30H,#00H ;30H=00H MOV 31H,#0FFH ;31H=0FFH

单片机原理与应用技术习题

《单片机原理与应用技术》习题 第1章 1、什么叫单片机?其主要特点有哪些? 2、计算机由哪几部分组成? 3、微型计算机由哪几部分构成? 4、微处理器与微控制器有何区别? 5、单片机与PC机有何区别? 6、微型计算机有哪些应用形式?各适于什么场合? 7、单片机的分类标准是什么?请列举单片机的型号并简述其特点。 8、简述单片机的开发过程。 9、常用的单片机应用系统开发方法有哪些? 第2章 1、简述8051单片机40个引脚及功能, 2、简述单片机的基本组成并绘制内部结构示意图。 3、8051单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点? 4、8051单片机的P0-P3口在结构上有何不同?在使用上有何特点? 5、如果8051单片机晶振频率为12MHz,时钟周期、机器周期为多少? 6、8051单片机复位后的状态如何?复位方法有几种? 7、8051单片机的片内、片外存储器如何选择? 8、8051单片机的PSW寄存器各位标志的意义如何? 9、8051单片机的当前工作寄存器组如何选择? 10、8051单片机的程序存储器低端(0000H-0002AH)的几个特殊单元的用途如何? 11、位地址7CH与字节地址7CH有何区别?位地址7CH具体在片内RAM中何位置? 第3章 1、8051系列单片机的指令系统有何特点? 2、8051单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 3、访问特殊功能寄存器SFR可以采用哪些寻址方式? 4、访问内部RAM单元可以采用哪些寻址方式? 5、访问外部RAM单元可以采用哪些寻址方式? 6、访问外部程序存储器可以采用哪些寻址方式? 7、为什么说布尔处理功能是8051单片机的重要特点?

单片机原理及应用第三章习题答案

习题三 1.在MCS-51单片机中,寻址方式有几种?其中对片内RAM 可以用哪几种寻址方式?对片外RAM可以用哪几种寻址方式? 答:寻址方式可分为数的寻址和指令寻址,数的寻址有:常数寻址(立即寻址)、寄存器数寻址(寄存器寻址)、存储器数寻址(直接寻址方式、寄存器间接寻址方式、变址寻址方式)和位寻址,指令的寻址有绝对寻址和相对寻址。片内RAM寻址有:寄存器寻址、直接寻址方式和寄存器间接寻址方式。片外RAM寻址有:寄存器间接寻址方式。2.在对片外RAM单元寻址中,用Ri间接寻址与用DPTR 间接寻址有什么区别? 答:片外数据存储器寻址中,用Ri间接寻址只能访问低端的256字节单元,而用DPTR作指针间接访问可访问整个64K字节。 3.在位处理中,位地址的表示方式有哪几种? 答:1.直接位地址(00H~0FFH)。例如:20H 2.字节地址带位号。例如:20H.3表示20H单元的3位。 3.特殊功能寄存器名带位号。例如:P0.1表示P0口的1位。 4.位符号地址。例如:TR0是定时/计数器T0的启动位。 4.写出完成下列操作的指令。 (1)R0的内容送到R1中。 MOV A,R0 MOV R1,A (2)片内RAM的20H单元内容送到片内RAM的40H单元中。 MOV 40H,20H (3)片内RAM的30H单元内容送到片外RAM的50H单元中。 MOV A,30H MOV R0,#50H MOVX @R0,A (4)片内RAM的50H单元内容送到片外RAM的3000H 单元中。 MOV A,50H MOV DPTR,#3000H MOVX @DPTR,A (5)片外RAM的2000H单元内容送到片内RAM的20H 单元中。 MOV DPTR,#2000H MOVX A,@DPTR MOV 20H,A (6)片外RAM的1000H单元内容送到片外RAM的4000H 单元中。 MOV DPTR,#1000H MOVX A,@DPTR MOV DPTR,#4000H MOV @DPTR,A (7)ROM的1000H单元内容送到片内RAM的50H单元中。 MOV A,#0 MOV DPTR,#1000H MOVC A,@A+DPTR MOV 50H,A (8)ROM的1000H单元内容送到片外RAM的1000H单元中。 MOV A,#0 MOV DPTR,#1000H MOVC A,@A+DPTR MOVX @DPTR,A 5.区分下列指令有什么不同? (1)MOV A,20H和MOV A,#20H 答:前者源操作数是直接寻址,后者源操作数立即寻址。 (2)MOV A,@R1和MOVX A,@R1 答:前者源操作数是访问片内数据存储器,后者源操作数访问片外数据存储器低256字节。 (3)MOV A,R1和MOV A,@R1 答:前者源操作数是寄存器寻址,后者源操作数寄存器间接寻址。 (4)MOVX A,@R1和MOVX A,@DPTR 答:前者源操作数是访问片外数据存储器低256字节,后者源操作数访问片外数据存储器整个64K字节。 (5)MOVX A,@DPTR和MOVC A,@A+DPTR 答:前者源操作数是访问片外数据存储器,后者源操作数访问程序数据存储器。 6.设片内RAM的(20H)=40H,(40H)=10H,(10H)=50H,(P1)=0CAH。分析下列指令执行后片内RAM的20H、40H、10H单元以及P1、P2中的内容。 MOV R0,#20H ;R0=20H MOV A,@R0 ;A=40H MOV R1,A ;R1=40H MOV A,@R1 ;A=10H MOV @R0,P1 ;(40H)=0CAH MOV P2,P1 ;P2=0CAH MOV 10H,A ;(10H)=10H 1

(最新整理)单片机原理与运用-第三章答案

(完整)单片机原理与运用-第三章答案 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)单片机原理与运用-第三章答案)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)单片机原理与运用-第三章答案的全部内容。

第三章单片机的汇编语言与程序设计习题 1.设内部RAM中59H单元的内容为50H,写出当执行下列程序段后寄存器A,R0和内部RAM中50H,51H单元的内容为何值? MOV A,59H MOV R0,A MOV A,#00H MOV @R0,A MOV A,#25H MOV 51H,A MOV 52H,#70H 解: MOV A,59H ; A=50H MOV R0,A ; RO=50H MOV A,#00H ; A=00H MOV @R0,A ; 50H=00H MOV A,#25H ; A=25H MOV 51H,A ; 51H=25H MOV 52H,#70H ; 52H=70H 所以:A=25H R0=50H ; 50H=00H 51H=25H

2.请选用合适的指令对P0口内容做修改(例如使P0。0~P0。3不变,P0。4~P0。7为0). 解: MOV A,P0 ANL A,0fh Mov P0,A 3.试问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。 解:访问外部数据存储器指令有: MOVX @DPTR,A MOVX DPTR,#0100H MOV @DPTR,A MOVX A,@DPTR MOVX DPTR,#0200H MOV A,@DPTR MOVX A,@Ri MOVX A,@R0 MOVX @Ri,A MOVX @RI,A 访问程序存储器指令有: MOVX A,@A+PC MOVX A,@A+DPTR 4.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H,62H,30H,31H,DPTR及SP中的内容将有何变化?

单片机原理及应用课后答案

第1章单片机概述参考答案 1.1 答:微控制器,嵌入式控制器 1.2 答:CPU、存储器、I/O口、总线 1.3 答:C 1.4 答:B 1.5 答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。 嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。嵌入式微处理器相当于通用计算机中的CPU。与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。而嵌入式微处理器仅仅相当于单片机中的中央处理器。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。 1.6 答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。它们的差别是在片内程序存储器上。8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。 1.7 答:因为MCS-51系列单片机中的"MCS"是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。 1.8 答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。 1.9 单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。 DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等。这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的。 嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统(RTOS)。RTOS是嵌入式应用软件的基础和开发平台。正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作。因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域(例如,智能工控设备、ATM机等)、电子商务平台、信息家电(机顶盒、数字电视)以及军事上的应用。 1.10 广义上讲,凡是系统中嵌入了"嵌入式处理器",如单片机、DSP、嵌入式微处理器,都称其为"嵌入式系统"。但多数人把 "嵌入"嵌入式微处理器的系统,称为"嵌入式系统"。目前"嵌入式系统"还没有一个严格和权威的定义。目前人们所说的"嵌入式系统",多指后者。 第2章 AT89S51单片机的硬件结构 1.答:AT89S51单片机的片内都集成了如下功能部件:(1)1个微处理器(CPU);(2)128

单片机原理和应用习题答案解析(第三版)

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都是非标准的,且千差万别,种类很多。单片机的I/O接口实际上是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都是独立的芯片 1-4 IAP、ISP的含义是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器和数据存储器是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常是多功能的; (4)产品系列齐全,功能扩展性强; (5)功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。此系列三种基本产品是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行

《单片机原理及接口技术(第2版)张毅刚》第3章习题及答案

《单片机原理及接口技术》(第2版)人民邮电出版社 第3章 8051指令系统与编程基础 思考题及习题3 1.说明伪指令的作用。“伪”的含义是什么?常用伪指令有哪些?其功能如何? 答:伪指令是程序员发给汇编程序的命令,只有在汇编前的源程序中才有伪指令,即在汇编过程中的用来控制汇编过程的命令。所谓“伪”是体现在汇编后,伪指令没有相应的机器代码产生。常用伪指令及功能如下: ORG(ORiGin)汇编起始地址命令;END(END of assembly)汇编终止命令;EQU(EQUate)标号赋值命令;DB(Define Byte)定义数据字节命令;DW(Define Word)定义数据字命令;DS(Define Storage)定义存储区命令;BIT 位定义命令 2.解释下列术语: 手工汇编,机器汇编,反汇编 答:手工汇编:通过查指令的机器代码表(表3-2),逐个把助记符指令“翻译”成机器代码,再进行调试和运行。这种人工查表“翻译”指令的方法称为“手工汇编”。 机器汇编:借助于微型计算机上的软件(汇编程序)来代替手工汇编。通过在微机上运行汇编程序,把汇编语言源程序翻译成机器代码。 反汇编:将二进制的机器码程序翻译成汇编语言源程序的过程称为“反汇编”。 3.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么? ORG 1000H TAB1 EQU 1234H TAB2 EQU 3000H DB "MAIN" DW TAB1,TAB2,70H 答:从1000H开始的各有关存储单元的内容(16进制)如下: 4DH,41H,49H,4EH,12H,34H,30H,00H,00H,70H 4.设计子程序时应注意哪些问题? 答:编写子程序时应注意以下问题: 子程序的第一条指令前必须有标号。 主程序调用子程序,有如下两条子程序调用指令:

单片机原理第2章习题解答

第2章思考题及习题2参考答案 一、填空 1. 在AT89S52单片机中,如果采用6MHz晶振,一个机器周期为。答:2μs 2. AT89S52单片机的机器周期等于个时钟振荡周期。答:12 3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为 和。答:28H,88H 4. 片内字节地址为2AH单元最低位的位地址是;片内字节地址为A8H单元的最低位的位地址为。答:50H,A8H 5. 若A中的内容为63H,那么,P标志位的值为。答:0 6. AT89S52单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。这时当前的工作寄存器区是组工作寄存器区。答:04H,00H,0。 7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。答:00H,1FH 8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。答:PC, PC,PCH 9. AT89S52单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S52单片机的PC是16位的,因此其寻址的范围为 KB。答:64 10. AT89S52单片机复位时,P0~P3口的各引脚为电平。答:高 11. AT89S52单片机使用片外振荡器作为时钟信号时,引脚XTAL1接,引脚XTAL2的接法是。答:片外振荡器的输出信号,悬空 12. AT89S52单片机复位时,堆栈指针SP中的内容为,程序指针PC中的内容为 。答:07H,0000H 二、单选 1. 程序在运行中,当前PC的值是。 A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。 C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。 答:C 2. 判断下列哪一种说法是正确的?

单片机原理及应用(答案)

1:单片机8031的XTAL1和XTAL2引脚是()引脚。 1.外接定时器 2.外接串行口 3.外接中断 4.外接晶振 2:LU表示()。 1.累加器 2.程序状态字寄存器 3.计数器 4.算术逻辑部件 3:单片机上电复位后,PC的内容和SP的内容为()。 1.0000H,00H 2.0000H,07H 3.0003H,07H 4.0800H,08H 4:8031单片机的定时器T1用作定时方式时是()。 1.由内部时钟频率定时,一个时钟周期加1 2.由内部时钟频率定时,一个机器周期加1 3.由外部时钟频率定时,一个时钟周期加1 4.由外部时钟频率定时,一个机器周期加1 5:INTEL8031的P0口,当使用外部存贮存器时它是一个()。 1.传输高8位地址口 2.传输低8位地址口 3.传输高8位数据口 4.传输低8位地址/数据口 6:当需要从MCS-51单片机程序存储器取数据时,采用的指令为() 1.MOV A, @R1 2.MOVC A, @A + DPTR 3.MOVX A, @ R0 4.MOVX A, @ DPTR 7:若PSW的RS1/RS0=10则单片机工作寄存器工作在()。 1.0区 2.1区

3.2区 4.3区 8:假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为()。 1.6H 2.37H 3.38H 4.39H 9:单片机上电复位后,堆栈区的最大允许范围是个单元。 1.64 2.120 3.128 4.256 10:在MCS-51指令中,下列指令中()是无条件转移指令。 1.LCALL addr16 2.DJNZ direct,rel 3.SJMP rel 4.ACALL addr11 11:INTEL 8031的P0口,当使用外部存贮存器时它是一个()。 1.传输高8位地址口 2.传输低8位地址口 3.传输高8位数据口 4.传输低8位地址/数据口 12:单片机中的程序计数器PC用来()。 1.存放指令 2.存放正在执行的指令地址 3.存放下一条指令地址 4.存放上一条指令地址 13:8051单片机中,输入/输出引脚中用于专门的第二功能的引脚是()。 1.P0 2.P1 3.P2 4.P3

单片机原理及应用习题答案

思考与练习题1 1.1单项选择题 (1)单片机又称为单片微计算机,最初的英文缩写是( D ) A.MCP B.CPU C.DPJ D.SCM (2)Intel公司的MCS-51系列单片机是( C )的单片机。 A.1位 B.4位 C.8位 D.16位 (3)单片机的特点里没有包括在内的是( C ) A.集成度高 B.功耗低 C.密封性强 D.性价比高 (4)单片机的发展趋势中没有包括的是( B ) A.高性能 B.高价格 C.低功耗 D.高性价比 (5)十进制数56的二进制数是( A ) A.00111000B B.01011100B C.11000111B D.01010000B (6)十六进制数93的二进制数是( A ) A.10010011B B.00100011B C.11000011B D.01110011B (7)二进制数11000011的十六进制数是( B ) A. B3H B.C3H C.D3H D.E3H (8)二进制数11001011的十进制无符号数是( B ) A. 213 B.203 C.223 D.233 (9)二进制数11001011的十进制有符号数是( B ) A. 73 B.-75 C.-93 D.75 (10)十进制数29的8421BCD压缩码是( A ) A.00101001B B.10101001B C.11100001B D.10011100B (11)十进制数-36在8位微机中的反码和补码是( D ) A.00100100B、11011100B B.00100100B、11011011B C.10100100B、11011011B D.11011011B、11011100B (12)十进制数+27在8位微机中的反码和补码分别是( C ) A.00011011B、11100100B B.11100100B、11100101B C.00011011B、00011011B D.00011011B、11100101B (13)字符9的ASCII码是( D ) A.0011001B B.0101001B C.1001001B D.0111001B (14)ASCII码1111111B的对应字符是( C ) A. SPACE B.P C.DEL D.{ (15)或逻辑的表达式是( B ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (16)异或逻辑的表达式是( C ) A.A?B=F B. A+B=F C. A⊕B=F D.(A?B)=F (17)二进制数10101010B与00000000B的“与”、“或”和“异或”结果是( B ) A.10101010B、10101010B、00000000B B.00000000B、10101010B、10101010B C.00000000B、10101010B、00000000B D.10101010B、00000000B、10101010B (18)二进制数11101110B与01110111B的“与”、“或”和“异或”结果是( D ) A.01100110B、10011001B、11111111B B.11111111B、10011001B、01100110B C.01100110B、01110111B、10011001B D.01100110B、11111111B、10011001B (19)下列集成门电路中具有与门功能的是( D ) A.74LS32 B.74LS06 C.74LS10 D.74LS08

相关主题
文本预览
相关文档 最新文档