单片机原理与应用作业答案-习题课

更新时间:2023-12-09 16:44:01 阅读量: 教育文库 文档下载

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

第二章

1、MCS-51系列单片机内部有哪些主要的逻辑部件?P10

答:MCS-51系列单片机内部的逻辑部件主要有:算术/逻辑部件ALU、累加器

A、只读存储器ROM、随机存储器RAM、指令寄存器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态寄存器PSW、寄存器组。

3、MCS-51内部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址范围是多少?P13-P15

答:MCS-51内部RAM的地址空间为00H-7FH,128B,按功能分为3个区域。

00H-1FH的32B单元是4个工作寄存器组,单片机执行程序时,具体使用哪一组是通过对PSW的RS1、RS0两位的设置来实现;20H-2FH的16B共128位,是可以按位寻址的内部RAM区;30H-7FH的80B单元是只能按字节寻址的内部RAM区。

5、8031设有4个8位并行端口,若实际应用8位I/O口,应使用P0-P3中的哪个端口传送?16位地址如何形成?P19-P21

答:

? P1口是专门供用户使用的I/O口,是准双向接口,故可以使用P1口传送; ? P0口既可作地址/数据总线使用,又可作通用I/O使用。一方面用来输出外部存储器或I/O的低8位地址,另一方面作为8位数据输入/输出口,故由P0口输出16位地址的低8位;

08212032_程仕湘_单片机原理与应用课程作业

? P2口可作通用I/O口使用,与P1口相同。当外接存储器或I/O时,P2口给出地址的高8位,故P2口输出16位地址的高8位。

8、MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一个机器周期为多少微妙?P25

答:CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的。MCS-51

典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。

一个机器周期=6?一个状态周期=12?一个时钟周期=12?1

振荡频率当振荡频率为10MHz时,一个机器周期为12/10M Hz=1.2us。

9、在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不会发生冲突?P12;P13、P18

答:1、程序存储器和数据存储器物理上是独立的,寻址片外程序存储器和片外

数据存储器的寻址方式、寻址空间和控制信号不同。

2、对外部程序存储器访问使用MOVC指令;对外部数据存储器访问使用MOVX指令。

10、MCS-51的P3口具有哪些第二种功能?P19表2-6

答: P3.0 RXD(串行输入口)

P3.2 INT0(外部中断0)

P3.1 TXD(串行输出口) P3.3 INT(外部中断1)

P3.4 T0(定时器0外部中断) P3.5 T1(定时器1外部中断)

1

08212032_程仕湘_单片机原理与应用课程作业

P3.6 WR(外部数据存储器写信号)P3.7 RD(外部数据存储器读信号)

11、位地址7CH与字节地址7CH有哪些区别?位地址7CH具体在内存中什么位置?P14

答:位地址7CH与字节地址7CH在RAM中的位置不同,寻址方式也不用。位

地址7CH在内部RAM区2FH中,可以位寻址;字节地址7CH在用户区中,只能按字节寻址。

第三章

2、什么是寻址方式?MCS-51单片机有哪几种寻址方式?P36

答:寻址方式是指令中确定操作数的形式。MSC-51单片机有立即数寻址、直接

寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。

3、指出下列指令中画线的操作数的寻址方式?P36

MOV R0, #55H MOV A, 2AH

; 立即寻址 ; 直接寻址 ; 寄存器间接寻址 ; 寄存器寻址

MOV A, @R1 MOV @R0, A DIV A, B

; 寄存器寻址 ; 寄存器寻址

2

ADD A, R7

08212032_程仕湘_单片机原理与应用课程作业

MOVX A, @DPTR ; 寄存器间接寻址

MOV DPTR, #0123H ; 立即寻址 MOVC A, @A+DPTR ; 基址加变址寻址 INC DPTR

; 寄存器寻址

7、为什么要进行十进制调整?调整方法是什么?P49

答:十进制表示用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单元中的数据读到累加器中,应用哪几条指令?P45例3.7

答: MOV DPTR, #8000H

3

08212032_程仕湘_单片机原理与应用课程作业

MOV A, @DPTR

10、已知内部RAM中,(A)=35H,(R0)=6FH,(P1)=0FCH,(SP)=0C0H。分别写出下列各条指令的执行结果。P41-

(1) MOV R0, A ; (R0)=35H P41(2) (2) MOV @R0, A ; (3) MOV A, #90H ; (4) MOV A, 90H

; (5) MOV 80H, #81H ; (6) MOVX @R0, A ; (7) PUSH A ; (8) SWAP A ;

(9) XCH A, R0

(6FH)=35H P42(4) (A)=90H P41(1) (A)=(90H) P41(1)

(80H)=81H P42(3) (6FH)=35H P45 2 (0C1H)=35H,(SP)=0C1H (A)=53H P44(8) ; (A)=6FH,(R0)=35H 4

P43(6) P44(7)

08212032_程仕湘_单片机原理与应用课程作业

第四章

2、在汇编语言程序设计中,为什么要采用标号来表示地址?标号的构成原则是什么?使用标号有什么限制?注释段起什么作用?P69

答:采用标号便于在编写程序时,实现跳转、循环等程序控制转移。

