欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机原理及接口技术课后习题-答案~李朝青.doc

    • 资源ID:585551       资源大小:164.50KB        全文页数:19页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机原理及接口技术课后习题-答案~李朝青.doc

    |单片机原理及接口 李朝青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)(特殊功能寄存器)8. 89C51 P0 口用作通用/口输入时,若通过 TTL“OC”门输入数据,应注意什么?为什么?答:9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?答:读锁存器(ANL P0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如 MOV A,P1 这条指令就是读引脚的,意思就是把端口p1 输入数据送给 A)传送类 MOV,判位转移 JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换 XCH、XCHD 算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移 CJNE、DJNZ 都属于读锁存器。10. 89C51 P0P3 口结构有何不同?用作通用/口输入数据时,应注意什么?答: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-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 赋值。(最后一问同题 7)16. 程序状态寄存器 PSW 的作用是什么?常用标志有哪些位?作用是什么?答:PSW 是一个 SFR(特殊功能寄存器) 位于片内 RAM 的高 128B 具体地址 D0H(00HFFH)(片内 RAM 的编址)(8bits 编址方法) PSW=Program Status Word(程序状态字) PSW 的常用标志位有哪些? |CY=Carry(进位标志位) AC=Auxiliary Carry(辅助进位标志位)(半进位标志位) 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 根据人的意图来执行某种操作的命令指令系统:一台计算机所能执行的全部指令集合机器语言:用二进制编码表示,计算机能直接识别和执行的语言汇编语言:用助记符、符号和数字来表示指令的程序语言高级语言:独立于机器的,在编程时不需要对机器结构及其指令系统有深入了解的通用性语言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 字节地址、部分 SFR5、 SFR:直接寻址,位寻址,寄存器寻址;片外 RAM:寄存器间接寻址6、 MOV A,40H ;直接寻址(40H)AMOV R0,A;寄存器寻址(A)R0MOV P1,#0F0H ;立即数寻址 0F0P1MOV R0,30H;直接寻址(30H) (R0)MOV DPTR,#3848H;立即数寻址 3848HDPTRMOV 40H,38H;直接寻址 (38H) 40HMOV R0,30H;直接寻址 (30H) R0MOV P0,R0;寄存器寻址( R0 )P0MOV 18H,#30H ;立即数寻址 30H18HMOV A,R0 ;寄存器间接寻址 (R0) AMOV 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 周期|如果想查某一指令的机器码,字节数或周期数可查阅书本后面的附录 A9、MOVA,R0 ;(R0)=80HAMOVR0,40H ;(40H)=08H(R0)MOV40H,A ;(A)=8040HMOVR0,#35H ;35HR0最后结果:(R0)=35H (A)=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.7CLR ACC.6CLR ACC.5CLR ACC.4(3)CLR ACC.6CLR ACC.5CLR ACC.4CLR ACC.3 18、MOV 27H,R7MOV 26H,R6MOV 25H,R5MOV 24H,R4MOV 23H,R3MOV 22H,R2MOV 21H,R1MOV 20H,R019、MOV 2FH,20MOV 2EH,21MOV 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 位R2SUBB A,R2 ;被减数减去减数,差AMOV 31H,A ;高 8 位结果30H注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清 0 进位位21、 (1)A10CJNE A,#0AH,L1 ;(A)与 10 比较,不等转 L1LJMP LABEL ;相等转 LABELL1:JNC LABEL ;(A)大于 10,转 LABEL或者:CLR CSUBB A,#0AHJNC LABEL(2)A10CJNE A,#0AH,L1 ;(A)与 10 比较,不等转 L1RET ;相等结束L1:JNC LABEL ;(A)大于 10,转 LABELRET ;(A)小于 10,结束或者:CLR CSUBB A,#0AHJNC L1RETL1:JNZ LABELRET(3)A10CJNE A,#0AH,L1 ;(A)与 10 比较,不等转 L1L2:LJMP LABEL ;相等转 LABELL1:JC L2 ;(A)小于 10,转 L2RET或者:CLR CSUBB A,#0AHJC LABEL|JZ LABELRET22、 (SP)=23H, (PC)=3412H参看书上 80 页23、 (SP)=27H, (26H)=48H, (27H)=23H, (PC)=3456H参看书上 79 页24、不能。ACALL 是短转指令,可调用的地址范围是 2KB。在看这个题的时候同时看一下 AJMP 指令。同时考虑调用指令 ACALL 和 LCALL 指令和 RET 指令的关系。25、 MOV R2,#31H ;数据块长度R2MOV R0,#20H ;数据块首地址R0LOOP:MOV A,R0 ;待查找的数据ACLR C ;清进位位SUBB A,#0AAH ;待查找的数据是0AAH 吗JZ L1 ;是,转 L1INC R0 ;不是,地址增1,指向下一个待查数据DJNZ R2,LOOP ;数据块长度减1,不等于 0,继续查找MOV 51H,#00H ;等于 0,未找到,00H51HRETL1:MOV 51H,#01H ;找到,01H51HRET26、 MOV R2,#31H ;数据块长度R2MOV R0,#20H ;数据块首地址R0LOOP:MOV A,R0 ;待查找的数据AJNZ L1 ;不为 0,转 L1INC 51H ;为 0,00H 个数增 1L1:INC R0 ;地址增 1,指向下一个待查数据DJNZ R2,LOOP ;数据块长度减1,不等于 0,继续查找RET27、 MOV DPTR,#SOURCE ;源首地址DPTRMOV R0,#DIST ;目的首地址R0LOOP:MOVX A,DPTR ;传送一个字符MOV R0,AINC DPTR ;指向下一个字符INC R0CJNE A,#24H,LOOP ;传送的是“$”字符吗?不是,传送下一个字符RET28、 MOV A,R3 ;取该数高 8 位AANL A,#80H ;取出该数符号判断JZ L1 ;是正数,转 L1MOV A,R4 ;是负数,将该数低 8位ACPL A ;低 8 位取反ADD A,#01H ;加 1MOV R4,A ;低 8 位取反加 1 后R4MOV A,R3 ;将该数高 8 位ACPL A ;高 8 位取反ADDC A,#00H ;加上低 8 位加 1 时可能产生的进位MOV R3,A ;高 8 位取反加 1 后R3L1: RET29、 CLR C ;清进位位 CMOV A,31H ;取该数低 8 位ARLC A ;带进位位左移 1 位MOV 31H,A ;结果存回 31HMOV A,30H ;取该数高 8 位ARLC A ;带进位位左移 1 位MOV 30H,A ;结果存回 30H30、 MOV R2,#04H ;字节长度R2MOV R0,#30H ;一个加数首地址R0MOV R1,#40H ;另一个加数首地址R1CLR C ;清进位位LOOP:MOV A,R0 ;取一个加数ADDC A,R1 ;两个加数带进位位相加DA A ;十进制调整MOV R0,A ;存放结果INC R0 ;指向下一个字节INC R1 ; DJNZ R2,LOOP ;数据块长度减1,不等于 0,继续查找|RET31、 MOV R2,#08H ;数据块长度R2MOV R0,#30H ;数据块目的地址R0MOV DPTR,#2000H ;数据块源地址DPTRLOOP:MOVX A, DPTR ;传送一个数据MOV R0,A INC DPTR ;指向下一个数据INC R0 ; DJNZ R2,LOOP ;数据块长度减1,没传送完,继续传送RET32、 (1)MOV R0,0FH ;2 字节,2 周期 4 字节 4 周期(差)MOV B,R0 ;2 字节,2 周期(2)MOV R0,#0FH ;2 字节,1 周期 4 字节 3 周期(中)MOV B,R0 ;2 字节,2 周期(3)MOV B,#0FH ;3 字节,2 周期 3 字节 2 周期(好)33、 (1)功能是将片内 RAM 中 50H51H 单元清0。(2)7A0A (大家可以看一下书上,对于立即数寻址的话,后面一个字节存放的是立即数) 7850 (第一个字节的后三位是寄存器,前一个条指令是 010 也就是指的 R2,在这里是 R0,所以应该是 78,后一个字节存放的是立即数) DAFC (这里涉及到偏移量的计算,可以参考书上 56 页)34、 INC R0 ;(7EH)=00HINC R0 ;(R0)=7FHINC R0 ;(7FH)=39HINC DPTR ;(DPTR)=10FFHINC DPTR ;(DPTR)=1100HINC DPTR ;(DPTR)=1101H35、解:(1000H)=53H (1001H)=54H (1002H)=41H(1003H)=52H (1004H)=54H (1005H)=12H(1006H)=34H (1007H)=30H (1008H)=00H(1009H)=70H36、MOV R0,#40H ;40HR0MOV A,R0 ;98HAINC R0 ;41HR0ADD A,R0 ;98H+(41H)=47HAINC R0 MOV R0,A ;结果存入 42H 单元CLR A ;清 AADDC A,#0 ;进位位存入 AINC R0 MOV R0,A ;进位位存入 43H功能:将 40H,41H 单元中的内容相加结果放在42H 单元,进位放在 43H 单元, (R0)=43H, (A)=1, (40H)=98H, (41H)=AFH, (42H)=47H, (43H)=01H37、 MOV A,61H ;F2HAMOV B,#02H ;02HBMUL AB ;F2H×O2H=E4HAADD A,62H ;积的低 8 位加上CCHAMOV 63H,A ;结果送 62HCLR A ;清 AADDC A,B ;积的高 8 位加进位位AMOV 64H,A ;结果送 64H功能:将 61H 单元的内容乘 2,低 8 位再加上62H 单元的内容放入 63H,将结果的高 8 位放在64H 单元。 (A)=02H, (B)=01H, (61H)=F2H, (62H)=CCH, (63H)=B0H, (64H)=02H39、MOV A,XXHORL A,#80HMOV XXH,A40、 (2)MOV A,XXHMOV R0,AXRL A,R0第五章1、什么是中断和中断系统?其主要功能是什么?答:当 CPU 正在处理某件事情的时候,外部发生的某一件事件请求 CPU 迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件,中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。这种过程称为中断,实现这种功能的部件称为中断系统。功能:(1) 使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理(2) 完全消除了 CPU 在查询方式中的等待现象,大大提高了 CPU 的工作效率|(3) 实现实时控制2、试编写一段对中断系统初始化的程序,使之允许 INT0,INT1,TO,串行口中断,且使 T0 中断为高优先级中断。解:MOV IE,#097HMOV IP,#02H3、在单片机中,中断能实现哪些功能?答:有三种功能:分时操作,实时处理,故障处理4、89C51 共有哪些中断源?对其中端请求如何进行控制?答:(1)89C51 有如下中断源 :外部中断 0 请求,低电平有效 :外部中断 1 请求,低电平有效T0:定时器、计数器 0 溢出中断请求T1:定时器、计数器 1 溢出中断请求TX/RX:串行接口中断请求(2)通过对特殊功能寄存器TCON、SCON、IE、IP 的各位进行置位或复位等操作,可实现各种中断控制功能5、什么是中断优先级?中断优先处理的原则是什么?答:中断优先级是 CPU 相应中断的先后顺序。原则:(1) 先响应优先级高的中断请求,再响应优先级低的(2) 如果一个中断请求已经被响应,同级的其它中断请求将被禁止(3) 如果同级的多个请求同时出现,则 CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求查询顺序:外部中断 0定时器 0 中断外部中断 1定时器 1 中断串行接口中断6、说明外部中断请求的查询和响应过程。答:当 CPU 执行主程序第 K 条指令,外设向 CPU发出中断请求,CPU 接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。CPU 在每个 S5P2 期间顺序采样每个中断源,CPU 在下一个机器周期 S6期间按优先级顺序查询中断标志,如果查询到某个中断标志为 1,将在接下来的机器周期 S1 期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序。中断服务完毕后,CPU 返回到主程序第 K+1 条指令继续执行。7、89C51 在什么条件下可响应中断? 答:(1) 有中断源发出中断请求 (2) 中断中允许位 EA=1.即 CPU 开中断(3) 申请中断的中断源的中断允许位为 1,即中断没有被屏蔽(4) 无同级或更高级中断正在服务(5) 当前指令周期已经结束(6) 若现行指令为 RETI 或访问 IE 或 IP 指令时,该指令以及紧接着的另一条指令已执行完毕8、简述 89C51 单片机的中断响应过程。答:CPU 在每个机器周期 S5P2 期间顺序采样每个中断源,CPU 在下一个机器周期 S6 期间按优先级顺序查询中断标志,如查询到某个中断标志为 1,将在接下来的机器周期 S1 期间按优先级进行中断处理,中断系统通过硬件自动将相应的中断矢量地址装入 PC,以便进入相应的中断服务程序。一旦响应中断,89C51 首先置位相应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把当前的 PC 值压入堆栈,以保护断点,再将相应的中断服务的入口地址送入PC,于是 CPU 接着从中断服务程序的入口处开始执行。对于有些中断源,CPU 在响应中断后会自动清除中断标志。9、在 89C51 内存中,应如何安排程序区?答:主程序一般从 0030H 开始,主程序后一般是子程序及中断服务程序。在这个大家还要清除各个中断的中断矢量地址。10、试述中断的作用及中断的全过程。答:作用:对外部异步发生的事件作出及时的处理过程:中断请求,中断响应,中断处理,中断返回11、当正在执行某一个中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?答:(1)符合以下 6 个条件可响应新的中断请求:a)有中断源发出中断请求b)中断允许位 EA=1,即 CPU 开中断c)申请中断的中断源的中断允许位为 1,即中断没有被屏蔽 d)无同级或更高级中断正在被服务e)当前的指令周期已结束f)若现行指令为 RETI 或访问 IE 或 IP 指令时,该指令以及紧接着的另一条指令已被执行完|12、89C51 单片机外部中断源有几种触发中断请求的方法?如何实现中断请求?答:有两种方式:电平触发和边沿触发电平触发方式:CPU 在每个机器周期的 S5P2 期间采样外部中断引脚的输入电平。若为低电平,使 IE1(IE0)置“1” ,申请中断;若为高电平,则 IE1(IE0)清零。边沿触发方式:CPU 在每个机器周期 S5P2 期间采样外部中断请求引脚的输入电平。如果在相继的两个机器周期采样过程中,一个机器周期采样到外部中断请求为高电平,接着下一个机器周期采样到外部中断请求为低电平,则使 IE1(IE0)置“1”申请中断;否则,IE1(IE0)置 0。13、89C51 单片机有五个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受到一定的限制。试问以下几种中断优先顺序的安排(级别由高到低)是否可能:若可能,则应如何设置中断源的中断级别:否则,请简述不可能的理由。 定时器 0,定时器 1,外中断 0,外中断1,串行口中断。可以,MOV IP,#0AH 串行口中断,外中断 0,定时器 0,外中断 1,定时器 1。 可以,MOV IP,#10H 外中断 0,定时器 1,外中断 1,定时器0,串行口中断。不可以,只能设置一级高级优先级,如果将INT0,T1 设置为高级,而 T0 级别 高于 INT1. 外中断 0,外中断 1,串行口中断, 定时器 0,定时器 1 。 可以,MOV IP,#15H 串行口中断,定时器 0,外中断 0,外中断 1,定时器 1。 不可以 外中断 0,外中断 1,定时器 0,串行口中断,定时器 1 。 不可以 外中断 0,定时器 1,定时器 0,外中断1,串行口中断。 可以,MOV IP,#09H14、89C51 各中断源的中断标志是如何产生的?又是如何清 0 的?CPU 响应中断时,中断入口地址各是多少?答:各中断标志的产生和清“0”如下:(1) 外部中断类外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断 0 和外部中断 1 输入信号。外部中断 0 请求信号,由 P3.2 脚输入。通过IT0 来决定中断请求信号是低电平有效还是下跳变有效。一旦输入信号有效,则向 CPU 申请中断,并且使 IE0=1。硬件复位。外部中断 1 请求信号,功能与用法类似外部中断0(2) 定时中断类定时中断是为满足定时或计数溢出处理需要而设置的。当定时器/计数器中的计数结构发生计数溢出的,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,去置位一个溢出标志位。这种中断请求是在单片机芯片内部发生的,无需在芯片上设置引入端,但在计数方式时,中断源可以由外部引入。TF0:定时器 T0 溢出中断请求。当定时器 T0 产生溢出时,定时器 T0 请求标志 TF0=1,请求中断处理。使用中断时由硬件复位,在查询方式下可由软件复位。TF1:定时器 T1 溢出中断请求。功能与用法类似定时器 T0(3) 串行口中断类串行口中断是为串行数据的传送需要而设置的。串行中断请求也是在单片机芯片内部发生的,但当串行口作为接收端时,必须有一完

    注意事项

    本文(单片机原理及接口技术课后习题-答案~李朝青.doc)为本站会员(小**)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开