




已阅读5页,还剩227页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 单片机原理与应用 主讲教师 江娟娟 2 课程简介 单片机原理及应用 是一门实践性 应用性很强的技术基础课 通过本课程的学习 使学生较好地掌握MCS 51系列单片微型计算机的基本结构 工作原理 接口技术和应用等方面的知识 掌握单片机应用系统的设计和应用程序的设计方法 学习单片机应用于工业测控等方面的基本技术 并通过实践环节的学习 学会单片机应用系统的设计和调试方法 为将来从事自动测控技术 智能电器 电子 检测等工业领域相关工作 进行各种智能化电子产品的设计和研发等提供技术准备 奠定坚实的技术基础 3 单片机原理与应用 第一章单片机概述第二章MCS 51单片机的硬件结构与工作第三章MCS 51单片机的指令系统与程序设计第四章MCS 51单片机的中断系统第五章MCS 51定时计数器及其应用第六章串行接口第七章MCS 51单片机的系统扩展第八章单片机应用系统接口技术 4 第一章单片机概述 5 第二章MCS 51单片机的硬件结构与工作原理 6 第三章MCS 51单片机的指令系统与程序设计 7 第四章MCS 51单片机的中断系统 8 第五章MCS 51定时计数器及其应用 9 第六章串行接口 10 第七章MCS 51单片机的系统扩展 11 第八章单片机应用系统接口技术 12 单片机原理与应用 本门课程主要的教学内容 单片微型机的基本工作原理汇编语言程序设计方法单片微型计算机应用单片微型计算机应用系统设计方法 学习方法 掌握单片机应用系统硬件原理的分析方法 单片机与外部设备连接的原理是什么 掌握软件设计与调试的基本技能 13 单片机学习邮箱 mcudsp auts 密码 auts mcu dsp 单片机学习网站网址 单片机参考书籍 李广弟 单片机基础 修订本 北京 北京航空航天大学出版社 2001年 14 第一章单片机概述 讲授内容 1 有关微型计算机 单片机的概念2 单片机的一般结构及特点3 单片机的发展过程4 常用单片机系列简介5 单片机的应用领域6 数制 码制复习本章重点 1 微处理器 微机和单片机的基本概念 单片机的结构特点与应用 2 数制 码制 15 回顾 有关微型计算机的基础知识 第一节微型计算机与单片机 常见微型计算机的外形 一 微型计算机 微处理器和单片机的概念 1 微型计算机的硬件结构 16 微型计算机的硬件组成 17 微型计算机系统通常由多块印刷电路板制成 18 软件 系统 微型计算机的硬件内部结构 微型计算机系统 硬件系统 构成微型计算机的实体和装置 如微处理器 存储器 总线 I O接口等 软件系统 微型计算机系统所使用的各种程序的总称 如系统软件 应用软件等 19 2 单片微型计算机 单片微型计算机的概念 P1 第一段 简单地说 单片微型计算机是指集成在一个芯片上的微型计算机 20 微处理器 Microprocessor 微型计算机的控制和运算器部分 微控制器 MicrocontrollerUnit 为了强调单片机的控制特点 将其称为微控制器 微型计算机 Microcomputer 有完整运算及控制功能的计算机 包括微处理器 存储器 输入 输出 I O 接口电路以及输入 输出设备等 单片机 singlechipmicrocomputer 直译为单片微型计算机 它将CPU RAM ROM 定时器 计数器 输入 输出 I O 接口电路 中断 串行通信接口等主要计算机部件集成在一块大规模集成电路芯片上 具有一台计算机的属性 即组成单片微型计算机 简称为单片机 单片机的形态只是一块芯片 但是它已具有了微型计算机的组成结构和功能 由于单片机的结构特点 在实际应用中常常将它完全融入应用系统之中 故而也有将单片机称为嵌入式微控制器 Embeddedmicrocontroller 列举几个名称 P1 第二段 21 二 单片机的一般结构及特点 从体系结构来看 一般单片机有2种基本结构形式 一种是在通用微型计算机中广泛采用的将程序存储器和数据存储器合用一个存储空间的结构 称为冯 诺依曼结构 另一种是将程序存储器和数据存储器截然分开 分别寻址的结构 称为哈佛 Harvard 结构 目前的单片机以采用程序存储器和数据存储器截然分开的结构较多 第二节单片机的一般结构及特点 1 单片机的基本结构 22 一般根据控制应用需要 又可设计成通用型单片机 专用型单片机 P1 第三段 通用型单片机 是一种基本芯片 内部资源较丰富 性能全面且适应性强 能覆盖多种应用需求 专用型单片机 专门针对某个特定产品或控制应用而专门设计的 设计时考虑系统结构最简化 软硬件资源利用最优化 可靠性和成本最佳化 2 单片机的内部结构 23 单片机的中央处理器 CPU 和通用微处理器基本相同 只是增设了 面向控制 的处理功能 例如 位处理 查表 多种跳转 乘除法运算 状态检测 中断处理功能等 增强了控制的实用性和灵活性 24 3 单片机的特点 体积小 重量轻 电源单一 功耗低 功能强 价格低 运行速度快 抗干扰能力强 可靠性高 4 单片机的芯片封装形式 双列直插式 贴片式 可以直接嵌入到电子产品中 嵌入式应用系统 25 5 单片机应用系统 掌握单片机应用系统硬件原理的分析方法 单片机与外部设备连接的原理是什么 掌握软件设计与调试的基本技能 26 三 单片机的历史与发展 第一阶段 1974 1976 单片机初级阶段 以仙童公司的F8为代表 第二阶段 1976 1978 低性能单片机阶段 以MCS 48系列单片机为代表 第三阶段 1978 至今 高性能单片机阶段 以MCS 51系列单片机为代表 第四阶段 1982 至今 在8位单片机基础上 推出16位 32位单片机 是单片机向微控制器发展的阶段 第三节单片机的发展过程 1 单片机的发展过程 单片机的发展经历了由1位到4位 4位到8位 再到16位 32位机的发展过程 8位指的是什么 单片机CPU内部总线的个数 即有多少条总线 这也就决定了单元的个数 目前 8位机仍是单片机的主流机型 教学中选用MCS 51系列单片机 主要因为其通用性强 应用广泛 27 第四节常用单片机系列 ATMEL单片机ATMEL公司所生产的ATMEL89系列单片机 简称89系列单片机 就是基于Intel公司的MCS 5l系列而研制的 该公司技术优势在于Flash存储器技术 应用较多的有 AT89C51系列STC89C51 52系列SST89系列AT tiny AT90 ATmega等系列的AVR单片机这些都是一种可下载的Flash单片机 它和IBM微机通信进行下载程序十分方便 1 常用单片机系列的简介 28 Philips单片机Philips公司的的单片机都属于MCS 51系列兼容的单片机 Maxim Dallas单片机 WinBond单片机 Motorola单片机 其他公司的单片机1 NEC单片机 2 东芝单片机 3 Epson单片机 提示 经常上网查询 关注发展动态 29 第五节单片机的应用领域 1 工业方面 电梯 生产工具 生产设备 黑匣子 安装于飞机 轮船上 用于实时保存重要的数据和参数 2 民用方面 数码照相机 电视机 收音机 空调 洗衣机 电饭煲等 一般电脑电饭煲 内部只有一个单片机 这种控制系统是单核嵌入 对于分体式空调 室内机与室外机中分别有1个单片机 为双核嵌入结构 30 3 电讯方面 手机 CALL机 电话机 交换机 4 汽车方面 越高档的汽车越能见到单片机的应用 31 5 数据处理方面 打印机等 6 智能仪表方面 智能化仪表内部基本上都是用单片机进行信息控制与处理 扩展了单片机在智能仪器中的应用 32 1 总线 BUS 总线是连接CPU与各功能部件并进行信息传递的公共通道 总线通常分为三种 即数据总线 DB 地址总线 AB 和控制总线 CB 复习一微型计算机的基本结构及工作原理 1 微型计算机的基本结构微型计算机 由微处理器 CPU 存储器 输入输出接口 I O接口 三部分组成 各部分用总线相连 33 2 输入输出 I O 接口 由于I O设备中类繁多 它们在速度 电平 功率 信息形式等很多方面有很大差别 不能直接与CPU连接 必须经过I O接口电路解决它们之间的匹配问题 3 存储器存储器分类存储器存储的信息存储器的读写操作过程 34 4 微处理器 CPU 运算器寄存器阵列控制器内部总线2 复习基本概念与常用术语 1 位 Bit 位是计算中构成信息的最小单位 表示二进制数中的某个数位 0 或 1 Bit是BinargDigit的缩写 2 字 Word 字是CPU与输入 输出设备和存储器之间传送数据的基本单位 由若干位组成它与数据总线的宽度 根数 一致 3 字节 Byte 一字节为8位 bit 35 4 指令 Instruction 指规定计算机完成某种操作的命令 目前计算机只能直接识别由二进制编码的指令 即机器码 5 指令系统 InstnctionSet 指一台计算机所能识别的全部指令的集合 6 程序 Progrom 为完成特定任务而设计的一组指令有序的集合 7 地址 Address 地址指存贮单元的编号 8 K和KB计算机的存储器容量较大 K和KB常用作计算存储器容量的单位1K 210 1024 KB 1024Byte 9 关于时序的概念所谓时序 就是计算机在工作过程中 CPU控制器所发出的一系列控制信号在时间上的相互关系 36 复习内容二计算机系统中的数制 码制复习 1 数制及其互换常用数制 十进制 二进制 十六进制和八进制十进制 符合人们的习惯 二进制 便于物理实现 十六进制 便于识别 书写 二进制特点 以2为底 基数 逢2进位 只有0 1两个符号 B 2 Bn 1 2n 1 Bn 2 2n 2 B0 20 B 1 2 1 B m 2 m 十六进制特点 以16为底 基数 逢16进位 B 16 Bn 1 16n 1 Bn 2 16n 2 B0 160 B 1 16 1 B m 16 m 37 各进制数间的转换非十进制到十进制的转换方法 按相应进位计数制的权表达式展开 待转换的数按位展开 各位数乘以相应的权值 再进行相加运算 10110010B 1013FAH 10 十六进制与二进制的转换方法 8421码 38 2 十进制到非十进制的转换十进制到二进制转换 整数部分 除2取余 小数部分 乘2取整 12 125 10 2十进制到十六进制转换 整数部分 除16取余 小数部分 乘16取整 以小数点为起点 求得整数和小数的各个位 39 2 二进制数的运算二进制数分为无符号二进制数和有符号二进制数 运算分为算术运算和逻辑运算 有符号数的定义计算机中有符号数的表示方法 将二进制数的最高位定义为符号位 符号位 0 是正数符号位 1 是负数 40 机器数 连同符号位一起数值化了的数 真值 机器数所表示的真实的数值 52 0110100 00110100 41 无符号数的算术运算加法 1 1 0 有进位 减法 0 1 1 有借位 乘法 乘以2相当于左移一位除法 除以2相当于右移一位 例 00001011 0100 00101100B00001011 0100 00000010B 42 3 原码 反码 补码特点 8位二进制数表示原码 反码 补码的范围 127 127 127 127 128 127 补码的运算在微型计算机中 带符号数用补码表示 减法可用补码相加来实现 运算结果为补码 43 主要内容 1 MCS 51单片机组成 结构 引脚功能 2 MCS 51单片机存储器组织与操作3 MCS 51单片机并行I O端口4 MCS 51单片机的时钟与定时5 MCS 51单片机的系统复位6 单片机的工作过程 重点理解 1 MCS 51系列单片机存储器结构特点2 单片机特殊功能寄存器的作用3 不同场合下单片机引脚的复用功能4 单片机的位处理功能及其作用 第二章MCS 51单片机的硬件结构与工作原理 44 8位CPU 只读存储器EPROM ROM 读写存储器RAM 并行I O口 串行I O口 定时器 计数器 中断系统 振荡器和时钟电路等部分组成 各部分之间通过内部总线相连 第一节MCS 51系列单片机的硬件结构 一 单片机的硬件结构 课本11页图2 1 45 1 MCS 51单片机的基本组成 46 中央处理器CPU 课本15页CPU 47 1 是CPU中使用最频繁的8位寄存器 CPU中的数据传送大多通过A 2 A是ALU单元的数据处理源之一 又是ALU运算结果的存放单元 如ADDA data 3 因为A用的最频繁 容易产生堵塞现象 这是累加器结构特有的瓶颈现象 1 B是专门为执行乘除运算而设置的8位寄存器 2 不在执行乘除指令的情况下 可以把寄存器B当作一个普通的寄存器使用 1 完成二进制数的加 减 乘 除四则运算 2 完成逻辑与 或 异或 循环 求补 清零等操作 3 进行位处理操作 如置位 清零 求补 测试转移 逻辑与 或等 4 根据运算的结果改变程序状态字PSW的值 算术逻辑单元ALU 累加器A ACC 寄存器B 程序状态字PSW PSW用来存放程序运行的状态信息 课本23页 48 课本16页图2 4PSW的格式 49 1 PC内容为下一条将要执行的指令在程序存储器中的地址 2 PC是一个16位的计数器 寻址范围达64KB 3 PC没有地址 是不可寻址的 但物理上存在的 因此用户无法对它进行读 写 4 PC有自动加1功能 从而实现程序的顺序执行 5 可能通过转移 调用返回等指令改变PC值 以实现程序的转移 程序计数器PC 数据指针DPTR 1 DPTR是唯一一个用户可使用的16位寄存器 由两个8位的寄存器DPH和DPL组成 2 DPTR可作为16位寄存器使用 也可作为2个独立的8位寄存器使用 3 DPTR用户可读 写 如MOVDPTR 2000H 4 DPTR通常用来存放16位的地址 可访问片外RAM 也可访问ROM中的数据 如MOVXA DPTRMOVCA A DPTR 课本18页 课本23页 50 二 MCS 51单片机的封装 课本12 13页图2 2 2 3 51 三 MCS 51单片机的信号引脚 P3口线的第二功能 课本13页 课本12页图2 2 52 40脚分三类 1 I O口线32根 MCS 51系列单片机P0 P1 P2 P3共32位 对应着芯片的32根引脚 2 控制线4根RST VPD 复位信号 晶振工作后2个机器周期的高电平复位CPU ALE 地址锁存信号访问外部存储器时该信号锁存低8位地址 无RAM时 ALE为晶振6分频 PSEN 外部程序存储器读从程序存储器中取指令或读取数据时 该信号有效 EA VPP 程序存储器有效地址 EA 1从内部开始执行程序 EA 0从外部开始执行程序 3 电源引脚2根VCC VSS GND 电源和地 5V电源供电 4 时钟引脚2根XTAL1 时钟振荡器输入端 内部振荡器输入端 XTAL2 时钟振荡器输出端 内部振荡器输出端 对于信号引脚的小结 53 54 P3 0 P3 1 又可以作为串行通讯的两条线 P3 2 P3 3 既是I O控制端子又作为外部中断的请求输入信号 P3 4 P3 5 定时 计数器对外部事件进行计数的输入端 P3 6 P3 7 单片机与外部的数据存储器进行数据传输时的选通控制信号 P3口线的第二功能 除此之外 脚30 脚31和脚9均可以被复用 四 信号引脚的第二功能 55 一 MCS 51单片机的内部存储器 第二节MCS 51单片机存储器组织与操作 MCS 51系列单片机其存储结构特点是 在物理上有以下几个相互独立的存储空间 片内程序存储器 4KB 和片外程序存储器 片内数据存储器 128B 和片外数据存储器 特殊功能寄存器SFR和位地址空间 在逻辑上有三个彼此独立的地址空间 1 片内外统一编地址的64KB程序存储器地址间 2 128字节的片内数据存储器地址空间 3 64KB片外数据存储器地址空间 56 外部RAM 外部ROM 扩展外部RAM和外部ROM 57 1 程序存储器 课本26页图2 6 58 7个特殊单元 0000H复位后 PC 0000H 开始执行程序0003H外部中断0 INT0 入口000BH定时器0中断 TF0 入口0013H外部中断1 INT1 入口001BH定时器1 TF1 入口0023H串行口中断TI RI入口002BH定时计数器2溢出或T2EX输入负跳变 52系列 MCS 5l单片机采用16位的程序计数器PC和l6位的地址总线 64KB片内 外的程序存储器空间连续 统一 59 2 数据存储器 课本20页 课本17页 60 数据存储器地址空间由内部和外部数据存储器空间组成 内部和外部数据存储器空间存在重叠 通过不同指令来区别 内部数据存储器在物理上又可分成2部分 低128字节RAM 专用寄存器SFR 高128字节RAM仅8032 8052才有 1 00H 1FH 工作寄存器区 2 20H 2FH 位寻址区 既可进行字节寻址 又可进行位寻址 这16个单元共有16 8 128位 3 30H 7FH用户RAM区 4 片外数据存储器0000H FFFFH范围为64K字节 采用R0 R1或DPTR寄存器间址方式访问 当采用R0 R1间址时只能访问低256字节 采用DPTR间址可访问整个64K字节空间 61 特殊功能寄存器 共有21个专用寄存器SFR SpecialFunctionalRegister 它们离散地分布在80H 0FFH单元中 程序计数器PC不占据RAM单元 在除PC外的专用寄存器SFR中 有12个专用寄存器既可字节寻址 又可位寻址 注意 1 表中共有5个双字节寄存器 2 PC也为双字节寄存器 但是不在80H FFH范围内 3 表中 凡地址能被8整除的寄存器都是可位寻址的寄存器 课本21页表2 2 62 特殊功能寄存器地址空间 课本21页表2 2 63 1 累加器ACC 累加器A在大部分的算术运算中存放某个操作数和运算结果 2 寄存器B 寄存器B主要用于与累加器A配合执行乘法和除法指令的操作 3 程序状态字PSW 8位寄存器 用来存放程序状态信息 某些指令的执行结果会自动影响PSW的有关状态标志位 有些状态位可用指令来设置 特殊功能寄存器的功用 CY 进位标志位AC 半进位标F0 用户标志位RS1 RS0 工作寄存器组选择OV 溢出标志P 奇偶标志 A中1的个数为奇数P 1 否则P 0 RS1RS0寄存器组内部RAM地址00寄存器组000H 07H01寄存器组108H 0FH10寄存器组210H 17H11寄存器组318H 1FH 课本21页 64 4 堆栈指针SP 堆栈是在片内数据RAM区中一个特殊的存储区 用来暂时存放数据和地址 它是按照 先进后出 的原则存放数据 栈指针SP是在MCS 51中存放当前的堆栈栈顶所指存储单元地址的一个8位寄存器 每存入 或取出 一个字节数据 SP就自动加1 或减1 SP始终指向新的栈顶 堆栈共有两种操作 进栈和出栈 不论是数据进栈还是数据出栈 都是对栈顶单元进行的 即对栈顶单元的写和读操作 MCS 51单片机的堆栈是向上生成的 进栈时 SP的内容增加的 出栈时 SP的内容是减少的 MCS 51的堆栈区域可用软件设置堆栈指示器 SP 的值 在片内数据RAM区中予以定义 系统复位后 SP内容为07H 如不重新定义 则以07H为栈底 压栈的内容从08H单元开始存放 通过软件对SP的内容重新定义 使堆栈区设定在片内数据RAM区中的某一区域内 堆栈深度以不超过片内RAM空间为限 65 堆栈是为子程序调用和中断操作而设立的 其具体功能有两个 保护断点和保护现场 在MCS 51单片机中 既有与子程序调用和中断程序相伴随自动进栈和出栈 还有对堆栈的进栈和出栈指令 PUSH POP 操作 5 数据指针DPTR 16位的专用寄存器 由高位字节DPH和低位字节DPL组成 可作为一个16位寄存器使用 也可以作为2个独立的8位寄存器DPH和DPL使用 6 I O端口P0 P3专用寄存器P0 P3分别是I O端口P0 P3的锁存器 可以把I O口当作 般的专用寄存器来使用 没有专门设置的口操作指令 全部采用统一的MOV指令 66 片外数据存储器 1 根据地址总线宽度 在片外可扩展的存储器最大容量为64KB 地址范围为0000H FFFFH 2 片外数据存储器与程序存储器的操作使用不同的指令和控制信号 允许两者的地址重复 因此 片外要扩展的数据存储器与程序存储器各为64KB 3 片外数据存储器与片内数据存储器的操作指令亦不同 对片外RAM用MOVX指令 所以也允许两者的地址重复 内部数据存储器的地址00 FFH 外部扩展数据存储器的地址可以从0000H FFFFH 注意 采用R0 R1或DPTR寄存器间址方式访问片外数据存储器 当采用R0 R1间址时只能访问低256字节 采用DPTR间址可访问整个64K字节空间 67 内部RAM位寻址区的位地址 位地址表示方法 1 直接用位地址表示 如20H单元的0 7位可表示为00H 07H 2 采用第n单元第n位表示 如27单元第6位表示为27H 6 3 对特殊功能寄存器直接用寄存器名称加位数表示 如PSW 7 课本24页表2 3 68 第三节MCS 51单片机的并行I O接口 P3 0 P3 1 又作为串行通讯的两条线 P3 2 P3 3 既是I O控制端子又作为外部中断的请求输入信号 P3 4 P3 5 定时 计数器对外部事件进行计数的输入端 P3 6 P3 7 单片机与外部的数据存储器进行数据传输时的选通控制信号 69 2 并行I O口的逻辑结构 例1 I O口的输出举例 指令1 MOVP1 00H指令2 MOVP1 0FFH指令3 MOVP1 0AAH指令4 CLRP1 0指令5 SETBP1 0 70 例2 I O口的输入举例 读端口 MOVP3 11111111BMOVA P3 71 P0口某位的组成 P0口某位的结构图 三态缓冲器 多路转换开关 数据输出锁存器 1个 进行数据位的锁存 三态输入缓冲器 2个 锁存器数据和引脚数据的输入缓冲 输出驱动电路 2个 由2个场效应管T1 T2组成 上一个FET构成上拉电路 输出控制电路 2个 由1个与门 一个反相器和一个多路开关MUX构成 3 并行I O口 课本27页图2 7 72 P0口的位结构与功能 8位漏极开路型双向并行I O口 使用 P0口为三态双向口 即可作为一般I O口使用 也可作地址 数据总线口 1 P0口作为通用I O口使用 读引脚先写1 在输入数据时应先把口置1 使两个FET都截止 引脚处于悬浮状态 可作高阻抗输入 2 P0口作为单片机系统的地址 数据线使用 访问外部存储器时 它是一个复用的地址 数据总线 分时使用 输出地址总线低8位A7 A0 利用ALE信号的下降沿将地址锁存 锁存 作数据总线D7 D0 P0口 73 P0用作通用I O口 在这种情况下 单片机硬件自动使C 0 MUX开关接向锁存器的反相输出端 另外 与门输出的 0 使输出驱动器的上拉场效应管T1处于截止状态 因此 输出驱动级工作在需外接上拉电阻的漏极开路方式 P0用作输出口 CPU执行口的输出指令 内部数据总线上的数据在 写锁存器 信号的作用下由D端进入锁存器 经锁存器的反向端送至场效应管T2 再经T2反向 在P0 X引脚出现的数据正好是内部总线的数据 74 数据可以读自口的锁存器 也可以读自口的引脚 这要根据输入操作采用的是 读锁存器 指令还是 读引脚 指令来决定 P0用作输入口 执行 读 修改 写 类输入指令时 如 ANLP0 A 内部产生的 读锁存器 操作信号 使锁存器Q端数据进入内部数据总线 在与累加器A进行 在执行 MOV 类输入指令时 如 MOVA P0 内部产生的操作信号是 读引脚 注意 在执行该类输入指令前要先把锁存器写入 1 使场效应管T2截止 使引脚处于悬浮状态 可以作为高阻抗输入 否则 在作为输入方式之前曾向锁存器输出过 0 则T2导通会使引脚箝位在 0 电平 使输入高电平 1 无法读入 逻辑运算之后 结果又送回P0的口锁存器并出现在引脚 读口锁存器可以避免因外部电路原因使原口引脚的状态发生变化造成的误读 75 76 P1口也是一个准双向I O口 通常作一般I O口使用 P1口 P1口某位的结构图 P0口某位的结构图 从结构图来看 P1口和P0口相比 少了多路转换开关MUX 课本28页图2 8 77 1 在结构上比P0口少了一个输出转换控制部分 多路开关MUX的倒向由CPU命令控制 且P2口内部接有固定的上拉电阻 2 P2口既可作为通用I O口使用 先写 1 又可作为地址总线口 输出高8位地址 A15 A8 P0口某位的结构图 P2口 P2口通常作为系统的高8位地址 P2口某位的结构图 课本28页图2 9 78 P3口与Pl口的输出驱动部分及内部上拉电阻相同 但比P1口多了一个第二功能控制部分的逻辑电路 P3口 P3口某位的结构图 P1口某位的结构图 课本29页图2 10 79 P3 0 RXD 串行输入端 P3 1 TXD 串行输出端 P3 2 INT0 外部中断0输入端 低电平有效 P3 3 1NT1 外部中断1输入端 低电平有效 P3 4 T0 定时 计数器0外部事件计数输入端 P3 5 T1 定时 计数器1外部事件计数输入端 P3 6 RD 外部数据存储器写选通信号 低电平有效 P3 7 WR 外部数据存储器读选通信号 低电平有效 P3口的第二功能 80 P0 P3的功能及使用时的注意事项 课本30页I O端口应用特性 81 P0 P3的功能及使用时的注意事项 课本30页I O端口应用特性 82 地址线 P0低8位地址 P2高8地址 数据线 P0输入输出8位数据 控制线 P3口的8位加上 PSEN ALE共同完成控制总线 二 单片机的片外三总线结构 83 单片机的位处理功能很强 体现在 1 具有专门的位累加器Cy 2 具有专门的位存储区 3 一些特殊功能寄存器可以位寻址 4 具有丰富的位操作指令 如SETBP1 0CLRP1 0 三 单片机的位处理功能 84 一 时钟电路及工作方式 第四节MCS 51单片机的时钟与定时 时钟电路 用于产生单片机工作所需要的时钟信号 时序 所研究的是指令执行中各个信号在时间上的相互关系 图2 11MCS 51单片机的振荡电路 1 片内振荡器与外部谐振电路 内部振荡方式 振荡电路 内部结构 电阻和高增益反相放大器构成一个稳定的自激振荡器 XTAL1为输入 XTAL2为输出 对应于单片机的18 19管脚 芯片外部 在XTAL1为输入 XTAL2之间接晶体振荡器和微调电容 电容一般选择30PF 皮法 的磁片电容 晶振频率为1 2MHZ 12MHZ 单片机本身是一个复杂的同步时序系统 为保证同步工作方式的实现 单片机必须有时钟信号 以使其系统在时钟信号的控制下按时序协调工作 课本31页 课本31页图2 11 85 分频电路 振荡电路产生的振荡脉冲并不能直接使用 经分频后再为系统所用 振荡脉冲经过二分频后才作为系统的时钟信号 在二分频的基础上再三分频产生ALE信号 同时在二分频的基础上再六分频得到机器周期信号 86 2 从外部引入脉冲信号驱动时钟电路 外部振荡方式 在由多个单片机构成的系统中 为了各单片机之间时钟信号的同步 应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲 接法如右图 外部脉冲信号经XTAL2引脚注入 对于80C51单片机 外引脉冲信号需从XTAL1引脚注入 而XTAL2引脚悬空 87 各指令的微操作在时间上有严格的次序 这种微操作的时间次序我们称作时序 二 CPU时序 振荡周期 振荡器产生的振荡脉冲的周期 也称节拍 用P表示 振荡电路产生的振荡信号并不直接为单片机所用 课本32页 88 时钟周期单片机的基本时间单位振荡脉冲经二分频后 就是单片机的时钟信号 把时钟信号的周期定义为时钟周期 注意时钟信号与振荡脉冲之间的二分频关系 否则会造成概念上的错误 时钟周期也称状态 用S表示 这样 一个状态包含两个节拍 其前半周期对应的节拍叫节拍1 P1 后半周期对应的节拍叫节拍2 P2 机器周期6个时钟周期构成一个一个机器周期 一个机器周期的宽度为6个状态 并依次表示为S1 S6 而一个状态又分为两个节拍 因此 一个机器周期共有12个节拍 即S1P1 S1P2 S6P2 当振荡周期脉冲频率为12MHz时 一个机器周期为1 s 当振荡周期脉冲频率为6MHz时 一个机器周期为2 s 指令周期指令周期是指一条指令所需要的时间 指令周期以机器的数目来表示 51系统的指令周期根据指令不同 可包含1个 2个或4个机器周期 课本33页 89 有关MCS 51单片机CPU的时序 1 振荡周期 指为单片机提供定时信号的振荡源的周期 若为内部产生方式时 为石英晶体的振荡周期 2 时钟周期 也称为状态周期 用S表示 时钟周期是计算机中最基本的时间单位 在一个时钟周期内 CPU完成一个最基本的动作 MCS 51单片机中一个时钟周期为振荡周期的2倍 3 机器周期 完成一个基本操作 例如 取指令 存储器读 存储器写等 所需要的时间称为机器周期 MCS 51的一个机器周期含有6个时钟周期 4 指令周期完成一条指令所需要的时间称为指令周期 MCS 5l的指令周期含1 4个机器周期不等 其中多数为单周期指令 还有2周期和4周期指令 4周期指令只有乘 除两条指令 90 例1当单片机外接晶振频率12Mhz 各种时序单位的大小 91 第五节MCS 51单片机的系统复位 一 MCS 51单片机的复位方式和复位电路 1 复位操作 2 复位信号及其产生 单片机复位的条件必须使RST引脚持续2微秒高电平 外部时钟为12MHZ RST引脚 管脚9 是复位信号的输入端 复位信号是高电平有效 其有效时间应至少要保持2个机器周期 24个振荡周期 以上 才完成一次复位 复位是单片机的初始化操作 其作用是使CPU和系统中其它部件都处于一个确定的初始状态 并从这个状态开始工作 课本34页2 7 1第一段文字 图2 15MCS 51的片内复位结构 92 复位后片内各专用寄存器的状态 非常重要 课本34页表2 6SFR复位状态 93 3 复位方式 MCS 51系列单片机有两种复位方式 上电复位 加电复位 按键复位 电平式 脉冲式 按键电平复位 按键脉冲复位 上电复位 a b a b 94 第六节MCS 51单片机的工作过程 例 MOVA 09H74H09H 把09H送到累加器A中 000200010000 01110100 00001001 0000H 课本17页2 3 2第2自然段 95 例 MOVA 0E0H 机器码是74HE0H 功能是把操作数E0H送入累加器A 设 0000H单元中已经存放74H 0001H单元中已存放E0H 96 取指阶段 1 开机时 PC 0000H PC值被送到地址寄存器 然后 PC 0001H 2 地址寄存器的内容 0000H 通过地址译码电路译码选中0000H单元 3 CPU使读控制线有效 在读信号下将0000H单元中的内容 74H 送到数据总线上 并送到指令寄存器中 分析和执行指令 根据指令寄存器中的内容 74H 指令译码器就知道该指令是将一个数送到A中 而该数存放在下一个存储单元 所以还要把下一个单元内容取出来 这次取出内容送的不是指令寄存器 而是累加器A 97 本章重点 课本39页 指令的寻址方式 功能 使用方法程序设计的一般方法和技巧讲授内容 MCS 51单片机的寻址方式MCS 51单片机指令分类程序设计方法和算法分析应用程序设计举例 第三章MCS 51单片机的指令系统与程序设计 98 99 第一节MCS 51单片机的寻址方式 100 2 MCS 51单片机的指令格式 单字节指令 双字节指令 三字节指令 单字节指令 操作码和操作数共同占用一个字节 在MCS 51指令系统中有49条单字节指令 双字节指令 共有两个字节 前一个字节为操作码 后一个字节为操作数 在MCS 51指令系统中有45条双字节指令 指令码为 例 MOVA data 课本39页3 2 101 指令的格式 操作码 操作数或操作数地址 标号 注释 三字节指令 共有三个字节 操作码占一个字节 操作数占两个字节 操作数可以是数据也可以是地址 在MCS 51指令系统中有17条双字节指令 例 ANLdirect data 直接寻址单元与立即数进行 与 操作 指令码为 指令的表示方式 由两个部分组成 操作码和操作数 操作码是用来规定指令进行什么操作 操作数则是指令操作的对象 可以是一个具体的数也可以指出到哪里取得数据的地址和符号 例 DELAY MOVR3 0FFH 一段延时程序 102 二 寻址方式 MCS 51单片机的指令系统共有111条指令 7种寻址方式 共分为5大类 数据传送类指令 算术运算类指令 逻辑运算类指令 控制转移类指令 位操作类指令 1 寻找操作数方式的举例 课本40页 3 3指令系统的寻址方式 103 data8 data16 分别表示8位 16位立即数 direct 片内RAM单元地址 8位 也可以指特殊功能寄存器的地址或符号名称 addr11 addr16 分别表示11位 16位地址码 rel 相对转移指令中的偏移量 为8位带符号数 补码形式 bit 片内RAM中 可位寻址 的位地址 A 累加器A ACC则表示累加器A的地址 Rn 当前寄存器组的8个工作寄存器R0 R7 Ri 可用作间接寻址的工作寄存器 只能是R0 R1 间接寻址的前缀标志 当前指令存放的地址 x x中的内容 2 MCS 51单片机指令常用符号说明 课本44页 汇编指令中的符号约定 104 立即寻址立即寻址是指在指令中直接给出其操作数 该操作数称为立即数 为了与直接寻址指令中的直接地址相区别 在立即数前面必需加上前缀 例如 MOVA 55H 3 七种寻址方式 MOVRn 01Hn 0 7 MOVDPTR 1FFFH 注意 寻址方式是以什么形式来定义 以 逗号 后面的寻找操作数的方式来确定的 逗号后就是操作数的 为立即寻址 与逗号前面的部分无关 这是一个约定 请大家记住 MOVdirect 88H direct的特定含义 一定要记住 direct是指在单片机内部RAM中00H FFH范围内内部RAM 只要有单元地址 可以用通用的符号direct来表示 课本40页 105 直接寻址直接寻址是指在指令中直接给出存放数据的地址 注意 不是立即数 并且只限于片内RAM范围 直接寻址只能访问特殊功能寄存器 内部数据存储器和位地址空间 例如 MOVA 20H比较以上两指令的区别 没有 号 含义不同 MOVdirect 88H MOV70H 88H CPU 内部RAM或SFR 106 MOVRn 20H MOVdirect 30H MOV Ri 30H 无 号 直接给出单元的地址 即直接给出操作数地址的方式 由于直接寻址的操作数在指令中以存储单元形式出现 直接寻址只能使用8位二进制表示的地址 因此直接寻址只限于内部RAM 低128字节单元只以单元地址形式给出专用寄存器既以单元地址形式给出 又以寄存器符号形式给出 注意 直接寻址方式是访问专用寄存器的唯一方法 107 例1 寻址比较 例2 指出下列指令寻址方式及操作数的地址 MOVP1 0FFHMOVA 0F0H3 PUSH12H 108 寄存器寻址寄存器寻址是指指令中的操作数为寄存器中的内容 例如 MOVA R1MOVP1 AMOVP1 R4 寄存器间接寻址寄存器间接寻址是指指令中的操作数在寄存器的内容所指的地址单元中 例如 MOVR1 30H 把立即数30H送R1寄存器MOVA R1 把30H单元中的数送到A中 通过寄存器间接找到操作数的地址 A 30H11 R1 11H 寄存器寻址与直接寻址的区别 109 MOVA R0将R0的内容作为一个地址 这个地址所确定单元的内容送到累加器A 寄存器间接寻址的寻址范围 1 片内RAM低128单元 这里只能使用R0或R1为间址寄存器 其通用形式写为 Ri i 1 2 片外RAM64KB 使用DPTR作为间址寄存器 其形式为 DPTR 例如 MOVXA DPTR 其功能是把DPTR指定的片外RAM单元的内容送累加器A 3 片外RAM低256单元 除可使用DPTR作为间址寄存器外 也可使用R0或R1作间址寄存器 例如 MOVXA R0 即把R0指定的片外RAM单元的内容送累加器A 110 基址寄存器加变址寄存器间接寻址 变址寻址 变址寻址用于访问程序存储器中的一个字节 该字节的地址是 基址寄存器 DPTR或PC 的内容与变址寄存器A中的内容之和 例如 MOVDPTR 3000H 立即数3000H送DPTRMOVA 02H 立即数02H送AMOVCA A DPTR 取ROM中3002H单元中的数送A 111 对MCS 51系列的指令系统中的变址寻址指令有如下特点 变址寻址方式只能对程序存储器进行寻址 或者说是专门针对程序存储器的寻址方式 变址寻址的指令都是单字节指令 变址寻址指令只有三条 MOVCA A DPTRMOVCA A PCJMP A DPTR前两条是程序存储器读指令 后一条是无条件转移指令 MOVCA A DPTR两个寄存器内容相加形成16位地址为操作数地址 以达到访问数据表格的目的 比较 MOVA R0单片机内部RAMMOVXA DPTR外部RAMMOVCA A DPTR内部或外部程序存储器 16位地址 MOVCA A PC 112 相对寻址以PC当前值为基准 加上相对偏移量rel形成转移地址转移范围 以PC当前值起始地址 相对偏移在 128 127字节单元之间 相对寻址方式为相对转移指令所采用 转移的目的地址为 目的地址 转移指令所在地址 转移指令字节数 rel 计算方法PC目标 PC当前 rel PC指 指令字节数 relrel PC目标 PC指 指令字节数 113 位寻址位寻址是指对片内RAM的位寻址区 20H 2FH 可以位寻址的专用寄存器的各位 并进行位操作的寻址方式 例如 MOVC 00H 把20H单元中D0位的值送C位MOVP1 0 C 把C位中的值送P1口的D0位SETB20H 0 把00H位置1 位地址的表示方法位名称例 CY RS0寄存器名加序号例 ACC 1 P0 1字节地址加序号例 20H 3直接位地址例 00H 07H 114 4 操作数的七种寻址方式和寻址空间表3 1 115 第二节MCS 51单片机的指令分类 一 指令的分类 MCS 51系列单片机指令系统共有111条指令 按其功能可分为五大类 数据传送类指令 29条 用得最多 不仅指令数目多 算术运算类指令 24条 逻辑运算类指令 24条 控制转移类指令 17条 在指令系统中非常重要 程序运行受到某些参数或状态影响 增加程序的灵活性 布尔操作 位 类指令 17条 二 MCS 51单片机的指令特点 除第一操作数为A的指令影响P位外 其它并不影响标志位有三种传送指令 MOV片内RAM和特殊功能寄存器之间的传送MOVX片外RAM与ACC之间的传送MOVC程序存储器的数据送ACC 1 数据传送指令 课本44页 116 1 用于片内RAM传送的指令 16条 1 以累加器ACC为目的操作数MOVA Rn MOVA direct MOVA Ri R1 R0 MOVA data MOV 课本45页 8位数据传送指令 15条 立即寻址直接寻址寄存器寻址寄存器间接寻址 工作寄存器不可以和某一工作寄存器间接寻址 工作寄存器不能两个同时使用 117 2 以Rn为目的操作数MOVRn AMOVRn directMOVRn data 3 以直接地址为目的操作数MOVdirect AMOVdirect RnMOVdirect dataMOVdirect Ri R1 R0 MOVdirect direct 4 以寄存器间址为目的操作数MOV Ri direct MOV Ri A MOV Ri data 5 16位数据送数据指针DPTRMOVDPTR Data16 例如 MOV30H 7AH 将立即数7AH送片内RAM30H单元中MOVR0 30H 将立即数30H送R0寄存器MOVA R0 将R0指定的30H中的数7AH送A中MOVDPTR 1000H 将1000H送DPTR寄存器 练习 将R1中的内容送R2 118 2 用于片外RAM传送的指令 共4条 执行过程中会使 WR RD有效片外RAM单元的地址为16位 一般用DPTR间接寻址 也可使用Ri来间接寻址 低8位编址时 1 外部RAM低256字节单元与A之间的传送MOVXA RiRi提供的地址是8位MOVX Ri A例 MOVR0 80HMOVXA R0 将外部RAM80 单元内容 A2 64KB外部RAM单元与A之间的传送MOVXA DPTR取数的过程MOVX DPTR A送数的过程例 MOVDPTR 2000HMOVXA DPTR 将外部RAM中2000H单元内容 A 思考 将片内RAM50H单元内 片外RAM5000H单元 MOVX 课本47页 119 例3 1 单片机内部RAM与外部RAM的数据传送 MOVA 30HMOVDPTR 1000HMOVX DPTR A 120 3 用于ROM传送的指令 2条 MOVCA A DPTR A A DPTR MOVCA A PC A A PC 以PC的当前值为基址 A为变址 例3 2 在ROM1000H开始存有5个字节数 编程将第二个字节数取出送片内RAM30H单元中 程序段如下 MOVDPTR 1000H 置ROM地址指针 基址 DPTRMOVA 01H 表内序号送A 变址 MOVCA A DPTR 从ROM1001H单元中取数送到AMOV30H A 再存入内RAM30H中ORG1000H 伪指令 定义数表起始地址TAB DB55H 67H 9AH 在ROM1000H开始的空间中定义5单字节 课本47页 121 例3 3 设某数N已存于20H单元 N 10 查表求N平方值 存入21H单元 程序段如下 MOVA 20H 取数NADDA 01 加查表偏移量MOVCA A PC 查表NOP TAB DB00H 01H 04H 09 定义数表 由于PC为程序计数器 总是指向下一条指令的地址在执行第三条指令 MOVCA A PC 时 在查表前应在A累加器中加上查表偏移量 用DPTR查表时 表格可以放在ROM的64K范围 用MOVCA A PC指令时则必须把表格就放在该条指令下面开始的255个字节的空间中 课本47页 122 1 字节交换 3条 XCHA Rn A Rn XCHA direct direct A XCHA Ri Ri A 有3条为整个字节相互交换 XCHD指令为低4位相互交换 SWAP为ACC中的高 低4位互换 2 数据交换类指令 5条 课本48页 A的内容为F5 内部RAM某一单元的内容为81 将这两个单元的内容相交换 用哪条指令 123 2 低半字节交换指令XCHDA Ri 设i 0 思考 若保持低4位不变 要换高4位 怎么办 XCHA 5B A 81 5B F5XCHDA 5B A 85 5B F1 124 例如 已知 A 34H R6 29H执行以下指令后 A XCHA R6 SWAPA 3 累加器A中高4位和低4位交换SWAPA 自己和自
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字演变过程
- 贵州省部分学校2025届高三上学期9月月考历史试卷(含答案)
- 广东省广州市天河区2024-2025学年下学期期末考试七年级道德与法治试卷
- 【资源】大学体育在线视频系列课程(山东联盟)知到智慧树答案
- 幸福心得体会15篇
- 网络直播行业市场调研报告
- 2024年秋新北师大版数学一年级上册课件 总复习 第3课时 统计与概率
- 2024年秋新北师大版数学一年级上册教学课件 第四单元 10以内数加与减 第5课时 小鸡吃食
- 永动机课件教学课件
- 智算中心硬件设备选型方案
- 福建省福州市联盟校2023-2024学年高一下学期期末考试英语试题(解析版)
- 2024-2025学年重庆市万州区八年级(下)期末语文试卷
- 2025年江苏省苏豪控股集团有限公司校园招聘笔试备考试题及答案详解(必刷)
- (完整)中小学“学宪法、讲宪法”知识竞赛题库及答案
- 2025年行政执法人员执法证考试必考多选题库及答案(共300题)
- 《工程勘察设计收费标准》(2002年修订本)
- 2024年自投光伏安装合同范本
- 车间员工技能管理办法
- DB11T 1581-2018 生产经营单位应急能力评估规范
- 汶川地震波时程记录(卧龙3向)
- 吴迪完胜股市学习笔记
评论
0/150
提交评论