标号位于语句的开始,由以字母开头的字母和数字组成,它代表语句的地址。标号与指令间要用冒号“:”分开,标号与“:”之间不能有空格,“:”与操作码之间可以有空格。

注释段放在语句的最后,以冒号开始,为不可执行部分,对程序进行解释性说明。

3、MCS-51汇编语言有哪几条常用的伪指令?各起什么作用?P70-P72

答:MCS-51汇编语言有以下常用的伪指令:

1、设置起始地址伪指令ORG(Origin) 格式:ORG 起始地址

作用:ORG伪指令总是出现在每段源程序或数据块的开始,可以使程序、子程序和数据快存放在存储器的任何位置。若在源程序中不放ORG指令,则汇编将从0000H单元开始编排目标程序。ORG定义控件地址应由从小到大,且不能重叠。

2、定义字节伪指令DB(Define Byte)

5

08212032_程仕湘_单片机原理与应用课程作业

格式:<标号:>DB <项或项表>

作用:把项或项表的数值存入从标号开始的连续单元中。 3、定义字伪指令DW(Define Word) 格式:<标号:>DW <项或项表>

作用:基本含义与DB相同,不同的是DW定义16位数据。 4、预留存储区伪指令DS(Define Storage) 格式:<标号:>DS <表达式>

作用:由标号指定的单元开始,定义一个存储区,以给程序使用。存储区内预留的存储单元数由表达式的值决定。 5、为标号赋值伪指令EQU 格式:<标号:>EQU 数或汇编符号

作用:将操作数中的地址或数据赋给标号字段的标号,故又称为等值指令。 6、数据地址赋值伪指令DATA 格式:<标号:>DATA <数或表达式> 作用:其功能和EQU类似,但有以下区别。

(1)用DATA定义的标识符汇编时作为标号登记在符号表中,所以可以先使用后定义;而EQU定义的标识符必须先定义后使用。

(2)用EQU可以把一个汇编符号赋给字符名,而DATA只能把数据赋给字符名。

(3)DATA可以把一个表达式赋给字符名,而DATA只能把数据赋给字符名。

(4)DATA常在程序中用来定义数据地址。

6

08212032_程仕湘_单片机原理与应用课程作业

7、位地址符号伪指令BIT 格式:字符名 BIT 位地址 作用:把位地址赋给字符名称 8、源程序结束伪指令END 格式:<标号:>END <表达式>

作用:END命令通知汇编程序结束汇编。在END之后,所有的汇编语言指令均不作处理。如果没有这条指令,汇编程序通常会给出“警告”指示。

6、外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元开始的区域中,编写有关程序。COMPARE WITH P80 例4.10

答: START: MOV R0,#00H

MOV DPTR,#1000H LOOP: MOVX A,@DPTR MOV DPH,#25H MOVX @DPTR,A MOV DPH,#10H INC DPTR INC R0

DJNZ R0,LOOP SJMP $

7

08212032_程仕湘_单片机原理与应用课程作业

11、设系统晶体振荡频率为12MHz,请编写延时50ms的延时子程序。P81例4.11

答:使用12MHz晶振时,1个机器周期为1us,一条DJNZ耗时2us,采用双重

循环方法,50ms=2us*250*100,程序如下:

DL50MS: MOV R4, #100 DELAY1: MOV R3 , #250 DELAY2: DJNZ R3, DELAY2

DJNZ R4, DELAY1 RET

12、分析下列程序中各条指令的作用,并说明运行后相应寄存器和内存单元的结果。

MOV A, #34H ; (A)=34H

MOV B, #0ABH ; (B)=0ABH MOV 34H, #78H XCH A, R0 XCH A, @R0 XCH A, B SJMP $

; (34H)=78H ; (A),(R0)互换 ; (A),((R0))互换 ; (A),(B)互换

; 暂停

8

08212032_程仕湘_单片机原理与应用课程作业

第五章:

2、8051单片机的定时器/计数器有哪几种工作方式?各有什么特点?P105

答: 8051单片机的定时器/计数器有4种工作方式,分别是:

工作方式0:M1M0=00,为13位定位器/计数器,其计数器由THi的全8位和TLi的低5位构成,TLi的高3位未用。当TLi的低5位计满时,向THi进位,THi溢出后对中断标志位TFi 置“1”,并申请中断。Ti是否溢出可用软件查询TFi是否为“1”。

计数器范围为1-8192,如需再次定时或计数,需要用指令重置时间常数。 工作方式1:M1M2=01,与工作方式0基本相同,不同之处在于其为16位定时器/计数器,计数值范围为1-65536,如需再次定时或计数,需要用指令重置时间常数。

工作方式2:M1M0=10,为可重装初值的8位定时器/计数器。把16位的计数器拆成两个8位计数器,TLi用作8位计数器,THi用来保存初值。每当TLi计满溢出时,可自动将THi的初值再装入TLi,继续计数,循环重复。其计数范围为1-256。

这种工作方式可省去用户软件中重装初值的程序,并可产生相当精度的定时时间,特别适合于产生周期性脉冲及作为串行口波特率发生器,缺点是计数长度太小。

工作方式3:M1M0=11,该工作方式只适用于T0。T0在该工作方式被分成两个相互独立的8位计数器,其中TL0既可以作计数器使用,又可以作定时器

9

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

Top