《2022年单片机习题答案.docx》由会员分享,可在线阅读,更多相关《2022年单片机习题答案.docx(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源何宏 单片机原理与接口技术 习题解答第 4章 习题解答4-1答 简述以 下基 本概念 ;指 令: CPU依据人 的 意图来执行某种操作的 命令;指令系统:一台电脑所能执行的全部指令集合;机器语言:用二进制编码表示,电脑能直接识别和执行的 语言;汇编语言:用助记符、符号和数字来表示指令的程序语言 ;高级 语言 :独立 于 机器的 ,在编 程时不 需 要对机器 结构及 其指令 系统有深化明白的 通用性 语言;4-2 什么是 电脑 的指令 和指 令系 统 .答 见 1 题;4-3 简述 80C51 汇编 指令 格式 ;答操作 码 目的操 纵 数,源 操作数 4-4 简述 80C51 的寻
2、 址方 式和 所能 涉及的 寻址空 间;答 立 即数寻 址:程 序 储备器 ROM;直接 寻址: 片内 RAM低 128B 和 特殊功 能寄存 器;寄存 器寻址 : R0 R7, A, AB, Cy , DPTR;寄存 器间接 寻址: 片内 RAM低 128B ,片外 RAM;变址 寻址: 程序存 储器 64KB;相对 寻址: 程序存 储器 256B 范畴;位寻 址:片 内 RAM的 20H 2FH字节地 址,部 分特殊功能寄存 器;4-5 要拜访 特殊 功能寄 存器 和片 外数据 储备器 ,应 采纳 哪些寻 址方式 .答 SFR :直接 寻址, 位 寻址,寄存器寻 址;片 外 RAM: 寄存
3、器 间接寻 址;4-6 在 80C51 片 内 RAM中,已知 30H=38H,38H=40H,40H=48H,48H=90H;请 分析 下面 各是什 么指令 ,说 明源 操作数 的寻址 方式 及按 次序执 行后的 结果 ;答MOVA , 40H直接 寻址MOVR0, A寄存器 寻址MOVP1, #0F0H立刻数 寻址MOVR0, 30H直接寻 址 MOVDPTR, #3848H立刻数 寻址MOV 40H, 38H直接 寻址MOVR0, 30H直接寻址MOVP0, R0寄存器寻址MOV18H, #30H立刻数寻址MOVA, R0寄存器间接寻 址MOVP2, P1直接寻址欢迎下载精品学习资源均为
4、 数据传 送指令 ,结果 参见以 下图 为RAM38H40H48H90H30H38H40H48H18H=30H, 30H=38H, 38H=40H 40H=40H, 48H=90H R0=38H , A=40H, P0 38H , P1 FOH, P2=FOH, DPTR=3848H4-7 对 80C51 片 内 RAM高 128B 的地 址空 间寻址要 留意 什么 .答 用 直接寻 址,寄 存 器寻址, 位寻址 ;4-8 指出以 下指 令的本 质区 别;答MOVA , data直接 寻址MOVA, #data立刻数 寻址MOV data1, data2直接寻 址MOV 74H , #78H立
5、刻数 寻址4-9 设 R0的 内 容 为 32H , A的 内 容 为 48H , 片 内 RAM的 32H 内 容 为 80H , 40H 的 内容 为 08H;请 指出 在执行 以下 程序 段后各 单元内 容的 变化 ;MOVA, R0; R0=80H A MOVR0, 40H; 40H=08H R0 MOV40H, A; A=80H 40H MOVR0, #35H; 35H R0解 R0=35HA 80H 32H 08H40H=80H4-10 如何 拜访 SFR,可 使用 哪些 寻址方 式 .答拜访 SFR:直 接寻 址,位寻 址,寄 存器寻 址;4-11 如何 拜访 片外 RAM单元
6、,可使 用哪 些寻址 方式 .答只能 采纳寄 存器间 接寻址 用 MOVX指令 ;4-12 如何 拜访 片内 RAM单元 ,可使 用哪 些寻址 方式 .答低 128B :直 接寻址 ,位寻址,寄存 器间接 寻址,寄 存器寻 址 R0 R7 ;高 128B :直 接寻址 ,位寻址,寄存 器寻址 ;4-13 如何 拜访 片内外程 序存 储器 ,采纳 哪些寻 址方 式 .答采纳 变址寻 址 用 MOVC指令 ;4-14 说明 十进 制调整的 缘由 和方 法;答压缩 BCD码在 进行 加法运算 时本应 逢十进 一,而电 脑只 将其当 作 十六进制数处理, 此时得 到的结 果不正确 ;用 DAA指令 调
7、整 加 06H , 60H, 66H ;4-15 说明 80C51 的布尔 处理 机功 能;答用来进 行位操 作;欢迎下载精品学习资源4-16 已 知 A=83H , R0=17H, 17H=34H, 请 指 出 在 执 行 以 下 程 序 段 后 A的 内容 ;解ANLA , #17H; 83H 17H=03H A ORL17H, A; 34H 03H=37H 17H XRLA, R0; 03H异 或 37H=34HCPLA; 34H求 反等于 CBH所以A=CBH4-17 使用 位操 作指令实 现以 下逻 辑操作 ;要求 不得 转变 未涉及 位的内 容;SETBACC.0或SETBEOH2
8、清除累加 器高 4 位4-18 编写 程序 ,将片内 RAM R0 R7的 内容 传送 到 20H 27H 单 元;解MOV27H , R7MOV 23H , R3MOV26H, R6MOV 22H , R2MOV25H, R5MOV 21H , R1 MOV24H, R4MOV 20H , R04-19 编 写 程 序 , 将 片 内 RAM的 20H, 21H , 22H三 个 连 续 单元 的 内 容 依 次存 入2FH, 2EH, 2DH中;解MOV2FH , 20HMOV2EH, 21HMOV2DH, 22H4-20 编 写程序 ,进行两 个 16 位数 的减 法: 6F5DH一 1
9、3B4H ,结果存 入片 内 RAM的 30H 和 31H 单元 , 30H 存差的 低 8位 ;解CLRCMOVA, #5DH;被减数低 8 位 AMOVR2, #B4H;减数低 8位 R2SUBBA , R2;被减数减 去减数 , 差 AMOV30H, A;低8位结果 30HMOVA, #6FH;被减数高 8 位 AMOVR2, #13H;减数高 8位 R2SUBBA , R2;被减数减 去减数 , 差 AMOV31H, A;高8位结果 31H欢迎下载精品学习资源4-21 编 写程 序 ,假设累 加器 A的内 容分 别满意 以下 条件 时, 就程 序转 至 LABEL存 储单 元; 设 A
10、中有的是 无符 号数 ;解 1 A 10CJNE A, #10 , L1; A 与 10 比较 ,不等 转 L1L2: LJMPLABEL;相等转LABELL1: JNCL2; A 大 于 10 , 转 LABEL2A10CJNE A, #10 , L1; A 与 10 比较 ,不等 转 L1SJMPL3;相等转L3L1: JNCL2; A 大 于 10 , 转 L2SJMPL4; A 小 于 10 , 转 L4L2: JMPLABEL;无条件 转 LABEL3A 10CJNEA , #10 , L1; A 与 10 比 较,不 等 转 L1 L2: LJMPLABEL;相 等转 LABELL
11、1: JC, L2; A小 于 10 , 转 LABEL4-22 已知 SP=25H, PC=2345H, 24H=12H, 25H=34H, 26H=56H;问 此时执 行“ RET” 指令 后, SP=.PC=.解 SP 23H , PC=3412H4-23 已 知 SP=25H, PC=2345H , 标 号 LABEL所 在 的 地 址 为 3456H ; 问 执 行 长调用 指令“ LCALLLABEL ”后,堆 栈指针 和堆 栈内容 发生 什么 变化 .PC的值 等于 什么 .解 SP 27H , 26H=48H, 27H 23H , PC 3456H4-24 上题 中 LCALL
12、 能否 直接 换成 ACALL指令, 为什 么 .假如 使用 ACALL指 令, 就 可调 用的 地址范 围是多 少 .解不能 ; ACALL是短 转指令, 可调用 的地址 范畴是 2 KB ;4-25 阅读 以下 程序,要 求:(1) 说 明程序 功能 ;(2) 试 修改程 序, 使片内 RAM的内容 成为 如下图 的结 果;欢迎下载精品学习资源MOV R2, #0AH50H00HMOV R0, #50H51H01HCLR A52H02HLOOP:MOV R0, A53H03HINC R054H04HDJNZ R2 , LOOP55H05HDONE:56H57H06H07H58H08H59H
13、09H解(1) 功能是 将片内 RAM中 50H 59H单 元清零 ;27AOA 7850 DAFC3在 INC R0 后 添一句 INC A ;4-26 设 R0=7EH , DPTR=10FEH , 片内 RAM中 7EH单 元 的内 容 为 0FFH , 7F单元 的内 容为 38H , 试为以 下程 序注 释其运 行结果 ;解INCR07EH 00HINCR0R0 7FHINC R07FH 39HINC DPTRDPTR 10FFHINC DPTRDPTR 1100HINC DPTRDPTR 1101H4-27 以 下程序 段经 汇编 后,从 1000H 开头的 各有 关存 储单 元的
14、内 容将是 什么 .ORG1000HTAB1EQU1234HTAB2EQU3000HDB“ START”DWTAB1 , TAB2 , 70H解 1000H=53H1001H=54H1002H=41H1003H=52H1004H=54H1005H=12H1006H=34H1007H=30H1008H=00H1009H 00H100AH=70H4-28 阅读 以下 程序,并 要求 :(1) 说 明程序 功能 ;(2) 写 出涉及 的寄 存器及 片内 RAM单 元 如下图 的最 后结果 ;40H98H AFH欢迎下载精品学习资源MOVR0, #40H; 40H R0MOVA, R0; 98H AI
15、NCR0; 41H R0ADDA, R0; 98+A=47H AINC R0MOVR0, A;结果 存入 42H 单元CLRA;清 AADDC A , #0;进位位存入AINC R0MOVR0, A;进位位存入43H解功 能 :将 40H , 41H单元中 的 内容相 加结果 放在 42H单 元, 进 位 放 在 43H单元, R0=43H , A 1 , 40H=98H, 41H AFH, 42H 47H , 43H=01H;4-29 同上 题要 求,程序如下 :61HF2HCCHMOVA, 61H; F2H AMOVB, #02H; 02H BMULAB; F2H02H E4H AADDA
16、, 62H;积 的低 8 位 加上 CCH AMOV63H, A;结 果送 63HCLRA;清 AADDC A , B;积 的高 8 位 加进位 位 AMOV64H, A;结 果送 64H解功能 :将 61H单元 的内容乘2 ,低 8 位再 加上 62H 单元的内 容放人 63H ,将 结果的高 8 位放在 64H 单元 ;A 02HB 01H61H F2H62H CCH63H BOH64H 02H4-30 编写 程序 ,采 用“ 与”运算 ,判 断 8位 二进 制数 是奇 数个 1 仍是偶 数个 1;解MOVA , #XXH; 待判定 的数 AANLA, #0FFH;与 0FFH相 与JBP
17、 , REL;是 奇数转 REL;是 偶数程 序次序 执 行REL :4-31 编写 程序 ,采纳“ 或” 运算 ,使任 意 8 位 二进 制数 的符号 位必为 1 ;解 MOVA , XXH;取数据 AORLA, #80H;使该数 符号位 为 1MOVXXH, A;储存该 数据欢迎下载精品学习资源4-32 请 思 考 : 采纳 “ 异 或 ” 运 算 怎 样 可 使一 带 符 号 数的 符 号 位 改 变, 数 据位 不变 .怎样 可使 该数必 然为 零 .解 1符号位 转变 ,数据位 不变:MOV A , XXH;取 数据 A XRLA, #80H;异或 80H A2使 该数为 零 :MO
18、VA, XXH;该数 AMOVR0, A; 该数 R0XRLA, R0; 该数自身相异或第 5章 习题解答5-1 编 写 程 序 , 查找 在 片 内 RAM中 的 20H 50H单 元 中 是 否 有 0AAH这 一 数据 ;假 设有 ,就 51H 单元置为 01H;假设 未找 到,就 51H单元置 为 00H ;解MOVR2 , #31H;数据 块长度 R2MOVR0 , #20H;数 据块首 地址 R0 LOOP : MOV A , R0;待查 找的数 据 ACLRC;清进位 位SUBB A , #0AAH;待 查找的 数据是 0AAH吗JZ L1;是 ,转 L1INCR0;不 是,地
19、址增 1, 指 向下一个 待查数 据DJNZ R2 , LOOP;数 据块长 度减 1, 不 等于 0 , 连续查 找MOV51H, #00H;等于 0 ,未找 到, 00H 51HSJMP L2;返 回L1 : MOV51H , #01H;找 到, 01H 51HL2 : RET; 返回5-2 编 写程 序,查 找在片 内 RAM中的 20H 50H 单 元中 显现 00H 的 次数,并 将查找 结果 存入 51H 单元;解MOVR2 , #31H;数据 块长度 R2 MOVR0, #20H;数 据块首 地址 R0MOV51H, #00H; 51H 单元清 零,以 记 录 00H的 个数LO
20、OP: MOV A, R0;待查 找的数 据 AANLA, #0FFH;与 0FFH相 与,判 断 该数据是 否为零JNZL1;不为零 ,转 L1INC51H;为零, 00H个 数增 1L1 : INCR0;地址 增 1,指 向下 一个待查 数据欢迎下载精品学习资源DJNZ R2 , LOOP;数据块长度减 1 ,不 等于零,连续查 找RET;全部查找完, 返回5-3 外 部数 据 RAM中有一 个数 据块, 存有 假设干 字符、 数字 ,首地 址为 SOURCE;要 求将 数据 块传送 到内部 RAM以 DIST 开 始的区域 ,直 到遇 到字 符“ $ ”时 终止 ;“ $” 也 要传 送
21、, 它的 ASCII 码 为 24H ;解MOVDPTR , #SOURCE;源首 地址 DPTRMOVR0, #DIST;目 的首地 址 R0 L1 : MOVX A, DPTR; 传送一 个字 符MOVR0, AINCDPTR; 指向下 一个字 符INC R0CJNE A , #24H , L1; 传 送的是 “ $” 字符 吗.不是 , 传 送下一 个字 符RET; 是 ,终止 传送5-4 已知 R3和 R4中 存有 一个 16 位 的二 进制数,高 位在 R3中 ,低 位在 R4中;编写 程序 将其 求补, 并存回 原处 ;解MOVA , R3;取该 数高 8 位 AANLA, #80
22、H;取出该 数符号 判定JZL1;是正数 ,转 L1MOVA, R4;是负数 ,将该 数低8 位 ACPLA;低 8 位 求反ADDA, #01H;加 1MOVR4, A;低 8 位 求反加 1后R4MOVA, R3;取该数 高 8 位 ACPLA;高 8 位 求反ADDC A , #00H;加 上低 8位 加 1 时可 能产生的 进位MOVR3, A;高 8 位 求反后 R3 L1 : RET5-5 已知 30H 和 31H中存 有一 个 16 位的 二进制数 ,高位 在前 ,低 位在后 ;编写程 序将 其乘 2,并 存回原 处;解CLRC;清 进位位 CMOVA , 31H;取 该数低 8
23、位 A RLCA;带进位 位左移 一位MOV31H, A;结果存 回 31HMOVA, 30H;取该数 高 8位 A RLCA;带进位 位左移 一位MOV30H, A;结果存 回 30H5-6 内 存中 有 2 个 4B以压 缩 BCD码形 式存 放的十 进制 数,一 个存 放在 30H 33H的 单元 中,一个存 放在 40H 43H 的 单元中 ;编 写程 序求 它们 的和, 结果存 放在 30H 33H 中 ;解MOVR2 , #04H;字节 长度 R2欢迎下载精品学习资源MOVR0, #30H;一个加数首地址 R0MOVR1, #40H;另一个加数首地址 R1CLRC;清 进位位L1
24、; MOVA , R0;取一 个加数ADDC A , R1;两 个加数 带进位 相 加DAA;十进制 调整MOVR0, A;存 放结果INCR0;指向下 一个字 节INCR1DJNZ R2 , L1;字 节长度 减 l ,没 加 完,转 L1 ,连续 相加RET;全加完 ,返回5-7 编 写程 序,把 片外 RAM从 2000H 开头 存放 的 8 个数 传送到 片内 30H开头 的单元 中;解MOVR2 , #08H; 数据块 长度 R2MOVR1, #30H;数据 块目的 地址 R1 MOVDPTR, #2000H;数据 块源地 址 DPTRLOOP: MOVX A , DPTR;传 送一
25、个 数据MOVR1, AINCDPTR;指向 下一个 数据INC R1DJNZ R2 , LOOP;长度 减 1 ,没 传送 完,转 LOOP,继 续传送RET;传送 完,返 回欢迎下载精品学习资源5-8 解5-9 MOVDPTR, #2000H;数据 块源地 址 DPTR MOVX A, DPTR;传送一个数据CPLASETB ACC.0;指 向下一 个数据SETB ACC.7;指 向下一 个数据MOVX A, DPTR;存放结果RET欢迎下载精品学习资源解MOVR0 , #20H;一个 加数首 地址 R0 MOV A , R0; 取数组长度MOV R2 , A; 数组长度 R2INCR0;
26、指向数 组字节CLRA;清 AL1 ; ADDA , R0;加一 个加数INCR0;指向下 一个字 节DJNZ R2 , L1;数 组长度 减 l ,没 加 完,转 L1 ,连续 相加欢迎下载精品学习资源MOVR0, A;存 放结果RET; 全加完,返回第 6章 习题解答6-1 什么是 中断 和中断 系统 . 其主 要功 能是什 么 .答 当 CPU正 在处 理 某 件事 情 的时 候 , 外部 发 生的 某一事 件 恳求 CPU快速 去处理,于 是, CPU临时 中止 当前的工 作,转去处 理所发生的 大事 ,中断 服 务处理完 该事 件 以 后 , 再 回 到 原 来 被 终 止 的 地
27、方, 继 续 原 来 的工 作 ; 这 种过 程 称 为 中 断, 实现这种功 能的部 件称为 中断系统 ;功能 1;使电脑具有实时处理功能,能对外界异步发生的大事作出准时的处理;功能 2 :完 全排除 了 CPU在查询方 式中的 等待现 象,大大 提高了 CPU的工 作效率;功能 3 : 实现实 时掌握 ;欢迎下载精品学习资源6-2 试编 写 一段对 中断 系 统 初 始 化的 程 序 ,使 之 允 许串 行接 口中 断,且 使 TO中 断为 高优 先级中 断;IN0、TIN、 TTO、 1欢迎下载精品学习资源解MOV IE , #097H10010111IEMOV IP , #02H000
28、00010IP6-3 在单片 机中 ,中断 能实 现哪 些功能 .答有三 种功能 :分时 操作,实时处理 ,故障 处理;6-4 80C51 有哪 些中 断源 . 对 其中断 恳求 如何进 行控 制.答 180C51有如下 中 断源: IN0:T外部 中断 0 恳求, 低电平有 效 由 P3.2 输入 ;IN:外T部 中1断 1 恳求, 低电平有 效 由 P3.3 输入 ; TO:定 时器 / 计数器 0溢出中断 恳求; TI :定 时器 / 计数器 1溢出中断 恳求; TX/RX :串行 接口中 断恳求;(2) 通过 对特殊 功能寄 存器 TCON、SCON、IE 、IP 的各位进 行置位 或
29、复位 等操作, 可实现各 种中断 掌握功 能;6-5 什么是 中断 优先级 . 中 断优先 处理 的原就 是什 么 .答中断 优先级 是 CPU响应中断 的先后 次序;原就: 1先响 应优先 级高的中 断恳求 ,再响 应优先级 低的;(2) 假如 一个中 断恳求 已被响应 ,同级 的其他 中断恳求 将被禁 止;(3) 如 果 同 级 的 多 个 中 断 请 求 同时 出 现 , 就 CPU通 过 内 部 硬 件 查 询 电 路 , 按 查询次序确 定应当 响应哪 个中断请 求;查询次序 :外部 中断 0 定时器0中断 外部 中断 1 定时器 1 中断 串行接口中断欢迎下载精品学习资源6-6 说
30、明外 部中 断恳求 的查 询和 响应过 程;答当 CPU执 行主 程 序 第 K条 指令 时,外 设 向 CPU发 出 中断 请 求 , CPU接到 中断请 求 信 号 并 在 本 条 指 令 执 行 完 后 , 中断 主 程 序 的 执行 并 保 存 断点 地 址 , 然 后转 去响 应 中 断 ; CPU在 每 一 个S5P2期 间顺 序 采 样 每 个中 断 源 , CPU在 下 一 个 机 器周 期 S6 期间按优 先级顺 序查询 中断标志 ,如查询 到某 个中断标志为 1,将 在接 下来的机 器周 期 S1期 间 按 优 先 级 进 行 中 断 处 理 , 中 断 系 统 通 过硬
31、件 自 动 将相 应 的 中 断 矢量 地址装入 PC,以便 进入相 应的中断服务程 序;中 断服务完毕后, CPU返 回到主程序第K+1 条指 令连续 执行;6-7 80C51 在什 么条 件下 可响 应中 断 .答 1有中断源 发出 中断恳求 ;(2) 中断 总答应 位 EA 1,即 CPU开中断 ;(3) 申请 中断的 中断源 的中断允 许位为 1,即 中断没有 被屏蔽 ;(4) 无同 级或更 高级中 断正在服 务;(5) 当前 指令周 期已经 终止;(6) 假设 现行指 令为 RETI 或拜访 IE 或IP 指令时 ,该指令以 及紧接 着的另 一条指令已 执行完 毕;6-8 简述 80
32、C51 单片 机的 中断 响应 过程;答CPU在 每个机 器 周 期 S5P2期 间 顺 序采 样每 个中 断源 , CPU在 下一 个机 器周期 S6期间 按优先 级次序 查询中断 标志 ,如 查询 到某个中断标志 为 1 ,将 在接下来 的机 器 周 期 S1期 间 按 优 先 级 进 行 中 断 处理 , 中 断 系 统通 过 硬 件 自动 将 相 应 的 中断 矢量 地 址 装 入 PC, 以 便 进 入 相 应 的 中 断服 务 程 序 ; 一旦 响 应 中 断, 8051 首 先 置位 相应 的 中 断 “ 优 先 级 生 效 ” 触 发 器 , 然后 由 硬 件 执 行一 条 长
33、 调 用指 令 , 把 当 前的 PC 值压人堆 栈,以 爱护断 点,再将 相应的 中断服 务的入口地址送 人 PC,于是 CPU接着从中断服 务程序 的人口 处开头执 行 ;对于 有些 中断源 ,CPU在响应 中断 后会自动 清除中断标 志;6-9 在 80C51 ROM 中,应 如何 支配 程序区 .答主程 序一般 从 0030H 开头, 主程序 后一般 是子程序及中断 服务程 序;中断 源中断矢 量地址INT00003HTO000BHINT10013HT1001BH串行 接口0023H6-10 试述 中断 的作用及 全过 程;答作用 :对外 部异步 发生的事件作出 准时的 处理;过程:中
34、 断恳求 ,中断 响应,中 断处理 ,中断 返回;6-11 在 执 行 某 一中 断 源 的 中 断 服 务 程 序 时, 如 果 有 新的 中 断 请 求 显现 , 试问 在什 么情 况下可 响应新 的中 断请 求 . 在 什么情 况下 不能 响应新 的中断 恳求 .答 1符合以 下 6个 条 件可响应 新的中 断恳求 :有中断 源发出 中断请 求;中断总 答应 位 EA 1 ,即 CPU开中断 ;欢迎下载精品学习资源申请中断的中断源的中断答应位为 1 ,即中 断没有被屏蔽;无同级当前的或更高指令周级中断期已结正在被服束;务; 假 设 现 行 指 令 为 RETI 或 访 问 IE 或IP
35、指 令 时 , 该 指 令 以 及 紧 接着 的 另 一条指令已 执行完 ;2 假如 新的中 断恳求“优先级”低于 正在执 行的中断 恳求或 与其同 级,就不能被响应 ;6-12 80C51 单 片 机 外 部 中 断源 有 几 种 触 发 中断 请 求 的 方 法 . 如 何 实 现 中断 请求 .答有两 种方式 :电平 触发和沿触发;电 平 触 发 方 式 : CPU在 每 个 机 器 周 期 的 S5P2期 间 采 样 外 部 中 断 引 脚 的 输 入 电平;假设为低 电平,使IE1IE0置“ 1”,申请中断;假 设为 高电平 ,就 IE1IE0清零;边沿触发 方式: CPU在 每 个
36、机器周 期的 S5P2期间 采样外部 中断请 求引脚 的输入电 子 ; 如 果 在 相 继 的 两 个 机 器 周 期 采样 过 程 中 , 一个 机 器 周 期采 样 到 外 部 中断 恳求 为 高 电 平 , 接 着 下 个 机 器周 期 采 样 到 外部 中 断 请 求 为 低 电 平 , 就 使 IE1IE0 置 1,申 请中断 ,否就 , IE1IE0置 0 ;6-13 8051 单 片 机有 五 个 中 断 源 , 但 只 能 设置 两 个 中 断优 先 级 , 因 此在 中 断优 先 级 安 排 上 受 到 一 定 的 限 制 , 试 问以 下 几 种 中 断优 先 级 的 支配
37、 由 高 到 低 是 否可 能 . 假设可 能, 就应如 何设 置中 断源的 中断级 别 . 否就请 简述 不行能 的理 由;欢迎下载精品学习资源解同级 优先次 序为:INT0, TO,INT1, T1 , TX/RX ;欢迎下载精品学习资源(1) 定时 器 0,定 时器 1 ,外部中 断 0, 外部中 断 1,串 行接口 中断;可以, 将TO, T1设置 为高级;MOV IP , #0AH(2) 串行接口中断,外部中断0,定时器 0溢出中断,外部中断 1,定时器 1溢出中断;可以, 将串行 接口中 断设置为高级;MOV 0B8H, #10H(3) 外部中断 0,定时器 1溢出中断,外部中断
38、1,定时器 0溢出中断,串行接口中断;不行以,只能设置一级高级优先级,将INT0 、T1设置为高级,而 TO级别高于 INT1;(4) 外部中断 0,外部中断 1,串行接口中断,定时器1溢出中断,定时器0溢出中断;不行以 ,假设 将INT0 , INT1 , TX/RX 设置为 高级,而 TO高于 T1;(5) 串行接口中断,外定时器0溢出中断,外部中断 0,外部中断 1,定时器 1溢出中断;不行以 , RX/TX 级别 最低,可 将其设 为最高 级,而 INT0 优先 级又高 于 TO;(6) 外部中断 0,外部中断 1,定时器 0溢出中断,串行接口中断,定时器1溢出中断;不行以 , RX/
39、TX 级别 最低,可 设为最 高级, 而 TO优先 级又高 于INTl;(7) 外部中断 0,定时器 1溢出中断,定时器0溢出中断,外部中断 1,串行接口中断;可以, 将INT0 , T1 设 为最高级;MOV 0B8H, #09H欢迎下载精品学习资源6-14 以 中 断 方 法设 计 单 片 机 秒 、 分 脉 冲 发 生器 , 假 定 P1.0 每 秒 钟 产 生一 个机 器周 期的 正脉冲 , P1.1 每分 钟产 生一 个机器周期的 正脉 冲;解程序 1 中断 法 :1s 50ms14H 50ms201min 1s 3CH 1s 60设f OSC 12MHzT 0.05s 50msT0
40、模式 1即 TMOD=01H16166定时时间 t 2一 定时 器初值 X 12 振荡周 期 2 X 12/1210 欢迎下载精品学习资源16所以X 2-50 103 65536 50000 15536=3CBOH欢迎下载精品学习资源ORG0000H AJMP MAIN ORG000BH AJMP INSERORG0100HMAIN :MOVR0, #00H; R0为 50ms计 数器MOVR1 , #00H; R1为秒计 数器MOVTMOD, #01H; 定时器 T0工作 于模式 1MOVTH0 , #3CH; 置 50 ms 定时初 值MOVTL0 , #0BOHSETBET0;允 许 T0 中断SETBEA; CPU开放 中断SETBTR0;启 动定时 器 T0LOOP:AJMPLOOP;等待 50ms时间到ORG0200HINSER:MOVTH0 , #3CH;重新 置人 定时初值MOVTL0, #0BOHINCR0; 50 ms 计 数器增 1CJNER0,#14H,L1; 未到 1s ,转 L1 ,中断返回SETBP1.0; 到 ls , 发一 个正脉冲MOVR0 , #00H; 清 R0INCR1; 秒计数 器增