单片机课后答案

更新时间:2023-11-18 10:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1—5.什么叫单片机?其主要特点有哪些? 答:

在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。单片机主要特点有:控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。

2—2. 80C51单片机的存储器的组织采用何种结构?存储器地址空间如何划分?各地址空间的地址范围和容量如何?在使用上有何特点?

答:

采用哈佛结构,在物理上设计成程序存储器和数据存储器两个独立的空间;80C51基本型单片机片内程序存储器为4KB,地址范围是0000H-0FFFH,用于存放程序或常数;片内数据存储器为128字节RAM,地址范围是00H-7FH,用于存放运算的中间结果、暂存数据和数据缓冲;另外在80H-FFH还配有21个SFR。

2—5.80C51单片机复位后的状态如何?复位方法有几种? 答:

复位后,PC内容为0000H,P0口~P3口内容为FFH,SP内容为07H,SBUF内容不定,IP、IE和PCON的有效位为0,其余的特殊功能寄存器的状态均为00H。复位方法一种是上电复位,另一种是上电与按键均有效的复位。

2—7.80C51单片机的PSW寄存器各位标志的意义如何? 答: CY:进位、借位标志。有进位、借位时 CY=1,否则CY=0;

AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位); F0:用户标志位,由用户自己定义; RS1、RS0:当前工作寄存器组选择位;

OV:溢出标志位。有溢出时OV=1,否则OV=0;

P:奇偶标志位。存于ACC中的运算结果有奇数个1时P=1,否则P=0。

3—2.80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何?

答:

80C51单片机的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。

这些寻址方式所对应的寄存器和存储空间如下表所示。 序寻址方式 寄存器或存储空间 号 寄存器R0~R7,A、AB、DPTR和C(布尔累加器) 1 寄存器寻址 片内RAM低128字节、SFR 2 直接寻址 片内RAM(@R0,@R1,SP) 寄存器间接寻3 址 片外RAM(@R0,@R1,@DPTR) ROM 4 立即寻址 ROM(@A+DPTR,@A+PC) 5 变址寻址 ROM(PC当前值的+127~-128字节) 6 相对寻址 可寻址位(内部RAM20H~2FH单元的位和部分SFR的位) 3—11.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容的变化。

MOV A,@R1

7 位寻址 MOV @R1,40H MOV 40H,A MOV R1,#7FH 答:

(R1)=7FH (A)=60H (30H)=08H (40H)=60H

3—12.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。

(1)MOV A,@R0 (2)ANL 40H,#0FH (3)ADD A,R4 (4)SWAP A (5)DEC @R1

(6)XCHD A,@R1 答:

(1)(A)=2CH (2)(40H)=0CH

(3)(A)=22H,(CY)=1,(AC)=1,(OV)=0 (4)(A)=8EH

(5)(20H)=0EH,P=1

(6)(A)=EFH,(20)=08H

3—13.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中的内容各为多少?

MOV A,50H MOV R0,A MOV A,#00H MOV @R0,A MOV A,#3BH MOV 41H,A MOV 42H,41H 答:

(A)=3BH,(R0)=40H,(40H)=00H,(41H)=3BH,(42H)=3BH。 3—15.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。

答:

MOV 2FH,20H MOV 2EH,21H

MOV 2DH,22H

3—16.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,30H单元存差的高8位,31H单元存差的低8位。

答:

CLR CY

MOV 30H,#7FH MOV 31H,#4DH MOV R0, #31H MOV A,@R0 SUBB A ,#4E

MOV @R0,A ;保存低字节相减结果 DEC R0

MOV A, @R0 SUBB A,#2BH

MOV @R0,A ;保存高字节相减结果

3—17.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。

答:

MOV A,R2 ANL A,#0F0H ORL R1,A

3—19.若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口内容的变化情况。

MOV P1.3,C MOV P1.4,C MOV C,P1.6 MOV P3.6,C MOV C,P1.0 MOV P3.4,C 答:

(CY)=1, (P1)=10111011B, (P3)=00111100B 4—1.80C51单片机汇编语言有何特点? 答:

汇编语言结构紧凑、灵活,汇编成的目标程序效率高,具有占存储空间少、运行速度快、实时性强等优点。它是面向机器的语言,对于单片机硬件的操作直接、方便,有利于初学者对单片机结构的认知。

但它与高级语言相比移植性不好、编程复杂、对编程人员的基础要求高。 4—3.常用的程序结构有哪几种?特点如何? 答:

顺序程序:无分支、无循环结构的程序,其执行流程是依指令在存储器中的存放顺序进行的;

分支程序:可以改变程序的执行顺序;

循环程序:按某种控制规律重复执行的程序,控制一部分指令重复执行若干次,以便用简短的程序完成大量的处理任务。

4—5.什么是伪指令?常用的伪指令功能如何? 答:

伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令包

括:

ORG,功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址; END,功能是结束汇编;

DB,功能是从标号指定的地址单元开始,在程序存储器中定义字节数据; DW,功能是从标号指定的地址单元开始,在程序存储器中定义字数据空间; EQU,功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名; BIT,功能是将位地址赋给指定的符号名。

4—7.编写程序,把外部RAM中1000H~101FH的内容传送到内部RAM的30H~4FH中。

答:

ORG 0000H

MOV DPTR,#1000H MOV R0,#30H MOV R7,#32 LOOP:MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,LOOP RET 4—8.编写程序,实现双字节无符号数加法运算,要求 (R0R1)+(R6R7)→(60H61H)。 答:

ORG 0000H MOV A,R1 ADD A,R7 MOV 61H,A MOV A,R0

ADDC A,R6 MOV 60H,A SJMP $ END

4—10.在内部RAM 的30H~37H单元存有一组单字节无符号数。要求找出最大数存入BIG单元。试编写程序实现。

答:

ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH

START:MOV R7,#7 ;比较次数 MOV R0,#30H LOOP:MOV A,@R0 MOV ONE,A INC R0

MOV TWO,@R0 CLR C

SUBB A,@R0

JC NEXT ;ONE小,TWO大继续比下一对数 MOV @R0,ONE ;ONE大放后面(交换) DEC R0

MOV @R0,TWO ;TWO小放前面 INC R0 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END

4—11.编写程序,把累加器A中的二进制数变换成3位BCD码,并将百、十、个位数分别存放在内部RAM的50H、51H、52H中。

答:单字节二进制数转换为压缩的BCD码仅需要2个字节;在将压缩的BCD码拆分存于3个单元。

org 0

MOV 52H,#0 MOV 51H,#0 MOV 50H,#0 MOV A,#0FDh LCALL DCDTH SJMP $

DCDTH:MOV R7,#8

MOV R0,A ;暂存于R0 LOOP:CLR C MOV A,R0 RLC A MOV R0,A

MOV R1,#51H;

MOV A,@R1 ; ADDC A,@R1 ; DA A ; MOV @R1,A ; DEC R1 MOV A,@R1 ADDC A,@R1 DA A MOV @R1,A DJNZ R7,LOOP

INC R1 ;50H已是结果,R1指向51H,51H单元需拆分 MOV A,#00H

本文来源:https://www.bwwdw.com/article/imtv.html

Top