单片机原理与接口技术3

  • 格式:doc
  • 大小:76.50 KB
  • 文档页数:6

单片机原理与接口技术》习题答案 习题1解答 1. 填空: ⑷ 1个字节由 8 个二进制位组成,每个二进制位只有 2 种状态,可表示为 0 或 1 ; ⑸ 1K字节就是2的 10 次方字节,即 1024 个字节;1M字节就是2的 20 次方字节,约为 1048567 个字节。 3. 用十进制写出下列补码表示的数的真值:FEH、FBH、80H、11H、70H、7FH。 解:真值是指日常用“+”或“ -”号表示的数。 机器数是指计算机中用编码表示的数,正数的符号以最高位为0表示,负数的符号以最高位为1表示。 根据补码求真值的一个通俗口诀是“正码不变,负码求补,补后勿忘添负号”。 ①FEH=1111 1110B,其符号位为“1”,属负数,故其原码为1000 0001B+1=1000 0010B,即FEH真值为-2; 4. 微型计算机主要由哪几部分组成?各部分有何功能? 答:一台微型计算机由中央处理单元(CPU)、存储器、I/O接口及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。 CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。 存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。按其功能可分为RAM和ROM。 输入/输出(I/O)接口是CPU与外部设备进行信息交换的部件。 总线是将CPU、存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。 5. 何为存储器单元的地址? 答:存储器中存放二进制数的单元称为存储单元。存储器中包含许多存储单元,为了便于信息的存入和取出,每一个存储单元必须有一个固定的编号来标识,称这个编号为存储器单元地址。 6 .何谓单片机?单片机有何特点? 答:单片机(Single Chip Microcomputer)是指把CPU、RAM、ROM、定时器/计数器以及I/O接口电路等主要部件集成在一块半导体芯片上的微型计算机。

习题2解答 1.8051单片机内包含哪些主要逻辑功能部件? 答:8051单片机是一个完整的单片微型计算机。它包括以下功能部件: 一个芯片上,集成了一个微型计算机的基本组成部分。它包括以下功能部件: ·1个8位CPU; ·片内4KB的程序存储器ROM; ·片内128B的数据存储器RAM; ·可寻址外部程序存储器和数据存储器空间各64KB的控制电路; ·21个特殊功能寄存器SFR; ·4个8位并行I/O口P0~P3,共32根I/O线; ·1个全双工的串行口; ·2个16位定时器/计数器; ·5个中断源,有2个优先级嵌套中断结构; ·片内振荡器及时钟电路。 2.8051单片机的信号有何功能?8031的 引脚应如何处理,为什么?答:(1) 是访问外部程序存储器ROM的控制信号。 当 为低电平(接地)时,CPU只执行外部程序存储器中的程序。 当 为高电平且PC值小于0FFFH(4K)时,CPU执行内部程序存储器的程序,但当PC的值超出4K时(对8051/8751/8951)将自动转去执行片外程序存储器内的程序。 8031单片机无片内ROM的,必须外接程序存储器,因此,8031的 必须接地(低电平)。 3.8051单片机的P0~P3口各有什么特点? 8051单片机有P0、P1、P2、P3四个双向的8位并行I/O口,每个端口可以按字节输入或输出,每一条I/O线也可以单独用作输入或输出(即按位进行输入或输出)。每个端口都是由一个锁存器(即特殊功能寄存器P0~P3),一个输出驱动器和两个(P3口为3个)输入缓冲器组成。并行I/O口作输出时数据可以锁存,作输入时数据可以缓冲,但它们又各具特点。 5. 8051单片机有哪些特殊功能寄存器?各在单片机中的哪些功能部件中? 答: 8051单片机有21个8位的特殊功能寄存器(SFR),它们的地址离散地分部在内部数据存储器的80H~FFH地址空间。 在8051单片机结构中,21个SFR在物理上是分散在片内各功能部件中: ⑴ CPU的中SFR:Acc、B、PSW、SP和DPTR(16位寄存器,由DPH和DPL组成); ⑵ 定时/计数器单元中的寄存器:TMOD、TCON、T0(16位寄存器,由TH0和TL0组成)和T1(16位寄存器,由TH1和TL1组成); ⑶ 并行I/O口寄存器:P0、P1、P2和P3; ⑷ 中断系统内的寄存器:IE和IP; ⑸ 串行端口中的寄存器:SCON、SBUF和PCON。 6.程序计数器PC有何作用?是否属于SFR,为什么? 答:程序计数器PC是一个16位的专用寄存器,用来存放即将要执行的指令地址,可对64KB的程序存储器直接寻址。它具有自动加1功能,当CPU要取指令时,PC的内容送地址总线上,从存储器中取出指令后,PC内容则自动加1,指向下一条指令,从而保证程序按顺序执行。PC虽然也是CPU内部的一个寄存器,但它在物理结构上是独立的,没有地址,是不可寻址的,用户无法对它进行直接读写,不属特殊功能寄存器。 7.什么叫堆栈?堆栈指针SP的作用是什么?8051单片机堆栈的最大容量是多少字节? 答:堆栈是按照“先进后出,后进先出”的原则来存取数据的一个内部RAM区域,这个存储器区域的一端是固定的(栈底),另一端是活动的(栈顶),每个存储单元是不能按字节任意访问的。 堆栈指针SP始终指向栈顶单元,栈顶随着数据入栈和出栈上下浮动。 8051单片机堆栈的最大容量是128字节 8.8051单片机的程序存储器和数据存储器可以有相同的地址,而单片机在对这两个存储区的数据进行操作时,不会发生错误,为什么? 12.8051单片机的晶体振荡器频率为6MHz,则它一个机器周期为多少微秒? 答:机器周期是指CPU完成某一个规定操作所需的时间,8051单片机的一个机器周期包含6个状态,并依次表示为S1~S6,每个状态分为2个节拍。因此一个机器周期包含12个时钟周期(振荡周期),依次表示为:S1P1、S1P2、S2P1、„、S6P1、S6P2。 当fosc=6MHz时,机器周期T=12×(1/6MHz)=2?s

