单片机原理与应用-11期末复习.ppt_第1页
单片机原理与应用-11期末复习.ppt_第2页
单片机原理与应用-11期末复习.ppt_第3页
单片机原理与应用-11期末复习.ppt_第4页
单片机原理与应用-11期末复习.ppt_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

1 期末复习 选择题2 15 30分简单题4 5 20分题读程序分析30分5题程序设计10 2 20分 简单IO应用及循环程序设计1题 定时计数器1题 方健 2 考试成绩构成 平时30 期末70 2012年考试题型选择 2x15 30分 基础知识点简答 4x5 20分 重要的基础概念程序分析 6x5 30分 设计能力 分析能力 典型程序设计功能 程序改错 程序注释 编程 2 10 20分 简单IO应用及循环程序设计1题 定时计数器1题第1章1 计算机发展的阶段过程 2 MCS 51单片机的特点 3 不同数制的表示方法和数制转换方法 第2章1 单片机的基本构成 常用51单片机的基本配置 2 单片机常用引脚 作用及连接方法 3 单片机中P0 P3口的功能 有无第二功能 第二功能作用 特点 4 外部数据 地址 控制总线的功能 分布 使用哪些并行口 特点 5 51单片机存储空间的划分方法 寻址空间各是多少 如何解决地址空间重叠的问题 6 51片内数据存储区域如何划分 各有什么特点 7 冯诺依曼 普林斯顿 结构编址与哈佛结构编址的区别 51属于哪一类 8 如何解决访问SFR与片内数据存储器的问题 SFR寄存器哪些可以进行位寻址 9 51单片机中PSW寄存器各位的作用 10 4种不同周期各有什么意义 它们之间有什么联系 如何通过外部晶振来计算程序运行时间 11 复位电路的分类及构成 12 电源管理第3章1 几种不同的寻址方法在指令中的应用 2 掌握指令的作用 MOVX MOVC MOV间的区别 3 掌握指令的格式 哪些指令合法 哪些指令非法 4 掌握指令对PSW的影响 加减乘除 3 第4章1 语句的格式2 伪指令的作用3 常见程序的设计方法 循环 查表 片内外存储器的访问等 4 子程序编写的方法 子程序与中断程序间的区别 调用方法 返回方法 5 51堆栈的作用 特点 PUSH与POP对堆栈的影响 子程序调用与返回对堆栈的影响 6 掌握51单片机的程序的编写第6章1 中断程序编写的一般流程 2 51单片机中断的分类 中断向量地址各是多少 中断优先级如何来确定 3 中断响应的条件 通过哪些寄存器来控制中断的响应 在哪些特定的时候是不响应中断的 4 外部中断有哪两种响应方式 如何设置 相应的程序如何编写 5 51单片机的定时器一共有几个 有哪4种工作方式 分别如何设置 6 51单片机的定时器在什么情况下会发生中断 定时器的初值如何进行计算 7 掌握定时器工作方式1 2的程序编写的方法 典型应用方波的输出 第7章1 51单片机的串口有哪4种工作方式 各自的特点 波特率 通信位数 及适用的场合 2 串口波特率如何进行计算与设置 3 掌握串口工作方式1 单机点对点通信编程 4 了解多机通信的工作原理第5章 第8章1 51单片机如何进行程序与数据存储器的硬件扩展连接 2 掌握常用的扩展芯片连接方法 各芯片地址的分析 第9章 了解 1 按键检测方法 包括矩阵式连接与独立式连接的典型电路与扫描的原理 按键防抖动的原理与方法2 LED控制方法 电路的连接方式 点亮熄灭的控制程序的编写 3 7段LED数码管 共阴极与共阳极的判断 7段的排列顺序 显示码字的确定方法 两种控制方式的原理 静态与动态控制 第10章 了解 1 AD与DA的作用2 常用的AD与DA芯片的连接方式课后作业 4 第二章硬件结构 1 基本组成 P9 MCS 51系列单片机属于总线结构 CPU8位字长 一个位处理器4KBROM 128BRAM 256 片外可扩展64KBROM和64KBRAM4组32个单独可编程I O端口2个16位定时器 计数器 4模式5个中断 可设置两级优先级全双工异步串行通信接口 4模式时钟端口 有内部振荡器和外部输入两种时钟方式 5 双列直插式的51单片机引脚图 2 单片机引脚 P11 P3管脚第二功能 6 各管脚名称 P12 电源Vcc 1根线 地线Vss 1根线 振荡器输入XTAL1 输出XTAL2 2根线 4个8位并行I O口P0 P3 32根线 复位端RST 1根线 地址锁存及编程脉冲输入端ALE 1根线 外部程序存储器选通端 读程序 1根线 片内 外ROM选择及编程电源端 Vpp 1根线 7 各管脚功能 1 电源和晶振 共4根 电源Vcc 运行时加 5V 地线Vss 接地 XTAL1 振荡器内部反向器输出端 XTAL2 振荡器内部反向器输入端当采用内部时钟方式时 利用其内部的振荡电路在XTAL1 XTAL2引脚上外接定时元件 内部振荡电路便产生自激振荡 晶体可在1 2 12MHz之间选择 P 25图2 11 当采用外部时钟方式时 对HCOM工艺单片机 XTAL1接地 XTAL2接外部振荡脉冲 及上电阻 P25图2 12 CHCOM工艺单片机 XTAL1接外部振荡脉冲 XTAL2不接 或输出 8 2 4个8位并行I O口P0 P3的功能 P 13 P0除了用作普通I O口外 还可作为双向数据总线或低位地址总线真正的双向口输出时漏极开路 需要上拉电阻和电源 P1口为普通I O口 准双向口 P2口除了用作普通I O口外 还可作为高位地址总线 准双向口 P3为双功能口 其P3 0 P3 7对应的第二功能依次为 RXD P3 0 TXD P3 1 用于串口通信接收 发送 INT0 P3 2 INT1 P3 3 用于外部中断 输入T0 P3 4 T1 P3 5 用于定时器 输入 WR P3 6 RD P3 7 用于片外RAM的写 读选通 输入 习题 P0 P3口输入时 读端口数据 要先写 1 9 3 控制线 共4根P 12 复位端RST 复位输入信号 高电平有效 在振荡器工作时 RST上作用两个机器周期以上的高电平 将器件复位 地址锁存及编程脉冲输入端ALE 输出信号 用作片外存储器访问时低字节地址锁存 ALE以1 6振荡频率输出 可用作对外输出时钟或用于定时 此引脚第二功能用在EPROM编程期间 作输入 接入编程脉冲 外部程序存储器选通端 读程序 低电平有效 在取指令和从片外程序存储器读数据时 每机器周期有效两次 以实现对片外ROM的选通 片内 外ROM选择及编程电源端 Vpp 片外ROM选择信号 低电平有效 当为 0 时 低端程序从片外程序存储器开始 当为 1 时 低端程序从片内程序存储器开始 此引脚第二功能用于对片内程序存储器编程时接入编程电压 10 11 1 物理上分成4个存储器空间 片内程序存储器 片外程序存储器 片内数据存储器 片外数据存储器 2 逻辑上分成3个地址空间 片内 片外统一编址的64KB程序存储器空间 片内256B的数据存储器地址空间 片外64KB的数据存储器空间 3 在寻址方式上分成 直接寻址和间接寻址方式 4 不同的存储空间采用3种不同的指令寻址 对于片内或片外程序存储器查表 用MOVC指令寻址 对片内数据存储器传送数据用MOV指令寻址 对片外数据存储器读写用MOVX指令寻址 5 采用哈佛结构 习题 12 4 程序存储器特点 1 ROM类型有 掩膜ROM EPROM E2PROM FLASHROM OTPROM 分成片内和片外两部分 由EA引脚接高 低地址从片内ROM开始 或接地 低地址从片外ROM开始 决定 片内 片外统一编址 最大寻址范围64KB 2 51系列单片机64K字节程序存储器统一编址 EA 1程序从片内ROM开始执行 当PC值超过片内ROM容量时会自动转向外部存储器空间 EA 0程序从外部存储器开始执行 51系列单片机复位后PC 0000H 系统从0000H开始执行程序 安排一条跳转指令 0003H 0032H单元被保留专用于中断服务程序 入口地址 每个服务中断服务程序只有8个字节单元存放 显然不够 故此8个单元通常放一条跳转指令 指向被实际分配的中断服务程序段 13 3 程序存储器特定的复位入口地址 P 18 MCS 51单片机复位 中断入口地址 习题 14 程序运行控制操作有 自主操作 顺序执行 转移控制 复位和中断 1 复位和中断由相应的硬件结构控制 它们的程序入口地址是固定的 2 顺序执行PC 1 3 转移控制则是通过各种调用 返回 有条件和无条件转移 通过改变PC来实现 指令操作 查表是通过基址偏址的间接寻址方式 共有两条指令 MOVCA A DPTR 将DPTR中的地址加A中的偏移量 得到该单元内容存A 寻址范围为64K 称长查表指令 MOVCA A PC 以PC为基址寄存器 A为偏址数据 相加后的数作为地址 取出该地址单元的内容送累加器A 表格只能放在0 255字节范围之内 称短查表指令 15 MCS 51单片机片内RAM功能分区 只能直接寻址 16字节共128位 4组工作寄器组成工作寄存器区 由RS1 RS0选组 00H 7FH是可直接或间接寻址区堆栈区设在07H 7FH的合适地址空间 片内RAM的00H 7FH功能划区 物理上分成放在工作寄存器区 位寻址区 数据缓冲区三个区域 应用中分成工作寄存器区 位寻址区 数据缓冲区和堆栈区00H 1FH为工作寄存器区 该区分成4组 每组都有R0 R7八个工作寄存器 但地址不同 由PSW 3 RS0 和PSW 4 RS1 两位来选区 20H 2FH为位寻址区 共16个字节单元128位 位地址00H 7FH30H 7FH为数据缓冲区 也称用户RAM区 可浮动堆栈区设在07H为栈底的片内RAM合适的区域 片内RAM功能分区 地址空间 复位状态等 4 数据存储器 P 19 习题 16 5 SFR特殊功能寄存器的运行管理模式SFR特殊功能寄存器 MCS 51设有128B 80H FFH 的特殊功能寄存器空间 称为SFR区 这是为片内资源特别设置的寄存器区 用以存放控制命令 状态或数据 是对片内功能部件的寄存器化 SFR构成 1 地址分配 分布在片内RAM80H FFH中的21个地址单元 52系列单片机有26个 2 主要功能 用于对片内13个功能单元的操作管理 4个I O端口 5个中断 含两个外部中断 两个定时器 计数器 一个串口 SP DPTR PSW PCON 3 尚有许多保留单元待作它用 17 a 51单片机SFR中的不可位寻址寄存器 18 b 51单片机SFR中的可位寻址的寄存器 P 21 19 SFR的功能和应用特性 1 SFR的功能 用于片内功能单元的管理 控制 运行状态指示 2 寻址方式 只能直接寻址 分可位寻址和只能直接按字节寻址两类 3 复位状态 SP 07H P0 P3 FFH SBUF为随机数 其它均为00H 4 程序状态字PSW 反映运算结构和指令执行情况的SFR D0H A累加器 5 应用时 一部分SFR内由软件写入控制字 作为控制寄存器 另一类SFR中的内容由程序执行结果决定 作为标志寄存器 还有一类SFR如DPTR SBUF等作特定用途的寄存器用 习题 20 当运算中最高位有进位或借位时 CY 1 当运算中低4位向高4位有进位或借位时 AC 1 F0用户标志位 RS1 RS0两位选择内RAM中4个工作寄存器区 OV C6 C7 在带符号加减运算中C6有进位而C7无进位 或C6有借位C7无借位时OV 1 乘法运算中A B大于255时 或者除法运算中除数为0时OV 1 例子 有符号数字相加01010100 84 01101001 105 CY 0AC 010111101 189 结果为负数产生了溢出C6 1C7 0OV C6 C7 1 奇偶位中当A中数据 1 的个数为奇数个 P 1 否者P 0 程序状态字PSW P 24 习题 21 振荡器 ALE 工作频率范围 1 2MHz 12MHz 机器周期 每个机器周期内 出现两次高电平 出现时刻为S1P2和S4P2 持续时间为一个状态S ALE信号每出现一次 CPU就进行一次取指操作 6 时序关系 22 时序之间的关系 P 23 时钟周期 振荡周期 Tosc 1 fosc状态时间 S 2Tosc地址锁存有效信号 ALE 6Tosc机器周期 机器周期 12Tosc单指令周期 单指令周期 机器周期双指令周期 双指令周期 2 机器周期 习题 23 7 上电自动复位和手动复位 上电复位 按键电平复位 复位在RST引脚上保持24个震荡周期 即两个机器周期 以上的高电平 习题 24 8 片外三总线结构 第八章P 139 25 MCS51单片机的三总线结构 不注明就指片外 数据总线DB 由P0口组成地址总线AB 从P0口输出低8位地址 经373锁存器锁存作为低位地址A7 A0 由P2口输出高8位地址A15 A8组成A15 A0共16位的地址总线 控制总线CB 由RST EA PSEN ALE 以及 WR RD等组成 习题 26 习题分析 2 3三总线是由哪些口线构成的 2 4P0 P3各组端口的功能和I O口使用特点2 5存储结构特点 地址空间 2 6RAM00H 7FH功能划分 2 7中断入口 复位状态 2 9PSW2 10周期关系计算 2 11复位方式 27 习题答案和例题分析 单片机原理及应用 课程习题与解答参考教材 张毅刚主编 单片机原理及应用 普通高等教育 十五 国家级规划教材 高等教育出版社 2004年1月第一章1 3 单片机与普通计算机的不同之处在于其将 和 三部分集成于一块芯片上 答 CPU 存储器 I O口第二章2 4 在MCS 51单片机中 如果采用6MHz晶振 1个机器周期为 答 2us 析 1个机器周期为12个振荡周期 2 6 内部RAM中 位地址为30H的位 该位所在字节的字节地址为 答 26H2 7 若A中的内容为63H 那么 P标志位的值为 答 0析 P为偶校验位 因为A中1的个数为偶数 所以P 0 28 2 8 判断下列说法是否正确 A 8031的CPU是由RAM和EPROM所组成 B 区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端 C 在MCS 51中 为使准双向的I O口工作在输入方式 必须保证它被事先预置为1 D PC可以看成使程序存储器的地址指针 答 错 错 对 对2 9 8031单片机复位后 R4所对应的存储单元的地址为 因上电时PSW 这时当前的工作寄存器区是 组工作寄存器区 答 04H 00H 02 11 判断以下有关PC和DPTR的结论是否正确 A DPTR是可以访问的 而PC不能访问 B 它们都是16位的存储器C 它们都有加1的功能 D DPTR可以分为两个8位的寄存器使用 但PC不能 答 对 对 对 对 29 2 15 判断下列说法是否正确程序计数器PC不能为用户编程时直接使用 因为它没有地址 内部RAM的位寻址区 只能供位寻址使用 而不能供字节寻址使用 答 对 错 2 16 PC的值是A 当前正在执行指令的前一条指令的地址B 当前正在执行指令的地址C 当前正在执行指令的下一条指令的地址D 控制器中指令寄存器的地址答 C2 17 通过堆栈操作实现子程序调用 首先就要把 的内容入栈 以进行断点保护 调用返回时 再进行出栈保护 把保护的断点送回到 答 PC PC2 18 串行口的控制寄存器SCON中 TI的作用是 B A 接收中断请求标志位B 发送中断请求标志位C 串行口允许接收位D 地址 数据位2 19 MCS 51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的 因为MCS 51的PC是16位的 因此其寻址的范围为 KB 答 64 30 2 21 判断下列说法是否正确 PC是1个不可寻址的特殊功能寄存器 单片机的主频越高 其运算速度越快 在MCS 51单片机中 1个机器周期等于1us 特殊功能寄存器SP内装的是栈顶首地址单元的内容 答 错 对 错 错2 22 89C51单片机的复位信号是 A 有效 A 高电平B 低电平C 脉冲D 下降沿 31 2 23 80C51有几个通用工作寄存器组 是片内RAM的哪些单元 若选用第二组寄存器 指令如何设置 2 24 80C51有哪几个中断源 其中断入口地址各是多少 各中断标志是如何置位又是如何清零的 软件还是硬件 2 25 画出按键电平复位电路 并阐述各元件的参数要求和复位的作用和工作原理 2 26 阐述单片机的三总线的组成 并分析每条总线的作用 32 加 减 乘 除的算术运算指令都会对程序状态字PSW产生影响 采样外部时钟时 XTAL1接外部振荡信号输入端 XTAL2接地 SFR复位后 I O端口为FFH 其余SFR的有效位均为零 CPU的中央控制器的作用是识别指令并按指令要求控制各部件协调工作 不可以用数据指针DPTR访问片外ROM 特殊功能寄存器可以使用直接寻址方式 不能使用间接寻址方式 33 第三章指令系统 1 指令格式 P 29 1 机器码和助记符码 2 操作码 操作数或操作数地址 3 单字节 双字节和三字节指令 空间 4 单周期 双周期和四周期指令 时间 34 用户命令 指令指令指令 000010101011100111100011 cpu 1 2 3 35 2 寻址方式 P 32 MOV目的操作数 源操作数 MOVP1 AMOVP1 R4 立即数寻址 MOVA 55HMOVRn 01H 寄存器寻址 MOVCA A DPTRMOVCA A PC 变址寻址 MOVA 55HMOVRn 20H 直接寻址 MOVA R0MOVXA DPTR 寄存器间接寻址 MOVC D5HMOVC PSW 5 位寻址 JC23HSJMP54HSJMPMAIN 相对寻址 36 MCS 51的寻址方式和寻址空间表 37 3 单片机指令分类介绍 P 29 MCS 51单片机指令系统共有基本指令111条 分为 类数据传送类指令 29 数据运算类指令 24 逻辑操作类指令 24 程序控制类指令 17 布尔操作类指令 17 38 4 数据传送指令 1 内部RAM是数据传送最为频繁的部分 这其中有寄存器 累加器 RAM单元以及特殊功能寄存器之间的相互数据传送 15条2 以DPTR为目的地址传送指令 1条3 程序存储器访问类指令 2条4 片外数据存储器访问类指令 4条5 数据交换类指令 5条6 堆栈操作类指令 2条 39 MOV指令示意图 内部数据RAM 含SFR 传送指令 15条 的使用 1 内部数据RAM P 38 40 2 以DPTR为目的操作数 1条 MOVDPTR data16 data DPTR 这条指令的功能是把16位常数送入数据指针寄存器 唯一一条16位数据传送指令DPHDPL3字节 双周期 41 3 访问程序存储器指令 2条 MOVCA A DPTR A DPTR AMOVCA A PC A PC A 程序存储器只能读 不能写 因而只有两条读指令 这组指令的功能是对存放于程序存储器中的数据表格进行查找传送 使用变址寻址方式 42 外部数据存储器及程序存储器的传送指令 外部数据存储器及程序存储器只能和累加器A进行数据传送 而不能与内部RAM和SFR进行数据传送 4 外部数据RAM 43 5 堆栈操作指令 2条 堆栈指令内部RAM低128个单元或专用寄存器内容送栈顶单元PUSHdirect SP 1 SP direct SP 出栈指令栈顶单元内容送内部RAM低128个单元或专用寄存器POPdirect SP direct SP 1 SP 以SP为间址寄存器的间接寻址方式 SP隐含 44 6 交换指令 5条 字节交换指令 3条 这三条指令的功能是把累加器A中的内容与源操作数所指的数据相互交换 XCHA Rn A RnXCHA Ri A Ri XCHA direct A direct 低半字节交换指令 1条 XCHDA Ri A3 0 Ri 3 0 累加器A的高 低半字节交换 1条 SWAPA A3 0 A7 4 45 5 算术运算类指令 24 P 42 使用的助记符为 ADD ADDC INC DA SUBB DEC MUL DIV等八种 除了加1和减1指令之外 算术运算结果将使进位标志 CY 半进位标志 AC 溢出标志 OV 置位或复位 因此会影响PSW 一 加法指令 8条二 减法指令 4条三 增减量指令 9条四 其他算术操作指令 3条 46 1 不带进位位加法指令ADD ADDA Rn A A Rn ADDA direct A A direct ADDA Ri A A Ri ADDA data A A data 助记符ADDPSW的变化 47 2 带进位加法指令组ADDC ADDCA Rn A A Rn CY ADDCA direct A A direct CY ADDCA Ri A A Ri CY ADDCA data A A data CY 48 3 带借位减法指令组 SUBBA Rn A A Rn CY SUBBA direct A A direct CY SUBBA Ri A A Ri CY SUBBA data A A data CY 49 4 加1指令组INC INCA A A 1INCRn Rn Rn 1INCdirect direct direct 1INC Ri Ri Ri 1INCDPTR DPTR DPTR 1除了INCA 加1操作不影响PSW 50 5 减1指令组 DECA A A 1DECRn Rn Rn 1DECdirect direct direct 1DEC Ri Ri Ri 1除了DECA 减1操作不影响PSWDPTR没有减1指令 这组指令的作用是把所指的寄存器内容减1 结果送回原寄存器 若原寄存器的内容为00H 减1后即为FFH 运算结果不影响任何标志位 这组指令共有直接 寄存器 寄存器间址等寻址方式 51 6 乘除指令组 MULABDIVAB乘法和除法操作都影响PSW乘法和除法指令都是一字节指令 但执行时间都是4个机器周期 累加器A和寄存器B中的两个8位无符号数相乘 乘积为16位 低8位在A中 高8位在B中 CY 0 当乘积小于 等于FFH时 OV 0 否则OV 1 指示8位或者16位 两个8位无符号数进行除法运算A B 商在A中 余数在B中 CY 0 除数为0时 OV 1 否则OV 0 52 7 十进制调整指令 DAA十进制调整指令是紧接着加法指令用的 不能在其它运算后作十进制调整 被加数和加数是十进制BCD码 执行ADD或ADDC二进制加法指令 再用DAA作十进制调整后 得到的结果是十进制BCD码 53 6 逻辑运算及移位类指令 24条 P 48 逻辑运算类指令包括 与 或 异或 清除 求反 移位等操作 助记符有ANL ORL XRL RL RLC RR RRC CPL CLR等九种 只按位进行逻辑运算 结果不影响PSW中标志位 1 循环左移RLA An 1 An A0 A7 2 循环右移RRA An An 1 A7 A0 3 带进位循环左移RLCA An 1 An CY A7 A0 CY 4 带进位循环右移RRCA An An 1 A7 CY CY A0 累加器清0指令 CLRA A 0累加器按位取反指令 CPLA A A 54 逻辑与运算指令组 ANLA Rn A A Rn ANLA direct A A direct ANLA Ri A A Ri ANLA data A A dataANLdirect A direct direct A ANLdirect data direct direct data 55 逻辑或运算指令组 ORLA Rn A A Rn ORLA direct A A direct ORLA Ri A A Ri ORLA data A A dataORLdirect A direct direct A ORLdirect data direct direct data 当需要改变一个字节中某几位 而其余位保持不变时 不能使用数据传送指令 只能用逻辑运算指令 56 逻辑异或运算指令组 XRLA Rn A A Rn XRLA direct A A direct XRLA Ri A A Ri XRLA data A A dataXRLdirect A direct direct A XRLdirect data direct direct data 57 7 控制转移类指令 17条P 52 80C51设有丰富的控制转移指令 可分为无条件转移指令 4条 条件转移指令 8条 子程序调用和返回指令 4条 空操作指令 1条 但不包括布尔变量控制程序转移指令 采用助记符有 AJMP LJMP SJMP JZ JNZ CJNE DJNZ ACALL LCALL RET RETI NOP等十三种 58 指令机器码SJMPrel80relAJMPaddrlla10a9a800001a7 a0LJMPaddrl602addr15 8addr7 0JMP A DPTR73这类指令的功能是程序无条件地转移到各自指定的目标地址去执行 不同的指令形成的目标地址不同 1 无条件转移指令 4条 59 与无条件转移指令不同 条件转移指令仅仅在满足指令中规定的条件 如累加器内容是否为零 二个操作数是否相等 时才执行无条件转移 否则程序顺序执行 相当于执行空操作 1 累加器判零转移指令 2条 JZrel 若 A 0 则 PC PC 2 rel 若 A 0 则 PC PC 2JNZrel 若 A 0 则 PC PC 2 rel 若 A 0 则 PC PC 2比较转移指令 4条 CJNEA direct relCJNEA data relCJNERn data relCJNE Ri data rel减一条件转移指令 2条 DJNZRn rel 若Rn 1不等于0 则PC 2 rel PC 若Rn 1 0 则PC 2 PCDJNZdirect rel 若 direct 1不等于0 则PC 3 rel PC 若 direct 1 0 则PC 3 PC 2 条件转移指令 8条 60 3 子程序调用返回指令 4条 在程序设计中 典型问题可编程许多子程序 放入子程序库中 以便需要时随时调用 调用指令 2条 短调用指令格式 ACALLaddr11长调用指令格式 LCALLaddr16返回指令 2条 子程序返回指令RET SP PC15 8 SP 1 SP SP PC7 0 SP 1 SP中断返回指令RETI SP PC15 8 SP 1 SP SP PC7 0 SP 1 SP a10a9a810001 a7 a0 12H a15 a8 a7 a0 61 8 空操作指令 1条 格式 NOP PC 1 PC功能 无任何操作 仅使PC值加1说明 1 指令码为00H2 指令执行时间为12T 常用于延时程序中 62 习题分析 3 1寻址方式和适用地址空间3 2同3 13 5执行结果MOVA 56H A 56HADDA 74H A CAHCY 0OV 13 6 59H 50HMOVA 59H A 50HMOVR0 A R0 50HMOVA 0 A 0MOV R0 A 50H 0MOVA 25H A 25HMOV51H A 51H 25HMOV52H 70H 52H 70H 63 3 7实验3 8实验3 9 1 MOVA 0FEH11111110ADDA 0FEH 11111110111111100pswcyacf0rs1rs0ov p111000000C0H 2 MOVA 92H10010010ADDA 0A4H 10100100100110110pswcyacf0rs1rs0ov p11000010084H 64 3 11MOVDPTR 200DHMOVXA DPTRMOVDPTR 280DHMOVX DPTR A扩展200D 201C十六个数据到280D 281C数据搬运MOVR0 30HMOVR3 16MOVDPTR 200DHLOOP MOVXA DPTRMOVA R0INCDPTRINCR0DJNZR3 LOOPMOVR0 30HMOVR3 16MOVDPTR 280DHLOOP1 MOVA R0MOV DPTR AINCDPTRINCR0DJNZR3 LOOP1 3 12DELAY MOVR2 0FAHL1 MOVR3 0FAHL2 DJNZR3 L2DJNZR2 L1RET 0FAH 2 2 1 0FAH 1 2 12 60000003 13实验3 14实验 65 例题 P40例3 6 3 7片外数据存储器访问 访问程序存储器MOVXA DPTRMOVX DPTR AMOVXA R0MOVX R0 AMOVCA A DPTRMOVCA 1 PCP43例3 10 3 11 3 12 3 13P51例3 22 3 23 3 24P55例3 29 3 30 3 32分析 注释 运行结果 66 典型例题 3 1 判断下列指令的正误 1 MOV28H R22 DECDPTR3 INCDPTR4 CLRR05 CPLR56 MOVR0 R17 PUSHDPTR8 MOVF0 C9 MOVF0 ACC 310 MOVXA R111 MOVC 30H12 RLCR0答 错 错 对 错错 错 错 对错 对 对 错3 2 判断下列说法是否正确 立即寻址方式是被操作的数据本身在指令中 而不是它的地址在指令中 指令周期是执行一条指令的时间 指令中直接给出的操作数称为直接寻址 答 对 对 错3 3 在基址加变址寻址方式中 以 作变址寄存器 以 或 作基址寄存器 答 累加器A DPTR PC3 7 指令格式是由 和 所组成 也可能仅由 组成 答 操作码 操作数 操作码 67 3 8 假定累加器A中的内容为30H 执行指令1000H MOVCA A PC后 把程序存储器 单元的内容送入累加器A中 答 1031H3 9 在MCS 51中 PC和DPTR都用于提供地址 但PC是为访问 存储器提供地址 而DPTR是为访问 存储器提供地址 答 程序 数据3 10 在寄存器间接寻址方式中 其 间接 体现在指令中寄存器的内容不是操作数 而是操作数的 答 地址3 11 下列程序段的功能是什么 PUSHAPUSHBPOPAPOPB答 交换A B的内容 68 3 12 已知程序执行前有A 02H SP 52H 51H FFH 52H FFH 下述程序执行后 POPDPHPOPDPLMOVDPTR 4000HRLAMOVB AMOVCA A DPTRPUSHAMOVA BINCAMOVCA A DPTRPUSHARETORG4000HDB10H 80H 30H 50H 30H 50H请问 A SP 51H 52H PC 答 A 50H SP 50H 51H 30H 52H 50H PC 5030H3 14 假定A 83H R0 17H 17H 34H 执行以下指令 ANLA 17HORL17H AXRLA R0CPLA后 A的内容为 答 0CBH 69 3 15 假定A 55H R3 0AAH 在执行指令ANLA R3后 A R3 答 0 0AAH3 16 如果DPTR 507BH SP 32H 30H 50H 31H 5FH 32H 3CH 则执行下列指令后 POPDPHPOPDPLPOPSP则 DPH DPL SP 答 DPH 3CH DPL 5FH SP 4FH3 17 假定 SP 60H A 30H B 70H 执行下列指令 PUSHAPUSHB后 SP的内容为 61H单元的内容为 62H单元的内容为 答 62H 30H 70H 70 第四章 汇编语言程序设计 1 汇编语言格式汇编语言源程序由源语句组成 其语句结构四要素按书写次序依次为 1 标号 2 操作码 3 操作数 4 注释 即 标号 操作码操作数 注释 71 2 汇编语言伪指令 P 66 伪指令 伪指令只是汇编工具的一些约定 是不能执行的指令 因而汇编时不会产生可执行的目标代码 不会影响程序的执行以及代码和数据的分布 供汇编语言程序识别和执行 对汇编过程进行某种控制 特点 助记符指令码指令码如下 1 ORG END伪指令2 EQU DATA伪指令3 DB DW DS伪指令4 BIT伪指令 无对应 72 2 汇编语言程序设计 4 2顺序程序设计 4 3分支程序设计 4 4循环程序设计 4 5子程序设计搞懂例题 实验的例子会分析 注释 运行结果会编程设计 73 习题分析 4 6 2s延时程序6MHzT机 12 6000000 2us若采用P 78两重循环t m 2 2 2 n 1 2us 2sm n最大255 无法实现 需要三重DEL MOVR7 mDEL1 MOVR6 nDEL2 MOVR5 wDEL3 DJNZR5 DEL3DJNZR6 DEL2DJNZR7 DEL1RET W 2 2 1 n 2 1 m 1 2 2us 2s取w m n 74 4 12求50H 59H内容的平均值 存放到5AH AVE MOVR0 50HMOVR5 10MOVA 00HLOOP ADDA R0INCR0DJNZR5 LOOPMOVB 10DIVABMOV5AH ARET 75 4 1340H开始的48个无符号数中的最小值 MIN MOVR1 40HMOVR3 48MOVA 0FFHLOOP1 MOVB R1CJNZA B LOOP2LOOP2 JCLOOP3MOVA R1LOOP3 INCR1DJNZR3 LOOP1MOV30H ARET 76 4 14排序 实验指导4 15查找 D SEARCH MOV DPTR 2000HMOVR7 16LOOP1 MOVXA DPTRCJNEA 44H LOOP2MOV30H DPHMOV31H DPLSJMPLOOP3LOOP2 INCDPTRDJNZR7 LOOP1LOOP3 RET 77 4 19循环点亮灯 P 86 实验指导 74LS240反向驱动高电平点亮 p1端口10000000 右移ORG0050HFLAS MOVA 10HFLOP MOVP1 ALCALLDY40MSMOVP1 00HLCALLDY40MSRRASJMPFLOPRETDY40MS MOVR7 100 12MDEL1 MOVR6 198NOPDEL2 DJNZR6 DEL2DJNZR7 DEL1RET 78 例题 P 74例4 2P77 78例4 5软件延时程序P81例4 6求平方 求立方P84例4 94 10P4 12例4 12 79 典型题 第四章4 6 试编写1个程序 将内部RAM中45H单元的高4位清0 低4位置1 答 MOVA 45HANLA 0FHORLA 0FHMOV45H A4 7 已知程序执行前有A 02H SP 42H 41H FFH 42H FFH 下述程序执行后 POPDPHPOPDPLMOVDPTR 3000HRLAMOVB AMOVCA A DPTRPUSHAMOVA BINCAMOVCA A DPTRPUSHARETORG3000HDB10H 80H 30H 80H 50H 80H请问 A SP 51H 52H PC 答 A 80H SP 40H 51H 50H 52H 80H PC 8050H 80 4 8 计算下面子程序中指令的偏移量和程序执行的时间 晶振频率为12MHz MOVR3 15H 1个机器周期DL1 MOVR4 255 1个机器周期DL2 MOVP1 R3 2个机器周期DJNZR4 DL2 2个机器周期DJNZR3 DL1 2个机器周期RET 2个机器周期答 15348us析 2 2 255 1 2 15 1 2 15348us4 9 假定A 83H R0 17H 17H 34H 执行以下指令 ANLA 17HORL17H AXRLA R0CPLA后 A的内容为 答 0CBH 81 4 10 试编写程序 查找在内部RAM的30H 50H单元中是否有0AAH这一数据 若有 则将51H单元置为 01H 若未找到 则将51H单元置为 00H 答 START MOVR0 30HMOVR2 20HLOOP MOVA R0CJNEA 0AAH NEXTMOV51H 01HLJMPEXITNEXT INCR0DJNZR2 LOOPMOV51H 00HEXIT RET4 11 试编写程序 查找在内部RAM的20H 40H单元中出现 00H 这一数据的次数 并将查找到的结果存入41H单元 答 START MOV41H 0MOVR0 20HMOVR2 20HLOOP MOVA R0JNZNEXTINC41HNEXT INCR0DJNZR2 LOOPRET 82 4 12 若SP 60H 标号LABEL所在的地址为3456H LCALL指令的地址为2000H 执行指令如下 2000HLCALLLABEL后 堆栈指针SP和堆栈内容发生了什么变化 PC的值等于什么 如果将指令LCALL直接换成ACALL是否可以 如果换成ACALL指令 可调用的地址范围是什么 答 1 SP SP 1 61H 61H PC的低字节 03HSP SP 1 62H 62H PC的高字节 20H2 PC 3456H3 可以4 2KB 2048Byte 83 第五章 最小应用系统 单片机 单片机系统 单片机应用系统单片机为核心 外部扩展ROM RAM 中断接口 计数器接口 键盘接口 LED显示接口 串行通信接口 A D和D A接口图5 1 5 8 84 第六章中断系统和定时器计数器 1 中断系统 P 98 中断的本质CPU在执行当前程序的过程中 插入了另外一段程序的运行 相当于调用了一个子程序 换句话说中断的本质是硬件调用子程序的过程 中断源能产生中断的外部和内部事件统称为中断源 中断优先级多个中断源同时申请中断时 或者CPU正在处理某个中断源的服务程序时 又有了另一中断源申请中断 CPU必须区分哪个中断更重要 从而决定优先处理哪个事件 这就是中断优先级问题 中断的嵌套当低优先级的中断源正在享用中断服务时 若优先级比它高的中断源提出申请中断 这时要求CPU能够停下低优先级中断源的中断服务转而去执行更高优先级别中断源的服务程序 待完成了高优先级中断的服务程序之后 再返回原程序的断点继续执行被打断的低优先级中断服务程序 这就是中断嵌套问题 85 2 MCS 51中断系统的组成 P 98 中断源 五个中断源 外部中断源为 可选择低电平有效或下降沿有效 内部中断源为T0 T1溢出中断 串行口的发送和接收部件共用一个中断源 中断请求标志 五个中断请求的标志位相应为IE0 IE1 TF0 TF1 TI RI 中断允许 两级串联式的中断允许 EA 1时 开CPU中断 开某个中断源中断时 置位该中断源的中断允许位EX0 EX1 ET0 ET1 ES 中断优先级管理 有两组优先级 即高优先级组与低优先级组 同组时还由硬件规定有优先级的顺序 称自然优先级 P3 2p3 3 86 80C51中断系统结构示意图 87 3 MCS 51的中断控制 P 100 101 与中断系统有关的特殊功能寄存器有 TCON 定时器 计数器的控制寄存器SCON 串行口控制寄存器IE 中断允许寄存器IP 中断优先级管理寄存器MCS 51的中断控制通过对这4个SFR的操作来实现 88 RI 接收中断标志位 TI 发送中断标志位 89 EA 中断总控制位 EA 1 CPU开放中断 EA 0 CPU禁止所有中断 ES 串行口中断控制位 ES 1允许串行口中断 ES 0 屏蔽串行口中断 ET1 定时 计数器T1中断控制位 ET1 1 允许T1中断 ET1 0 禁止T1中断 EX1 外部中断1中断控制位 EX1 1 允许外中断1中断 EX1 0 禁止外中断1中断 ET0 定时 计数器T0中断控制位 ET0 1 允许T0中断 ET0 0 禁止T0中断 EX0 外部中断0中断控制位 EX0 1 允许外中断0中断 EX0 0 禁止外中断0中断 90 PS 串行口中断口优先级控制位 PS 1 串行口中断声明为高优先级中断 PS 0 串行口定义为低优先级中断 PT1 定时器1优先级控制位 PT1 1 声明T1为高优先级中断 PT1 0 定义定时器1为低优先级中断 PX1 外中断1优先级控制位 PX 1 声明外部中断1为高优先级中断 PX1 0 定义外部中断1为低优先级中断 PT0 定时器0优先级控制位 PT0 1 声明T0为高优先级中断 PT0 0 定义定时器0为低优先级中断 PX0 外中断0优先级控制位 PX0 1 声明外部中断0为高优先级中断 PX0 0 定义外中断0为低优先级中断 91 4 中断执行的一般过程 P 102 103 1 外部设备发出脉冲信号向CPU申请中断 2 CPU在每条指令执行时均检测是否有中断请求 3 若检测到有中断申请 则根据计算机目前状态决定是否响应中断 4 若要响应中断 则需判别产生中断申请的中断源 5 CPU响应中断时 把程序断点处的PC值压入堆栈保存起来 以备中断处理完毕后能够返回程序的被中断处 6 CPU在响应中断后 内部自动关中断 以禁止新的中断请求干扰本中断处理的进行 若要求中断过程中允许CPU响应比它优先级别更高的中断源的中断 则应在保护现场之后 用软件把中断打开 7 CPU按中断源给出中断入口地址 转入被响应的中断处理子程序 以上7步是由硬件自动完成的 以下步骤却须由中断处理程序来完成 92 8 保护现场 为了使中断服务程序的执行不破坏被中断了的程序所使用的寄存器或存储单元的原有内容 要把中断服务程序将要使用而被中断的程序中仍需要继续使用的寄存器或存储单元的内容保护起来 9 执行中断服务程序 中断服务子程序是中断要求处理的具体内容 10 恢复现场 把保护现场时所保存起来的各寄存器或存储单元的内容恢复 以便返回被中断的程序后 能够正常运行 11 开中断 在返回被中断的程序之前 应该使用开中断的指令把由硬件关闭了的中断打开 以使CPU能够响应新的中断 12 中断返回 中断返回是把程序运行从中断处理程序转回到被中断的程序中去 通过中断返回指令RETI来完成 RETI除具有子程序返回指令RET所具有的全部功能之外 还有清除中断响应时被置位的优先级状态 开放较低级中断 自动开中断等功能 可省去第 步骤 93 4 定时方法概述 1 软件定时软件定时是执行一段循环程序来进行时间延时 优点是无额外的硬件开销 时间比较精确 但牺牲了CPU的时间 2 硬件定时硬件定时功能完全由硬件电路完成 不占用CPU时间 但当要求改变定时时间时 只能通过改变电路中的元件参数来实现 很不灵活 3 可编程定时器定时通过对系统时钟脉冲的计数实现定时 计数值通过程序设定 定时准确 使用方便灵活计数功能对外部脉冲下降沿计数 脉冲频率不能高于振荡脉冲频率的1 24定时功能对内部时钟脉冲计数来实现定时 计数频率为振荡脉冲频率的1 12 每个机器周期计数器加1 94 TCON 模式控制寄存器 用来设置定时器 计数器的操作模式 TMOD 方式寄存器 用来控制定时器的启动与停止 TH0 TL0 TH1 TL1 两个16位加法计数器T0和T1均可分成2个独立的8位计数器 用于存放定时或计数的初值 并用作加1的计数 与定时器 计数器相关的输入引脚有四个 T0 T1 5 MCS 51定时器逻辑结构与相关寄存器 95 96 控制寄存器TCON是一个8位寄存器 既可以字节寻址也可以位寻址 字节地址为88H 位寻址的地址为88H 8FH 其格式为 TF1和TF0 分别为T1和T0的溢出标志 当定时器 计数器计满产生溢出时 由硬件自动置 1 可

温馨提示

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

评论

0/150

提交评论