《单片机第一二章课件》由会员分享,可在线阅读,更多相关《单片机第一二章课件(60页珍藏版)》请在金锄头文库上搜索。
1、单片机能做什么 1 在智能仪表中的应用 这是单片机应用最多最活跃的领域之一 在各类仪器仪表中引入单片机 使仪器仪表智能化 提高测试的自动化程度和精度 简化仪器仪表的硬件结构 提高其性能价格比 2 在机电一体化中的应用 机电一体化产品是指集机械技术 微电子技术 计算机技术于一体 使其产品具有智能化特征的电子 产品 它是机械工业发 展的方向 3 在实时 控制系统中的应用 单片机广泛用于各种实时过 程控制系统中 例如工业过 程控制 过程监测 航空航天 间断武器 机 器人系统等各种实时 控制系统 用单片机进行实时 系统数据处理和控制 保证系统工作在最佳状态 有利于提高系统的工作效率和产品的质量 4 在
2、人们生活中的应用 目前国内外各种家具已经普遍用单片机代替传统 的控制电路 例如 洗衣机 电冰箱 空调机 微波 炉 电饭煲 收音机 音像 电风 扇及许多高级电 子玩具都配上了单片机 5 在其他方面的应用 单片机还广泛应用于办公自动化领域 商业营销领 域 安全防卫 汽车及通信系统 计算机外部设 备 模糊控制等领域 多实践 多动手 多动 脑 编译环境 怎么学 准备条件 一个实验 跑马灯实验 Keil uVision 环境中编写 代码 编译代码 生成 二进制文件 下载到实验板运行 利用仿真软件做仿真实 验 第一章 单片机基础知识 把 什么单片机 什么单片机微型计算机的主要功能部件集成在一个芯片上的 单
3、芯片微型计算机叫单片机 1971年Intel公司研制出世界上第一个4位的微处理器 4004 单片机发展历程 4位 8位 16位 32位 1972年4月 霍夫等人开发出第一个8位微处理器Intel 8008 1982年以后 16位单片机问世 代表产品是INTEL公司的MCS 96系列 1990年美国INTEL公司推出了8096超级32位单片机引起了计算机界的 轰动 九十年代中期 INTEL公司忙着开发他们个人电脑微处理器 已没 有足够的精力继续发展自己创导的单片机技术 生产51单片机的厂家 PIC Microchip PHLIPIS ATMEL单片机 EMC单片机 HOLTEK单片 机 MSP4
4、30 飞飞思卡尔 英飞飞凌 PIC是MICROCHIP公司的产品 其突出的特点是体积小 功耗低 精简指令集 抗干扰性好 可靠性高 有较强 的模拟接口 代码保密性好 大部分芯片有其兼容的 FLASH程序存储器的芯片 ATMEl公司的8位单片机有AT89 AT90两个系列 AT89系 列是8位Flash单片机 与8051系列单片机相兼容 静态时 钟模式 PHILIPS公司的单片机是基于80C51内核的单片机 嵌入了 掉电检测 模拟以及片内RC振荡器等功能 这使51LPC在 高集成度 低成本 低功耗的应用设计中可以满足多方 面的性能要求 德州仪器提供了TMS370和MSP430两大系列通用单片机 T
5、MS370系列单片机是8位CMOS单片机 具有多种存储模 式 多种外围接口模式 适用于复杂的实时控制场合 MSP430系列单片机是一种超低功耗 功能集成度较高的 16位低功耗单片机 特别适用于要求功耗低的场合 单片机的特点 1 Harvard存储结构 ROM READ ONLY MEMORY 和RAM Random Access Memory 严格分 开 2 引脚复用 芯片集成多种功能 而引脚数目是受限 3 特殊功能寄存器 SFR 4 采用面向控制的指令系统 独立的位处理器 用于位运算 5 采用全双工的串口通讯 6 外部扩展能力 第二章 单片机的基本原理 2 1 MCS 51 系列单片机简介
6、2 2 MCS 51 系列单片机结构原理 2 3 MCS 51 系列单片机的外部引脚及片外总线 2 4 MCS 51 系列单片机的工作方式 5 MCS 51 系列单片机的时序 目的 掌握单片机的工作原理 方式 2 1MCS 51 系列单片机简介 Intel公司在MCS 48系列的基础上 于1980年推出了8位MCS 51系列单 片机 51系列单单片机的特点 8位cpu 片内带振荡器 频率范围为1 2MHz 12MHz 片内带128B的数据存储器 片内带4KB的程序存储器 程序存储器的寻址空间为64KB 片外数据存储器的寻址空间为64KB 21个字节特殊功能 寄存器 4个8位的I O并行接口 P
7、0 P1 P2 P3 128个用户位寻址空 间 两个16位定时 计 数器 111条指令 包含 乘法指令和除法 指令 片内采用单总线 结构 两个优先级别 的 五个中断源 一个全双工的串 行I O接口 可多 机通信 有较强的位处理 能力 采用单一 5V电 源 2 2结构原理 CPU ROM EP ROM RAM定时 计 数器 并行接口串行接口中断系统 P0P1P2P3TXDRXDINT0INT1 T0T1 XTAL1XTAL2 时钟电路 总线 2 2结构原理 CPU 中央处理器 存储系统 定 时 器 并行 接口 串行接口中断系统 特 殊 功 能 寄 存 器 中央处理器的结构及功能 CPU 运算 部
8、分 控制 部分 运算 部分 运算 部分 ALU Arithmetic Logic Unit 8位运算 功能 A 算术和逻辑运算 可对半字节 一个字节是8位 半个字节就是4位 和单字节数 据进行操作 B 加 减 乘 除 加1 减1 比较等算术运算 C 与 或 异或 求补 循环等逻辑运算 D 位处理功能 即布尔处理器 例如 执行指令 ADD A B 运算 部分 累加器 简称A 辅助寄存器 简称B 为乘除法指令而设置 例 INC A A A 1 例 MUL A B 标志寄存器 用于记录运算过程中的状态 如是否溢出 进位等 CACF0RS1RS0OV PPSW C PSW 7 进位标志 在执行加减运算
9、指令时 如果运算结果的最高位 D7 发生了 进位或借位 则CY由硬件自动置1 AC PSW 6 半进位标志位 也称为辅助标志位 在执行加减运算指令时 如果运算 结果的低半字节 D3 发生了向高半字节进位或借位 则AC由硬件自动置1 F0 PSW 5 用户标志位 用户可以根据需要对F0赋予一定的含义 由用户置1和 清0 作为软件标志 RS1 RS0 PSW 4 和PSW 3 工作寄存器组选择控制位 通过对这两位设定 可以从 4个工作寄存器组中选择一组作为当前工作寄存器 OV PSW 2 溢出标志位 有两种情况影响该位 一是执行加减运算时 如果D7或D6 任一位 并且只一位发生了进位或借位 则OV
10、自动置1 P PSW 0 奇偶标志位 每条指令执行完后 该位都会指示当前累加器A中1的个 数 如果A中有奇数个1 则P自动置1 CACF0RS1RS0OV P D7D0 控制 部分 指令寄 存器 程序计数器 定 时 指令译 码器 堆栈指针 控制 电路 其他 程序计数器PC PC的作用是用来存放将要执行的指令地址 共16位 可对64K ROM直接寻址 PC低8位经P0口输出 高8位 经P2口输出 指令寄存器IR 指令寄存器的作用就是用来存放即将执行的指令代 码 在这里我们先简单的了解下CPU执行指令的过程 首 先由程序存储器 ROM 中读取指令代码送入到指令 寄存器 经译码器译码后再由定时与控制
11、电路发出相 应的控制信号 从而完成指令的功能 指令译码器ID 用于对送入指令寄存器中的指令进行译码 所谓译码 就是把指令转变成执行此指令所需要的电信号 当指 令送入译码器后 由译码器对该指令进行译码 根据 译码器输出的信号 CPU控制电路定时地产生执行该 指令所需的各种控制信号 使单片机正确的执行程序 所需要的各种操作 2 2 4 MCS 51系列单片机的存储器结构 ROMRAM ROM程序常数表格 ROM MOV A 0 MOV B A ALU 程序计 数器 16位 0000H 0001H 片内 ROM 片外 ROM 7个特殊位置 0000H 0003H 000BH 0013H 001BH
12、0023H 002BH 2 2 4 MCS 51系列单片机的存储器结构 ROMRAM ROM程序常数表格 7个特殊位置 0000H 0003H 000BH 0013H 001BH 0023H 002BH 中断源入口地址 外部中断00003H 定时 计数器0000BH 外部中断10013H 定时 计数器1001BH 串行口0023H 定时 计数器2 仅52子系列有 002BH 2 2 4 MCS 51系列单片机的存储器结构 ROMRAM RAM128字节 通用寄存 器 32字节 00H 1FH 4组 R0 R7 位寻址区16字节 20H 2FH 位地址00 7F 可以进行位操作 用户RAM80字
13、节 30H 7FH 可以存储用 户数据 用户RAM SRF21字节 80H F0H 特殊功能寄 存器 可以进行位操作 2 2 4 MCS 51系列单片机的存储器结构 ROMRAM 通用寄存 器 位寻址区 用户RAM 用户RAM SRF 00H 1FH单元为工作寄存器组区 共32个字节 工作寄存器 也称为通用寄存器 用于临时寄存8位信息 工作寄存器共有4组 称为0组 1组 2组和3组 每组8个 分别依次用R0 R7表示 R0R1R2 R3R4R5R6R7 RAM R0R1R2 R3R4R5R6R7 R0R1R2 R3R4R5R6R7 R0R1R2 R3R4R5R6R7 00H 1FH 第0组 第
14、1组 第2组 第3组 2 2 4 MCS 51系列单片机的存储器结构 通用寄存 器 位寻址区 用户RAM 用户RAM SRF 字节单元地 址 D7D6D5D4D3D2D1D0 20H0706050403020100 21H0F0E0D0C0B0A0908 22H1716151413121110 23H1F1E1D1C1B1A1918 24H2726252423222120 25H2F2E2D2C2B2A2928 26H3736353433323130 27H3F3E3D3C3B3A3938 28H4746454443424140 29H4F4E4D4C4B4A4948 2AH575655545
15、3525150 2BH5F5E5D5C5B5A5958 2CH6766656463626160 2DH6F6E6D6C6B6A6968 2EH7776757473727170 2FH7F7E7D7C7B7A7978 1 CPU专用寄存器 累加器A E0H 堆栈指针SP 81H 寄存器B F0H PSW D0H 堆栈指针SP Stack Pointer 堆栈的作用 堆栈的设立是为了中断操作和子程序的调用而用于保存数据的 即常说的断 点保护和现场保护 微处理器无论是在转入子程序和中断服务程序的执行 执行完后 还是要回 到主程序中来 在转入子程序和中断服务程序前 必须先将现场的数据进行 保存起来 否
16、则返回时 CPU并不知道原来的程序执行到哪一步 原来的中间 结果如何 所以在转入执行其它子程序前 先将需要保存的数据压入堆栈中 保存 以备返回时 再复原当时的数据 供主程序继续执行 系统复位后 SP的初始值为07H 使得堆栈实际上是从08H开始的 但我们从 RAM的结构分布中可知 08H 1FH隶属1 3工作寄存器区 若编程时需要用 到这些数据单元 必须对堆栈指针SP进行初始化 原则上设在任何一个区域 均可 但一般设在30H 1FH之间较为适宜 特殊功能寄存器 特殊功能寄存器 并口P0 P3 80H 90H A0H B0H 输出端口 数据指针DPTR 82H 83H 片外数据存贮器访问使用 SETB P2 7 SETB A7 特殊功能寄存器 SCON 串行口控制寄存器 98H SBUF 串行口缓缓冲器 99H PCON 电电源控制器 87H 定时 计数 TCON 定时时器控制寄存器 TMOD 工作方式控制寄存器 T2MOD 工作方式控制寄存器 T2CON 定时时器控制寄存器 中断系统 IE 中断允许许寄存器 A8H IP 中断优优先级级寄存器 B8H 位地 址 AFAEADACABAA