单片机课后习题答案_第1页
单片机课后习题答案_第2页
单片机课后习题答案_第3页
单片机课后习题答案_第4页
单片机课后习题答案_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课后习题答案1.89C51 单片机内包含哪些主要逻辑功能部件?答:80C51 系列单片机在片内集成了以下主要逻辑 功能部件:(l)CPU(中央处理器):8 位 (2)片内 RAM:128B(3)特殊功能寄存器:21 个 (4)程序存储器:4KB (5)并行 I/O 口:8 位,4 个(6)串行接口:全双工,1 个(7)定时器/ 计数器:16 位, 2 个 (8)片内时钟电路:1 个 2.89C51 的 EA 端有何用途?答:/EA 端接高电平时,CPU 只访问片内 flash Rom 并执行内部程序,存储器。/EA 端接低 电平时,CPU 只访问外部 ROM,并执行片外程序存储器中的指令。/EA 端保持高电平时,CPU 执行内部存储器中的指令。3.89C51 的存储器分哪几个空间?如何区别不同空间 的寻址?答:ROM(片内 ROM 和片外 ROM 统一编址)(使用 MOVC)(数据传送指令)(16bits 地址)( 64KB)片外 RAM(MOVX)(16bits 地址)(64KB) 片内RAM(MOV)(8bits 地址)( 256B)4. 简述 89C51 片内 RAM 的空间分配。答:片内 RAM 有 256B,低 128B 是真正的 RAM 区,高 128B 是 SFR(特殊功能寄存器)区 。5.简述布尔处理存储器的空间分配,片内 RAM 中包含哪些可位寻址单元。答:片内 RAM 区从 00HFFH(256B)其中 20H2FH(字节地址)是位寻址区 对应的位地址是 00H7FH6. 如何简捷地判断 89C51 正在工作?答:用示波器观察 8051 的 XTAL2 端是否有脉冲信号输出(判断震荡电路工作是否正常?) ALE(地址锁存允 许)(Address Latch Enable)输出是 fosc 的 6 分频用示波器观察 ALE 是否有脉冲 输出(判断 8051 芯片的好坏?)观察 PSEN(判断 8051 能够到 EPROM 或 ROM 中读取指令码?)因为/PSEN 接外部 EPROM(ROM)的/OE 端子 OE=Output Enable(输出允许)7. 89C51 如何确定和改变当前工作寄存器组?答:PSW (程序状态字)(Program Status Word)中的 RS1 和 RS0 可以给出 4 中组合,用来从 4 组工作寄存器组中进行选择 PSW 属于 SFR(Special Function Register)(特殊功能寄存器) 9.读端口锁存器和“读引脚”有何不同?各使用哪种指令?答:读锁存器(ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如 MOV A,P1 这条指令就是读引脚的,意思就是把端口 p1 输入数据送给 A)传送类 MOV,判位转移 JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换 XCH、XCHD 算术及逻辑运算ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC 控制转移 CJNE、DJNZ 都属于读锁存器。10. 89C51P0P3 口结构有何不同?用作通用 /口输入数据时,应注意什么?答:P0 口内部没有上拉电阻,可以用做 16 位地址的低 8 位;P3 有第二功能;P2 口可以用做 16 位地址的高 8 位; 需要上拉电阻。OC 门电路无法输出高低电平,只有靠上拉电阻才能实现 11.89C51 单片机的信号有何功能?在使用 8031 时,信号引脚应如何处理?答:(1)80C51 单片机的 EA 信号的功能EA 为片外程序存储器访问允许信号,低电平有效;在编程时,其上施加 21V 的编程电压 EA 引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储器;EA 引脚接低电平时,迫使系 统全部执行片外程序存储器程序。(2)在使用 80C31 时,EA 信号引脚的处理方法 因为 80C31 没有片内的程序存储器,所以在使用它时必定要有外部的程序存储器,EA 信号引脚应接低电平。12.89C51 单片机有哪些信号需要芯片引脚以第 2 功能的方式提供 ?答: 第一功能 第二功能 串行口: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)中断: P3.2 INT0 外部中断 0P3.3 INT1 外部中断 1定时器/计数器(T0、T1):P3.4 T0(定时器/计数器 0 的外部输入)P3.5 T1(定时器/计数器 1 的外部输入) 数据存储器选通:P3.6 WR(外部存储器写选通,低 电平有效,输出) P3.7 RD(外部存储器读选通,低电平有效,输出) 定时器/计数器(T2 ):P1.0 T2(定时器 T2 的计数端)P1.1 T2EX(定时器 T2 的外部输入端)13.内部 RAM 低 128 字节单 元划分为哪 3 个主要部分 ?各部分主要功能是什么?答:片内 RAM 低 128 单元的划分及主要功能 : (l)工作寄存器 组(00HlFH)这是一个用寄存器直接寻址的区域,内部数据 RAM 区的 031(00HlFH),共 32个单元。它是 4 个通用工作寄存器组,每个 组包含 8 个 8 位寄存器, 编号为R0R7。 (2)位 寻址区(20H2FH)从内部数据 RAM 区的 3247(20H2FH)的 16 个字节单元,共包含 128 位,是可位寻址的 RAM 区。这 16 个字节单元,既可 进行字节寻址,又可实现位寻址。(3)字节寻址区 (30H7FH)从内部数据 RAM 区的 48127(30H7FH),共 80 个字 节单元,可以采用间接字节寻址的方法访问。 14.使单片机复位有几种方法?复位后机器的初始状态如何?答:(1)单片机复位方法单片机复位方法有:上电自动复位、按键电平复位和外部脉冲三种方式,如题图2-1 所示。(2)复位后的初始状态 复位后机器的初始状态,即各寄存器的状态:PC 之外,复位操作还对其他一些特殊功能寄存器有影响,它们的复位状态如题表 2-1 所例15.开机复位后,CPU 使用的是哪组工作寄存器?它 们的地址是什么?CPU 如何确定和改变当前工作寄存器组?答:一般开机复位后都是选择第一组通用工作寄存器作为工作寄存器的,一共有4 组,分别为 0.1.2.3 连续位于 00h 到 1FH 地址,然后在机器中有个程序状态字PSW,它的第四和第三位 RS1,RS0 是用来选择工作寄存器组的,可能不同机器地址稍有不同。他们俩的值和寄存器组的关系:RS1/RS0 0/0 0/1 1/0 1/1 使用的工作寄存器 0 1 2 3 地址 00-07 08-0F 10-17 18-1F写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。也可以直接对 RS1 和 RS0 赋值。16.程序状态寄存器 PSW 的作用是什么?常用标志有哪些位?作用是什么?答:PSW 是一个 SFR(特殊功能寄存器) 位于片内 RAM 的高 128B具体地址 D0H(00HFFH)(片内 RAM 的编址)(8bits 编址方法)PSW=Program Status Word(程序状态字) PSW 的常用标志位有哪些? CY=Carry(进位标志位) AC=AuxiliaryCarry(辅助进位标志位)(半进位标志位) F0 用户标志位RS1,RS0,用来选择当前工作寄存器组(R0R7)(4 选 1)OV=Overflow(溢出标志位) P=Parity(奇偶校验位) 17.位地址 7CH 与字节地址 7CH 如何区别?位地址 7CH 具体在片内 RAM 中的什么位置?答:用不同的寻址方式来加以区分,即访问 128 个位地址用位寻址方式,访问低128 字节单元用字节寻址和间接寻址。具体地址为 2F 的第五位,即 为 7C。18.89C51 单片机的时钟周期与振荡周期之间有什么关系 ?什么叫机器周期和指令周期?答:时钟信号的周期称为机器状态周期,是振荡周期的两倍。一个机器周期是指CPU 访问 存储器一次所需的时间。指令周期是 执行一条指令所需的 时间。19. 一个机器周期的时序如何划分?答:一个机器周期=12 个震荡周期=6 个时钟周期(状态周期)S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P2其中 s=state(状态), p=phase(相位) 20.什么叫堆栈?堆栈指针 SP 的作用是什么?89C51 单 片机堆栈的容量不能超过多少字节?答:堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top)对数据项进行插入和删除。要点:堆:顺序随意栈:后进先出(Last-In/First-Out)在调用子程序时需要保存调用函数的 CPU 寄存器 PC 指针,PC 指针是被 CALL指令自动压入 SP 所指向的片内存储器,CPU 寄存器要由用 户用 PUSH 指令自行保存,因此 SP 的作用就是一个指针,当进行中断调用,子函数调用时将现场数据压入 SP 所指向的存储器,SP 自动增加 1 或 2,当中断结束 RETI,调用返回RET,POP 时将 SP 数据弹出,SP 自动减 1 或, 28051 最大为 128 字节的片内存储器,0X20 以上理论都可以做堆栈用 96 字节,8052 为 256 字节 224 字节可用,但 这样便没有其它空间可用于数据存储现在的单片机的程序一般都能用 C51 来,不用关心堆栈大小与 SP 寄存器21. 89C51 有几种低功耗方式?如何实现?答:空闲 方式和掉电方式空闲方式和掉电方式是通过对 SFR 中的 PCON(地址 87H)相应位置 1 而启动的。当 CPU 执行完置 IDL=1(PCON.1)的指令后,系统进入空闲工作方式。这时,内部时钟不向 CPU 提供,而只供 给中断、串行口、定时器部分。CPU 的内部状态维持,即包括堆栈指针 SP、程序计数器 PC、程序状 态 字 PSW、累加器 ACC 所有的内容保持不变,端口状态也保持不变。 ALE 和 PSEN 保持逻辑高电平。当 CPU 执行一条置 PCON.1 位(PD)为 1 的指令后,系 统进入掉电工作方式。在这种工作方式下,内部振荡器停止工作。由于没有振荡时钟,因此,所有的功能部件都停止工作。但内部 RAM 区和特殊功能寄存器的内容被保留,而端口的输出状态值都保存在对应的 SFR 中, ALE 和 PSEN 都为低电平。22. PC 与 DPTR 各有哪些特点?有何异同?答:(1)程序计 数器 PC 作为不可寻址寄存器的特点 程序计数器 PC 是中央控制器申最基本的寄存器,是一个独立的计数器,存放着下一条将程序存储器中取出的指令的地址。 程序计数器 PC 变化的轨迹决定程序的流程。程序计数器的宽度决定了程序存储器可以寻址的范围。程序计数器 PC 的基本工作方式有:程序计数器 PC 自动加 1。这是最基本的工作方式,也是 这个专用寄存器被称为计数器的原因。执行条件或无条件 转移指令 时,程序计数器将被置入新的数值,程序的流向发生变化。变化的方式有下列几种:带符号的相对跳转 SJMP、短跳转 AJMP、长跳转 LJMP及 JMP A+DPTR 等。在执行调用指令或响 应 中断时:PC 的现 行值,即下一条将要执行的指令的地址送入堆栈,加以保护;将子程序的入口地址或者中断矢量地址送入 PC,程序流向发生变化,执行子程序或中断服务程序;子程序或中断服务程序执行完毕,遇到返回指令 RET 或 RETI 时,将栈顶的内容送到 PC 寄存器中,程序流程又返回到原来的地方,继续执行。 (2)地址指针DPTR 的特点地址指针 DPTR 的特点是,它作 为片外数据存储器寻址用的地址寄存器(间接寻址)。(3)地址指针 DPTR 与程序 计数器 PC 的异同 相同之处:两者都是与地址有关的、16 位的寄存器。其中,PC 与程序存储器的地址有关,而 DPTR 与数据存储器的地址有关。作为地址寄存器使用时,PC 与 DPTR 都是通过 P0 和 P2 口(作为 16 位地址总线)输出的。但是,PC 的输出与 ALE 及 PSEN 有关;DPTR 的输出,则与 ALE、RD 及WR 相联系不同之处 :PC 只能作 为 16 位寄存器对待,由于有自动加 1 的功能,故又称为计数器;DPTR 可以作为 16 位寄存器对待,也可以作 为两个 8 位寄存器对待。PC 是不可以访问的,有自己独特的变化方式,它的变化轨迹决定了程序执行的流程; DPTR 是可以访问的,如 MOV DPTR,#XXXXH,INC DPTP。23. 89C51端口锁存器的“读修改写”操作与“读引脚”操作有何区别?答:指令系统中有些指令读锁存器的值,有些指令则读引脚上的值。读锁存器指令是从锁存器中读取一个值并进行处理,把处理后的值(原值或已修改后的值)重新写入锁存器中。这类指令称为读-修改- 写指令。 对于读-修改- 写指令。直接读锁存器而不是读端口引脚, 是因为从引脚上读出的数据不一定能真正反映锁存器的状态。单片机原理及接口技术课后习题答案第三章 1、指令:CPU 根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言3、 操作码 目的操作数 ,源操作数5、SFR:直接寻址,位寻址,寄存器寻址;片外 RAM:寄存器间接寻址6、 MOV A,40H ;直接寻址(40H)A MOV R0,A;寄存器寻址(A )R0 MOV P1,#0F0H ;立即数 寻址 0F0P1 MOV R0,30H;直接寻址(30H) (R0) MOV DPTR,#3848H;立即数寻址 3848HDPTRMOV 40H,38H;直接寻址 (38H) 40H MOV R0,30H;直接寻址 (30H) R0 MOV P0,R0;寄存器寻址( R0 )P0 MOV 18H,#30H ;立即数寻址 30H18HMOV A,R0 ;寄存器间接寻址 (R0) A MOV P2,P1 ;直接寻址 (P1)P2 最后结果:(R0)=38H, (A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:左边是内容,右边是单元 7、 用直接寻址,位寻址,寄存器寻址 8、 MOV A,DATA;直接寻址 2 字节 1 周期 MOV A,#DATA;立即数寻址 2 字节 1 周期MOV DATA1,DATA2;直接 寻址 3 字节 2 周期MOV 74H,#78H;立即数寻址 3 字节 2 周期如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录 A9MOVA,R0;(R0)=80HAMOVR0,40H;(40H)=08H(R0)MOV40H,A;(A)=8040HMOVR0,#35H;35HR0 最后结果:(R0)=35HA =80H,(32H)=08H,(40H)=80H10 用直接寻址,位寻址,寄存器寻址11、只能采用寄存器间接寻址(用 MOVX 指令)12、低 128 字节:直接寻址,位寻址,寄存器 间接寻 址,寄存器寻址(R0R7)高128 字节:直接寻址,位寻址,寄存器 寻址13、采用变址寻址(用 MOVC 指令)14、压缩 BCD 码在进行加法运算时应逢十进一,而计算机只将其当作十六进制数处理,此时得到的结果不正确。用 DA A 指令调整(加 06H,60H,66H)15、用来进行位操作16、ANL A,#17H ;83H17H=03HAORL 17H,A ;34H03H=37H17HXRL A,R0 ;03H37H=34HCPL A ;34H 求反等于 CBH 所以(A)=CBH17、(1)SETB ACC.0 或 SETB E0H;E0H 是累加器的地址(2)CLR ACC.7 CLR ACC.6 CLR ACC.5 CLR ACC.4(3)CLR ACC.6 CLR ACC.5 CLR ACC.4 CLR ACC.3 18、MOV 27H,R7MOV 26H,R6MOV 25H,R5MOV 24H,R4MOV 23H,R3MOV 22H,R2MOV 21H,R1MOV 20H,R019、MOV 2FH,20MOV 2EH,21 MOV 2DH,2220、CLR CMOV A,#5DH ;被减数的低 8 位AMOV R2,#B4H ;减数低 8 位R2SUBB A,R2 ;被减数减去减数,差AMOV 30H,A ;低 8 位结果30HMOV A,#6FH ;被减数的高 8 位AMOV R2,#13H ;减数高 8 位R2SUB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论