习题3解答 1.若访问工作寄存器、特殊功能寄存器、片外数据存储器、程序存储器分别可使用哪些寻址方式? 答:访问工作寄存器采用寄存器寻址,特殊功能寄存器采用直接寻址,片外数据存储器采用寄存器间接寻址,程序存储器的寻址方式有立即寻、变址寻址、相对寻址。 2.写出下列源操作数的寻址方式。 (1) JZ 20H (2) MOV A,R2 (3) MOV A,B (4) MOV DPTR,#4012H (5) MOVX A,@DPTR (6) MOVC A,@A+PC (7) PUSH B (8) POP ACC (9) MOV C,20H (10)MOV A,20H 答:各指令的源操作数的寻址方式是 ⑴ 相对寻址;⑵ 寄存器寻址;⑶ 寄存器寻址;⑷ 立即寻址;⑸ 寄存器间接寻址;⑹ 变址寻址 ;⑺ 直接寻址;⑻ 直接寻址;⑼ 位寻址;⑽ 直接寻址 3.设片内RAM的30H单元的内容为40H,即(30H)=40H,(40H)=10H,(10H)=00H,端口P1=CAH,执行下列程序段填结果。 MOV R0,#30H ;R0=30H MOV A,@R0 ;A=(R0)=(30H)=40H MOV R1,A ;R1=40H MOV B,@R1 ;B=(40H)=10H MOV @R1,P1 ;(40H)=0CAH MOV A,P1 ;A=0CAH MOV 10H,#20H ;(10H)=20H MOV 30H,10H ;(30H)=20H 结果:R0= ,R1= ,A= ,B= ,P1= ,(40H)= ,(30H)= ,(10H)= 。 解:每一条指令执行后的结果如注释字段所标。最后的结果为R0=30H,R1=40H,A=0CAH,B=10H,P1=0CAH,(40H)=0CAH,(30H)=20H,(10H)=20H。 4.设A=94H,R2=37H,(40H)=6EH,R1=40H,RS1RS0=00 执行程序段填结果。 MOV P2,A MOV A0H,R2 MOV D0H,@R1 MOV 02H,#98H 结果:A= ,(02H)= ,(40H)= , (01H)= , P2= ,PSW= 。 解:结果:A=94H,(02H)=98H,(40H)=6EH, (01H)=40H, P2=37H,PSW=6EH。 5.A=83H,R0=17H,(17H)=34H , 执行以下指令后A=? ANL A,#17H ;A=03H ORL 17H,A ;(17H)=37H XRL A,@R0 ;A=34H CPL A ;A=0CBH 解:每一条指令执行后的结果如注释字段所标。所以执行以下指令后A=0CBH。 6.若要完成下列数据传送,应如何用MCS-51的指令来实现。 ⑴ A的内容送到P1。 解: MOV A,P1 ⑵ R1的内容传送到R0。

解: MOV A,R1 MOV R0,A ⑶ 片内RAM 20H单元的内容送片内RAM 30H单元。 解: MOV 31H,20H

⑷ 片外RAM 20H单元的内容送片内RAM 30H单元。 解: MOV R0,#20H MOVX A,@R0 MOV 30H,A ⑸ 片外RAM 20H单元的内容送片外RAM 30H单元。 解: MOV R0,#20H MOVX A,@R0 MOV R1,#30H MOVX @R1,A ⑹ 用两种方法将程序存储器ROM 3040H中的常数送到A中,已知PC当前值为3000H。 解:①MOV A,#00H MOV DPTR,#3040H MOVC A,@A+DPTR ② MOV A,#40H MOVC A,@A+PC 3000H: „ ┇ 3040H: „ ⑺ ROM 2000H单元的内容送到片外RAM 1000H单元中。 解: CLR A MOV DPTR,#2000H MOV A,@A+ DPTR MOV DPTR,#1000H MOV @ DPTR,A ⑻ 将A中的内容与寄存器B中的内容交换。 解: XCH A,B

⑼ 将片内RAM 30H单元内容与片外 40H单元的内容交换。 解: MOV R0,#40H MOVX A,@R0 XCH A,30H MOVX @R0,A ⑽ 将片外RAM 30H单元内容与片外 40H单元的内容交换。 解: MOV R0,#30H MOVX A,@R0 MOV R7,A ;暂存外部RAM 30H单元的内容 MOV R1,#40H MOVX A,@R1 MOVX @R0,A ;外部RAM 40H单元的内容送外部RAM 30H单元