MPC82G516A 8 位微控制器 目 录 图表清单... 5 表格清单 综述 功能 方框图 引脚 引脚结构 引脚定义 引脚功能重映射..

Size: px
Start display at page:

Download "MPC82G516A 8 位微控制器 目 录 图表清单... 5 表格清单 综述 功能 方框图 引脚 引脚结构 引脚定义 引脚功能重映射.."

Transcription

1 Megawin MPC82G516A 8 位微处理器用户手册 ( 第 Ⅱ 版 ) 原著 :By Vincent Y. C. Yu 策划 / 整理 : 许意义 翻译 : 网友 lukeunderwood easygoing yixin czzhouyun lcptw 校对 : 网友 This document contains information on a new product under development by Megawin. Megawin reserves the right to change or discontinue this product without notice. Megawin Technology Co., Ltd All rights reserved. 2008/12 version A4

2 MPC82G516A 8 位微控制器 目 录 图表清单... 5 表格清单 综述 功能 方框图 引脚 引脚结构 引脚定义 引脚功能重映射 存储器组织 程序存储器 数据存储器 关于 C51 编译器的声明识别符 特殊功能寄存器 (SFRs) SFR 存储器映射位置 SFR 描述 标准 80C51 的 SFRs 新加入的 SFRs 片上扩展 RAM (XRAM) 在软件中使用 XRAM 外部数据存储器的存取 配置 ALE 引脚 低速存储器的存取时间延展 双数据指针寄存器 (DPTR) I/O 结构 配置 I/O 准双向 I/O 开漏输出 输入口 ( 高阻输入 ) 推挽输出 I/O 口用作 ADC 转换 I/O 口注意事项 定时 / 计数器 定时器 0 和定时器 模式 0:13 位定时 / 计数器 模式 1:16 位定时 / 计数器 模式 2:8 位自动加载 模式 3: 两个 8 位定时 / 计数器 定时器 0 的可编程时钟输出模式 定时器 捕获模式 自动重装入模式 ( 加计数或减计数 ) 波特率发生器模式 This document contains information on a new product under development by Megawin. Megawin reserves the right to change or discontinue this product without notice. Megawin Technology Co., Ltd All rights reserved. 2008/12 version A4 MEGAWIN

3 定时器 2 的可编程时钟输出模式 串行口 标准 UART 多处理器通信 串行口 (UART) 配置寄存器 波特率 使用定时器 1 产生波特率 模式 0 的扩展 模式 1 的扩展 模式 2 和模式 3 的扩展 扩展的 UART 功能 帧错误检测 自动地址识别 第 2 个 UART (UART2) UART2 配置寄存器 UART2 波特率 模式 模式 1 和模式 模式 标准 UART 使用 UART2 的波特率发生器 UART2 波特率发生器的可编程时钟输出 可编程计数器阵列 (PCA) PCA 概述 PCA 定时 / 计数器 比较 / 捕获单元 PCA 模式设置 捕获模式 位软件定时器模式 高速输出模式 PWM 模式 串行外设接口 (SPI) 典型 SPI 配置 单主机和单从机 双驱动器, 可以是主机或从机 单主机和多从机 SPI 配置 从机注意事项 主机注意事项 /SS 引脚的模式变化 数据冲突 SPI 时钟频率选择 数据模式 模数 (A/D) 转换器 ADC 控制寄存器 ADC 操作 ADC 示例代码 ADC 注意事项 A/D 转换时间 I/O 口用于 ADC 转换 待机和掉电模式 VDD 供电要求 键盘中断 MEGAWIN MPC82G516A Data Sheet 2

4 18 看门狗定时器 (WDT) WDT 控制寄存器 WDT 操作 WDT 示例代码 掉电和待机模式下的 WDT WDT 硬件初始化 中断系统 中断源 与中断相关的寄存器 中断使能 中断优先级 中断响应 外部中断 单步运行 ISP, IAP 和 ICP Flash 存储器 Flash 特点 Flash 结构 ISP 操作 ISP 寄存器 ISP 模式说明 实现在系统编程 (ISP) ISP 注意事项 Megawin 提供的 ISP 工具 IAP 操作 使用 IAP 功能更新程序 IAP 示例代码 IAP 注意事项 关于 ICP Megawin 8051 ICP 编程器 节能模式 空闲模式 休眠模式 自掉电模式中唤醒 时钟降速 系统时钟 内部振荡器 电源监测功能 上电监测 掉电监测 复位源 上电复位 RST 引脚硬件复位 看门狗复位 软件复位 掉电复位 熔丝位选项 指令集 算数运算指令 逻辑操作指令 数据传送指令 MPC82G516A Data Sheet MEGAWIN

5 26.4 布尔操作指令 控制和转移指令 应用事项 V, 5V 供电和宽电压范围 V 供电 V 供电和宽电压范围 复位电路 晶振电路 片上调试功能 特点 极限参数 直流特性 [ 条件 1] 3.3V 系统 (V30 连接到 VDD) [ 条件 2] 5V 或宽电压范围 (V30 不连接 VDD) 订货信息 封装尺寸 引脚 PDIP 封装 引脚 PLCC 封装 引脚 PQFP 封装 引脚 LQFP 封装 引脚 SSOP 封装 免责声明 生命维持系统 内容更新 版本历史 MEGAWIN MPC82G516A Data Sheet 4

6 图表清单 Figure 3-1. 方框图 Figure 4-1. 引脚结构 : 40-Pin PDIP Figure 4-2. 引脚结构 : 28-Pin SSOP Figure 4-3. 引脚结构 : 44-Pin PLCC Figure 4-4. 引脚结构 : 44-Pin PQFP Figure 4-5. 引脚结构 : 48-Pin LQFP Figure 5-1. 程序存储器 Figure 5-2. 数据存储器...20 Figure 5-3. 内部 RAM 的低 128 字节 Figure 5-4. SFR 空间...21 Figure 5-5. 通过 8 位地址访问外部 RAM ( 使用 Ri 和页选择 ) Figure 5-6. 通过 8 位地址访问外部 RAM ( 使用 DPTR ) Figure 8-1. 无时间延展的 Figure 8-2. 有时间延展的 Figure 8-3. 无时间延展的 MOVX A,@DPTR Figure 8-4. 有时间延展的 MOVX A,@DPTR Figure 9-1. 使用双数据指针...35 Figure 准双向 l I/O Figure 开漏输出 Figure 仅输入 Figure 推挽式输出 Figure Timer 1 模式 0: 13- 位定时 / 计数器 Figure Timer 1 模式 1: 16- 位定时 / 计数器 Figure Timer 1 模式 2: 8- 位自动重装 Figure Timer 0 模式 3: 双 8 位定时 / 计数器 Figure Timer 0 可编程时钟输出 Figure Timer 2 捕获模式 Figure Timer 2 自动重装模式 (DCEN=0) Figure Timer 2 自动重装模式 (DCEN=1) Figure Timer 2 波特率发生器模式 Figure Timer 2 可编程时钟输出 Figure 串口模式 Figure 串口模式 Figure 串口模式 Figure 串口模式 Figure UART 帧错误侦测 Figure UART 多机通信, 自动地址匹配 Figure 号 UART 新波特率源 Figure UART2 波特率发生器的可编程时钟输出 Figure PCA 方框图 Figure PCA 定时 / 计数器...68 Figure PCA 中断系统 Figure PCA 捕捉模式 Figure PCA 软件定时器模式 Figure PCA 高速输出模式 Figure PCA PWM 模式 Figure SPI 方框图 Figure SPI 单主机单从机组态 Figure SP I 双驱动器, 可以是主机或从机 Figure SPI 单主机多从机组态 Figure SPI 从机通信格式 (CPHA=0) Figure 从机通信格式 (CPHA=1) Figure SPI 主机通信格式 (CPHA=0) Figure SPI 主机通信格式 (CPHA=1) Figure ADC 方框图 MPC82G516A Data Sheet MEGAWIN

7 Figure WDT 方框图 Figure 中断系统 Figure Flash 组织形式 Figure Flash 页擦除流程图 Figure Flash 编程流程图 Figure Flash 读取流程图 Figure ISP 存储区直接引导 (HWBS 或 HWBS2 使能 ) Figure 通过 AP 存储区重引导 Figure ISP Programmer 的照片 Figure ISP 功能系统连接简图 Figure 通过串口 ISP 系统连接简图 Figure 使用 IAP- 存储区每页至少 512 字节 Figure ICP Programmer 的照片 Figure ICP 功能系统连接简图 Figure 系统时钟方框图 Figure 供电检测方框图 Figure 复位系统方框图 Figure 供电方案 Figure V 系统供电方案 Figure V 或宽电压范围供电方案 Figure 复位电路 Figure 晶振电路 Figure ICE Adapter 的照片 Figure ICE 功能系统连接简图 MEGAWIN MPC82G516A Data Sheet 6

8 表格清单 Table 4-1. 引脚定义 Table 6-1. SFR 存储器映射位置 Table 6-2. 标准 80C51 的 SFRs Table 6-3. 新加入的 SFRs Table 7-1. XRAM 存储类型声明 Table 可用 I/O 引脚数 Table 端口模式设定 Table Timer 2 功能设定 Table Timer 2 Fosc= MHz Table Timer 2 Fosc= MHz Table Timer 1 Fosc= MHz Table Timer 1 Fosc= MHz Table PCA 单元模式表...70 Table SPI 主从机选择 Table SPI 串行时钟频率 Table WDT 溢出周期 Table 中断源 Table 外部中断 0 的四个优先级 Table 不同编程方法比较 Table ISP 时间设置 Table ISP 模式选择 MPC82G516A Data Sheet MEGAWIN

9 1 综述 MPC82G516 A 是基于 80C51 的高效 1-T 结构的单芯片微处理器, 每条指令需要 1~7 个时钟信号 ( 比标准 8051 快 6~7 倍 ), 与 8051 指令集兼容 因此在与标准 8051 有同样的处理能力的情况下,MPC82G516A 只需要非常低的运行速度, 同时由此能很大程度的减少耗电量 MPC82G516A 拥有 64K 字节的内置 Flash 存储器用于保存代码和数据 Flash 存储器可以通过并行模式编程, 也拥有通过在系统编程 (ISP) 和在电路编程 (ICP) 进行编程的能力 同时, 也提供在应用编程 (IAP) 的能力 ISP 和 ICP 让使用者无需从产品中取下微控制器就可以下载新的代码 ;IAP 意味着应用程序正在运行时, 微控制器能够在 Flash 中写入非易失数据 这些功能都由内建的电荷泵提供编程用的高压 除了 8051 MCU 的标准功能 ( 例如 256 字节的随机存储器, 四个 8 位 I/O 口, 三个定时 / 计数器, 全双工的串口和一个多源 4 级中断控制 ) 外, 许多系统级的功能已经集成到 MPC82G516A 内部 这些功能有 1024 字节的扩展随机存储器 (XRAM), 一个额外的 I/O 口 (P4),10 位的模 / 数转换器,PCA,SPI, 第二个 UART 接口, 辅助键盘中断, 一个看门狗定时器等等 这些功能能够有效地减少电路板面积和系统成本, 而且这些功能使得 MPC82G516A 在广泛的应用领域内成为一种强有力的微控制器 MPC82G516A 有两种节能模式和 8 位的系统时钟分频器, 以减少耗电量 在空闲模式下,cpu 被冻结而外围模块和中断系统依然活动 在掉电模式下, 随机存储器 RAM 和特殊功能寄存器 SFR 的能容被保存, 而其他所有功能被终止 最重要的是, 在掉电模式下的微控制器可以被外部中断唤醒 同时使用者可以通过 8 位的系统时钟分频器减慢系统速度以减少耗电量 另外,MPC82G516A 装备有 Megawin 特有的为在电路调试 (ICE) 设计的在片上调试 (OCD) 接口 在片上调试 (OCD) 提供片上无资源占用的在系统调试 对于 ICE 来说, 一些功能是必要的而且已经提供了, 例如复位 运行 停止 单步 运行到光标和断点 使用者使用 ICE 不需要准备任何的固件或者适配器接头 所有要做的事情就是准备一个四脚的连接座连接到 OCD 接口上 这个强有力的功能将使开发变得非常容易 MEGAWIN MPC82G516A Data Sheet 8

10 2 功能 一般 8051 功能 兼容的指令集 字节随机存取储存器 - 64K 外部的数据存储器空间 - 四个 8 个位双向 I/O 口 - 三个 16 个位定时器 / 计数器 - 全双工 UART - 14 中断源,4 个优先级 - 节能模式 : 空闲模式, 掉电模式 高速 1-T 结构 80C51 内核 片上 64K Flash 程序存储器 片上 1024 字节扩展 RAM (XRAM) 额外可位寻址的 I/O 口, P4 I/O 口结构类型 - 准双向输出 - 开漏输出 - 仅输入 - 推挽式的输出 额外的外部中断 /INT2 & /INT3 Timer2 减计数能力 增强 UART 功能 - 帧错误侦测 - 自动地址匹配 第二个 UART 和配套的波特率产生器 6 单元 PCA ( 可编程计数器阵列 ) - 捕捉模式 - 16 位软件定时器模式 - 高速输出模式 - PWM ( 脉冲宽度调变器 ) 模式 SPI 接口 ( 主 / 从模式 ) 10 位 8 通道 ADC 转换器 8 输入辅助键盘中断 外部中断唤醒掉电模式 3 个可编程时钟输出 看门狗定时器 双数据指针 低速外部存储器的 MOVX 时间延展 可配置系统时钟减少耗电量 电源监视功能 : 掉电检测和上电标志 ISP ( 在系统编程 ) & ICP ( 在电路编程 ) 更新程序存储器 IAP ( 在应用编程 ) 为应用程序写非易失性数据 ICE 的 OCD ( 片上调试 ) 接口 Flash 寿命 : 20,000 次擦写循环 时钟频率 : 最高 24MHz 电源 : 2.4V~3.6V (3.3V 系统 ), or 2.7V~5.5V ( 5V or 宽电压范围系统 ) 温度等级 : -40 to +85 C 封装 : PDIP40, PLCC44, PQFP44, LQFP48 and SSOP28 9 MPC82G516A Data Sheet MEGAWIN

11 3 方框图 Figure 3-1 MPC82G516A 功能方框图 Figure 3-1. 方框图 MEGAWIN MPC82G516A Data Sheet 10

12 4 引脚 4.1 引脚结构 Figure 4-1. 引脚结构 : 40-Pin PDIP Figure 4-2. 引脚结构 : 28-Pin SSOP 11 MPC82G516A Data Sheet MEGAWIN

13 Figure 4-3. 引脚结构 : 44-Pin PLCC Figure 4-4. 引脚结构 : 44-Pin PQFP MEGAWIN MPC82G516A Data Sheet 12

14 Figure 4-5. 引脚结构 : 48-Pin LQFP 13 MPC82G516A Data Sheet MEGAWIN

15 4.2 引脚定义 Table 4-1. 引脚定义 助记符 P0.0 ( 附加功能 ) AD0 P0.1 ( 附加功能 ) AD1 P0.2 ( 附加功能 ) AD2 P0.3 ( 附加功能 ) AD3 P0.4 ( 附加功能 ) AD4 P0.5 ( 附加功能 ) AD5 P0.6 ( 附加功能 ) AD6 P0.7 ( 附加功能 ) AD7 P1.0 ( 附加功能 ) T2 ( 附加功能 ) AIN0 ( 附加功能 ) T2CKO P1.1 ( 附加功能 ) T2EX ( 附加功能 ) AIN1 ( 附加功能 ) ECI P1.2 ( 附加功能 ) AIN2 ( 附加功能 ) S2RXD ( 附加功能 ) CEX0 P1.3 ( 附加功能 ) AIN3 ( 附加功能 ) S2TXD ( 附加功能 ) CEX1 P1.4 ( 附加功能 ) AIN4 ( 附加功能 ) /SS ( 附加功能 ) CEX2 P1.5 ( 附加功能 ) AIN5 ( 附加功能 ) MOSI ( 附加功能 ) CEX3 P1.6 ( 附加功能 ) AIN6 ( 附加功能 ) MISO ( 附加功能 ) CEX4 P1.7 ( 附加功能 ) AIN7 ( 附加功能 ) SPICLK ( 附加功能 ) CEX5 引脚号 I/O 40-Pin 44-Pin 44-Pin 48-Pin 28-Pin 类型 DIP PLCC PQFP LQFP SSOP I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I I O I/O I I I I/O I I I/O I/O I O I/O I/O I I I/O I/O I I/O I/O I/O I I/O I/O I/O I I/O I/O 描述 * 端口 0 位 0. * AD0: 读写外部数据存储器 A0/D0 复用 * 端口 0 位 -1. * AD1: 读写外部数据存储器 A1/D1 复用 * 端口 0 位 -2. * AD2: 读写外部数据存储器 A2/D2 复用. * 端口 0 位 -3. * AD3: 读写外部数据存储器 A3/D3 复用 * 端口 0 位 -4. * AD4: 读写外部数据存储器 A4/D4 复用 * 端口 0 位 -5. * AD5: 读写外部数据存储器 A5/D5 复用 * 端口 0 位 -6. * AD6: 读写外部数据存储器 A6/D6 复用 * 端口 0 位 -7. * AD7: 读写外部数据存储器 A7/D7 复用. * 端口 1 位 -0. * T2: 定时 / 计数器 2 的外部输入. * AIN0: ADC 模拟量输入通道 0. * T2CKO: 定时器 2 的可编程时钟输出. * 端口 1 位 -1. * T2EX: 定时 / 计数器 2 重装入 / 捕获 / 方向控制. * AIN1: ADC 模拟量输入通道 1.. * ECI: PCA 外部时钟输入. * 端口 1 位 -2. * AIN2: ADC 模拟量输入通道 2. * S2RXD: 第二 UART 串行输入. * CEX0: PCA 单元 0 外部 I/O. * 端口 1 位 -3. * AIN3: ADC 模拟量输入通道 3 * S2TXD: 第二 UART 串行输出 * CEX1: PCA 单元 1 外部 I/O.. * 端口 1 位 -4. * AIN4: ADC 模拟量输入通道 4. * /SS: SPI 从机选择 * CEX2: PCA 单元 2 外部 I/O.. * Port 1 位 -5. * AIN5: ADC 模拟量输入通道 5 * MOSI: SPI 主机输出或从机输入. * CEX3: PCA 单元 3 外部 I/O. * 端口 1 位 -6. * AIN6: ADC 模拟量输入通道 6. * MISO: SPI 主机输入或从机输出. * CEX4: PCA 单元 4 外部 I/O.. * 端口 1 位 -7. * AIN7: ADC 模拟量输入通道 7 * SPICLK: SPI 时钟, 主机输出从机输入 * CEX5: PCA 单元 5 外部 I/O.. MEGAWIN MPC82G516A Data Sheet 14

16 ( 续上表 ) MNEMONIC P2.0 ( 附加功能 ) A8 ( 附加功能 ) KBI0 P2.1 ( 附加功能 ) A9 ( 附加功能 ) KBI1 P2.2 ( 附加功能 ) A10 ( 附加功能 ) KBI2 P2.3 ( 附加功能 ) A11 ( 附加功能 ) KBI3 P2.4 ( 附加功能 ) A12 ( 附加功能 ) KBI4 P2.5 ( 附加功能 ) A13 ( 附加功能 ) KBI5 P2.6 ( 附加功能 ) A14 ( 附加功能 ) KBI6 P2.7 ( 附加功能 ) A15 ( 附加功能 ) KBI7 P3.0 ( 附加功能 ) RXD P3.1 ( 附加功能 ) TXD P3.2 ( 附加功能 ) /INT0 P3.3 ( 附加功能 ) /INT1 P3.4 ( 附加功能 ) T0 ( 附加功能 ) T0CKO P3.5 ( 附加功能 ) T1 ( 附加功能 ) ALE ( 附加功能 ) S2CKO P3.6 ( 附加功能 ) /WR P3.7 ( 附加功能 ) /RD 40-Pin DIP 44-Pin PLCC PIN NUMBER 44-Pin PQFP 48-Pin LQFP 28-Pin SSOP I/O TYPE I/O O I I/O O I I/O O I I/O O I I/O O I I/O O I I/O O I I/O O I I/O I/O I/O O I/O I I/O I I/O I O I/O I O O I/O O I/O O DESCRIPTION * 端口 2 位 -0. * A8: 读写外部数据存储器输出 A8 * KBI0: 辅助键盘输入 0. * 端口 2 位 -1. * A9: 读写外部数据存储器输出 A9. * KBI1: 辅助键盘输入 1. * 端口 2 位 -2. * A10: 读写外部数据存储器输出 A10. * KBI2: 辅助键盘输入 2. * 端口 2 位 -3. * A11: 读写外部数据存储器输出 A11 * KBI3: 辅助键盘输入 3. * 端口 2 位 -4. * A12: 读写外部数据存储器输出 A12 * KBI4: 辅助键盘输入 4. * 端口 2 位 -5. * A13: 读写外部数据存储器输出 A13 * KBI5: 辅助键盘输入 5. * 端口 2 位 -6. * A14: 读写外部数据存储器输出 A14 * KBI6: 辅助键盘输入 6. * 端口 2 位 -7. * A15: 读写外部数据存储器输出 A15 * KBI7: 辅助键盘输入 7. * 端口 3 位 -0. * RXD: 串行输入, 模式 0 的数据 I/O. * 端口 3 位 -1. * TXD: 串行输出. * 端口 3 位 -2. * /INT0: 外部中断 0 输入. * 端口 3 位 -3. * /INT1: 外部中断 1 输入. * 端口 3 位 -4. * T0: 定时 / 计数器 0 外部输入. * T0CKO: 定时器 0 的可编程时钟输出 * 端口 3 位 -5. * T1: 定时 / 计数器 1 外部输入. * ALE: 地址锁存信号, 在外部数据存储器访问期间锁存地址低 8 位. * S2CKO: 定时器 S2BRT. 可编程时钟输出 * 端口 3 位 -6. * /WR: 外部数据存储器写信号. * 端口 3 位 -7. * /RD: 外部数据存储器读信号. 15 MPC82G516A Data Sheet MEGAWIN

17 ( 续上表 ) PIN NUMBER I/O MNEMONIC 40-Pin 44-Pin 44-Pin 48-Pin 28-Pin DESCRIPTION TYPE DIP PLCC PQFP LQFP SSOP P I/O * 端口 4 位 -0. P4.1 ( 附加功能 ) ALE P4.2 ( 附加功能 ) /INT3 P4.3 ( 附加功能 ) /INT I/O O I/O I I/O I * 端口 4 位 -1. * ALE: 地址锁存信号, 在外部数据存储器访问期间锁存地址低 8 位 * 端口 4 位 -2. * /INT3: 外部中断 3 输入 * 端口 4 位 -3. * /INT2: 外部中断 2 输入 P I/O * 端口 4 位 -4. P I/O * 端口 4 位 -5. P I/O * 端口 4 位 -6. P I/O * 端口 4 位 -7. OCD_SDA I/O 片上调试接口 (OCD), 串行数据. OCD_SCL I 片上调试接口 (OCD), 串行时钟 XTAL I 晶体 1: 反向振荡放大器输入和内部时钟输入 XTAL O 晶体 2: 反向振荡放大器输出 RST I 24 个时钟周期的高电平复位微控制器 V O 内部 LDO 输出 :VDD 电压高于 3.6 伏时, 通过 一个外部电容 (4.7μF~100μF) 接地 ;VDD 电 压低于 3.6 伏时接到 VDD 上. VDD I 空闲 掉电和正常模式的电源正极 VSS I 地,0V 参考电压 Note: (Alt. Fun.) means the Alternate Function of this pin. MEGAWIN MPC82G516A Data Sheet 16

18 4.3 引脚功能重映射 许多 I/O 引脚, 除了正常的 I/O 功能之外, 也有其他复用功能 默认情况下,P2 和 P1 被辅助键盘中断, PCA, SPI 和 UART2 复用 但是, 使用者可以通过设定 AUXR1 寄存器的 P4KB,P4PCA,P4SPI 和 P4S2 控制位使上面的那些功能重新映射到 P4 上. 当软件所需要的引脚数多于 40 个的时候, 此功能尤其有用 注意, 任何时候这四个控制位只能有一个被置位 AUXR1 ( 地址 =8EH, 辅助寄存器 1, 复位值 =0000,0000B) P4KB P4PCA P4SPI P4S2 GF2 - - DPS P4KB: 被置位时, 键盘接口被映射到 P4. KBI7 P2.7 的功能被映射到 P4.7. KBI6 P2.6 的功能被映射到 P4.6.. KBI5 P2.5 的功能被映射到 P4.5.. KBI4 P2.4 的功能被映射到 P4.4. KBI3 P2.3 的功能被映射到 P4.3.. KBI2 P2.2 的功能被映射到 P4.2.. KBI1 P2.1 的功能被映射到 P4.1.. KBI0 P2.0 的功能被映射到 P4.0.. P4PCA: 被置位时,PCA 接口被映射到 P4 ECI P1.1 的功能被映射到 P4.1. CEX0 P1.2 的功能被映射到 P4.2. CEX1 P1.3 的功能被映射到 P4.3. CEX2 P1.4 的功能被映射到 P4.4.. CEX3 P1.5 的功能被映射到 P4.5. CEX4 P1.6 的功能被映射到 P4.6.. CEX5 P1.7 的功能被映射到 P4.7.. P4SPI: 被置位时, SPI 接口被映射到 P4. /SS P1.4 的功能被映射到 P4.4. MOSI P1.5 的功能被映射到 P4.5. MISO P1.6 的功能被映射到 P4.6 SPICLK P1.7 的功能被映射到 P4.7.. P4S2: 被置位时, UART2 接口被映射到 P4 S2RXD P1.2 的功能被映射到 P4.2. S2TXD P1.3 的功能被映射到 P MPC82G516A Data Sheet MEGAWIN

19 5 存储器组织 像所有的 80C51 一样, MPC82G516A 的程序存储器和数据存储器的地址空间是分开的, 这样 8 位微处理器可以通过一个 8 位的地址快速而有效的访问数据存储器 程序存储器 (ROM) 只能读取, 不能写入 最大可以达到 64K 字节 在 MPC82G516A 中, 所有的程序存储器都是片上 Flash 存储器 因为没有设计外部程序使能 (/EA) 和编程使能 (/PSEN) 信号, 所以不允许外接程序存储器 数据存储器使用与程序存储器不同的地址空间 MPC82G516A 有 256 字节的内部 RAM, 使用外部数据存储器最多可以有 64K 字节的地址空间 CPU 通过使用一个 16 位的地址 ( 通过 DPTR) 和读 写操作信号 (/RD 和 /WR) 访问外部数据存储器 由于一些应用程序需要多一点的内部 RAM, 所以 MPC82G516A 在片上集成了 1024 字节的外部存储器 (XRAM). 5.1 程序存储器 程序存储器用来保存让 CPU 进行处理的程序代码, 如 Figure 5-1 所示 复位后,CPU 从地址为 0000H 的地方开始运行, 用户应用代码的起始部分应该放在这里 为了响应中断, 中断服务位置 ( 被称为中断矢量 ) 应该位于程序存储器 每个中断在程序存储器中有一个固定的起始地址, 中断使 CPU 跳到这个地址运行中断服务程序 举例来说, 外部中断 0 被指定到地址 0003H, 如果使用外部中断 0, 那么它的中断服务程序一定是从 0003H 开始的 如果中断未被使用, 那么这些地址就可以被一般的程序使用 中断服务程序的起始地址之间有 8 字节的地址间隔 : 外部中断 0,0003H; 定时器 0,000BH; 外部中断 1, 0013H; 定时器 1,001BH 等等 如果中断服务程序足够短, 它完全可以放在这 8 字节的空间中 如果其他的中断也被使用的话, 较长的中断服务程序可以通过一条跳转指令越过后面的中断服务起始地址 注意,MPC82G516A 不能外接程序存储器, 所有应用代码都保存在片上的 Flash 存储器中 因此 /EA 和 /PSEN 信号因为不再需要而被省略了 用户应注意这一点 Figure 5-1. 程序存储器 MEGAWIN MPC82G516A Data Sheet 18

20 5.2 数据存储器 Figure 5-2 向 MPC82G516A 使用者展示了内部和外部数据存储器的空间划分 内部数据存储器被划分为三部分, 通常被称为低 128 字节 RAM, 高 128 字节 RAM 和 128 字节 SFR 空间 内部数据存储器的地址线只有 8 位宽, 因此地址空间只有 256 字节 SFR 空间的地址高于 7FH, 用直接地址访问 ; 而用间接访问的方法访问高 128 字节的 RAM 这样虽然 SFR 和高 128 字节 RAM 占用相同的地址空间, 但他们实际上是分开的 如 Figure 5-3 所示, 低 128 字节 RAM 与所有 80C51 一样 最低的 32 字节被划分为 4 组每组 8 字节的寄存器组 指令中称这些寄存器为 R0 到 R7. 程序状态字 (PSW) 中的两位用于选择哪组寄存器被使用 这使得程序空间能够被更有效的使用, 因为对寄存器访问的指令比使用直接地址的指令短 接下来的 16 字节是可以位寻址的存储器空间 80C51 的指令集包含一个位操作指令集, 这区域中的 128 位可以被这些指令直接使用 位地址从 00H 开始到 7FH 结束 所有的低 128 字节 RAM 都可以用直接或间接地址访问, 而高 128 字节 RAM 只能用间接地址访问 Figure 5-4 给出了特殊功能寄存器 (SFR) 的概览 SFR 包括端口寄存器, 定时器和外围器件控制器, 这些寄存器只能用直接地址访问 SFR 空间中有 16 个地址同时支持位寻址和直接寻址 可以位寻址的 SFR 的地址末位是 0H 或 8H 为了访问外部数据存储器,EXTRAM 位应该被设为 1 访问外部数据存储器可以使用一个 16 位地址 ( 使用 ) 或一个 8 位地址 ( 使用 ) 下面详细说明 用 8 位地址访问 8 位地址通常使用 1 根或更多的 I/O 口标明 RAM 的页数 如果使用 8 位地址, 在访问外部存储器的周期中,P2 寄存器保存 P2 引脚的状态 这将保证页的访问 Figure 5-5 展示了一个 2K 字节外部数据存储器的硬件配置 P0 口作为地址和数据总线复用, 而 P2 口的三根线用于标明 RAM 的页数. 处理器产生 /RD 和 /WR (P3.7 和 P3.6 附加功能 ) 信号控制存储器 当然也可以使用其他的 I/O 口而非 P2 口来标明 RAM 的页数 用 16 位地址访问 16 位地址通常用于访问 64K 字节的外部数据存储器 Figure 5-6 展示了一个 64K 字节外部数据存储器的硬件配置 当使用 16 位地址的时候, 除了 P0, /RD and /WR, 的动作以外, 地址的高字节通过 P2 口输出, 并且在读写周期中是被锁定的 无论如何, 地址的低字节和数据字节在 P0 口是时分复用的 ALE ( 地址锁存使能 ) 被用来使地址字节被外部锁存器锁存, 地址字节在 ALE 负跳变时有效 在写周期中, 数据在 /WR 有效之前在 P0 口出现, 直到 /WR 无效的时候消失 在读周期中, 数据在 /RD 信号无效之前被 P0 口接受 在任何外部存储器访问期间,CPU 向 P0 口锁存器 ( 特殊功能寄存器 ) 写 0FFH, 以消除任何可能被锁存的数据 注意在 MPC82G516A, 没有专用的 ALE 引脚 ALE 是 P3.5 或 P4.1 的附加功能, 可以在 AUXR 寄存器中的 P35ALE 和 P41ALE 控制位进行选择. 访问片上扩展存储器 (XRAM), EXTRAM 位应该被设为 0 Figure 5-2, 这 1024 字节的 XRAM (0000H to 03FFH) 外部访问指令 MOVX 间接存取 对 XRAM 的访问没有任何的地址输出 地址锁存信号和读写控制 这意味着 P0, P2, P3.5/P4.1(ALE), P3.6 (/WR) 和 P3.7 (/RD) 在访问 XRAM 期间保持不变 19 MPC82G516A Data Sheet MEGAWIN

21 Figure 5-2. 数据存储器 Figure 5-3. 内部 RAM 的低 128 字节 MEGAWIN MPC82G516A Data Sheet 20

22 Figure 5-4. SFR 空间 FFH E8H E0H D0H B0H A0H 90H 80H. Port 4 ACC. PSW. Port 3. Port 2. Port 1. Port 0 1. I/O 是寄存器的映射 2. 地址结尾是 0H 或 8H 的寄存器可被位寻址. - 端口 - 累加器 - PSW (Etc.) 21 MPC82G516A Data Sheet MEGAWIN

23 Figure 5-5. 通过 8 位地址访问外部 RAM ( 使用 Ri 和页选择 ) 在这种情况下,P2 口的其他位可做一般 I/O 口使用. Figure 5-6. 通过 16 位地址访问外部 RAM ( 使用 DPTR ) MEGAWIN MPC82G516A Data Sheet 22

24 5.3 关于 C51 编译器的声明识别符 C51 编译器的声明识别符与 MPC82G516A 存储空间的对应关系 : data 128 字节的内部数据存储空间 (00h~7Fh); 使用除 MOVX 和 MOVC 以外的指令, 可以直接或间接的访问 全部或部分的堆栈可能保存在此区域中 idata 间接数据 ;256 字节的内部数据存储空间 (00h~FFh) 使用除 MOVX 和 MOVC 以外的指令间接访问 全部或部分的堆栈可能保存在此区域中 此区域包括 data 区和 data 区以上的 128 字节 sfr 特殊功能寄存器 ; CPU 寄存器和外围部件控制 / 状态寄存器, 只能通过直接地址访问. xdata 外部数据或片上的扩展 RAM (XRAM); 通过 指令访问标准 80C51 的 64K 存储空间 MPC82G516A 有 1024 字节的片上 xdata 存储空间. pdata 分页的外部数据 (256 字节 ) 或片上的扩展 RAM; 通过 指令访问标准 80C51 的 64K 存储空间 MPC82G516A 有 1024 字节的片上 xdata 存储空间. code 64K 程序存储空间 ; 通过 访问, 作为程序的一部分被读取 MPC82G516A 有 64K 字节的片上 code 存储器. 23 MPC82G516A Data Sheet MEGAWIN

25 6 特殊功能寄存器 (SFRs) 6.1 SFR 映射位置 特殊功能寄存器空间的内部记忆区域的一个映像叫做 SFR 存储器映射表 如 Table 6-1 所示, 在 SFR 存储器映射表中, 不是所有的地址都被使用 空闲的地址没有被实现或设计用来进行测试 读取这些地址将返回随机的数据, 而向其中写入数据, 将导致不可预知的硬件动作 使用者的软件最好不要访问空闲的地址. Table 6-1. SFR 存储器映射表 8 BYTES F8H F0H E8H E0H D8H D0H C8H C0H B8H B0H A8H A0H 98H 90H 88H - CH CCAP0H CCAP1H CCAP2H CCAP3H CCAP4H CCAP5H B - PCAPWM0 PCAPWM1 PCAPWM2 PCAPWM3 PCAPWM4 PCAPWM5 P4 CL CCAP0L CCAP1L CCAP2L CCAP3L CCAP4L CCAP5L ACC WDTCR IFD IFADRH IFADRL IFMT SCMD ISPCR CCON CMOD CCAPM0 CCAPM1 CCAPM2 CCAPM3 CCAPM4 CCAPM5 PSW KBPATN KBCON KBMASK T2CON T2MOD RCAP2L RCAP2H TL2 TH2 - - XICON ADCTL ADCH PCON2 IP SADEN S2BRT ADCL - P3 P3M0 P3M1 P4M0 P4M1 IPH IE SADDR S2CON - - AUXIE AUXIP AUXIPH P2 AUXR AUXR2 - SCON SBUF S2BUF P1 P1M0 P1M1 P0M0 P0M1 P2M0 P2M1 EVRCR TCON TMOD TL0 TL1 TH0 TH1 AUXR STRETCH FFH F7H EFH E7H DFH D7H CFH C7H BFH B7H AFH A7H 9FH 97H 8FH 80H P0 SP DPL DPH SPSTAT SPCTL SPDAT PCON 注意新加入的 SFR 用蓝色字标示. 可位寻址的 SFRs 87H MEGAWIN MPC82G516A Data Sheet 24

26 6.2 SFR 描述 标准 80C51 的 SFRs 标准 80C51 的 SFR 如 Table 6-2 所示 其中,C51 核心寄存器的功能在下面被概略说明 更多的关于标准 SFR 的使用信息将在外围器件中介绍. C51 核心寄存器 累加器 : ACC 是累加寄存器, 这是给累加器的特定助记符, 但是只提及累加器内容时被标记位 A. B 寄存器 : B 被用在乘或除运算中, 对于其他的指令可以当做一般寄存器使用 堆栈指针 : 堆栈指针寄存器宽度是 8 位, 它指向堆栈的顶端最后被使用的数据 虽然低位字节通常是用来作为工作寄存器, 但是使用者通过设置堆栈指针, 可以把堆栈放到内部 RAM 的任何位置 复位后, 堆栈指针的初值为 07H, 这样堆栈从 08H 开始 数据指针 : 数据指针 (DPTR) 有一个高字节 (DPH) 和一个低字节 (DPL). 它的功能是为 MOVX 指令保存一个 16 位的存储器地址 这个地址可以指向片上或片外的程序 / 数据存储器, 或者外围设备的存储器映射地址 它可以被当做 16 位寄存器或者两个独立的 8 位寄存器 程序状态字 : PSW 寄存器包含如下列各项所详述的程序状态信息. PSW ( 地址 =D0H, 程序状态字, 复位值 =0000,0000B) CY AC F0 RS1 RS2 OV - P CY: 进位标志. 当最后一个算数运算有进位 ( 加 ) 或借位 ( 减 ) 的时候, 该位被置位 其他的算术运算将它清除为逻辑 0 AC: 辅助进位标志. ( 对于 BCD 运算 ) 当最后一个算数运算向高四位有进位 ( 加 ) 或借位 ( 减 ) 的时候, 该位被置位 其他的算术运算将它清除为逻辑 0. F0: 标志 0. 可位寻址, 通常作为用户使用的软件控制标志位 RS1: 寄存器组选择位 1 RS0: 寄存器组选择位 0. (RS1, RS0) 工作寄存器组和地址 (0, 0) Bank 0 (00H~07H) (0, 1) Bank 1 (08H~0FH) (1, 0) Bank 2 (10H~17H) (1, 1) Bank 3 (18H~1FH) OV: 溢出标志. 这位在下列的环境之下被设定成 1: ADD, ADDC, SUBB 指令引起的数据的溢出. MUL 指令的结果引起的溢出 ( 结果超过 255). DIV 指令除数为零. ADD, ADDC, SUBB, MUL, DIV 指令的其它结果将该位清 0. P: 奇偶标志. 每个指令周期由硬件置 1 或清 0, 用来指示累加器中 1 为奇数个或偶数个 ( 注意 :PSW 寄存器可位寻址, 所有的被释放的位能被软件设定或清除.) 25 MPC82G516A Data Sheet MEGAWIN

27 Table 6-2. 标准 80C51 的 SFRs 注 : *: 可位寻址 -: 保留位 # : 复位值依赖于复位源 MEGAWIN MPC82G516A Data Sheet 26

28 6.2.2 新加入的 SFRs 新加入的 SFRs 如 Table 6-3 所示 更多的关于新加入的 SFR 的使用信息将在外围器件中介绍 Table 6-3. 新加入的 SFRs 27 MPC82G516A Data Sheet MEGAWIN

29 ( 接上表 ) MEGAWIN MPC82G516A Data Sheet 28

30 ( 续上表 ) 注 : *: 可位寻址 -: 保留位 # : 复位值依赖于复位源. 29 MPC82G516A Data Sheet MEGAWIN

31 7 片上扩展 RAM (XRAM) 访问片上扩展 RAM (XRAM), EXTRAM 位应该被清零 这 1024 字节的 XRAM ( 地址从 0000H 到 03FFH) 被外部访问指令 间接访问对 XRAM 的访问没有任何的地址输出 地址锁存信号和读写控制 这意味着 P0, P2, P3.5/P4.1(ALE), P3.6 (/WR) 和 P3.7 (/RD) 在访问 XRAM 期间保持不变 但是如果地址超过了 0x03FF, 访问会被自动转到外部数据存储器. AUXR ( 地址 =8EH, 辅助寄存器, 复位值 =0000,xx0xB) URTS ADRJ P41ALE P35ALE - - EXTRAM - EXTRAM: 0: 当地址小于 0x0400 的时候禁止访问外部数据存储器 ; 访问地址 0x0000~0x03FF 时, 自动装到片上 XRAM. 1: 可以访问地址 0x0000~0xFFFF 的全部外部数据存储器 ; 访问片上 XRAM 被禁止. 7.1 在软件中使用 XRAM Keil-C51 编译器中, 将变量分配到 XRAM 中, 需要使用 xdata 声明. 编译后, 被声明位 xdata 的变量将通过 指令进行存取. 使用者可以通过 Keil Software Cx51 Compiler User s Guide. 获得更多的信息 Table 7-1. XRAM 存储类型声明 MEGAWIN MPC82G516A Data Sheet 30

32 8 外部数据存储器的存取 和 5.2 章描述的一样, 访问外部数据存储器需要将 EXTRAM 位置 1 访问外部数据存储器既可用 16 位地址 ( 使用 也可以使用 8 位地址 ( 使用 ), 如下所述 通过 8 位地址访问 8 位地址线经常使用 1 个或多个 I/O 线结合来访问 RAM 页面 如果使用 8 位地址, 在外部存储器读写周期, 专用寄存器 P2 口的内容始终保持在 P2 引脚 使得访问页面非常容易 图 5-5 示一个访问 2K 的外部 RAM 的硬件配置 P0 用作一个地址 / 数据分时复用总线到 RAM,P2 口的三线用来访问 RAM 页 CPU 产生 /RD 和 /WR(P3.7 和 P3.6 可选择功能 ) 来选通存储器 当然, 用户可以使用其它 I/O 线来代替 P2 到 RAM 页面 通过 16 位地址访问 16 位地址线经常用来访问 64K 的外部数据存储器 图 5-6 示硬件配置来访问外部 64K 的 RAM 只要使用 16 位地址, 除了 P0 口 /RD 和 /WR 之外,P2 口的高位地址在读写周期一直保持 在任何情况下,P0 口的低位地址线和数据线为分时复用 ALE( 地址锁存使能 ) 用来将地址字节捕获到外部锁存器 在 ALE 的负跳变时地址字节有效 接着, 在写周期, 在 /WR 激活之前, 要写的数据出现在 P0 口, 并一直保持直到 /WR 信号释放 在一个读周期, 信号字节从 P0 口接收在读选通信号释放前 在访问外部存储器时,CPU 写 0FFH 到端口 0 锁存 ( 专用寄存器 ), 专用寄存器 P0 保持的信息被擦除 8.1 配置 ALE 引脚对 MPC82G516A 来说,ALE 信号没有专门的引脚 ALE 成为 P3.5 或 P4.1 的可选择功能, 这可通过 AUXR 寄存器的 P35ALE 和 P41ALD 控制位来选择, 如下所示 另外,80C51 的单片机在没有外部访问时仍然输出 ALE 信号, 除了访问访问外部数据存储器 (EXTRAM=1) 时, 器件不会输出 ALE 信号 AUXR( 地址 =8EH, 辅助寄存器, 复位值 =0000,xx0xB) URTS ADRJ P41ALE P35ALE - - EXTRAM - P41ALE: 置位时,P4.1 作为 ALE 引脚并用来访问外部 MOVX P35ALE: 置位时,P3.5 作为 ALE 引脚并用来访问外部 MOVX EXTRAM: 0: 当地址小于 0x400 时, 禁止访问外部数据存储器 ; 当访问地址为 0x0000~0x03FF 时自动切换到片上 XRAM 1: 允许访问全部外部数据存储器, 地址范围为 0x0000~0xFFFF; 禁止访问片内 XRAM 31 MPC82G516A Data Sheet MEGAWIN

33 8.2 低速存储器的存取时间延展为了访问低速的外部数据存储器, 设计了时序延长机制来控制 MOVX 指令的访问时序 延长 (STRETCH) 寄存器的位 ALES1 和 ALES0, 控制延长设置时间和保持时间并保持到 ALE 的下降沿 另外, 位 RWS2 RWS1 和 RWS0 控制延长读写脉冲宽度 用户可以通过适当的配置 STRETCH 寄存器, 以适应外部数据存储器读写的需求 STRETCH( 地址 =8FH, 延长寄存器, 复位值 =0000,0011B) ALES1 ALES0 - RWS2 RWS1 RWS0 {ALES1,ALES0}: 00: 没有延长,P0 口地址的设置 / 保持时间随着 ALE 的下降沿在一个时钟周期 ; 01:1 个时钟周期的延长,P0 口地址设置 / 保持时间随着 ALE 的下降沿在二个时钟周期 ; 10:2 个时钟周期的延长,P0 口地址设置 / 保持时间随着 ALE 的下降沿在三个时钟周期 ; 11:3 个时钟周期的延长,P0 口地址设置 / 保持时间随着 ALE 的下降沿在四个时钟周期 ; {RWS2,RWS1,RWS0}: 000: 没有延长,MOVX 读写脉冲为一个时钟周期 ; 001:1 个时钟延长,MOVX 读写脉冲为 2 个时钟周期 ; 010:2 个时钟延长,MOVX 读写脉冲为 3 个时钟周期 ; 011:3 个时钟延长,MOVX 读写脉冲为 4 个时钟周期 ; 100:4 个时钟延长,MOVX 读写脉冲为 5 个时钟周期 ; 101:5 个时钟延长,MOVX 读写脉冲为 6 个时钟周期 ; 110:6 个时钟延长,MOVX 读写脉冲为 7 个时钟周期 ; 111:7 个时钟延长,MOVX 读写脉冲为 8 个时钟周期 ; 看如下时序波形的演示 MEGAWIN MPC82G516A Data Sheet 32

34 图 8-1. 没有延迟 图 8-2 有延迟 33 MPC82G516A Data Sheet MEGAWIN

35 图 8-3 MOVX 没有延迟 图 8-4 MOVX 有延迟 MEGAWIN MPC82G516A Data Sheet 34

36 9 双数据指针寄存器 (DPTR) 传统的数据指针用来加速代码执行和减少代码尺寸 双 DPTR 结构是一种方法, 芯片将指定外部数据存储器的定位地址 外部存储器有两个 16 位 DPTR 寄存器, 和一个控制位称作为 DPS(AUXR1.0), 允许在程序代码和外部存储器之间的切换 图 9-1 使用双 DPTR DPTR 指令 使用 DPS 位的六条指令参考 DPTR 的当前选择, 如下 : INC DPTR ; 数据指针加 1 MOV DPTR,#data16 ;DPTR 加载 16 位常量 MOVC A,@A+DPTR ; 将代码字节移动到 ACC MOVX A,@DPTR ; 移动外部 RAM(16 位地址 ) 到 ACC ; 移动 ACC 到外部 RAM(16 位地址 ) ; 直接跳转到 DPTR AUXR1 ( 地址 =8EH, 辅助寄存器 1, 复位值 =0000,0000B) P4KB P4PCA P4SPI P4S2 GF2 - - DPS DPS:DPTR 选择位, 用来在 DPTR0 和 DPTR1 之间切换 在 DPTR0 和 DPTR1 之间切换时, 可通过软件来保存 DPS 位状态 DPS DPTR 选择 0 DPTR0 1 DPTR1 35 MPC82G516A Data Sheet MEGAWIN

37 10 I/O 结构 MPC82G516A 有五个 I/O 端口 : 端口 0 端口 1 端口 2 端口 3 和端口 4 所有的端口都为 8 位端口 准确的可用 I/O 引脚数量由封装类型决定 见表 10-1 表 10-1 可用 I/O 引脚数量 封装类型 I/O 引脚脚 引脚数量 40-pin P0, P1, P2, P3 32 P0.1~P0.4, P0.6, P1.0, P1.2, P1.3, P1.5, 28-pin 20 P2.0, P2.1, P2.3, P2.4, P2.5 SSOP P3.0~P3.3, P pin P0, P1, P2, P3, P4.0~P pin P0, P1, P2, P3, P4.0~P pin P0, P1, P2, P3, P 配置 I/O MPC82G516A 的所有端口可通过软件个别的 独立的配置为四种之中的一种类型, 基于位位基础, 如表 10-2 所 示 这四种类型有 : 准双向 ( 标准 8051 的 I/O 端口 ) 上拉输出 集电极开路输出和输入( 高阻抗输入 ) 每个端口有两 个模式寄存器来选择每个端口引脚的输出类型 表 10-2 端口配置设定 PxM0.y PxM1.y 端口 0 0 准双向端口 0 1 上拉输出 1 0 输入 ( 高阻抗 ) 1 1 集电极开路输出 这里 x=0~4( 端口号 ),y=0~7( 端口引脚号 ) 寄存器 PxM0 和 PxM1 列表如下 P0M0 ( 地址 =93H, 端口 0 模式寄存器 0, 复位值 =0000,0000B) P0M0.7 P0M0.6 P0M0.5 P0M0.4 P0M0.3 P0M0.2 P0M0.1 P0M0.0 P0M1 ( 地址 =94H, 端口 0 模式寄存器 1, 复位值 =0000,0000B) P0M1.7 P0M1.6 P0M1.5 P0M1.4 P0M1.3 P0M1.2 P0M1.1 P0M1.0 P1M0 ( 地址 =91H, 端口 1 模式寄存器 0, 复位值 =0000,0000B) P1M0.7 P1M0.6 P1M0.5 P1M0.4 P1M0.3 P1M0.2 P1M0.1 P1M0.0 P1M1 ( 地址 =92H, 端口 1 模式寄存器 1, 复位值 =0000,0000B) P1M1.7 P1M1.6 P1M1.5 P1M1.4 P1M1.3 P1M1.2 P1M1.1 P1M1.0 P2M0 ( 地址 =95H, 端口 2 模式寄存器 0, 复位值 =0000,0000B) P2M0.7 P2M0.6 P2M0.5 P2M0.4 P2M0.3 P2M0.2 P2M0.1 P2M0.0 MEGAWIN MPC82G516A Data Sheet 36

38 P2M1 ( 地址 =96H, 端口 2 模式寄存器 1, 复位值 =0000,0000B) P2M1.7 P2M1.6 P2M1.5 P2M1.4 P2M1.3 P2M1.2 P2M1.1 P2M1.0 P3M0 ( 地址 =B1H, 端口 3 模式寄存器 0, 复位值 =0000,0000B) P3M0.7 P3M0.6 P3M0.5 P3M0.4 P3M0.3 P3M0.2 P3M0.1 P3M0.0 P3M1 ( 地址 =B2H, 端口 3 模式寄存器 1, 复位值 =0000,0000B) P3M1.7 P3M1.6 P3M1.5 P3M1.4 P3M1.3 P3M1.2 P3M1.1 P3M1.0 P4M0 ( 地址 =B3H, 端口 4 模式寄存器 0, 复位值 =0000,0000B) P4M0.7 P4M0.6 P4M0.5 P4M0.4 P4M0.3 P4M0.2 P4M0.1 P4M0.0 P4M1 ( 地址 =B4H, 端口 4 模式寄存器 1, 复位值 =0000,0000B) P4M1.7 P4M1.6 P4M1.5 P4M1.4 P4M1.3 P4M1.2 P4M1.1 P4M 准双向 I/O 端口引脚工作在准双向模式时与标准 8051 端口引脚类似 一个准双向端口用作输入和输出时不需要对端口重新配置 这种可能是因为端口输出逻辑高时, 弱上拉, 允许外部器件拉低引脚 当输出低时, 强的驱动能力可吸收大电流 在准双向输出时有三个上拉晶体管用于不同的目的 其中的一种上拉, 称为微上拉, 只要端口寄存器的引脚包含逻辑 1 则打开 如果引脚悬空, 则这种非常弱上拉提供一个非常小的电流将引脚拉高 第二种上拉称为 弱上拉, 端口寄存器的引脚包含逻辑 1 时且引脚自身也在逻辑电平时打开 这种上拉对准双向引脚提供主要的电流源输出为 1 如果引脚被外部器件拉低, 这个弱上拉关闭, 只剩一个微上拉 为了在这种条件下将引脚拉低, 外部器件不得不吸收超过弱上拉功率的电流, 且拉低引脚在输入的极限电压之下 第三种上拉称为 强 上拉 这种上拉用于加速准双向端口的上升沿跳变, 当端口寄存器从逻辑 0 到逻辑 1 时 当这发生时, 强上拉打开两个 CPU 时钟, 快速将端口引脚拉高 准双向端口配置如图 10-1 所示 准双向端口有施密特触发器来抑制输入噪音 图 10-1 准双向 I/O 37 MPC82G516A Data Sheet MEGAWIN

39 开漏输出配置为开漏输出时, 当端口寄存器包含逻辑 0 时, 关闭所有上拉, 只有端口引脚的下拉晶体管 使用这个功能配置应用, 端口引脚必须有外部上拉, 典型的将电阻接到 VDD 这个模式的下拉和准双向端口的模式相同 另外, 在这种配置下的端口输入引脚的输入路径和准双向模式相同 开漏输出端口配置如图 10-2 所示 开漏输入也有一个施密特触发器用来抑制噪音 图 10-2 开漏输出 输入口 ( 高阻输入 ) 输入配置一个施密特触发器但是在引脚上没有任何上拉电阻, 如下图 10-3 所示 图 10-3 输入 推挽输出推挽输出配置有下拉, 和开漏输出 准双向输出模式有着相同的结构, 当端口寄存器包含逻辑 1 时提供一个连续的强上拉 当一个端口输出需要更大的电流时可配置为推挽输出模式 另外, 在这种配置下的端口输入引脚和输入路径的准双向模式的配置相同 上拉端口配置如图 10-4 所示 上拉端口引脚也包含一个输入施密特触发器用来降低噪音 图 10-4 上拉输出 MEGAWIN MPC82G516A Data Sheet 38

40 10.2 I/O 口用作 ADC 功能 端口 1 用作于可选择功能的模拟输入 为了获得最好的模拟性能, 引脚用作 ADC 时应将数字输出禁止 这可能 通过将引脚配置为输入模式来实现 10.3 I/O 口注意事项 MPC82G516A 的每个输出都设计有吸收典型 LED 的驱动电流能力, 然而, 所有端口的总输出最大电流不能超 过极限值 请参考 29 章 : 绝对最大值 39 MPC82G516A Data Sheet MEGAWIN

41 11 定时器 / 计数器 MPC82G516A 有三个 16 位定时器 / 计数器 : 定时器 0 定时器 1 和定时器 2 每一个包含两个 8 位寄存器,THx 和 TLx( 这里,x=0 1 或 2) 所有这些操作既可配置为定时器或事件记数器 定时器功能,TLx 寄存器每 12 个时钟周期或 1 个周期加 1, 通过软件来选择 因此可认为为计数器时钟周期 每记 12 个时钟周期, 计数速率达 1/12 的晶振频率 计数器功能, 下降沿时寄存器加 1, 根据外部输入引脚 T0 T1 或 T2 在这些功能中, 每个时钟周期对外部输入信号 (T0 引脚和 T1 引脚 ) 进行采样, 每 12 个时钟周期对 T2 引脚采样 当采样信号出现一个高电平接着一个低电平, 计数加 1 当检测到跳变时新计数值出现在寄存器中 对定时器 0 和定时器 1 来说, 需要用两个时钟周期来识别下降沿跳变, 最大的计数速率为 1/2 的晶振频率 ; 对于定时器 2, 需要用 24 个时钟周期来识别下降沿跳变, 最大计数速率为 1/24 的晶振频率 外部输入信号没有严格的周期限制, 但是要确保在电平改变前至少有一次采样, 对定时器 0 和定时器 1 来说信号应该至少保持一个时钟, 定时器 2 需要 12 个时钟周期 对定时器 0 和定时器 2 来说, 除了标准 8051 定时器的功能之外, 添加了一些新的特征 下面的子章节将详细描述这些定时器 / 计数器 11.1 定时器 0 和定时器 1 定时器或计数器功能通过专用寄存器 TMOD 的控制位 C/T 来选择, 如下所示 这两个定时器 / 计数器有四种工作模式, 通过 TMOD 的位对 (M1,M0) 来选择 这两个定时器 / 计数器的模式 0 1 和模式 2 是相同的, 模式 3 是不同的 除了 TMOD 之外, 其它专用寄存器 TCON 和 AUXR2 包含几个控制位和状态位与这两个定时也相关, 也如下所示 TMOD ( 地址 =89H, 定时器 / 计数器模式控制位, 复位值 =0000,0000B) 定时器 1 定时器 GATE C/-T M1 M0 GATE C/-T M1 M0 GATE: 当门控位置位时, 只有在 /INT0 或 /INT1 引脚是高电平且 TR0 或 TR1 控制位置位时, 定时器 / 计数器 0 或 1 使能 当门控制位清零时, 只要 TR0 或 TR1 置 1 定时器 0 或 1 使能 C/T: 定时器或计数器选择器 清零为定时器功能 ( 从内部系统时钟输入 ) 置位为计数器功能( 从 T0 或 T1 引脚输入 ) M0 M1 工作模式 位定时器 / 计数器 THx 与 TLx 作为 5 位预分频器 位定时器 / 计数器 THx 与 TLx 串联 ; 没有分步频器 位自动重载定时器 / 计数器 THx 保持一个值, 并在每次溢出时加载到 TLx 1 1 ( 定时器 0)TL0 是一个 8 位定时器 / 计数器并通过标准定时器 0 的控制位控制 TH0 仅仅是一个 8 位定时器通过定时器 1 的控制位控制 1 1 ( 定时器 1) 定时器 / 计数器停止 MEGAWIN MPC82G516A Data Sheet 40

42 TCON ( 地址 =88H, 定时器 / 计数器控制位, 复位值 =0000,0000B) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TF1: 定时器 1 溢出标志位 定时器 / 计数器溢出时由硬件置位 处理器进入中断向量程序由硬件清零 TR1: 定时器 1 运行控制位 通过软件置位 / 清零开启或关闭定时器 / 计数器 1 TF0: 定时器 0 溢出标志位 定时器 / 计数器溢出时由硬件置位 处理器进入中断向量程序由硬件清零 TR0: 定时器 0 运行控制位 通过软件置位 / 清零开启或关闭定时器 / 计数器 0 AUXR2 ( 地址 =A6H, 辅助寄存器 2, 复位值 =0000,0000B) T0X12 T1X12 URM0X6 S2TR S2SMOD S2TX12 S2CKOE T0CKOE T0X12: 当 C/T=0 时, 定时器 0 的时钟源选择 置位选择 Fosc 作为系统时钟源, 清零选择 Fosc/12 作为时钟源 T1X12: 当 C/T=0 时, 定时器 1 的时钟源选择 置位选择 Fosc 作为系统时钟源, 清零选择 Fosc/12 作为时钟源 T0CKOE: 置位 / 清零来使能 / 禁止从 P3.4 输出定时器 0 时钟 四种工作模式在以下的文本中描述 模式 0:13 位定时 / 计数器定时器 0 和定时器 1 的模式 0 看起来像一个 32 预分频的 8 位计数器 且这两个定时器运行模式 0 是相同的 图 11-1 展示模式 0 的运行 在这个模式, 定时器寄存器配置为一个 13 位寄存器 计数器所有位从全 1 翻转到全 0, 置位定时器中断标志位 TFx 当 TRx=1 且 GATE=0 或 /INTx=1, 定时器使能输入计数 ( 置 GATE=1 时通过外部输入 /INTx 控制定时器, 以便脉冲宽度测量 ) TRx 和 TFx 控制位在专用寄存器 TCON GATE 位在 TMOD 有两个不同的 GATE 位, 一个是定时器 0(TMOD.7) 另一个是定时器 0(TMOD.3) 13 位寄存器包含 THx 的所有 8 位和 TLx 的低 5 位 TLx 的高 3 位是不确定的可以忽略 置位运行标志 (TRx) 不会清除寄存器 意思是说用户在开始计数前应对 THx 和 TLx 进行初始化 图 定时器 1 工作在模式 0: 13 位定时器 / 计数器 41 MPC82G516A Data Sheet MEGAWIN

43 模式 1:16 位定时 / 计数器除了定时器的寄存器使用全部 16 位外, 模式 1 和模式 0 是相同的 参考图 11-2 在这个模式,THx 和 TLx 串联, 没有预分频 图 定时器 1 的模式 1:16 位定时器 / 计数器 模式 2:8 位自动加载模式 2 配置定时器寄存器为一个自动加载的 8 位计数器 (TLx), 如图 11-3 所示 TLx 溢出不仅置位 TFx, 而且也将 THx 的内容加载到 TLx,THx 内容由软件预置, 加载不会改变 THx 的值 图 定时器 1 的模式 2:8 位自动加载 MEGAWIN MPC82G516A Data Sheet 42

44 模式 3: 两个 8 位定时 / 计数器定时器 1 在模式 3 保持计数值 效果和设置 TR1=0 一样 定时器 0 在模式 3 建立 TL0 和 TH0 两个独立的计数器 定时器 0 的模式 3 的逻辑图如图 11-4 所示 TL0 使用定时器 0 控制位 :C/T GATE TR0 /INT0 和 TF0 TH0 锁定为定时器功能 ( 每个机器周期计数 ) 且接替定时器 1 来使用 TR1 和 TF1, 因从 TH0 控制定时器 1 中断 模式 3 提供当有额外的需求应用时的一个 8 位时器或计数器时 当定时器 0 在模式 3 时, 定时器 1 可打开或关闭并切换到脱离, 进入到自己的模式 3, 或仍然可用作为串行口的波特率发生器, 或者不需要中断的其它应用 图 11-4 定时器 0 工作在模式 3: 两个 8 位定时 / 计数器 43 MPC82G516A Data Sheet MEGAWIN

45 定时器 0 的可编程时钟输出模式 使用定时器 0 的可编程时钟输出模式, 则从引脚 T0CK0(P3.4) 输出占空比为 50% 的时钟周期 输出频率根据系统 时钟频率 (Fosc) 和加载值到 TH0 寄存器, 公式如下所示 定时器 0 的可编程时钟输出模式编程步骤如下 : 在 AUXR2 寄存器置位 T0CKOE 清除定时器 0 的 C/T 位在 TMOD 寄存器 清除定时器 0 的 GATE 位在 TMOD 寄存器 从公式计算出 8 位自动加载值并输入到 TH0 寄存器 在 TL0 寄存器输入一个 8 位初始值 可以和自动加载值相同 通过设置 TCON 寄存器的 TR0 位启动定时器 图 定时器 0 的可编程时钟输出模式 MEGAWIN MPC82G516A Data Sheet 44

46 11.2 定时器 2 定时器 2 是一个 16 位定时器 / 计数器, 既可作为一个定时器也可以作为一个事件计数器, 通过专用寄存器 T2CON 的 C/T2 位来选择 定时器 2 有四种工作模式 : 捕获 自动加载 ( 向上或向下计数 ) 波特率发生器和可编程时钟输出, 通过专用寄存器 T2CON 和 T2MOD 来选择, 如下所示 T2CON ( 地址 =C8H, 定时器 / 计数器 2 控制寄存器, 复位值 =0000,0000B) TF2 EXF2 RCLK TCLK EXEN2 TR2 C/-T2 CP/-RL2 TF2: 定时器 2 溢出标志位, 定时器 2 溢出置位且必须通过软件清零 当 RCLK=1 或 TCLK=1 时,TF2 不会被置位 EXF2: 定时器 2 外部标志位, 在 EXEN2=1 时, 且在 T2EX 上有负跳变时加载或捕获将引起置位 当时器 2 中断使能时,EXF2=1 时将引起 CPU 进入定时器 2 中断向量程序 EXF2 必须通过软件清零 EXF2 在向上 / 向下计数器模式不会产生中断 RCLK: 接收时钟控制位 置位时, 串行口使用定时器 2 溢出脉冲来接收, 在模式 1 和模式 3 时 RCLK=0 使用定时器 1 溢出脉冲来产生接收时钟 TCLK: 传送时钟控制位 置位时, 串行口使用定时器 2 溢出脉冲来发送, 在模式 1 和模式 3 时 TCLK=0 使用定时器 1 溢出脉冲来产生发送时钟 EXEN2: 定时器 2 外部使能位 置位时, 如果定时器 2 没有用作串行口时钟, 在 T2EX 的负跳变时捕获或加载并作为结果 TR2: 定时器 2 的启始和停止位 逻辑 1 时启动定时器 C/T2: 定时器或计数器选择 清零时, 选择内部定时器 置位时, 选择外部事件计数器 ( 下降沿触发 ) CP/RL2: 捕获 / 加载控制位 置位时, 如果 EXEN2=1, 在 T2EX 的负跳变时将产生捕获 清零时, 如果 EXEN2=1, 定时器 2 溢出或 T2EX 上有负跳变时将产生自动加载 当 RCLK=1 或 TCLK=1 时, 这一位被忽略并强制加载在定时器 2 溢出时 T2MOD ( 地址 =C9H, 定时器 / 计数器 2 控制寄存器, 复位值 =xxxx,xx00b) T2OE DCEN T2OE: 定时器 2 时钟输出使能位, 置位使能清零禁止 DCEN: 定时器 2 向下计数使能位, 置位使能清零禁止 表 定时器 2 运行模式 RCLK + CP/-RL2 TR2 DCEN T2OE Mode x x 0 x 0 定时器关闭 1 x 波特率发生器 位捕获 位自动加载 ( 仅向上计数 ) 位自动加载 ( 向上计数或向下计数 ) 可编程时钟输出 45 MPC82G516A Data Sheet MEGAWIN

47 捕获模式在捕获模式, 有两个选项通过 T2CON 中的 EXEN2 位来选择 如果 EXEN2=0, 定时器 2 做为一个 16 位的定时器或计数器, 向上溢出, 定时器 2 溢出时 TF2 置位 这位可以用来产生中断 ( 通过使能 IE 寄存器中的定时器 2 中断位 ) 如果 EXEN2=1, 定时器 2 仍然向上, 当外部输入信号 T2EX 由下降沿跳变时引起定时器 2 的寄存器 TH2 和 TL2 分别对应的捕获到 RCAP2H 和 RCAP2L 另外,T2EX 的跳变引起 T2CON 的 EXF2 置位, 且 EXF2 位 ( 象 TF2) 将产生一个中断 ( 中断向量的位置和定时器 2 溢出中断位置相同 ) 捕获模式图解如图 11-6 ( 在这个模式 TL2 和 TH2 没有加载值 直到从 T2EX 捕获事件发生, 在 T2EX 引脚跳变或 Fosc/12 的脉冲产生时计数器仍然保持计数 ) 图 定时器 2 捕获模式 自动加载模式 ( 加计数或减计数 ) 在 16 位自动加载模式, 定时器既可配置成定时器也可以配置成计数器 (C/T2 在 T2CON 寄存器 ), 接着编程向上或 向下计数 计数方向由 T2MOD 寄存器的 DCEN 位来决定 ( 向下计数使能 ) 在复位之后,DCEN=0 意思是默认为定时 器 2 向上计数 如果 DCEN 置位, 定时器 2 向上或向下计数由 T2EX 引脚的值来决定 图 11-7 示 DCEN=0, 自动使能定时器 2 向上计数 这个模式有两个选项可以通过 T2CON 寄存器的 EXEN2 位来 选择 如果 EXEN2=0, 定时器向上计数 0XFFFF 接着计数将置位 TF2( 溢出标志位 ) 这将引起定时器 2 的寄存器将 RCAP2L 和 RCAP2H 的值加载 RCAP2L 和 RCAP2H 的值由软件预置 如果 EXEN2=1, 一个溢出或在输入 T2EX 的 一个负跳变将触发加载 16 位值 跳变将置位 EXF2 位 当 TF2 或 EXF2 置 1 时, 如果定时器 2 中断使能, 将产生中断 图 11-8 示 DCEN=1, 使能定时器 2 向上或向下计数 这种模式下允许 T2EX 引脚控制计数方向 当 T2EX 的引脚 为逻辑 1 时定时器 2 向上计数 定时器 2 在 0FFFFH 时溢出并置位 TF2 标志位, 如果中断使能将产生中断 溢出也将 引起 RCAP2L 和 RCAP2H 的 16 位值加载到定时器的寄存器 TL2 和 TH2 当 T2EX 的引脚为逻辑 0 时定时器 2 向下计 数 当 TL2 和 TH2 和存储在 RCAP2L 和 RCAP2H 的值相等时将产生下溢 下溢将置位 TF2 标志位并将 0FFFFH 加载 到定时器的寄存器 TL2 和 TH2 当定时器 2 下溢或上溢时外部标志位 EXF2 将被触发 如果需要 EXF2 可作为 17 位分辨率 EXF2 标志位在这个 模式下不会产生中断 MEGAWIN MPC82G516A Data Sheet 46

48 图 定时器 2 自动加载模式 (DCEN=0) 图 定时器 2 自动加载模式 (DCEN=1) 波特率发生器模式 T2CON 寄存器的 RCLK 和或 RCLK 位允许串行口发送和接收波特率既可源自定时器 1 或定时器 2 当 TCLK=0 时, 定时器 1 作为串行口传送波特率发生器 当 TCLK=1, 定时器 2 作为串行口传送波特率发生器 RCLK 对串行口接收波特率有相同的功能 有了这两位, 串行口可能有不同的接收和发送波特率, 一个通过定时器 1 来产生, 另一个通过定时器 2 来产生 图 11-9 示定时器 2 在波特率发生器模式 波特率发生器模式像自动加载模式, 翻转时将把寄存器 RCAP2H 和 RCAP2L 的值加载到定时器 2 的寄存器,RCAP2H 和 RCAP2L 的值由软件预置 模式 1 和 3 的波特率由定时器 2 的溢出速率决定定时时 2溢出速率模式 1和模式 3波特率 MPC82G516A Data Sheet MEGAWIN

49 定时器既可配置为 定时器 或 计数器 工作方式 在许多应用场合, 配置成 定时器 工作方式 (C/T2=0) 当定时器 2 作为波特率发生器时定时器操作是不同的 通常, 作为一个定时器将在 1/12 的系统时钟频率加 1 作为一个波特率发生器, 系统时钟频率的 1/2 加 1 波特 率计算公式如下 : Fosc 模式 1和模式 3的波特率 x 2x(65536 [ RCAP2H, RCAP2L] 这里 :Fosc 是系统时钟 RCAP2H,RCAP2L 的内容为一个 16 位的无符号数, 可由如下计算出 : Fosc [ RCAP2H, RCAP2L] x 波特率 定时器 2 作为一个波特率发生器模式如图 11-9 所示, 只有在 T2CON 寄存器的位 RCLK 和 / 或 TCLK=1 为 1 时有 效 注意 TH2 翻转不会置位 TF2, 也不会产生中断 因而, 当定进器 2 在波特率发生器模式时定时器中断不需要禁止 如果 EXEN2(T2 外部中断使能位 ) 置位,T2EX( 定时器 / 计数器 2 触发输入 ) 的负跳变将置位 EXF2(T2 外部标志位 ), 但是 不会引起从 (RCAP2H,RCAP2L) 到 (TH2,TL2 的 ) 重载 因此, 当定时器 2 作为波特率发生器时, 如果需要的话,T2EX 也可以作为传统的外部中断 当定时器 2 在波特率发生器模式时, 不能试着去读 TH2 和 TL2 作为一个波特率发生器, 定时器 2 在 1/2 的系统时钟频率或从 T2 引脚的异步时增 1; 在这些条件下, 读写操作将会不正确 寄存器 RCAP2 可以读, 但是不可以写, 因为写和重载重叠并引起写和 / 或加载错误 在进入定时器 2 或 RCAP2 寄存器时定时器不可以关闭 ( 清零 TR2) 1 16 图 定时器 2 的波特率发生器模式 MEGAWIN MPC82G516A Data Sheet 48

50 表 11-2 和表 11-3 列出不同的经常使用的波特率和如何从定时器 2 获得 表 定时器 2 Fosc= MHz Baud Rate Timer 2 in Baud Rate Generator Mode [RCAP2H, RCAP2L] RCAP2H RCAP2L FBH 80H FDH C0H FEH 80H FEH E0H FFH 70H FFH A0H FFH B8H FFH D0H FFH DCH FFH EEH FFH F4H FFH FAH FFH FDH 表 定时器 2 Fosc= MHz 波特率 定时器 2 在波特率发生器模式 [RCAP2H, RCAP2L] RCAP2H RCAP2L F7H 00H FBH 80H FDH C0H FEH 80H FEH E0H FFH 70H FFH A0H FFH B8H FFH D0H FFH DCH FFH EEH FFH F4H FFH FAH 49 MPC82G516A Data Sheet MEGAWIN

51 定时器 2 的可编程时钟输出模式 使用定时器 2 的可编程时钟输出模式, 则从引脚 T2CKO(P1.0) 输出占空比为 50% 的时钟周期 输出频率由系统时钟频率 (Fosc) 和在 RCAP2H 和 RCAP2L 寄存器的重载值来决定, 如下公式 : 时钟输出频率 Fosc 4x(65536 [ RCAP2H, RCAP2L] 这里 [RCAP2H,RCAP2L]=RCAP2H 和 RCAP2L 内容产生的一个 16 位无符号数 定时器 2 的可编程时钟输出模式编程步骤如下 : 置位 T2MOD 寄存器的 T2OE 位 清除 T2CON 寄存器的 C/T2 位 从公式计算出 16 位加载值并输入到 RCAP2H 和 RCAP2L 寄存器 在 TH2 和 TL2 输入一个 16 位初始值 可以和重载值相等 设置 T2CON 的 TR2 控制位开启动定时器 在时钟输出模式, 定时器 2 翻转不会产生中断, 这和用作波特率发生器时相似 可同时使用定时器 2 作为一个波特率发生器和时钟发生器 注意, 波特率和时钟输出都由定时器 2 的溢出速率来决定 图 定时器 2 的可编程时钟输出模式 MEGAWIN MPC82G516A Data Sheet 50

52 12 串行口 12.1 标准 UART 一个全双工的串行口, 意思是可以同时发送和接收数据 它也有一个接收缓冲, 意味着在前一个接收到的字节没有从寄存器读出前, 就可以开始接收第二个字节 ( 然而, 如果第一个字节在第二个字节接收完成前仍然没有被读出, 则其中的一个字节将会丢失 ) 串行口的接收和发送寄存器都通过特殊寄存器 SBUF 来访问 写到 SBUF 加载到传送寄存器, 当从 SBUF 读时是通过一个物理上独立分离的接收寄存器 串行口可以工作在四种模式 : 模式 0 提供同步通讯同时模式 1 2 和模式 3 提供异步通讯 异步通讯作为一个全双工的通用异步收发器 (UART), 可以同时发送和接收并使用不同的波特率 模式 0:8 位数据 ( 低位先出 ) 通过 RXD 传送和接收 TXD 总是作为输出移位时钟 波特率固定为系统时钟频率的十二分之一, 也就是 Fosc/12 模式 1:10 位通过 TXD 传送或通过 RXD 接收, 一个起始位 (0),8 个数据位 ( 低位优先 ), 和一个停止位 (1) 在接收时, 停止位进入到专用寄存器 (SCON) 的 RB8 波特率是可变的 模式 2:11 位通过 TXD 传送或通过 RXD 接收, 起始位 (0),8 个数据位 ( 低位优先 ), 一个可编程的第九个数据位和一个停止位 (1) 在传送时, 第 9 个数据位 (TB8 在 SCON 寄存器 ) 可以分配为 0 或者 1 例如, 奇偶检验位 (P, 在 PSW 寄存器 ) 可以移到 TB8 中 在接收时, 第九个数据位到 SCON 寄存器中的 RB8, 同时忽略停止位 波特率可以配置为 1/32 或 1/64 的系统时钟频率 也就是 Fosc/64 或 Fosc/32 模式 3:11 位通过 TXD 传送或通过 RXD 接收, 起始位 (0),8 个数据位 ( 低位优先 ), 一个可编程的第九个数据位和一个停止位 (1) 实际上, 模式 3 和模式 2 除了波特率不相同之外其它的都相同 模式 3 的波特率是可变的 在四种模式中, 使用 SBUF 作为一个目的寄存器, 可以通过任何指令发起传输 在模式 0, 当 RI=0 且 REN=1 时启动接收 在其它模式, 在 REN=1 时, 通过收到起始位启动接收 多处理器通讯模式 2 和 3 在用作多处理器通讯时有特殊的规定 在这两种模式, 接收 9 个数据位 第 9 个数据位存入 RB8, 接着进来一个停止位 端口可以编程为在 RB8=1 时, 当收到停止位后, 串口中断将激活 这种特征通过设置 SM2 位 ( 在 SCON 寄存器中 ) 来使能 这种方式用于多处理器系统如下 : 当主处理器想传送一个数据块到多个从机中的某一个时, 首先传送想要传送的目标地址标识符的地址 地址字节与数据字节的区别在于, 在地址字节中第 9 位为 1, 数据字节中为 0 当 SM2=1 时, 收到一个数据字节将不会产生中断 然而一个地址字节将引发所有从机中断 因而所有的从机可以检测收到的字节是否是自己的地址 从机地址将清除 SM2 位并准备好接收即将进来的所有数据 从机地址不匹配的将保持 SM2 置位, 并继续他们的工作, 忽略进来的数据字节 SM2 在模式 0 和模式 1 没有影响, 但是可以用来检测停止位的有效性 在接收模式 1 中, 如果 SM2=1, 除非一个收到一个有效的停止位否则接收中断不会被激活 串行口 (UART) 配置寄存器串行口的控制位和状态位在专用寄存器 SCON 这个寄存器不仅包含模式选择位, 也包含用来传送和接收 (TB8 和 RB8) 的第 9 个数据位, 和串行中断位 (TI 和 RI) 51 MPC82G516A Data Sheet MEGAWIN

53 SCON ( 地址 =98H, 串行口控制寄存器, 复位值 =0000,0000B) SM0/FE SM1 SM2 REN TB8 RB8 TI RI FE: 帧错误位 当接收器检测到一个无效的停止位时这位置 1 当收到有效的帧时 FE 不会自动清除, 但是可以用软件清除 SMOD0 位 ( 在 PCON 寄存器 ) 必须置 1 来使能访问 FE 位 SM0: 串行口模式位 0(SMOD0 必须为 0 来访问 SM0 位 ) SM1: 串行口模式位 1 SM0 SM1 模式描述波特率 移位寄存器 Fosc/12 或 Fosc/ 位 UART 可变的 位 UART Fosc/64 或 Fosc/ 位 UART 可变的这里,Fosc 是系统时钟频率 SM2: 在模式 2 和 3 时使能地址自动识别 如果 SM2=1 那么 RI 将不能设置, 除非接收到的第 9 位数据 (RB8) 为 1, 指示是一个地址, 并且一个接收字节给出定的或者是一个广播地址 在模式 1, 如果 SM=1 那么 RI 将不能被激活除非收到一个有效的停止位, 并且接收到的字节是给定的或者是一个广播地址 在模式 0,SM 可以为 0 REN: 允许接收位 通过软件置 1 接收使能, 软件清零将禁止接收 TB8: 在模式 2 和 3 时第 9 位数据被传送, 根据需要通过软件置位或清零 RB8: 在模式 2 和 3 时收到第 9 位数据 在模式 1, 如果 SM2=0,RB8 是收到数据的停止位 在模式 0,RB8 没有使用 TI: 发送中断标志 在模式 0 时, 在第 8 位个数据位时序后由硬件置位 或者在其它模式下, 在发送停止位前 在任何串行传输前, 必须由软件清除 RI: 接收中断标志 在模式 0 时, 在第 8 位个数据位时序后由硬件置位 或者在其它模式下, 在传送的中途改变 在任何串行传输前, 必须由软件清除 PCON ( 地址 =87H, 电源控制寄存器, 复位值 =00xx,0000B (or 00x1,0000B 在上电复位后 )) SMOD SMOD0 - POF GF1 GF0 PD IDL SMOD0: 清零时 SCON.7 的功能为 SM0, 置 1 时 SCON.7 的功能为 FE AUXR2 ( 地址 =A6H, 辅助寄存器 2, 复位值 =00x0,0000B) T0X12 T1X12 URM0X6 S2TR S2SMOD S2TX12 S2CKOE T0CKOE T1X12: 当 C/-T=0 时, 选择定时器 1 为时钟源 置位选择 Fosc 作为时钟源, 清零时选择 Fosc/12 作为时钟源 URM0X6: 置位时选择 Fosc/2 作为 UART 模式 0 的波特率 清零时选择 Fosc/12 作为 UART 模式 0 的波特率 波特率在模式 0 的波特率可以为 Fosc/12 或 Fosc/2, 根据控制位 URM0X6( 在 AUXR2 寄存器 ) 这里,Fosc 是系统时钟频率 模式 1 和 3 的波特率由定时器 1 和定时器 2 的溢出速率来决定的 模式 2 的波特率由 PCON 寄存器的 SMOD 位来决定 如果 SMOD=0( 复位值 ), 波特率是 Fosc/64; 如果 SMOD=1, 波特率是 Fosc/32, 如下所示 MEGAWIN MPC82G516A Data Sheet 52

54 模式 2波特率 2 64 SMOD xfosc 使用定时器 1 产生波特率 定时器 1 作为波特率发生器 (T2CON.RCLK=0,T2CON.TCLK=0) 时, 模式 1 和模式 3 的波特率由定时器 1 溢中速 率和 SMOD 的值来决定, 如下所示 : 在这个应用中可以禁止定时器 1 中断 定时器自身可配置为 定时器 或配置为 计数器, 或在三种运行模式中的一种 在多数典型应该中, 被配置为 定时器 运行, 并且在自动加载模式 (TMOD 的高四位等于 0010B) 在那种情况下波特率由下面的公式给出 : 2 模式 1, 模式 3波特率 32 SMOD Fosc x nx(256 TH1) 使用定时器 1 中断使能可实现非常低的波特率, 配置定时器作为一个 16 位定时器 (TMOD 的高 4 位为 0001B), 使用定时器 1 中断并且用软件加载 表 12-1 和表 12-2 列出不同的经常使用的波特率和如何从定时器 1 获得 8 位自动加载模式 表 12-1 定时器 1 TH1, 自动加载值 波特率 T1X12=0 T1X12=1 SMOD=0 SMOD=1 SMOD=0 SMOD= MPC82G516A Data Sheet MEGAWIN

55 表 定时器 1 Fosc= MHz TH1, 自动加载值 波特率 T1X12=0 T1X12=1 SMOD=0 SMOD=1 SMOD=0 SMOD= MEGAWIN MPC82G516A Data Sheet 54

56 模式 0 的扩展串行数据通过 RXD 读入和输出,TXD 输出移位时钟 接收和发送 8 位数据 :8 个数据位 ( 低位优先 ) 波特率固定为系统时钟的 1/12 图 12-1 显示了串口模式 0 的简化功能框图及相关时序 使用 SBUF 作为一个目的寄存器可通过任何指令来启动传输 写到 SBUF 信号也加载了 1 到第 9 个位置到传送寄存器, 并且通知 TX 控制块启动一个传输 内部时序在 写到 SBUF 的适当时机激活发送 发送使能输出到移位寄存器, 选择输出功能线 P3.0, 也可以使能移位时钟选择输出功能线 P3.1 移位时钟是 6 个低时钟和 6 个高时钟 每 12 个时钟周期激活发送, 移位传送的内容移出右边的一位 数据位从右边移出, 左边补零 当数据字节的最高位在移位寄存器输出位置时, 接着 1 被加载到第 9 位, 在最高位的左侧, 左边的所有位包含零 TX 控制块的条件标志位在最后一次移位后释放发送并置位 TI 所有的这些事件发生在 写入到 SBUF 的第 10 位之后 当 REN=1 和 RI=0 时接收启动 在下一个指令周期,RX 控制单元写 到接收移位寄存器, 且在下一个时钟相位激活接收 接收使能移位时钟选择输出功能 P3.1 引脚 每 6 个时钟周期产生一个移位时钟 当接收激活时, 移位寄存器的内容向左移动一位 数据从右到左在 P3.0 脚采样 数据位从向边移入,1 位从左边移出 当 0 开始加载到最右边位置到达移位寄存器的最左边位置时, 状态 RX 控制块做最后一次移位并加载 SBUF 在写入 SCON 的第 10 位时序后清除 RI, 接收位 RI 置 模式 1 的扩展通过 TXD 发送 10 位数据或通过 RXD 接收 10 位数据 : 一个起始位 (0),8 个数据位 ( 低位先出 ), 和一个停止位 (1) 在接收时, 停止位进入 SCON 的 RB8, 波特率由定时器 1 或定时器 2 的溢出速率来决定 图 12-2 所示串行口在模式 1 的一个简单的功能图, 和传送和接收的相关时序 使用 SBUF 作为目的寄存器可以使用任何指令来启动传输 写到 SBUF 信号也加载一个 1 到移位寄存器的第 9 位和发送控制单元的标志位, 以发出一个传输请求 真正的传输开始是在指令周期随着下一个除 16 位计数的翻转 ( 因而, 位时序与 16 分频计数器同步, 不是到 写到 SBUF 信号 ) 起始位在 TXD 时, 传输开始被激活发送 一位时序后, 数据激活, 使能输出传送移位寄存器到 TXD 第一个移位脉冲在一位之后 数据位从右移出,0 从左边移入 当数据位的最高位在移位寄存器的输出位置时, 接着 1 加载到第 9 个位置,??? 所有位到左边包括 0 这个条件标志当检测到在 RXD 有 1 到 0 的跳变时接收开始 为此 RXD 在一位采样 16 次, 只要波特率建立了 当检测的一个传输时,16 分频计数器立即复位, 且 1FFH 写进输入移位寄存器中 计数器的 16 种状态分频成 16 位时序 接收器在第 8 9 和第 10 个采样点采样 RXD 引脚的值 在三个采样中有至少两个是逻辑 1, 则为噪声而拒绝 如果接收值的第一个位时序不为 0, 接收电路复位并继续检测下一个 1 到 0 的转换 这提供拒绝假的起始位 如果一个有效的起始位, 将移进移位寄存器, 在帧接收完成后接收复位 55 MPC82G516A Data Sheet MEGAWIN

57 数据位从右边进入,1 位从左边移出 当起始位到达移位寄存器的最左边位置时 ( 在模式 1 是一个 9 位寄存器 ), 在进行最后一个移位时,RX 控制块的标志加载到 SBUF 和 RB8, 并置位 RI 在最后一个移位脉冲产生时, 只要下面的条件满足时, 信号加载 SBUF 和 RB8 并置位 RI, 将被产生 1. RI=0, 且 2. SM2=0, 或接收数据位的第 9 位等于 1 如果有一个条件不满足, 接收帧将彻底丢失, 且 RI 不会置位 如果所有条件都满足, 接收的第 9 个数据位进入 RB8, 且前 8 个数据位进入到 SBUF 一个位时序后, 不论上述条件是否满足, 接收单元继续在 RXD 输入引脚检测 1 到 0 的转换 模式 2 和模式 3 的扩展通过 TXD 传送 11 位或通过 RXD 接收 16 位 : 一个起始位 (0),8 个数据位 ( 低位优先 ), 一个可编程的第 9 个数据位和一个停止位 (1) 在传送时, 数据的第 9 位 (TB8) 可分配为 0 或 1 在接收时, 数据的第 9 位将进入到 SCON 的 RB8 在模式 2 波特率可编程为 1/32 或 1/64 的系统时钟频率 模式 3 可以产生可以从定时器 1 或定时器 2 产生可变的波特率 图 12-3 和图 12-4 展示模式 2 和模式 3 的串口功能图 接收部分和模式 1 相同 与模式 1 传送部分不同的只有传送寄存器的第 9 位 使用 SBUF 作为目的寄存器时可通过任何指令来启动传送 写到 SBUF 信号也加载 TB8 到传送移位寄存器的第 9 位, 且 TX 控制单元的标志请求一个传送 在 16 分频计数器的下一次翻转时传送开始?? 激活发送开始传送, 并将起始位放到 TXD 一位时序后, 数据激活, 使能传送移位寄存器输出到 TXD 第一个移位脉冲发生在第一个移位脉冲之后 第 1 个移位时钟 1( 停止位 ) 进入到移位寄存器的第 9 位 此后, 只有 0 移入 因此, 数据位向右移出,0 随着时钟从左边移入 当 TB8 是移位寄存器的输出位置时, 接着停止位左移到 TB8, 且所有位包括零? 在 RXD 引脚检测到下降沿时接收开始 只要波特率建立,RXD 以 16 倍的速率采样 当检测到一个传送时,16 分频计数器立即复位,1FFH 写入到移位寄存器 计数器状态的第 8 9 和第 10 个位时序采样 RXD 引脚的值, 在接收值的三个采样中至少有两个为逻辑 1 如果在第 1 个位时序接收的值不为 0, 则接收电路立即复位并且继续检测下一个 1 到 0 的转换 如果一个有效的起始位被发现, 将移进移位寄存器且接收帧将继续 数据位从右边进入,1 位从左边移出 当起始位到达移位寄存器的最左边位置时 ( 在模式 2 和模式 3 是一个 9 位寄存器 ), 在进行最后一个移位时,RX 控制块的标志加载到 SBUF 和 RB8, 并置位 RI 在最后一个移位脉冲产生时, 只要下面的条件满足时, 信号加载 SBUF 和 RB8 并置位 RI, 将被产生 3. RI=0, 且 4. SM2=0, 或接收数据位的第 9 位等于 1 如果有一个条件不满足, 接收帧将彻底的丢失, 且 RI 不会置位 如果所有条件都满足, 接收的第 9 个数据位进入 RB8, 且前 8 个数据位进入到 SBUF 一个位时序后, 不论上述条件是否满足, 接收单元继续在 RXD 输入引脚检测 1 到 0 的转换 MEGAWIN MPC82G516A Data Sheet 56

58 图 12-1 串行口模式 1 57 MPC82G516A Data Sheet MEGAWIN

59 图 12-2 串行口模式 1 MEGAWIN MPC82G516A Data Sheet 58

60 图 12-3 串行口模式 2 59 MPC82G516A Data Sheet MEGAWIN

61 图 12-4 串行口模式 3 MEGAWIN MPC82G516A Data Sheet 60

62 12.2 扩展的 UART 功能 除了支持标准操作外, 该 UART 还支持通过检查是否丢失停止位来进行帧错误检测, 和自动地址识别功能 帧错误检测 开启帧错误检测功能后,UART 会在通讯中检测是否丢失停止位, 如果丢失一个停止位, 就设置 SCON 寄存器的 FE 标志位 FE 标志位和 SM0 标志位共享 SCON.7,SMOD0 标志位 (PCON.6) 决定 SCON.7 究竟代表哪个标志, 如果 SMOD0 位 (PCON.6) 置位则 SCON.7 就是 FE 标志,SMOD0 位清零则 SCON.7 就是 SM0 标志 当 SCON.7 代表 FE 时, 只能软件清零 请参考图 图 UART 帧错误检测 自动地址识别 自动地址识别通过硬件比较可以让 UART 识别串行码流中的地址部分, 该功能免去了使用软件识别时需要大量代码的麻烦 该功能通过设定 SCON 的 SM2 位来开启 在 9 位数据 UART 模式下, 即模式 2 和模式 3, 收到特定地址或广播地址时自动置位接收中断 (RI) 标志,9 位模式的第 9 位信息为 1 表明接收的是一个地址而不是数据 自动地址识别功能请参考图 12-6 在 8 位模式, 即模式 1 下, 如果 SM2 置位并且在 8 位地址与给定地址或广播地址核对一致后收到有效停止位则 RI 置位 模式 0 是移位寄存器模式,SM2 被忽略 使用自动地址识别功能可以让一个主机选择性的同一个或多个从机进行通讯, 所有从机可以使用广播地址接收信息 增加了 SADDR 从机地址寄存器和 SADEN 地址掩码寄存器 SADEN 用来定义 SADDR 中的那些位是 无关紧要 的,SADEN 掩码和 SADDR 寄存器进行逻辑与来定义供主机寻址从机的 给定 地址, 该地址让多个从机进行排他性的识别 下面的实例帮助理解这个方案的通用性 : 61 MPC82G516A Data Sheet MEGAWIN

63 从机 0 SADDR = SADEN = 地址 = X0 从机 1 SADDR = SADEN = 地址 = X 上面的例子中 SADDR 是相同的值, 而使用 SADEN 数据来区分两个从机 从机 0 要求第 0 位必须为 0, 并忽略第 1 位的值 ; 从机 1 要求第 1 位必须为 0, 并忽略第 0 位的值 从机 0 的唯一地址是 , 而从机 1 的唯一地址是 , 地址 是可以同时寻找到从机 0 和从机 1 的 下面一个更为复杂的系统可以寻址到从机 1 和从机 2, 而不会寻址到从机 0: 从机 0 SADDR = SADEN = 地址 = XX0 从机 1 SADDR = SADEN = 地址 = X0X 从机 2 SADDR = SADEN = 地址 = XX 上面的例子中,3 个从机的低 3 位地址不一样, 从机 0 要求第 0 位必须为 0, 可以唯一寻址从机 0; 从机 1 要求第 1 位必须为 0, 可以唯一寻址从机 1; 从机 2 要求第 2 位必须为 0, 它的唯一地址是 为了寻址到从机 0 和从机 1 而不会寻址到从机 2, 可以使用地址 , 因为这个地址第 2 位是 1 每个从机的广播地址 SADDR 和 SADEN 的逻辑或,0 按不需关心处理 大部分情况下, 使用 FF 作为广播地址 复位后,SADDR(SFR 地址 0A9H) 和 SADEN(SFR 地址 0B9H) 值均为 0, 这样可以接收所有地址的信息, 也就有效的禁用了自动地址识别模式, 从而使该处理器运行于标准 80C51 的 UART 下 图 UART 多处理器通讯, 自动地址识别 MEGAWIN MPC82G516A Data Sheet 62

64 13 第 2 个 UART (UART2) MPC82G516A 带有第 2 个 UART( 以后就称作 UART2), 和第 1 个 UART 一样, 也有 4 种运行模式, 两个 UART 的区别如下 : (1) UART2 没有增强功能 : 帧错误检测和自动地址识别 (2) UART2 使用特定的波特率定时器作为其波特率发生器 (3) UART2 使用端口 P1.3 (S2TXD) 和 P1.2 (S2RXD) 分别作为接收和发送端口 两个 UART 可以不同或相同模式 不同或相同通讯速率同时工作 13.1 UART2 配置寄存器 以下特殊功能寄存器是和 UART2 相关的 : S2CON ( 地址 =AAH, UART2 控制寄存器, 复位值 =0000,0000B) S2SM0 S2SM1 S2SM2 S2REN S2TB8 S2RB8 S2TI S2RI S2SM0: UART2 模式选择位 0. S2SM1: UART2 模式选择位 1. S2SM0 S2SM1 模式 功能描述 波特率 移位寄存器 Fosc/ 位 UART 可变 位 UART Fosc/64 或 Fosc/ 位 UART 可变 表中 Fosc 是系统时钟频率 S2SM2: 使能模式 2 和模式 3 下多机通讯功能, 若 SM2=1, 除非接收到的第 9 位 (RB8) 为 1, 表明接收到的是地址且和设定地址或广播地址相同, 否则 RI 不会置位 模式 1 下, 若 SM2=1, 除非收到给定地址或广播地址, 且收到有效停止位, 否则 RI 不会置位 模式 0 下,SM2 应设为 0 S2REN: 使能串行接收 软件设置使能接收, 软件清零则关闭接收功能 S2TB8: 模式 2 和 3 下, 要发送的第 9 位数据, 软件清零或设置 S2RB8: 模式 2 和 3 下, 收到的第 9 位数据 模式 1 下, 若 SM2=0,RB8 是收到的停止位 模式 0 下, RB8 没有用 S2Tl: 发送中断标志 硬件置位, 必须软件清零 模式 0 下在发送完第 8 位数据后, 或其他串行发送模式下发送停止位时, 由硬件自动置位 S2Rl: 接收终端标志 硬件置位, 必须软件清零 模式 0 下接收到第 8 位数据后, 或其他串行发送模式下接收到停止位的过程中, 由硬件自动置位 ( 例外情况请参见 SM2) S2BUF ( 地址 =9AH, UART2 串行数据缓冲器, 复位值 =xxh) (D7) (D6) (D5) (D4) (D3) (D2) (D1) (D0) S2BRT ( 地址 =BAH, UART2 波特率定时器重装寄存器, 复位值 =00H) (Baud Rate Timer Reload Value) AUXR2 ( 地址 =A6H, 辅助寄存器 2, 复位值 =0000,0000B) T0X12 T1X12 URM0X6 S2TR S2SMOD S2TX12 S2CKOE T0CKOE S2TR: UART2 波特率定时器控制位 设置 / 清零进行打开 / 关闭 S2SMOD: UART2 二倍波特率使能位 设置即表示进行波特率二倍频 S2TX12: UART2 波特率定时器时钟源选择 设置选择 Fosc, 清零选择 Fosc/12 S2CKOE: 设置时打开 UART2 波特率定时器在 P3.5 引脚的输出功能 63 MPC82G516A Data Sheet MEGAWIN

65 AUXR ( 地址 =8EH, 辅助寄存器, 复位值 =0000, xx0xb) URTS ADRJ P41ALE P35ALE - - EXTRAM - URTS: 0: 定时器 1 或定时器 2 可以用作模式 1 和模式 3 下的波特率发生器 1: 当定时器 1 作为第一个 UART 的模式 1 或模式 3 下的波特率发生器时, 定时器 1 的溢出信号被 UART2 波特率定时器溢出信号替代 ( 请参考 13-3 节 ) 13.2 UART2 波特率 模式 0 若 RM0X6=0, 模式 0 波特率 = 若 URM0X6=1, 模式 0 波特率 = Fosc 12 Fosc 模式 1 和模式 3 模式 1, 3 波特率 = 其中, 模式 2 若 S2X12=0, 则 n=12, 若 S2X12=1, 则 n=1 2 S2SMOD Fosc x 32 n x (256-S2BRT) 模式 2 波特率 = 2 S2SMOD 64 x Fosc MEGAWIN MPC82G516A Data Sheet 64

66 13.3 标准 UART 使用 UART2 的波特率发生器 在标准 UART 的模式 1 和模式 3 下, 用户可以通过清除 T2CON 寄存器的 TCLK 和 RCLK 位选择使用定时器 1 作为波特率发生器 在这种情况下, 若 URTS 位 (AUXR 寄存器 ) 设为 1, 定时器 1 的溢出信号被 UART2 波特率定时器的溢出信号代替, 换句话说, 用户可以将 UART2 的波特率发生器作为标准 UART 的模式 1 或 3 下的波特率发生器, 只要 RCLK=0, TCLK=0 且 URTS=1 在这种条件下, 定时器 1 可以作其他用途, 当然, 若 UART2( 模式 1 或 3 下 ) 此时也在工作, 则这两个 UART 运行在相同的波特率 图 标准 UART 的新波特率源 65 MPC82G516A Data Sheet MEGAWIN

67 13.4 UART2 波特率发生器的可编程时钟输出 使用 UART2 波特率定时器, 可以从引脚 S2CKO(P3.5) 输出一个 50% 占空比的时钟信号 输出的时钟信号频率取决于时钟频率 (Fosc) 和 S2BRT 寄存器中的重装值, 如下所示公式计算 : UART2 波特率定时器的可编程时钟输出模式编程如下 : 设置 AUXR2 寄存器的 S2CKOE 位 由公式确定 8 位重载值并写入 S2BRT 寄存器 设置 AUXR2 中的运行控制位来启动 UART2 波特率定时器图 UART2 波特率定时器的可编程时钟输出 MEGAWIN MPC82G516A Data Sheet 66

68 14 可编程计数器阵列 (PCA) MPC82G516A 带有一个可编程计数器阵列 (PCA), 该功能与标准定时 / 计数器相比以更少的 CPU 占用提供了更多的定时能力 它的优点包括减少了软件复杂度并提高了精度 14.1 PCA 概述 PCA 由一个特定定时 / 计数器作为一个 6 比较 / 捕获模块的时基, 图 14-1 显示了 PCA 的功能方框图 需要注意的是 PCA 定时器和模块都是 16 位的 如果一个外部事件同一个模块关联, 那末该功能就和相应的端口 1 引脚共享 若某模块没有使用端口引脚, 这个引脚还可以用作标准 I/O 6 比较 / 捕获模块中的每一个都可以编程为如下任意模式 : - 上升和 / 或下降沿捕获 - 软件定时器 - 高速输出 - 脉宽调制输出 所有这些模式将在后面的章节进行详细讨论 这里, 让我们先看看如何设置 PCA 时钟和模块 图 PCA 方框图 14.2 PCA 定时 / 计数器 PCA 的定时 / 计数器由一个可以自由运行的 16 位定时器组成, 如图 14-2 所示分为 CH 和 CL 高低两部分, 它是所有模块的共有时基, 它的时钟输入可以从以下来源选取 : - 1/12 系统时钟频率, - 1/2 系统时钟频率, - 定时器 0 溢出, 可以让低频时钟源输入到 PCA 定时器. - 外部时钟输入,ECI(P1.1) 引脚的 1-0 反转. 特殊功能寄存器 CMOD 包含了计数脉冲选择位 (CPS1 和 CPS0) 来指定 PCA 定时器时钟源 这个寄存器也包括了 ECF 位来使能计数器溢出中断 此外, 用户可以在待机模式下设置计数器待机位 (CIDL), 来关闭 PCA 定时器, 这样可以进一步降低待机模式下的功耗 67 MPC82G516A Data Sheet MEGAWIN

69 图 PCA 定时 / 计数器 图中,Fosc 是系统时钟. CMOD ( 地址 =D9H, PCA 计数器模式寄存器 ) CIDL CPS1 CPS0 ECF CIDL: PCA 计数器待机控制. CIDL=0 让 PCA 计数器在待机模式下继续运行 CIDL=1 待机模式下关闭 PCA 计数器 CPS1-CPS0: PCA 计数器时钟源选择位. 0 0 内部时钟, Fosc/12 (Fosc 代表系统时钟.) 0 1 内部时钟, Fosc/2 1 0 定时器 0 溢出 1 1 ECI 引脚输入的外部时钟源. ECF: 使能 PCA 计数器溢出中断. ECF=1 当 CF 位 (CCON 寄存器中 ) 置位时使能中断 如下所示的 CCON 寄存器包含 PCA 运行控制位和 PCA 定时器与每个模块的标志 要运行 PCA,CR 为 (CCON.6) 必须软件置位, 要关闭 PCA, 可以清除该位 PCA 计数器溢出时,CF (CCON.7) 置位, 并且若 CMOD 寄存器的 ECF 为置位, 还会产生一个中断,CF 位只能软件清零 CCF0 到 CCF5 是模块 0 到模块 5 的相应中断标志位, 当发生一个匹配或捕获事件时, 硬件置位, 这些位也必须软件清零 PCA 中断系统如图 14-3 所示 CCON ( 地址 =D8H, PCA 控制寄存器 ) CF CR CCF5 CCF4 CCF3 CCF2 CCF1 CCF0 CF: PCA 计数溢出标志 溢出时硬件置位,CF 标志在 CMOD 寄存器的 ECF 位置位时会产生一个中断,CF 可以硬件或软件置位, 但只能软件清零 CR: PCA 计数控制位 软件设置来启停 PCA 计数器 1: 启动 PCA 计数器,0: 关闭 PCA 计数器 CCF0~CCF5: PCA 模块 0 到模块 5 中断标志 发生一个匹配或捕获时硬件置位, 必须软件清零 MEGAWIN MPC82G516A Data Sheet 68

70 图 PCA 中断系统 14.3 比较 / 捕获模块 6 比较 / 捕获模块中的每一个都有一个模式寄存器, 叫做 CCAPMn(n 代表 0,1,2,3,4,5), 来选择其工作模式 ECCFn 位控制当中断标志置位时每个模块的中断开启 / 关闭 CCAPMn, n=0~5 ( 地址 =DAH~DFH, PCA 模块比较 / 捕获寄存器 ) ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn ECOMn: 比较器使能位 ECOMn=1 使能比较器功能 CAPPn: 捕获上升沿 CAPPn=1 使能上升沿捕获 CAPNn: 捕获下降沿 CAPNn=1 使能下降沿捕获 MATn: 匹配控制 MATn=1,PCA 计数器同相应模块的比较 / 捕获寄存器匹配时设置 CCON 寄存器的 CCFn 位 TOGn: PWMn: 翻转控制 TOGn=1,PCA 计数器同相应模块的比较 / 捕获寄存器匹配时 CEXn 引脚电平翻转一次 PWM 控制 PWMn=1 使能 CEXn 引脚用作脉宽调制输出 ECCFn: 使能 CCFn 中断 使能 CCON 寄存器中的比较 / 捕获标志 CCFn 中断 注 :CAPNn (CCAPMn.4) 位和 CAPPn (CCAPMn.5) 位决定了捕获发生时信号脉冲沿, 若这两位同时设置, 则上下降沿都会发生捕获 每一个模块都有一对 8 位比较 / 捕获寄存器 (CCAPnH, CCAPnL) 与其相关联 这些寄存器用来保存捕获事件发生时或比较事件发生时的值 当某个模块用作 PWM 模式时, 除了上面两个寄存器外, 还有一个扩展的寄存器 PCAPWMn 被用来扩展输出占空比的范围, 扩展的范围从 0% 到 100%, 步距是 1/ MPC82G516A Data Sheet MEGAWIN

71 PCAPWMn, n=0~5 ( 地址 =F2H~F7H, PWM 模式辅助寄存器 ) ECAPnH ECAPnL ECAPnH: 扩展的第 9 位 ( 最高位扩展 ), 用在 PWM 模式下, 与 CCAPnH 联用并成为其第 9 位 ECAPnL: 扩展的第 9 位 ( 最高位扩展 ), 用在 PWM 模式下, 与 CCAPnL 联用并成为其第 9 位 14.4 PCA 模式设置 表 14-1 显示了不同 PCA 功能对应的 CCAPMn 寄存器设置 表 PCA 模块工作模式 ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn 模块功能 无操作 X X 16 位 CEXn 引脚上升沿触发捕获模式 X X 16 位 CEXn 引脚下降沿触发捕获模式 X X 16 位 CEXn 引脚跳变触发捕获模式 X 16 位软件定时器 X 16 位高速输出 位脉宽调制器 (PWM) 捕获模式 要让某一 PCA 模块工作与捕获模式, 相应的 CAPN 和 / 或 CAPP 位必须置位 外部 CEX 输入会在每次跳变是采样, 当有效跳变发生时,PCA 硬件会将 PCA 计数器寄存器值装入模块的捕获寄存器 (CH 放入 CCAPnH,CL 放入 CCAPnL) 若模块的 CCFn 和 ECCFn 标志置位, 会产生一个中断 图 PCA 捕获模式 MEGAWIN MPC82G516A Data Sheet 70

72 位软件定时器模式 PCA 模块可以通过设置 CCAPMn 寄存器的 ECOM 位和 MAT 位来作为一个软件定时器使用,PCA 定时器与模块的捕获寄存器值进行比较, 若相等则当 CCFn 和 ECCFn 位设置时会产生一个中断信号 图 PCA 软件定时器模式 高速输出模式 这种模式下, 每当 PCA 计数器与模块捕获寄存器值相等时,CEX 的输出就翻转一次 为激活这种模式,CCAPMn 寄存器的 TOG, MAT 和 ECOM 位必须都置为 1 图 PCA 高速输出模式 71 MPC82G516A Data Sheet MEGAWIN

73 PWM 模式 所有 PCA 模块都可用作 PWM 输出, 输出频率取决于 PCA 定时器的时钟源, 所有的模块都有相同的输出频率, 因为它们共享 PCA 定时器 占空比取决于模块捕获寄存器 CCAPnL 与扩展的第 9 位 ECAPnL 的值 当 9 位数据 {0,[CL]} 值小于 { ECAPnL, [CCAPnL] } 组成 9 位数据时, 输出低电平, 相等或大于时输出高电平 当 CL 从 0xFF 到 0x00 溢出时, { ECAPnL, [CCAPnL] } 的值使用 { ECAPnH,[CCAPnH] } 的值重载, 这样可以允许无异常脉冲的更新 PWM 模块的 CCAPMn 寄存器 PWMn 和 ECOMn 位必须置位以使能 PWM 模式 使用 9 位比较, 输出的占空比可以真正实现从 0% 到 100% 可调 占空比计算公式如下 : 占空比 = 1 { ECAPnH, [CCAPnH] } / 256. 这里, [CCAPnH] 是 CCAPnH 寄存器的值, ECAPnH ( PCAPWMn 寄存器的第 1 位 ) 是 1 位值 所以, { ECAPnH, [CCAPnH] } 组成了 9 位比较器用的 9 位值 例如, a. 若 ECAPnH=0 且 CCAPnH=0x00 ( 即 9 位值, 0x000), 占空比是 100%. b. 若 ECAPnH=0 且 CCAPnH=0x40 ( 即 9 位值, 0x040), 占空比是 75%. c. 若 ECAPnH=0 且 CCAPnH=0xC0 ( 即 9 位值, 0x0C0), 占空比是 25%. d. 若 ECAPnH=1 且 CCAPnH=0x00 ( 即 9 位值, 0x100), 占空比是 0%. 图 PCA PWM 模式 MEGAWIN MPC82G516A Data Sheet 72

74 15 串行外设接口 (SPI) MPC82G516A 提供了一个高速串行通讯接口 (SPI) SPI 接口是一种全双工 高速同步通讯总线, 有两种操作模式 : 主机模式和从机模式 无论哪种模式,12MHz 系统时钟时支持高达 3Mbps 的通讯速度 MPC82G516A 的 SPI 状态寄存器 (SPSTAT) 有一个传送完成标志 (SPIF) 和写冲突标志 (WCOL) 图 SPI 框图 SPI 接口有 4 个引脚 : MISO (P1.6), MOSI (P1.5), SPICLK (P1.7) 和 /SS (P1.4): SPICLK, MOSI 和 MISO 通常将两个或多个 SPI 设备连接在一起 数据从主机到从机使用 MOSI 引脚 (Master Out / Slave In 主出从入 ), 从从机到主机使用 MISO 引脚 (Master In / Slave Out 主入从出 ) SPICLK 信号在主机模式时输出, 从机模式时输入 若 SPI 接口禁用, 即 SPEN (SPCTL.6) = 0, 这些引脚可以作为普通 I/O 口使用 /SS 是从机选择端 典型配置中,SPI 主机可以使用其某个端口选择某一个 SPI 设备作为当前从机, 一个 SPI 从机设备使用它的 /SS 引脚确定自己是否被选中 下面条件下 /SS 被忽略 : - 若 SPI 系统被禁用, 即 SPEN (SPCTL.6) = 0 ( 复位值 ). - 若 SPI 作为主机运行, 即 MSTR (SPCTL.4) = 1, 且 P1.4 (/SS) 被配置成输出 - 若 /SS 被设置成忽略, 即 SSIG (SPCTL.7) = 1, 这个端口作为普通 I/O 使用 注意, 即使 SPI 被配置成主机运行 (MSTR=1), 它仍然可以被 /SS 引脚的低电平拉成从机 ( 若 SSIG=0), 一旦发生这种情况, SPIF 位 (SPSTAT.7) 置位 ( 参见 15.5 节 :/SS 引脚的模式改变 ) 下面是 SPI 操作相关寄存器 : 73 MPC82G516A Data Sheet MEGAWIN

75 SPCTL ( 地址 =85H, SPI 控制寄存器, 复位值 =0000,0100B) SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0 SSIG: 忽略 /SS 若 SSIG=1, MSTR 位决定该设备是主机还是从机 若 SSIG=0, /SS 引脚决定该设备是主机还是从机 SPEN: SPI 使能若 SPEN=1, SPI 功能打开 若 SPEN=0, SPI 接口禁用, 所有 SPI 引脚可作为通用 I/O 口使用 DORD: SPI 数据顺序 1 : 传送数据时先传数据字节最低位 0 : 传送数据时先传数据字节最高位 MSTR: 主机 / 从机模式选择 CPOL: SPI 时钟极性选择 1: SPICLK 待机是为高电平,SPICLK 时钟脉冲前沿是下降沿, 而后沿是上升沿 0: SPICLK 待机是为低电平,SPICLK 时钟脉冲前沿是上升沿, 而后沿是下降沿 CPHA: SPI 时钟相位选择 1: SPICLK 脉冲前沿放数据, 后沿采样 0: /SS 引脚低电平 (SSIG=0) 开始放数据并在 SPICLK 后沿改变数据. 数据在 SPICLK 的前沿采样 ( 注 : 若 SSIG=1, CPHA 必须不为 1, 否则就是为定义操作.) SPR1-SPR0: SPI 时钟速率选择 ( 主机模式 ) 00 : Fosc/4 01 : Fosc/16 10 : Fosc/64 11 : Fosc/128 (Fosc 是系统时钟.) SPSTAT ( 地址 =84H, SPI 状态寄存器, 复位值 =00xx,xxxxB) SPIF WCOL SPIF: SPI 传输完成标志当一次串行传输完成时,SPIF 位置位, 同时若 SPI 中断允许, 会产生一个中断 若 /SS 引脚在主机模式下被拉低且 SSIG=0,SPIF 位也会置位以表明 模式改变 SPIF 标志通过软件在该位写入 1 来清零 WCOL: SPI 写冲突标志 SPI 数据寄存器 SPDAT 在数据传输过程中被写入时,WCOL 置位 ( 参见 15.6 节 : 写冲突 ). WCOL 标志通过软件在该位写入 1 来清零 SPDAT ( 地址 =86H, SPI 数据寄存器, 复位值 =0000,0000B) (MSB) (LSB) SPDAT 有两个物理缓冲器供传输过程中写入和读取, 一个写入缓冲器, 一个读取缓冲器 MEGAWIN MPC82G516A Data Sheet 74

76 15.1 典型 SPI 配置 单主机和单从机 对于主机 : 任何端口, 包括 P1.4 (/SS), 都可以用来控制从机的 /SS 片选引脚 对于从机 : SSIG 为 0, /SS 引脚决定该设备是否被选中 图 SPI 单主从机配置 双驱动器, 可以是主机或从机 两个彼此连接的设备, 均可成为主机或从机, 没有 SPI 操作时, 都可以被通过设置 MSTR=1, SSIG=0, P1.4 (/SS) 双向口配置成主机 任何一方要发起传输, 它可以配置 P1.4 位输出并强行拉低, 使另一个设备发生 被改成从机模式 事件 ( 参见 15.5 节 :/SS 引脚模式改变 ) SPI 双驱动器, 可以是主机或从机配置 75 MPC82G516A Data Sheet MEGAWIN

77 单主机和多从机 对于主机 : 任何端口, 包括 P1.4 (/SS), 都可以用来控制从机的 /SS 片选引脚 对于所有从机 : SSIG 为 0, /SS 引脚决定该设备是否被选中 图 SPI 单主机和多从机配置 MEGAWIN MPC82G516A Data Sheet 76

78 15.2 SPI 配置 表 15-1 显示了主 / 从机模式配置及使用方法和传输方向 表 SPI 主从机选择 SPEN (SPCTL.6) SSIG (SPCTL.7) /SS 引脚 MSTR (SPCTL.4) 模式 MISO 引脚 MOSI 引脚 SPICLK 引脚 备注 0 X X X SPI 禁用输入输入输入 P1.4~P1.7 用作通用 I/O 从机 ( 被选中 ) 从机 ( 未被选中 ) 从机 ( 通过模式改变 ) 输出输入输入被选择为从机 高阻输入输入未被选中 输出输入输入 若 /SS 被拉低,MSTR 被硬件自动清 0, 模式被改为从机 主机 ( 待机 ) 输入 高阻 高阻 MOSI 和 SPICLK 在主机待机时被置为高阻, 以防止总线冲突 主机 ( 活动 ) 输出 输出 MOSI 和 SPICLK 在主机活动时被上拉 1 1 X 0 从机输出输入输入 1 1 X 1 主机 input 输出输出 X 表示 无需关心 从机注意事项 当 CPHA = 0 时, SSIG 必须为 0 且 /SS 引脚必须在每次串行字节传输前负跳变, 传输结束恢复正常高电平 注意 SPDAT 寄存器不能在 /SS 引脚低电平市写入 ;CPHA = 0, SSIG=1 的操作是未定义的 当 CPHA =1 时, SSIG 可以为 0 或 1 若 SSIG=0, /SS 引脚可以在每次成功传输之间保持低电平 ( 可以一直拉低 ), 这种格式有时非常适合单固定主从机配置应用 15.4 主机注意事项 SPI 通讯中, 传输总是有主机发起 若 SPI 使能 (SPEN=1) 并作为主机运行, 写入 SPI 数据寄存器 (SPDAT) 数据即可开始 SPI 时钟生成器和数据传输器, 大约半个到 1 个 SPI 位时间后写入 SPDAT 的数据开始出现在 MOSI 线上 在开始传输之前, 主机通过拉低相应 /SS 引脚选择一个从机作为当前从机 写入 SPDAT 寄存器德数据从主机 MOSI 引脚移出, 同时从从机 MISO 移入主机 MISO 的数据也写入到主机的 SPDAT 寄存器中 移出 1 字节后,SPI 时钟发生器停止, 置传输完成标志 SPIF, 若 SPI 中断使能则生成一个中断 主机 CPU 和从机 CPU 中的两个移位寄存器可以看成一个分开的 16 位环形移位寄存器, 数据从主机移到从机同时数据也从从机移到主机 这意味着, 在一次传输过程中, 主从机数据进行了交换 77 MPC82G516A Data Sheet MEGAWIN

79 15.5 /SS 引脚的模式改变 若 SPEN=1, SSIG=0, MSTR=1 且 /SS pin=1, SPI 使能在主机模式, 这种情况下, 其他主机可以将 /SS 引脚拉低来选择该设备为从机并开始发送数据过来 为避免总线冲突, 该 SPI 设备成为一个从机,MOSI 和 SPICLK 引脚被强制为输入端口,MISO 成为输出端口,SPSTAT 中 SPIF 标志置位, 若此时 SPI 中断使能, 则还会产生一个 SPI 中断 用户软件必须经常去检查 MSTR 位, 若该位被从机选择清零而用户又想要继续保持该 SPI 主机模式, 用户必须再次设置 MSTR 位, 否则, 将处于从机模式 15.6 数据冲突 SPI 在发送方向是单缓冲的, 而在接收方向是双缓冲的 发送数据直到上一次数据发送完成后才能写入移位寄存器, 数据发送过程中写入数据寄存器就会使 WCOL(SPSTAT.6) 置位来表明数据冲突 这种情况下, 正在发送的数据继续发送, 而刚写入数据寄存器造成冲突的数据就会丢失 写冲突对于主从机都有可能发生, 对于主机, 这种现象并不多见, 因为主机控制着数据的传送 ; 然而对于从机, 由于没有控制权, 因此很可能会发生 对于数据接收, 接收的数据被传输到一个并行读数据缓冲器中, 以便于移位寄存器再能接收新的字节 然而, 接收的数据必须在下个字节完全移入前从数据寄存器 SPDAT 读出, 否则前一个数据就会丢失 WCOL 使用软件向其位写入 1 来清零 15.7 SPI 时钟频率选择 SPI 时钟频率选择 ( 主机模式 ) 使用 SPCTL 寄存器的 SPR1 和 SPR0 位来设置, 如表 15-2 所示 表 SPI 串行时钟速率 SPR1 SPR0 SPI Fosc=12MHz Fosc 分频 MHz KHz KHz KHz 128 这里, Fosc 是系统时钟. MEGAWIN MPC82G516A Data Sheet 78

80 15.8 数据模式 时钟相位 (CPHA) 位可以让用户设定数据采样和改变时的时钟沿 时钟极性位,CPOL, 可以让用户设定时钟极性 下面图例显示了不同时钟相位 极性设置下 SPI 通讯时序 图 SPI 从机传送,CPHA=0 图 SPI 从机传送,CPHA=1 79 MPC82G516A Data Sheet MEGAWIN

81 图 SPI 主机传送, CPHA=0 图 SPI 主机传送, CPHA=1 MEGAWIN MPC82G516A Data Sheet 80

82 16 模数 (A/D) 转换器 MPC82G516A 带有一个 10 位 8 通道逐次逼近型 (SAR) 模数转换器. 图 16-1 显示了 A/D 转换器部分框图 八路模拟输入同 P1 口共享端口, 多路输入带有一个采样保持电路将模拟电压输入到比较器的输入端, 比较器的输出连接到 SAR 进行逐次逼近操作 图 ADC 功能框图 16.1 ADC 控制寄存器 ADCTL ( 地址 =C5H, ADC 控制寄存器, 复位值 =0000,0000B) ADCON SPEED1 SPEED0 ADCI ADCS CHS2 CHS1 CHS0 ADCON: 0: 关闭 ADC 模块 ;1: 开始 ADC 模块. SPEED1 and SPEED0: 模数转换速度选择位. (0,0): 一次转换需要 1080 个时钟周期. (0,1): 一次转换需要 540 个时钟周期. (1,0): 一次转换需要 360 个时钟周期. (1,1): 一次转换需要 270 个时钟周期. 注 :1 时钟周期等于 1/Fosc. ADCS: ADC 启动位. 软件置此位启动 A/D 转换, 转换完成,ADC 硬件会自动清除 ADCS 并设置 ADCI. ADCS 不能被软件清零 ADCS 或 ADCI 为 1 时将不会开始新的 A/D 转换 ADCI: ADC 中断标志. 一次 A/D 转换完成时该标志置 1, 若中断允许则还会产生一个中断 该标志必须软件清零 CHS2, CHS1 and CHS0: 输入通道选择位 (0,0,0): 选择 AIN0 (P1.0) 作为模拟输入 (0,0,1): 选择 AIN1 (P1.1) 作为模拟输入 (0,1,0): 选择 AIN2 (P1.2) 作为模拟输入 (0,1,1): 选择 AIN3 (P1.3) 作为模拟输入 (1,0,0): 选择 AIN4 (P1.4) 作为模拟输入 81 MPC82G516A Data Sheet MEGAWIN

83 (1,0,1): 选择 AIN5 (P1.5) 作为模拟输入 (1,1,0): 选择 AIN6 (P1.6) 作为模拟输入 (1,1,1): 选择 AIN7 (P1.7) 作为模拟输入 AUXR ( 地址 =8EH, 辅助寄存器, 复位值 =0000,xx0xB) URTS ADRJ P41ALE P35ALE - - EXTRAM - ADRJ: 0: 转换结果高 8 位存入 ADCH[7:0], 低 2 位存入 ADCL[1:0]. 1: 转换结果高 2 位存入 ADCH[1:0], 低 8 位存入 ADCL[7:0]. 若 ADRJ=0 ADCH ( 地址 =C6H, ADC 结果高字节寄存器, 复位值 =xxh) (B9) (B8) (B7) (B6) (B5) (B4) (B3) (B2) ADCL ( 地址 =BEH, ADC 结果低字节寄存器, 复位值 =xxh) (B1) (B0) 若 ADRJ=1 ADCH ( 地址 =C6H, ADC 结果高字节寄存器, 复位值 =xxh) (B9) (B8) ADCL ( 地址 =BEH, ADC 结果低字节寄存器, 复位值 =xxh) (B7) (B6) (B5) (B4) (B3) (B2) (B1) (B0) 16.2 ADC 操作 基于引脚兼容标准 8051 MCU 的考虑, ADC 硬件没有独立的内部正参考电压 (Vref+) 和负参考电压 (Vref-) 输入引脚. Vref+ 和 Vref- 输入芯片内部分别接至 VDD 和地 所以, 满量程 Vref+ Vref- 就是 VDD. A/D 转换结果可以由下面公式计算 : ADC 结果 = 1024 x Vin - Vref- Vref+ - Vref- AINx 模拟输入电压 = VDD 电压 这里, Vin 是模拟输入电压,x = 0~7 (AIN0~AIN7 的任何引脚 ). 输入的模拟电压应在 Vref+ 和 Vref- 之间, 即 VDD 和地之间 对于输入电压介于 Vref- 和 Vref- + 1/2 LSB 之间的, 转换结果是 00,0000,0000B = 000H. 对于输入电压介于 Vref+ 3/2 LSB and Vref+ 之间的, 转换结果是 11,1111,1111B = 3FFH. 这里 : Vref+ - Vref- VDD 1 LSB = = MEGAWIN MPC82G516A Data Sheet 82

84 在使用 ACD 功能之前, 用户应 : 1) 设置 ADCON 位启动 ADC 硬件, 2) 设置 SPEED1 和 SPEED0 位设定转换速度, 3) 设置 CHS2 CHS1 和 CHS0 选择输入通道, 4) 设置 P1M0 和 P1M1 寄存器将所选引脚设定成只输入模式, 并 5) 设置 ADRJ 位配置 ADC 转换结果输出形式. 现在, 用户就可以置位 ADCS 来启动 AD 转换了 转换时间取决于 SPEED1 和 SPEED0 位的设置 一旦转换结束, 硬件自动清除 ADCS 位, 设置中断标志 ADCI, 并将转换结果按照 ADRJ 的设置存入 ADCH 和 ADCL 如上所述, 中断标志 ADCI, 由硬件设置以表明一次转换完成 因此, 有两种方法检测 AD 转换是否完成 : (1) 软件检测 ADCI 中断标志 ; (2) 设置 AUXIE 寄存器 EADC 位和 IE 寄存器 EA 位使能 ADC 中断 这样, 转换结束就会跳入中断服务进程 无论 (1) 或 (2), ADCI 标志都必须在下次转换前用软件清零 16.3 ADC 示例代码 start: ;... ;... MOV ADCTL,#0E2h ;ADCON=1, 启动 ADC 硬件 ;(SPEED1,SPEED0)=(1,1), 转换时间 = 270 个时钟周期 ; 选择 AIN0 (P1.2) 作为模拟输入 ORL P1M0,# B ; 配置 P1.2 为只输入模式 ANL P1M1,# B ; ANL AUXR,# B ;ADRJ=0: ADCH 包含 B9~B2; ADCL 包含 B1,B0 ; 现在, 假定 AIN2 (P1.2) 模拟输入已经就绪 ORL ADCTL,# B ;ADCS=1 开始 A/D 转换 wait_loop: MOV ACC,ADCTL JNB ACC.4,wait_loop ; 等到 ADCI=1 转换结束 ; 现在, 10 位 ADC 结果已在 ADCH 和 ADCL 中. ;... ; MPC82G516A Data Sheet MEGAWIN

85 16.4 ADC 注意事项 ADC 注意事项如下所列 A/D 转换时间 用户可以根据输入的模拟信号频率选择合适的转换速度 例如, 若 Fosc=10MHz, 转换速度设为 270 个时钟周期, 则输入的模拟信号频率不应超过 37KHz, 以保证转换精度 ( 转换时间 = 1/10MHz x270 = 27us, 所以转换速率 = 1/27us = 37KHz.) I/O 口用于 ADC 转换 用作 A/D 转换的模拟输入引脚也可以保持其数字 I/O 输入输出功能 为了获得最佳转换效果, 用作 ADC 的引脚应当禁止其数字输出和输入, 可以按照引脚配置一节中的描述将引脚设为只输入模式 待机和掉电模式 在待机和掉电模式下,ADC 将无法使用, 若 A/D 功能打开, 它将消耗一部分的电流 因此, 为了降低待机和掉电模式下的功耗, 可以在进入掉电和待机模式前关闭 ADC 硬件 (ADCON=0) VDD 供电要求 如前所述, Vref+ 和 Vref- 内部分别连接到了 VDD 和地,VDD 可加载的电压为 2.7V~5.5V (5V 系统 ) 或 2.4V~3.6V (3.3V 系统 ), 所以满量程电压 Vref+ Vref- = VDD 就并不固定 然而, 计算公式保持不变, 这造成同样的 Vin 却得到不同的转换结果 因此,VDD 必须保持不变, 这是用户必须要注意的 既然 VDD 用作正参考电压 Vref+, 用户也必须保证 VDD 尽可能的纯净, 以期得到最佳的 ADC 性能 MEGAWIN MPC82G516A Data Sheet 84

86 17 键盘中断 键盘中断功能主要用于当 P2 口等于或不等于某个值时产生一个中断, 这个功能可以用作总线地址识别或键盘键码识别 有 3 个特殊功能寄存器与此功能相关 键盘中断掩码寄存器 (KBMASK) 用来定义 P2 口哪些引脚可以产生中断 ; 键盘模式寄存器 (KBPATN) 用来定义与 P2 口值进行比较的值, 比较匹配时硬件置键盘中断控制寄存器 (KBCON) 中的键盘中断标志 (KBIF), 若 AUXIE 中的 EKBI 中断允许且 EA=1, 则还会产生一个中断 键盘中断控制寄存器 (KBCON) 中的 PATN_SEL 位用来定义比较是 相等 还是 不等 匹配 为了使用键盘中断作为 键盘 中断, 用户需要设置 KBPATN=0xFF 和 PATN_SEL=0 ( 不相等 ), 然后将任意按键连接到 KBMASK 寄存器定义的相应 P2 口, 按下时就可以设置中断标志 KBIF, 并当中断使能时产生中断 这个中断可以将 CPU 从待机模式或掉电模式下唤醒 这个功能在手持设备, 电池供电系统等要求低功耗而且易用的设备上特别有用 下面是键盘中断操作相关特殊功能寄存器 : KBPATN ( 地址 =D5H, 键盘模式寄存器, 复位值 =1111,1111B) KBPATN.7 KBPATN.6 KBPATN.5 KBPATN.4 KBPATN.3 KBPATN.2 KBPATN.1 KBPATN.0 KBPATN.7~0: 键盘模式. KBCON ( 地址 =D6H, 键盘控制寄存器, 复位值 =xxxx,xx00b) PATN_SEL KBIF PATN_SEL: 模式匹配极性选择. 1: 键盘输入等于 KBPATN 中用户定义模式时产生中断 0: 键盘输入不等于 KBPATN 中用户定义模式时产生中断 KBIF: 键盘中断标志.P2 端口值匹配 KBPATN, KBMASK, PATN_SEL 设置条件时置位 需要软件写入 0 来清零. KBMASK ( 地址 =D7H, 键盘中断掩码寄存器, 复位值 =0000,0000B) KBMASK.7 KBMASK.6 KBMASK.5 KBMASK.4 KBMASK.3 KBMASK.2 KBMASK.1 KBMASK.0 KBMASK.7: 置位时, 使能 P2.7 作为键盘中断源 (KBI7). KBMASK.6: 置位时, 使能 P2.6 作为键盘中断源 (KBI6). KBMASK.5: 置位时, 使能 P2.5 作为键盘中断源 (KBI5). KBMASK.4: 置位时, 使能 P2.4 作为键盘中断源 (KBI4). KBMASK.3: 置位时, 使能 P2.3 作为键盘中断源 (KBI3). KBMASK.2: 置位时, 使能 P2.2 作为键盘中断源 (KBI2). KBMASK.1: 置位时, 使能 P2.1 作为键盘中断源 (KBI1). KBMASK.0: 置位时, 使能 P2.0 作为键盘中断源 (KBI0). 85 MPC82G516A Data Sheet MEGAWIN

87 18 看门狗定时器 (WDT) 看门狗定时器 (WDT) 用来使程序从跑飞或死机状态恢复的一个手段 软件跑飞时,WDT 使用系统复位来防止系统执行错误的代码 WDT 由一个 15 位独立定时器 一个 8 分频器和一个控制寄存器组成, 图 18-1 显示了 WDT 功能框图 图 WDT 功能框图 18.1 WDT 控制寄存器 WDTCR ( 地址 =E1H, WDT 控制寄存器, 上电复位值 =0x00,0000B) WRF - ENW CLRW WIDL PS2 PS1 PS0 WRF: WDT 复位标志 WDT 溢出时, 这一位被硬件置位, 应当软件清零. ENW: WDT 使能位 设置打开 WDT ( 注 : 一旦设置, 该位就只能上电复位清零了.) CLRW: WDT 清零位. 该位写 1 会清除 15 位 WDT 计数器为 0000H. 注意该位本身不需写 0 清除 WIDL: WDT 在待机模式的运行 置位该位会让 WDT 在待机模式下继续计数 PS2~PS0: 分频系数设置. PS2 PS1 PS 分频值 MEGAWIN MPC82G516A Data Sheet 86

88 18.2 WDT 操作 WDT 上电复位后默认是禁用的 要使能 WDT, 用户必须设置 ENW 位 当 WDT 使能时, 用户需要不断设置 CLW 位来清除 WDT 计数器以防止其溢出 15 位 WDT 计数器计数到 (7FFFH) 时溢出, 发生溢出会复位器件 WDT 使能时, 每 12 个时钟周期加 1, 这意味着, 用户必须至少每 x12 系统时钟周期清零 WDT 计数器一次 WDT 是一次性使能的, 所谓 一次性使能 指 : 一旦通过设置 ENW 位使能 WDT, 就没有其它办法来禁用, 除非上电复位 WDTCR 寄存器也将始终保持最先编程的值, 即使在任何复位 ( 硬件复位 软件复位 WDT 复位 ) 后, 除了上电复位 例如, 若 WDTCR 值是 0x2D,WDTCR 将保持 0x2D, 而不是每次复位后都是 0x00, 只有上电复位才能将该值初始成 0x00 换句话说,WDT 只能上电复位禁用, 这就是所谓 一次性使能 WDT WDT 复位周期由下面公式决定 : 2 15 x 预分频器值 x (12 / Fosc) 表 18-1 显示了运行在 6/12/24MHz 下的 MCU 的 WDT 溢出周期, 这些周期都是用户清除 WDT 防止复位的最大时间间隔 表 WDT 溢出周期 PS2 PS1 PS0 预分频器值 Fosc=6MHz Fosc=12MHz Fosc=24MHz ms ms ms ms ms ms ms ms ms s ms ms s s ms s s s s s s s s s 18.3 WDT 示例代码 条件 : WDT 溢出周期 = WDTCR_buf DATA 30h ; 声明 WDTCR 寄存器缓冲 ;( 由于 WDTCR 是一个只写寄存器 ) start: ;... MOV WDTCR_buf,#00h ; 初始化 WDTCR 缓冲 ORL WDTCR_buf,#04h ;PS2=1 ANL WDTCR_buf,#0FCh ;PS1=0,PS0=0 MOV WDTCR,WDTCR_buf ; 写 WDTCR (PS2,PS1,PS0)=(1,0,0), 预分频器 =32 ORL WDTCR_buf,#20h ;ENW=1 MOV WDTCR,WDTCR_buf ; 写 WDTCR 使能 WDT main_loop: ORL WDTCR_buf,#10h ;CLRW=0 MOV WDTCR,WDTCR_buf ; 写 WDTCR 清 WDT 计数器 ;... ;... JMP main_loop 87 MPC82G516A Data Sheet MEGAWIN

89 18.4 掉电和待机模式下的 WDT 掉电模式下, 晶振停止,WDT 也停止了, 所以掉电模式下, 用户不需要在喂狗了 有 3 种从掉电模式下恢复的方法 : 硬件复位, 外部中断 (/INT0~/INT3) 或键盘中断, 需要在进入掉电模式前确定中断优先级 上电复位, 器件所有部分都复位了,WDT 也不例外 使用外部中断或键盘中断退出掉电模式, 为了防止 WDT 复位器件, 建议在这些中断服务进程中清 WDT 计数器 当然, 为了确保退出掉电模式后不会立即被 WDT 复位, 更好的办法是进入掉电模式前喂一次狗 待机模式下, 晶振仍然工作着, 用户可以设置 WIDL 位让 WDT 继续工作或清零 WIDL 位使 WDT 在待机模式停止工作 对于待机模式下继续工作的情况, 为了防止待机模式下 WDT 溢出, 用户应当使用一个定时器周期性退出待机模式喂狗, 喂狗后再进入待机模式 18.5 WDT 硬件初始化 WDTCR 除了软件可以初始化外, 也可以使用硬件选项 HWENW, HWWIDL 和 HWPS[2:0] 在系统上电时由硬件自动初始化, 这些硬件选项可以使用通用编程器或烧写器进行编程 ( 参考 25 节 :MCU 的硬件选项 ) 若 HWENW 编程使能, 硬件将会在上电时自动做以下 WDTCR 初始化动作 : (1) 设置 ENW 位. (2) 装 HWWIDL 到 WIDL 位, 并 (3) 装 HWPS[2:0] 到 PS[2:0] 位. MEGAWIN MPC82G516A Data Sheet 88

90 19 中断系统 MPC82G516A 有四级中断优先级的 14 个中断源. 通过几个寄存器来设置 4 级中断 通过 IE, IP, IPH, AUXIE, AUXIP, AUXIPH, XICON 和 TCON. 使用 IPH ( 中断优先级高位 ) 和 AUXIPH ( 辅助中断优先级高位 ) 寄存器来设置四级中断优先级. 四级中断优先级结构为中断源的应用提供了很大的便利 中断源 表 19-1 列出了所有的中断源. 使能位被允许, 中断请求时硬件会产生一个中断请求标志. 当然, 总中断使能位 EA ( IE 寄存器 ) 必须使能. 中断请求位能由软件置 1 或清零, 这和硬件置 1 或清零结果相同. 同理, 中断可以由软件产生或取消. 中断优先级位决定每个中断产生的优先级. 多个中断同时产生时依照中断优先级顺序处理. 中断向量地址表示中断服务程序的入口地址. 图 19-1 对所有中断系统进行综述. 表 中断源 序号 名称 使能 中断请求 #1 外部中断 INT0 EX0 IE0 PX0H, PX0 ( 高优先级 ) 0003H #2 Timer 0 ET0 TF0 PT0H, PT0. 000BH #3 外部中断, INT1 EX1 IE1 PX1H, PX H #4 Timer 1 ET1 TF1 PT1H, PT1. 001BH #5 串口中断 ES RI, TI PSH, PS. 0023H #6 Timer 2 ET2 TF2, EXF2 PT2H, PT2. 002BH #7 外部中断, INT2 EX2 IE2 PX2H, PX H #8 外部中断, INT3 EX3 IE3 PX3H, PX3. 003BH #9 SPI ESPI SPIF PSPIH, PSPI. 0043H #10 ADC EADC ADCI PADCH, PADC. 004BH #11 PCA EPCA CF, CCFn (n=0~5) 优先位 优先 级 地址 PPCAH, PPCA. 0053H #12 欠压检测 EBD OPF, CPF PBDH, PBD. 005BH #13 UART2 ES2 S2RI, S2TI PS2H, PS H #14 键盘中断 KBI EKB KBIF PKBH, PKB ( 低优先级 ) 006BH 89 MPC82G516A 数据手册 MEGAWIN

91 图 中断系统 MEGAWIN MPC82G516A 数据手册 90

92 19.2 与中断相关的寄存器 下面是中断过程中的相关特殊功能寄存器 IE ( 地址 A8H, 中断使能寄存器, 复位值 =0x00,0000B) EA - ET2 ES ET1 EX1 ET0 EX0 EA: 总中断使能位. EA = 0, 禁止所有中断. EA = 1, 使能所有中断 ET2: 定时器 2 中断使能. ES: 串口中断使能 ET1: 定时器 1 中断使能 EX1: 外部中断 1 使能. ET0: 定时器 0 中断使能 EX0: 外部中断 0 使能. IP ( 地址 B8H, 中断优先级寄存器, 复位值 =xx00,0000b) PT2 PS PT1 PX1 PT0 PX0 PT2: 定时器 2 中断优先级位. PS: 串口中断优先级位. PT1: 定时器 1 中断优先级位. PX1: 外部中断 1 优先级位. PT0: 定时器 0 中断优先级位. PX0: 外部中断 0 优先级位. IPH ( 地址 B7H, 中断优先级高位寄存器, 复位值 =0000,0000B) PX3H PX2H PT2H PSH PT1H PX1H PT0H PX0H PX3H: 外部中断 3 优先级位, H. PX2H: 外部中断 2 优先级位, H. PT2H: 定时器 2 中断优先级位, H. PSH: 串口中断优先级位, H. PT1H: 定时器 1 中断优先级位, H. PX1H: 外部中断 1 优先级位, H. PT0H: 定时器 0 中断优先级位, H. PX0H: 外部中断 0 优先级位, H. AUXIE ( 地址 ADH, 辅助中断使能寄存器, 复位值 =xx00,0000b) EKB ES2 EBD EPCA EADC ESPI EKB: 键盘中断使能位. ES2: UART2 中断使能位. EBD: 欠压检测中断使能位. EPCA: PCA 中断使能位. EADC: ADC 中断使能位. ESPI: SPI 中断使能位. 91 MPC82G516A 数据手册 MEGAWIN

93 AUXIP ( 地址 AEH, 辅助中断优先级寄存器, 复位值 =xx00,0000b) PKB PS2 PBD PPCA PADC PSPI PKB: 键盘中断优先级位. PS2: UART2 中断优先级位. PBD: 欠压检测中断优先级位. PPCA: PCA 中断优先级位. PADC: ADC 中断优先级位. PSPI: SPI 中断优先级位. AUXIPH ( 地址 AFH, 辅助中断优先级高位寄存器, 复位值 =xx00,0000b) PKBH PS2H PBDH PPCAH PADCH PSPIH PKBH: 键盘中断优先级位, H PS2H: UART2 中断优先级位,H PBDH: 欠压监测中断优先级位,H. PPCAH: PCA 中断 1 优先级位, H. PADCH: ADC 中断优先级位,H. PSPIH: SPI 中断 0 优先级位, H. XICON ( 地址 C0H, 外部中断控制寄存器, 复位值 =0000,0000B) PX3 EX3 IE3 IT3 PX2 EX2 IE2 IT2 PX3: 外部中断 3 优先级位. EX3: 外部中断 3 使能位. IE3: 外部中断 3 中断标志. IT3: 外部中断 3 类型控制位. 1: 边沿触发 ; 0: 电平触发. PX2: 外部中断 2 优先级位. EX2: 外部中断 2 使能位. IE2: 外部中断 2 中断标志. IT2: 外部中断 2 类型控制位. 1: 边沿触发 ; 0: 电平触发. TCON ( 地址 88H, 定时 / 计数器控制寄存器, 复位值 =0000,0000B) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 IE1: 外部中断 1 请求标志. 外部中断 1 由边沿或电平触发 ( 由 IT1 设置 ) 硬件置标志. IT1: 外部中断 1 类型控制位. 软件选择下降沿 / 低电平触发外部中断 1. IE0: 外部中断 0 请求标志. 外部中断 0 由边沿或电平触发 ( 由 IT0 设置 ) 硬件置标志. IT0: 外部中断 0 类型控制位. 软件选择下降沿 / 低电平触发外部中断 0. MEGAWIN MPC82G516A 数据手册 92

94 19.3 中断使能 通过设置寄存器 IE, AUXIE 和 XICON 能对每个中断进行使能和禁止操作. 需注意 IE 中有个总中断允许位 EA.EA 置 1 所有中断的使能和禁止由单独的设置位决定. EA 被清 0, 所有中断被禁止 中断优先级 中断优先级设置和 80C51 相同, 除了有四级中断优先级比 80C51 多两级. 优先级位 ( 参见表 19-1) 决定每个中断的优先级. 表 19-2, 外部中断 0 中断优先级设置, 通过不同的设置组合决定中断优先级. 表 外部中断 0 的四级优先级 优先级位 PX0H PX0 优先级 0 0 级别 0 ( 低 ) 0 1 级别 级别 级别 3 ( 高 ) 如果两个优先级的中断同时产生, 高优先级的中断总是优先处理. 低优先级的中断在处理过程中可以被高优先级的中断打断, 等高优先级的中断处理完后低优先级的中断才能从被打断处继续执行 同等优先级的中断同时产生, 执行顺序由中断向量决定顺序执行, 中断向量越小的优先级越高 中断响应 每个机器周期都会采样中断标志位. 如果没有下列阻止条件. 前一个指令周期中产生中断标志位置位, 接下来的指令周期中将以 LCALL 调用中断服务程序, 下列几种情况将 LCALL 指令锁定 : 1. 另一个高优先级的中断正在处理. 2. 当前机器周期不是正在执行的指令的最后一个机器周期. 3. 正在执行指令 RETI 或正在写和中断相关的寄存器 ( IE 或 IP 寄存器 ). 上述三种情况将锁定 LCALL 指令使之暂时不能访问中断服务程序. 第二种情况在引导任何中断服务程序之前必须执行完. 第三种情况保证 RETI 的执行或写中断相关的寄存器能顺利完成, 在中断进入引导程序之前至少运行一个以上的指令周期. 每个指令周期执行一次采样, 采样结果在下一个指令周期被执行. 如果电平触发的外部中断的中断标志被置位, 在下一个中断来临之前未处理, 则处理当前中断, 前一中断被忽略, 每个采样周期都采样的当前的中断, 如果不及时处理则被忽略. 处理器硬件产生 LCALL 来调用中断服务程序来响应一个中断. 中断在下一次同种中断来临之前必须被处理, 否则将会被覆盖, 但不会被其他中断影响. 定时器 2, 串口, PCA, 电源监测和 UART2 产生的中断标志必须由软件来清除. 清除中断标志 (IE0, IE1, IE2 or IE3) 后中断源被再次激活. 硬件执行 LCALL 将当前 PC 值推入堆栈 ( 但是不保存 PSW 状态 ) 将中断服务程序的向量地址装载到 PC 中, 如表 19-1 所示. 93 MPC82G516A 数据手册 MEGAWIN

95 中断处理程序以 RETI 指令结束. RETI 提示处理器中断服务程序已经结束, 然后从堆栈中将断点的地址装载到程序计数器 (PC) 中. 从断点处继续执行. 注意指令 RET 也可以结束中断, 虽然可以从中断返回但中断控制系统会认为中断还在继续. 这意味着在多次中断后堆栈将溢出. 注意 : 中断向量开始的空间只有 8 字节. 这意味着如果一个中断服务程序超过 7 个字节以上, 就必须使用跳转到其他空间以便不覆盖其他中断的入口地址 外部中断 外部中断源包括 /INT0, /INT1, /INT2 和 /INT3, 外部中断能被任意的低电平触发或下降沿触发, 通过设置寄存器 TCON 和 XICON 中的位 IT0, IT1, IT2 和 IT3. ITx= 0, INTx 管脚被拉低将触发中断. ITx = 1,INTx 管脚上的下降沿将触发中断. 中断被触发后将置位 TCON XICON 中的 IE0 IE1 IE2 IE3. 如果中断被激活这些标志在进入中断服务程序后被硬件清除. 如果中断是电平触发, 外中断源必须有效, 直到中断被响应, 在执行完中断服务程序前, 此有效中断必须被清除. 每个指令周期都采样外部中断引脚, 输入的高或低将保持至少一个振荡周期以确保能被采样到. 如果外部中断有效, 外部中断引脚上的信号高必须保持至少一个周期, 接下来的低也必须至少保持一个周期, 以确保中断能响应置标志 IEx. 执行中断服务程序后 IEx 标志将被 CPU 硬件清除. 如果外部中断是电平触发, 外中断源必须有效, 直到中断被响应, 在执行完中断服务程序前, 此有效中断必须被清除. 否则将产生下一次中断 单步运行 80C51 的中断结构允许使用很少的软件开销来实现单步运行. 如前所述, 在正在执行相同或更高优先级的中断的时候中断请求是不会被响应的, 直到运行完当前中断服务程序后至少再执行一条以上的指令. 因而, 如果一个中断服务程序正在执行, 这不能被其他中断重入, 直到当前中断服务程序被执行完后至少再执行一条以上的指令. 下面是一个电平触发的外部中断 (e.g., INT0) 的使用实例. 代码如下 : JNB P3.2,$ ; 等待直到 INT0 变高 JB P3.2,$ ; 等待直到 INT0 变低 RETI ; 服务程序结束并执行一条指令 当前 INT0 引脚 (P3.2) 保持低状态,CPU 进入外部中断 0 服务程序等待 INT0 的引脚上有脉冲产生 ( 从低到高再到低 ). 然后执行 RETI 指令, 跳回被中断的程序执行一条指令, 然后再次进入外部中断 0 中断服务程序等待引脚 P3.2 上再次产生一个脉冲. 这样就是在引脚 P3.2 上每产生一个脉冲程序步进一条指令, 这样就实现了单步操作. MEGAWIN MPC82G516A 数据手册 94

96 20 ISP, IAP 和 ICP MPC82G516A 可以使用下面的方法对内部 FLASH 进行编程 (1) 传统的并行编程方法 : 通用编程器 ( 此处不再累述 ). (2) 在系统编程方式 (ISP): 使用内部引导程序来编程. (3) 在应用编程方式 (IAP): 使用用户自定义的下载程序. (4) 在电路编程方式 (ICP): 使用专用的 ICP 编程器 ( 参见 ). 如图 20-1 所示 MPC82G516A 的 Flash 结构,MPC82G516A 的 FLASH 被划分成 AP- 部分, IAP- 部分和 ISP- 部分. AP- 部分装载用户服务程序 ; IAP- 部分装载非遗失数据,ISP- 空间装载在系统编程的引导程序. 通用并行编程和 ICP 可以编程 MCU 的任何空间, 包括全部 Flash 和 MCU 的硬件选项. ISP 和 IAP 只能编程 FLASH 的一些确切的空间 ; ISP 能编程 AP- 空间和 IAP- 空间, IAP 只能编程 IAP 空间. 表 20-1 罗列了上述操作方法的不同之处. 表 不同的编程模式对照 分类 并行编程模式 ISP IAP ICP 擦除 / 编程 / 校验 Yes Yes Yes Yes 编程区域 硬件或软件限制? 所有 Flash & MCU s 硬件选项 AP- 部分 & IAP- 部分 IAP- 部分 所有 Flash & MCU s 硬件选项 硬件限制软件限制软件限制硬件限制 编程介面 并口 串行方式使用 DTA (P3.1) None 串行方式 SDA & SCL 编程前的预处理 无 预编程引导程序 & HWBS enabled None None 编程工具 通用编程器或 Megawin 8051 Writer Megawin ISP 编程器 None Megawin ICP 编程器 为什么要 ISP? ISP 使用户无需将 MCU 从应用系统中取下修改程序 (AP- 空间 ) 和非易失性数据 (IAP- 空间 ) 成为可能. 这个功能非常实用是在应用现场改写应用程序成为可能. ( 注意 ISP 功能引导预编程在 ISP- 空间中的程序 ) 为什么要 IAP? IAP- 空间能保存应用系统中需要保存的实时数据, 掉电后不易失, 所以可以替代串行存储器比如 93C46 或 24C01 等. 为什么要 ICP? ICP 可以在系统编程 MCU 的所有资源 ( 包括所有的 Flash 空间和 MCU 的硬件选项 ). 如同 ISP 功能, 这个功能很有效可以在应用现成随时下载程序. 95 MPC82G516A 数据手册 MEGAWIN

97 20.1 Flash 存储器 Flash 特点 Flash 只能页擦除, 不能字节擦除. 并且页擦除后数据全部变成 0xFF. 字节 0xFF 能被编程成非 0xFF 字节. 任何非 -0xFF 字节不能编程成 0xFF 字节除非使用页擦除. 每页有 512 字节, 页地址总是位于 0x0200*N, N (=0,1,2,3,..) 意思为第 N 个页. 擦写次数 : 20,000 擦写次数 Flash 结构 图 20-1 显示 MPC82G516A 的 FLASH 结构. Flash 被划分成 AP- 区域, IAP- 区域和 ISP- 区域. AP- 空间用来存储用户应用程序 ; IAP- 空间用于保存非易失性数据 ; ISP- 空间用来保存在系统编程的引导程序. Flash 总容量为 64K 字节, IAP- 空间和 ISP- 空间能被 Megawin 8051 烧录器 或 Megawin 8051 ICP 编程器 全空间编程 ( 参见 节 ). 图 Flash 结构 MEGAWIN MPC82G516A 数据手册 96

98 20.2 ISP 操作 一般来说, 用户无需知道 ISP 的具体操作因为 Megawin 提供了 ISP 标准工具 ( 参见 节 ). 用户如果想设计自己的 ISP 操作, 本节对 ISP 操作的具体寄存器做详细解说 ISP 寄存器 以下是有关 ISP 操作的特殊寄存器. 用户程序可以访问这些寄存器. ISPCR ( 地址 E7H, ISP 控制寄存器, 复位值 =000x,x000B) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 ISPEN SWBS SWRST - - CKS2 CKS1 CKS0 ISPEN: 使能 ISP 功能. SWBS: 软件引导选择. 设置此位在软件复位后选择是从 ISP- 空间 /AP- 空间引导. SWRST: 对此位写 1 触发软件复位. CKS2~CKS0: ISP 操作中的延时依照不同的振荡频率而不同, 参见表 表 ISP 延时设置 CKS2 CKS1 CKS0 振荡器频率 (MHz) > ~ ~ 20 6~ 12 3 ~ 6 2 ~ 3 1 ~ 2 < 1 IFMT ( 地址 E5H, ISP 模式寄存器, 复位值 =xxxx,x000b) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit MS2 MS1 MS0 MS2, MS1 and MS0: ISP 模式选择位, 见表 表 ISP 模式选择 MS2 MS1 MS0 ISP 模式 备用 读 编程 页擦除 备用模式 : 保持 ISP 硬件处于无效状态页擦除模式 : 擦除一页 (512 字节 ) 页地址由寄存器 IFADRH,IFADRL 选择 编程模式 : 编程地址由寄存器 IFADRH,IFADRL 选择读模式 : 读地址由寄存器 IFADRH,IFADRL 选择 97 MPC82G516A 数据手册 MEGAWIN

99 IFADRH ( 地址 E3H, ISP Flash 地址高寄存器, 复位值 =0000,0000B) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 ( 高位地址, A15~A8) IFADRL ( 地址 E4H, ISP Flash 地址低寄存器, 复位值 =0000,0000B) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 ( 低位地址, A7~A0) IFD ( 地址 E2H, ISP Flash 数据寄存器, 复位值 =0000,0000B) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 ( 读或编程数据字节 ) SCMD ( 地址 E6H, ISP Sequential Command 寄存器, 复位值 =0000,0000B) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 (ISP 触发命令 ) 顺序写 0x46 和 0xB9 到这寄存器能触发 ISP 操作. MEGAWIN MPC82G516A 数据手册 98

100 ISP 模式说明 ISP 模式是用来引导程序来编程 AP- 空间和 IAP- 空间. 同样也能在用户的应用程序对 IAP- 空间进行编程. 下面显示 ISP 模式下的不同操作 Flash 页擦除模式 图 Flash 页擦除流程图 页擦除模式 操作示例 MOV ISPCR,# b ;ISPCR.7=1, 使能 ISP ;ISPCR[2:0]=011, 假定 MPC82-series 运行 MOV IFMT,#03h ; 选择页擦除模式 MOV IFADRH,?? ; 使用 [IFADRH,IFADRL] 装载页地址 MOV IFADRL,?? ; MOV SCMD,#46h ; 触发 ISP 处理 MOV SCMD,#0B9h ; ; MCU 停止直到操作完全结束 99 MPC82G516A 数据手册 MEGAWIN

101 Flash 编程模式 图 Flash 编程流程图 编程模式 操作示例代码 MOV ISPCR,# b ;ISPCR.7=1, 使能 ISP ;ISPCR[2:0]=011, 假设 MPC82-series MOV IFMT,#02h ; 选择编程模式 MOV IFADRH,?? ; 通过 [IFADRH,IFADRL] 装载编程字节地址 MOV IFADRL,?? ; MOV IFD,?? ; 通过 IFD 装载编程数据 MOV SCMD,#46h ; 触发 ISP 处理 MOV SCMD,#0B9h ; ; MCU 等待直到全部处理结束 MEGAWIN MPC82G516A 数据手册 100

102 Flash 读模式 图 Flash 读操作流程 读模式 操作示例程序 MOV ISPCR,# b ;ISPCR.7=1, 使能 ISP ;ISPCR[2:0]=011, 假定 MPC82-series MOV IFMT,#01h ; 选择读模式 MOV IFADRH,?? ;fill [IFADRH,IFADRL] with byte address MOV IFADRL,?? ; MOV SCMD,#46h ;trigger ISP processing MOV SCMD,#0B9h ; ;Now, MCU will halt here until processing completed MOV A,IFD ;now, the read data exists in IFD CJNE ;... A,??,isp_error ;and, the user can check if the data is correct isp_error: JMP $ 101 MPC82G516A 数据手册 MEGAWIN

103 实现在系统编程 (ISP) 在使用 ISP 功能之前, 用户将使用通用编程器, Megawin 8051 烧录器 或者 Megawin 8051 ICP 编程器 ( 参见 节 ) 进行以下处理 : (1) 适合 ISP- 空间大小的 引导程序. (2) 将 引导程序 ( 以下称 ISP 代码 ) 下载到 ISP- 空间. 我们已经知道, ISP 代码的作用是用来编程 AP- 空间和 IAP- 空间. 因而 MCU 必须从 ISP- 空间来引导用来执行 ISP 代码. 从 ISP- 空间引导在系统编程有两种执行方法. 方式 1: MCU 上电复位后由 ISP 地址开始引导 上电后 MCU 直接从 ISP- 空间引导, MCU 的硬件选项 HWBS 或 HWBS2 必须被使能. 一旦 HWBS 或 HWBS2 被使能,MCU 上电复位后总是从 ISP- 空间引导引导代码. ISP 代码启动后将监测是否有 ISP 请求, 如果没有 ISP 请求, the ISP 代码将触发软件复位,MCU 将重新从 AP- 空间引导用户应用程序. 参见下面流程图. 图 从 ISP- 部分直接引导 (HWBS 或 HWBS2 已被激活 ) MEGAWIN MPC82G516A 数据手册 102

104 方式 2: MCU 通过 AP- 空间来重新从 ISP- 空间引导 当 MCU 在 AP- 空间运行时通过触发一次软件复位重新选择从 ISP- 空间引导. 在这个方案中, HWBS 和 HWBS2 都不必使能. MCU 只需在 AP- 空间运行时触发一次软件复位重新选择从 ISP- 空间引导. 参见下列流程图. 图 在 AP- 空间重新从 ISP- 空间引导 103 MPC82G516A 数据手册 MEGAWIN

105 ISP 注意事项 编写 ISP 代码的注意事项 ISP 代码从 MCU 的 FLASH 中分配的 ISP 开始地址开始存放 ( 参见图 20-1), 无需在用户代码中计算代码的偏移地址 (= ISP 开始地址 ). 代码的偏移地址由硬件自动分配. 用户只需象在 AP- 空间编写用户代码一样编写 ISP 代码. ISP 过程中的中断 在激活 ISP 后, MCU 将停止所有任务直到 ISP 处理结束. 在此期间, 已被使能的中断将被挂起不执行. 直到 ISP 处理结束, MPU 将依照中断标志位依次执行已产生的中断. 用户必须了解以下情况 : (1) MCU 正在执行 ISP 过程时将忽略任何中断. (2) 低优先级的中断, 外部中断, /INTx, 会保持激活状态直到 ISP 过程结束. 或这些将被忽略. ISP 操作目标 如前所述, ISP 用来对 AP- 空间和 IAP- 空间进行编程. 一旦访问的地址超过了 IAP- 空间, 硬件会自动触发产生 ISP 处理. 这种 ISP 触发没有任何意义, 硬件在做空操作. ISP 操作 FLASH 寿命 Flash 能进行 20,000 次擦写操作, 这就是说, 擦 - 写周期不超过 20,000 次. 因而用户可以随时对 AP- 空间和 IAP- 空间进行修改. 低电压时 Flash 的写保护 为成功操作 ISP, 从 LDO 输出供给 Flash 的电源应高于 2.4V ( 参见图 23-1). 用户可以使能硬件选项 LVFWP 在 ISP 过程中如果 LDO 输出电源低于 2.4V 时对 FLASH 进行写保护. 参见 25 节 : MCU 的硬件选项. MEGAWIN MPC82G516A 数据手册 104

106 Megawin 提供的 ISP 工具 虽然用户可以自己设计 ISP 程序, Megawin 为用户提供了两种 ISP 工具 ; 一种 ISP 编程器, PC 机通过 USB 口来连接目标 MCU; 另一种通过计算机的 COM 端口, 除了 RS232 收发器外无需其他的硬件. 下面简单描述这些工具. 用户可以申请 Megawin 提供详细的说明 Megawin 8051 ISP 编程器 简介 出厂前预编程了 ISP 代码. ISP 介面只使用一个 I/O 端口 (P3.1). 操作时无需振荡器工作. 无需主机支持就能操作. 以上特点使 ISP 编程器有很好的易用性. 显然, 这能单机下载程序. 这点在现场没有 PC 机的情况下非常有用. 以下是 Megawin 8051 ISP 编程器 的图片. ISP 接口只需要三根引脚 : 编程器通过 DTA 线将编程输出传递给目标 MCU; VCC 和 GND 为 ISP 编程器提供电源. PC 机通过 USB 接口将编程数据下载进 ISP 编程器. 图 ISP 编程器 图 ISP 操作系统连接图 105 MPC82G516A 数据手册 MEGAWIN

107 使用串口操作 ISP 特点 The ISP code for this mechanism is provided by Megawin. 自动监测波特率 & 操作与晶振无关. 除 RS232 通讯接口外无需其他的硬件. 可以通过 PC 机的 COM 端口和目标 MCU 相连,ISP 机制支持这种方式, 除了 RS232 收发器外不需要其他任何硬件辅助 ( 例如 MAX232 芯片 ). 下面的系统连接图显示如何连接目标 MCU 和 PC 机. 通过 MAX232 芯片 P3.0 和 P3.1 分别连接 PC 机串口的 RXD 和 TXD 引脚. 因现在的计算机串口将越来越少, 尤其便携计算机将不再配备串口, 所以 ISP 将不再采用串口连接的方式. 图 使用串口操作 ISP 系统连接图 MEGAWIN MPC82G516A 数据手册 106

108 20.3 IAP 操作 编程 IAP 非易失存储区叫做 IAP 编程, 与 ISP 编程相比, 除了以下两点不同, 其它都是一样的 (1) IAP 只能编程 IAP 存储区,ISP 能编程 AP 和 IAP 存储区 (2) IAP 程序代码在 AP 存储区执行, ISP 程序代码在 ISP 存储区执行. 所有 ISP 方法 ( 见 节 ) 都可以应用到 IAP 操作, 使用 IAP 功能之前, 必须存在 IAP 存储区, 用户可以用 Megawin 8051 编程器 或 Megawin 8051 ICP 编程器 等并行编程器配置 MPC82G516A 的 IAP 存储区 ( 见 节 ) 使用 IAP 功能更新程序 由于闪存只能执行页擦除, 并且 0xFF 字节的编程为一个非 0xFF 字节 因此, 如果一些字节 ( 在同一页 ) 必须改变为非 0xFF, 用户应遵守以下步骤 : 第一步 ) 读出所有数据保存到 页面缓冲区 第二步 ) 擦除该页第三步 ) 把需要的数据写入 页面缓冲区 第四步 ) 把更新的 页面缓冲区 重新写入该页 在这里, 用户可能会问 : 页面缓冲区在哪里? 页面缓冲区可能存在于传统的 256 字节的暂存 RAM 或片上扩展内存 ( 即 XRAM, 访问用 MOVX ' 指令 ) 通常情况下, 页面缓冲区大小应等于的闪存页面大小 ( 即 512 字节 ), 然而, 由于有限空间的 RAM 或 XRAM 有时不可能的满足 下面是一个例子, 显示如何解决这个问题, 假设 280 字节的非易失性存储空间需要读写, 但只有 128 字节的 RAM 可用于 " 页面缓冲区 " 在这种情况下, 我们可以用 3 页提供 280 字节的非易失存储空间 : 第一页 128 字节, 第二页 128 字节, 第三页 24 字节. 如下图 所示 请注意, 我们别无选择, 只能采取这种用法! 图 页面缓冲少于 512 字节时的用法 107 MPC82G516A 数据手册 MEGAWIN

109 IAP 示例代码 如上所述, 所有的 ISP 模式也可应用于 IAP 操作, 这些模式的示范代码如下显示 触发 页面擦除模式 的演示代码 MOV ISPCR,# b ; ISPCR.7=1, 启用 ISP ; ISPCR[2:0]=011, 假设 MPC82 系列运行在 MHz MOV IFMT,#03h ; 选择页擦除模式 MOV IFADRH,?? ; 填写 [IFADRH,IFADRL] 为页地址 MOV IFADRL,?? ;! 这个页面必须在 IAP 存储区 MOV SCMD,#46h ; 触发的 ISP 处理 MOV SCMD,#0B9h ; 现在单片机将会停止运行, 直到处理完成 触发 编程模式 的演示代码 MOV ISPCR,# b ; ISPCR.7=1, 启用 ISP ; ISPCR[2:0]=011, 假设 MPC82 系列运行在 MHz MOV IFMT,#02h ; 选择编程模式 MOV IFADRH,?? ; 填写 [IFADRH,IFADRL] 为字节地址 MOV IFADRL,?? ;! 这个字节地址必须在 IAP 存储区 MOV IFD,?? ; 填写 IFD 的数据进行编程 MOV SCMD,#46h ; 触发的 ISP 处理 MOV SCMD,#0B9h ; ; 现在单片机将会停止运行, 直到处理完成 触发 读模式 的演示代码 MOV ISPCR,# b ; ISPCR.7=1, 启用 ISP ; ISPCR[2:0]=011, 假设 MPC82 系列运行在 MHz MOV IFMT,#01h ; 选择读模式 MOV IFADRH,?? ; 填写 [IFADRH,IFADRL] 为字节地址 MOV IFADRL,?? ;! 这个字节地址必须在 IAP 存储区 MOV SCMD,#46h ; 触发的 ISP 处理 MOV SCMD,#0B9h ; 现在单片机将会停止运行, 直到处理完成 MOV A,IFD ; 现在, 读出的数据在 IFD 寄存器了 MEGAWIN MPC82G516A 数据手册 108

110 IAP 注意事项 IAP 过程中的中断 IAP 触发 ISP 处理后, 单片机将为 ISP 处理停止了一段时间的内部处理, 直至处理完成, 此时, 如果先前中断是使能的, 那么中断将轮候提供服务 一旦处理完成后, 单片机继续运行, 并且继续处理中断队列中的仍然有效的中断. 用户需要注意以下问题 : (1) ISP 处理中, 单片机停止运行, 任何中断不能及时提供服务 (2) /INTx 等低级别的外部中断, 应该一直保持有效, 直到 ISP 处理完成, 否则 /INTx 将会被忽略 IAP 的存储目标 如前所述, IAP 是用来编程 IAP 存储区, 一旦 IAP 用于编程非 IAP 存储区, 硬件将自动忽略触发的 ISP 处理, 这样 ISP 触发非法并且硬件不做任何处理. 另一种读取 IAP 数据区的方法 若要读取 Flash 中的的 IAP 存储区, 除了使用 Flash 读取方法, 另一种方法是使用指令 MOVC A,@A+DPTR, DPTR 和 ACC 分别是你想要地址和偏移地址, 另外, 访问的范围必须属于 IAP 存储区, 否则读取数据将是不确定的, 请注意, 使用 "MOVC" 指令是速度远远超过使用 IAP Flash 读模式 IAP Flash 寿命 内置 Flash 的寿命是 20,000 擦写, 也就是说擦除后再写的次数不要超过 20,000 次, 因此用户在应用中应该注意经常需要频繁更新的 IAP 存储区. 低电压时的 Flash 写保护 为确保 IAP 编程成功, LDO 输出提供给 Flash 的电压必须高于 2.4V( 见图 23-1), LDO 输出功率低于 2.4V 时, 用户应启用硬件选项 LVFWP 启动写保护 参考 :25 章单片机硬件选项 109 MPC82G516A 数据手册 MEGAWIN

111 20.4 关于 ICP ICP, 和传统的并行编程方法一样, 可以随时对 MCU 的 FLASH 和 MCU 的硬件选项进行编程, 因使用专门的串行编程介面 ( 通过片内调试通道 ),ICP 可以在不将 MCU 脱离应用系统的情况下编程, 如同 ISP 一样 Megawin 8051 ICP 编程器 只有 Megawin 8051 ICP 编程器 能对 MPC82G516A 进行在系统编程 (ICP). 下面对此简单介绍. 特性 无需对 MCU 进行预编程. 专业的串口编程介面, 不占用 I/O 口. MCU 无需运行在工作状态 ; 只需要电源供给. 无需额外的下载主机, 只需简单连接. 以上描述使得 ICP 编程对使用者来说非常友好. 显然, 这能单独下载程序无需控制主机. 这在野外无 PC 机情况下非常实用. Megawin 8051 ICP 编程器 如下图显示. 只有和 ICP 下载有关的四根插针 : SDA 插针和 SCL 插针分别用来传输串行数据和串行时钟, 分别连接 ICP 编程的目标 MCU; VCC 和 GND 用来提供 ICP 编程的电源.USB 接口直接连接 PC 机的 USB 端口用来使用 ICP 编程软件来下载和编程数据. 图 ICP 编程器 图片 图 ICP 功能系统连接图 MEGAWIN MPC82G516A 数据手册 110

112 21 节能模式 MPC82G516A 有两种降低功耗的模式和一种通过设置 8 位系统时钟来降低功耗. 空闲模式下 CPU 停止操作外部设备内部中断系统继续运行. 掉电模式只保持 RAM 和 SFR 的内容, 其他功能均冻结 ; 重要的是外部中断能唤醒掉电模式. 可以通过降低工作频率来降低待机功耗. 寄存器 PCON 和 PCON2 与节能模式有关, 如下所示. PCON ( 地址 87H, Power Control 寄存器, 复位值 =00xx,0000B ( 或 00x1,0000B 上电复位后 )) SMOD SMOD0 - POF GF1 GF0 PD IDL GF1: 通用多功能控制位 1. GF0: 通用多功能控制位 0. PD: 节能模式设置位. 设置此位可以激活节能模式. IDL: 空闲模式设置位. 设置此位可以激活空闲模式. PCON2 ( 地址 C7H, Power Control 寄存器 2, 复位值 =00x0,0000B) SCKD2 SCKD1 SCKD0 SCKD2~SCKD0: 系统时钟分频控制位. SCKD2 SCKD1 SCKD0 Fosc ( 系统时钟 ) 晶振频率 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 /128 ( 参见 22 节 : 系统时钟.) 21.1 空闲模式 设置 IDL 位 (PCON.0) 将使 MCU 进入空闲模式, CPU 的内部时钟源停止工作外部设备继续工作, 例如中断, 定时器, 串口功能 and so forth. The CPU contents, 片内 RAM, 所有的特殊寄存器在空闲状态时保持不变.I/O 口保持空闲模式前的逻辑状态. 有两种办法终止空闲模式. 激活中断使能例如外部中断, 定时器, 串口中断和键盘中断能硬件清除 PCON.0 来终止空闲模式. 进入中断服务程序知道执行到指令 RETI, 执行下一条指令表示空闲模式已经执行完了. 另一个结束空闲模式的方法是 RST 引脚上产生一个上电复位. 晶振将继续运行, 硬件复位需要保持 24 时钟周期确保复位完成. 标志位 GF0 和 GF1 能指示出中断是在非空闲操作还是空闲时产生的. 举例说明, 激活空闲模式的指令也能设置一个或两个标志位. 空闲状态被中断打断时, 中断服务程序能通过标志位判断是普通操作还是空闲操作. 111 MPC82G516A 数据手册 MEGAWIN

113 21.2 休眠模式 软件调用休眠模式能进一步降低功耗. 通过指令设置 PD 位 (PCON.1) 可以使 MCU 进入休眠模式. 在休眠模式下, 片内振荡停止工作. 时钟被冻结. 所有功能均被冻结, 片内 RAM 和所有的工作寄存器保持进入休眠前的状态. 端口输出依照各自的工作寄存器保持状态. 任何 RST 引脚引起的硬件复位或外部中断 (INT0~INT3) 与键盘中断都能将 MCU 从休眠状态唤醒. 复位将初始化工作寄存器但不改变片内 RAM 的值. 外部中断与键盘中断唤醒将保持工作寄存器和片内 RAM 的值 ; 然后将进入中断服务程序, 从中断服务程序返回后再执行一条指令将使系统结束休眠状态 自休眠模式中断唤醒 休眠模式能被外部中断或键盘中断唤醒, 必须在调用休眠模式指令之后插入至少一个 NOP 指令. 这个 NOP 指令将避免从中断服务程序返回时产生意外的错误. 示例 : 使用 /INT0 唤醒的例子. ;****************************************************************************************** ; 用 /INT0 中断来唤醒休眠 ;****************************************************************************************** INT0 BIT 0B2H ; P3.2 EA BIT 0AFH ; IE.7 EX0 BIT 0A8H ; IE.0 CSEG AT 0000h JMP start IE0_isr: ; start: CSEG AT 0003h ; /INT0 中断向量, 地址 0003h JMP IE0_isr CLR EX0 ;... 嵌入应用程序 ;... RETI ;... ;... SETB INT0 ; 拉高 P3.2 CLR IE0 ; 清除 /INT0 中断标志 SETB IT0 ; may select falling-edge/low-level triggered SETB EA SETB EX0 ; 充许中断 ; 使能 /INT0 中断 ORL PCON,#02h ; 使 MCU 进入休眠模式 NOP ;! 注意 : 这必须有一个 NOP 操作摘要 : ;If /INT0 是下降沿触发, MCU 被唤醒, 进入 "IE0_isr", ; 然后回到这里继续运行! ; ;... ;... MEGAWIN MPC82G516A 数据手册 112

114 21.3 时钟降速 对 SCKD2~SCKD0 位 (PCON2 寄存器, 参见 22 节 ) 进行编程成非 -0/0/0 的数将使 MCU 的运行速度减慢来降低功耗. 用户可以对照列表来选择不同的运行速度. 原则上速度选项不影响系统的正常操作, 可以随时通过编程来恢复到常速运行. 113 MPC82G516A 数据手册 MEGAWIN

115 22 系统时钟 系统时钟有两个时钟源 : 外部时钟和内置振荡. 系统时钟, Fosc, 可以通过设置来选择两种时钟源, 如图 22-1 所示. 用户能通过设置 SCKD2~SCKD0 位 (PCON2 寄存器 ) 来获得理性的时钟. 内置振荡由硬件选项 ENROSC 来使能. 参见 25 节 : MCU 的硬件选项. 图 系统时钟示意图 PCON2 ( 地址 C7H, 电源控制寄存器 2, 复位值 =00x0,0000B) SCKD2 SCKD1 SCKD0 SCKD2~SCKD0: 系统时钟分频器选择位. SCKD2 SCKD1 SCKD0 Fosc (System Clock) 晶振频率 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 晶振频率 / 内置振荡器 The MPC82G516A 有一个内置的 6MHz 振荡. 如果不需要精确的外部时钟时. 可以使能内部振荡, 可以使用通用编程器对 ENROSC 硬件选项进行编程来对此进行设置. 特点是 6MHz 室温 (25 C). 误差 ±30% 在 40 C 到 +85 C ( 40 C 误差 +30%, +85 C 误差 -30%). 所以只能在不需要精准的振荡时钟的时候选择内部振荡 MEGAWIN MPC82G516A 数据手册 114

116 23 电源监测功能 MPC82G516A 具有电源监测功能预防在上电掉电过程中或电源不稳定时引发错误操作. 这由两种硬件功能来保证 : 上电监测和掉电监测. 图 23-1 电源监测原理图. 图 电源监测结构图表 23.1 上电监测 POF 标志 (PCON.4) 由硬件设置用来指示上电过程. 标志由硬件设置由软件来清除, 能帮助用户了教 MCU 的启动条件是什么, 冷启动 ( 即上电过程 ) 或热启动 ( 如由 RST 引脚输入的硬件复位, 软件复位或看门狗复位 ). 除上电时, POF 位同样在 VDD 降到 V POR 电压之下时也由硬件进行设置. PCON ( 地址 87H, 电源控制寄存器, 复位值 =00xx,0000B ( 或 00x1,0000B 上电复位时 )) SMOD SMOD0 - POF GF1 GF0 PD IDL POF: Power-ON 标志. 上电复位标志. 能被软件设置. 这只能被软件清除 115 MPC82G516A 数据手册 MEGAWIN

117 23.2 掉电监测 电源监测功能能监测电源是否已经跌到正常工作电压阀值一下. 电源监测功能在电源异常时将置位电源异常标志位, 如果电源监测被使能这将产生一个电源监测 (#12 in 表 19-1). 以下简述两种电源监测模式. 有两种电源监测方式 : (1) VDD 电源异常选项 : 当 VDD 引脚电压降到 V OPF (3.7V) 以下, OPF 标志被硬件置位表明 VDD 电压异常. 此选项适用使用在 5V 电压系统. (2) LDO 电源异常选项 : 当 LDO 输出电压降到 V CPF (2.4V) 以下, CPF 标志被硬件置位表明 LDO 电压异常, 此选项适用于 3.3V 电压系统. 注 : 参见 27.1 节 3.3V, 5V 或宽电压系统. 注意在上电复位过程中, 电压异常标志 OPF 和 CPF 在电压高于 3.7V 和 2.4V 将分别被硬件置位, 用户可以对此进行软件清除. 标志 OPF 和 CPF 可以触发电源监测中断, 如果 EA 被置位和 EOPFI 或 EOPCI 被置位参见 19 节 : 中断系统 ). 硬件选项 ENLVRO 或 ENLVRC 如果被使能, 电源监测触发一次内部复位. ( 参见 25 节 : MCU 的硬件选项 ). EVRCR 寄存器电源监测控制及相关标志位. EVRCR ( 地址 97H, EVR Control 寄存器, 复位值 =00xx,0000B ( 或 0011,0000B 在上电复位后 )) EOPFI ECPFI OPF CPF PMUOFF ( 保留 ) ( 保留 ) ( 保留 ) EOPFI: 使能 / 禁止中断 OPF=1 时. ECPFI: 使能 / 禁止中断 CPF=1 时. OPF: VDD 电压异常标志. VDD 引脚上的电源电压跌倒 3.7V 以下时, 硬件置位此位, 只能被软件清除. CPF: LDO 电压异常标志.LDO 电压跌倒 2.4V 以下时, 硬件置位此位, 只能被软件清除. PMUOFF: 设置此位将不使用电源监测功能来记录电源状态. 寄存器的保留位必须是 0. MEGAWIN MPC82G516A 数据手册 116

118 24 复位源 复位能通过下列的复位源触发 ( 参见图 24-1): 上电复位 通过 RST 引脚硬件复位 看门狗定时器复位 软件复位 电源监测的欠压复位图 复位结构图表 24.1 上电复位 上电复位 (POR) 用于在电源上电过程中产生一个复位信号. 微控制器在 VDD 电压上升到 V POR (POR 开始电压 ) 电压之前将保持复位状态. VDD 电压降到 V POR 之下后微控制器将再次进入复位状态. 在一个电源周期中, 如果需要再产生一次上电复位 VDD 必须降到 V POR 之下. 参见 30 节 : 直流特性相关 V POR 部分 RST 引脚硬件复位 保持复位引脚 RST 至少 24 个振荡周期的高电平, 将产生一个上电复位信号, 为确保微控制器的正常工作, 必须在 RST 引脚上连接可靠的硬件复位电路 看门狗复位 看门狗定时器被使能, 它将以系统时钟的 12 分频 (12/Fosc) 进行增量计数, 正常使用过程中必须不断清零, 如果溢出将会产生中断复位信号. 117 MPC82G516A 数据手册 MEGAWIN

119 24.4 软件复位 向位 SWRST 写 1 将触发软件复位, 然后通过设置 SWBS 寄存器来选择从 AP- 空间或 ISP- 空间来重新引导程序. 下面是 ISPCR 寄存器详细说明. ISPCR ( 地址 E7H, ISP Control 寄存器, 复位值 =000x,x000B) Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 ISPEN SWBS SWRST - - CKS2 CKS1 CKS0 SWBS: 软件引导选择. 1/0 用来选择软件复位后从 ISP- 空间 /AP- 空间引导. SWRST: 写 1 触发软件复位 掉电复位 硬件选项 ENLVRO 或 ENLVRC 被使能, 欠压时触发中断复位. ( 参见 25 节 : 微控制器的硬件选项 ). MEGAWIN MPC82G516A 数据手册 118

120 25 熔丝位选项 单片机的熔丝位选项决定了器件的性能, 且不能够被编程或者软件控制 熔丝位选项只能用通用编程器, 如 Megawin 8051 烧录器 或者 Megawin 8051 ICP 编程器 进行程式化 当全片擦除后, 所有熔丝位选项均为 disabled 状态, 并且没有 ISP 内存和 IAP 内存设定 MPC82G516A 有如下熔丝位选项 : ISP- 内存空间 : ISP 内存空间由其起始地址确定 上边界由 Flash 结束地址限定, 如 0xFFFF ( 参看 :Flash 结构 ) IAP- 内存空间 : IAP 内存空间由其下边界确定 如果 ISP 内存配置了, 上边界由 ISP 内存空间的起始地址限定 ; 否则, 上边界默认为地址 0xFFFF ( 参看 :Flash 结构 ) LVFWP: [enabled]: 在 IAP/ISP 操作中当 LDO 输出低于 V CPF ( 如, 2.4V) 时, 闪存写保护使能 [disabled]: 无闪存写保护 ENLVRC: [enabled]: 欠压复位当 LDO 输出低于 V CPF (2.4V) 时 [disabled]: 无欠压复位当 LDO 输出低于 V CPF (2.4V) 时 HWBS: [enabled]: 当上电时, 如果 ISP 内存设置则从 ISP 内存启动 [disabled]: 只从 IAP 内存启动 SB: [enabled]: 为安全, 代码打乱, 欺骗通用烧录器或编程器 [disabled]: 代码不打乱 LOCK: [enabled]: 为安全, 用通用烧录器或编程器读器件 ID 锁定为 0xFF [disabled]: 不锁定 OSCDN: [enabled]: 振荡增益衰减, 减少 EMI 干扰 [disabled]: 正常振荡增益 HWBS2: [enabled]: 如果 ISP 内存设置了, 上电或者任意复位均将从 ISP 内存启动 [disabled]: 启动时视 HWBS 而定 ENLVRO: [enabled]: 欠压复位, 当 VDD 低于 V OPF (3.7V). [disabled]: 无欠压复位, 当 VDD 低于 V OPF (3.7V). ENROSC: [enabled]: 使能内置 RC 振荡器. [disabled]: 禁用内置 RC 振荡器. WDSFWP: [enabled]: 特殊功能寄存器 WDTCR 软件写保护, 除 CLRW 位外 [disabled]: 特殊功能寄存器 WDTCR 可软件写 119 MPC82G516A Data Sheet MEGAWIN

121 HWENW ( 带有变量 HWWIDL 和 HWPS[2:0]): [enabled]: 上电时自动硬件使能看门狗定时器 也就是说 : 在 WDTCR 寄存器中, 硬件自动 : (1) 设置 ENW 位, (2) 载入 HWWIDL 进 WIDL 位中, 并且 (3) 载入 HWPS[2:0] 进 PS[2:0] 位中. 例如 : 如果 HWWIDL 和 HWPS[2:0] 分别被设定为 1 和 5, 那么 WDTCR 将被初始化为 0x2D 当上电时, 如下 : [disabled]: 上电时看门狗定时器无改变 MEGAWIN MPC82G516A Data Sheet 120

122 26 指令集 80C51 指令集专门为 8 位控制应用程序最优化, 它规定了多种快速寻址模式访问内部 RAM, 减轻小型数据结构的字节运算 这种指令集提供广泛的类似于分散数据类型支持单个位变量, 允许当需要布尔运算时的直接位操作控制和逻辑运算 MPC82G516A 指令集除了执行时间外, 是完全兼容 80C51 指令的 例如, 执行一条指令的时钟周期数, 最短只需要一个时钟周期, 最长需要 7 个时钟周期 寻址模式 80C51 指令集的寻址模式如下 : Direct Addressing 直接寻址直接寻址时操作数用指令中一个 8 位地址的区域表示, 只有内部数据存储器和特殊功能寄存器可以直接寻址 Indirect Addressing 间接寻址间接寻址时指令用一个包含操作数地址的寄存器表示, 内部和外部存储器均可间接寻址 8 位地址的地址寄存器可以是选中区的 R0 或 R1,16 位地址的地址寄存器只能是 16 位的 数据指针 寄存器,DPTR Register Instructions 寄存器操作 ( 寻址 ) 包含从 R0 到 R7 的寄存器区可以被某些指令存取, 这些指令的操作码中用 3 位寄存器说明 存取寄存器的指令有更高的代码效率, 因为这种模式减少了一个地址字节 当指令被执行时, 其中被选取的区一个 8 位寄存器被存取 执行时, 用 PSW 寄存器中两位区选择位来选择四分之一区 Register-Specific Instructions 特殊寄存器寻址 ( 寄存器间接寻址 ) 一些指令具有一个特定的寄存器, 例如, 一些指令常用于累加器, 或数据指针等等, 所以没有需要指向它的地址字节 操作码本身就行了 有关累加器的指令 A 就是累加器的特殊操作码 Immediate Constants 立即寻址常量的数值可以在程序存储器中跟随操作码 例如, MOV A, #100 将十进制数 100 装入累加器, 该数表示为十六进制是 64H Indexed Addressing 索引寻址索引寻址只能访问程序存储器, 且只读 这种寻址模式用查表法读取程序存储器 一个 16 位基址寄存器 ( 数据指针 DPTR 或程序计数器 PC) 指向表的基地址, 累加器提供偏移量 程序存储器中表项目地址由基地址加上累加器数据后形成 另一种索引寻址方式是利用 case jump 指令 跳转指令中的目标地址是基地址加上累加器数据后的值 121 MPC82G516A Data Sheet MEGAWIN

123 介绍指令集之前, 需注意的 : Rn 当前选中寄存器区的工作寄存器 R0-R7 direct 128 个内部 RAM 地址, 包括任意 I/O 口 #data 用 R0 或 R1 间接寻址内部 RAM 地址 指令中的 8 位常量 #data16 指令中的 16 位常量 addr16 用于 LCALL 和 LJMP 指令中的 16 位目标地址, 可以是 64K 字节程序存储器地址空间的任何位置 addr11 rel bit 用于 ACALL 和 AJMP 指令中的 11 位目标地址, 只能是从下一条指令的第一个字节开始计算, 同一个程序存储器 2K 字节页面内的位置 有符号的 8 位偏移字节, 用 SJMP 和所有的条件跳转, 范围在以下一条指令的第一个字节开始的 -128 到 +127 字节内 内部 RAM I/O 控制位或状态位的 128 位直接位寻址位 MEGAWIN MPC82G516A Data Sheet 122

124 26.1 算术运算指令 助记符描述字节占用时钟周期 算术运算 ADD A,Rn 将寄存器 Rn 中的内容加到累加器中 1 2 ADD A,direct 直接地址单元中的内容加到累加器中 2 3 ADD A,@Ri 寄存器工作寄存器 Ri 指向的地址单元中的内容加到累加器中 1 3 ADD A,#data 立即数加到累加器中 2 2 ADDC A,Rn 累加器与工作寄存器 Rn 中的内容 连同进位位相加, 结果 1 2 存在累加器中 ADDC A,direct 累加器与直接地址单元的内容 连同进位位相加, 结果存在 2 3 累加器中 ADDC A,@Ri 累加器与工作寄存器 Ri 指向的地址单元中的内容 连同进位 1 3 位相加, 结果存在累加器中 ADDC A,#data 累加器与立即数 连同进位位相加, 结果存在累加器中 2 2 SUBB A,Rn 累加器与工作寄存器中的内容 连同借位位相减, 结果存在 累加器中 SUBB A,direct 累加器与直接地址单元中的内容 连同借位位相减, 结果存在累加器中 SUBB A,@Ri 累加器与工作寄存器 Ri 指向的地址单元中内容 连同借位位 相减, 结果存在累加器中 SUBB A,#data 累加器与立即数 连同借位位相减, 结果存在累加器中 2 2 INC A 累加器中的内容加 INC Rn 寄存器 Rn 的内容加 INC direct 直接地址单元中的内容加 工作寄存器 Ri 指向的地址单元中的内容加 INC DPTR 数据指针 DPTR 的内容加 DEC A 累加器中的内容减 DEC Rn 寄存器 Rn 中的内容减 DEC direct 直接地址单元中的内容减 工作寄存器 Ri 指向的地址单元中的内容减 MUL AB ACC 中内容与寄存器 B 中内容相乘, 其结果低位存在 ACC 1 4 中 高位存在寄存器 B 中 DIV AB ACC 中内容除以寄存器 B 中内容, 商存在 ACC, 而余数存在 1 5 寄存器 B 中 DA A ACC 十进制调整 MPC82G516A Data Sheet MEGAWIN

125 26.2 逻辑操作指令 助记符描述字节占用时钟周期 逻辑运算 ANL A,Rn 累加器和寄存器 Rn 中的内容相 与 1 2 ANL A,direct 累加器和直接地址单元中的内容相 与 2 3 ANL A,@Ri 累加器和工作寄存器 Ri 指向的地址单元中的内容相 与 1 3 ANL A,#data 累加器和立即数相 与 2 2 ANL direct,a 直接地址单元中的内容和累加器相 与 2 4 ANL direct,#data 直接地址单元中的内容和立即数相 与 3 4 ORL A,Rn 累加器和寄存器 Rn 中的内容相 或 1 2 ORL A,direct 累加器和直接地址单元中的内容相 或 2 3 ORL A,@Ri 累加器和工作寄存器 Ri 指向的地址单元中的内容相 或 1 3 ORL A,#data 累加器和立即数相 或 2 2 ORL direct,a 直接地址单元中的内容和累加器相 或 2 4 ORL direct,#data 直接地址单元中的内容和立即数相 或 3 4 XRL A,Rn 累加器和寄存器 Rn 中的内容相 异或 1 2 XRL A,direct 累加器和直接地址单元中的内容相 异或 2 3 XRL A,@Ri 累加器和工作寄存器 Ri 指向的地址单元中的内容相 异或 1 3 XRL A,#data 累加器和立即数相 异或 2 2 XRL direct,a 直接地址单元中的内容和累加器相 异或 2 4 XRL direct,#data 直接地址单元中的内容和立即数相 异或 3 4 CLR A 累加器内容清 CPL A 累加器按位取反 1 2 RL A 累加器循环左移一位 1 1 RLC A 累加器连同进位位 CY 循环左移一位 1 1 RR A 累加器循环右移一位 1 1 RRC A 累加器连同进位位 CY 循环右移一位 1 1 SWAP A 累加器高低半字节互换 1 1 MEGAWIN MPC82G516A Data Sheet 124

126 26.3 数据传送指令 助记符描述字节占用时钟周期 数据传送 MOV A,Rn 寄存器 Rn 中的内容送到累加器中 1 1 MOV A,direct 直接地址单元中的内容送到累加器中 2 2 MOV A,@Ri 工作寄存器 Ri 指向的地址单元中的内容送到累加器中 1 2 MOV A,#data 立即数送到累加器中 2 2 MOV Rn,A 累加器中内容送到寄存器 Rn 中 1 2 MOV Rn,direct 直接寻址单元中的内容送到寄存器 Rn 中 2 4 MOV Rn,#data 立即数直接送到寄存器 Rn 中 2 2 MOV direct,a 累加器送到直接地址单元 2 3 MOV direct,rn 寄存器 Rn 中的内容送到直接地址单元 2 3 MOV direct,direct 直接地址单元中的内容送到另一个直接地址单元 3 4 MOV direct,@ri 工作寄存器 Ri 指向的地址单元中的内容送到直接地址单元 2 4 MOV direct,#data 立即数送到直接地址单元 3 3 累加器送到以工作寄存器 Ri 指向的地址单元中 1 3 直接地址单元中内容送到以工作寄存器 Ri 指向的地址单元中 2 3 立即数送到以工作寄存器 Ri 指向的地址单元中 2 3 MOV DPTR,#data16 16 位常数的高 8 位送到 DPH, 低 8 位送到 DPL 3 3 MOVC A,@A+DPTR 以 DPTR 为基地址变址寻址单元中的内容送到累加器中 1 4 MOVC A,@A+PC 以 PC 为基地址变址寻址单元中的内容送到累加器中 1 4 MOVX MOVX MOVX MOVX 注 1 注 1 注 1 住 1 寄存器 Ri 指向扩展 RAM 地址 (8 位地址 ) 中的内容送到 ACC 中 1 3 数据指针指向扩展 RAM 地址 (16 位地址 ) 中的内容送到 ACC 中 1 3 累加器中的内容送到寄存器 Ri 指向的扩展 RAM 地址 (8 位地 1 4 址 ) 中 累加器中的内容送到寄存器 Ri 指向的扩展 RAM 地址 (16 位 1 3 地址 ) 中 MOVX MOVX MOVX MOVX 注 2 注 2 注 2 注 2 寄存器 Ri 指向片外 RAM 地址中的内容送到 ACC 中 1 7 Note3 数据指针指向片外 RAM 地址 (16 位地址 ) 中内容送到 ACC 1 7 Note3 累加器中的内容送到寄存器 Ri 指向片外 RAM 地址 (8 位地 1 7 Note3 址 ) 中 累加器中的内容送到数据指针指向片外 RAM 地址 (16 位地 1 7 Note3 址 ) 中 PUSH direct 直接地址单元中的数据压入堆栈中 2 4 POP direct 出栈数据送到直接地址单元中 2 3 XCH A,Rn 累加器与寄存器 Rn 中的内容互换 1 3 XCH A,direct 累加器与直接地址单元中的内容互换 2 4 XCH A,@Ri 累加器与工作寄存器 Ri 指向的地址单元中内容互换 1 4 XCHD A,@Ri 累加器与工作寄存器 Ri 指向的地址单元中内容低半字节互换 1 4 注 1: 当控制位 EXTRAM=0, 所有 MOVX 指令均指向片内扩展 XRAM 区 注 2: 当控制位 EXTRAM=1, 所有 MOVX 指令均指向外部数据存储区 注 3: 访问外部数据存储区的机器周期时间计算方法是 : x (ALE 延长时钟 ) + (RW 延长时钟 ) 125 MPC82G516A Data Sheet MEGAWIN

127 26.4 布尔操作指令 助记符描述字节占用时钟周期 布尔变量操作 CLR C 清 0 进位位 1 1 CLR bit 清 0 直接地址位 2 4 SETB C 置 1 进位位 1 1 SETB bit 置 1 直接地址位 2 4 CPL C 进位位求反 1 1 CPL bit 直接地址位求反 2 4 ANL C,bit 进位位和直接地址位相 与 2 3 ANL C,/bit 进位位和直接地址位的反码相 与 2 3 ORL C,bit 进位位和直接地址位相 或 2 3 ORL C,/bit 进位位和直接地址位的反码相 或 2 3 MOV C,bit 直接地址位数据送入进位位 2 3 MOV bit,c 进位位数据送入直接地址位 2 4 MEGAWIN MPC82G516A Data Sheet 126

128 26.5 控制和转移指令 助记符描述字节占用时钟周期 PROAGRAM AND MACHINE CONTROL ACALL addr11 绝对短调用子程序,2K 字节 ( 页内 ) 空间限制 2 6 LCALL addr16 绝对长调用子程序,64K 字节空间限制 3 6 RET 子程序返回 1 4 RETI 中断子程序返回 1 4 AJMP addr11 绝对短转移,2K 字节 ( 页内 ) 空间限制 2 3 LJMP addr16 绝对长转移,64K 字节空间限制 3 4 SJMP rel 相对转移 2 3 转移到 DPTR 加 ACC 所指间接地址 1 3 JZ rel 累加器为 0 则转移 2 3 JNZ rel 累加器不为 0 则转移 2 3 JC rel 进位位为 1 则转移 2 3 JNC rel 进位位为 0 则转移 2 3 JB bit,rel 直接地址位为 1 则转移 3 4 JNB bit,rel 直接地址位为 0 则转移 3 4 JBC bit,rel 直接地址位为 1 则转移, 且清 0 该位 3 5 CJNE A,direct,rel 累加器中的内容不等于直接地址单元的内容, 则转移到偏 3 5 移量所指向的地址, 否则程序往下执行 CJNE A,#data,rel 累加器中的内容不等于立即数, 则转移到偏移量所指向的 3 4 地址, 否则程序往下执行 CJNE Rn,#data,rel 寄存器 Rn 中的内容不等于立即数, 则转移到偏移量所指向 3 4 的地址, 否则程序往下执行 工作寄存器 Ri 指向的地址单元中的内容不等于立即数, 则 3 5 转移到偏移量所指向的地址, 否则程序往下执行 DJNZ Rn,rel 寄存器 Rn 中的内容减 1, 如不等于 0, 则转移到偏移量所指 2 4 向的地址, 否则程序往下执行 DJNZ direct,rel 直接地址单元中的内容减 1, 如不等于 0, 则转移到偏移量 3 5 所指向的地址, 否则程序往下执行 NOP 空操作指令 MPC82G516A Data Sheet MEGAWIN

129 27 应用事项 V, 5V 供电和宽电压范围 MPC82G516A 由 5V 逻辑器件和 3V 逻辑器件组成 ; 前者直接由 VDD 供电, 后者通过内部低压差稳压器 (LDO) 供电 V30 引脚为 LDO 输出, 需要连接一个滤波电容到地, 能够得到更好的负载调整 图 27-1 表示了内部电源电路 供电工作范围由 VDD 和 V30 引脚的连接方式决定 图 电源电路 V 供电 使 MPC82G516A 工作在 3.3V 系统中, 供电变动范围从 2.4V 到 3.6V 之内,V30 引脚必须连接到 VDD, 如图 27-2 所示 此时, 内部 LDO 旁路 因此芯片能工作在最低 2.4V 图 V 供电 MEGAWIN MPC82G516A Data Sheet 128

130 V 供电和宽电压范围 MPC82G516A 工作在 5V 系统中, 供电范围从 2.7V 到 5.5V, V30 引脚不能连接到 VDD, 且需要一个滤波电容, 如图 27-3 所示 图 V 供电或宽电压范围 27.2 复位电路 通常, 上电时能够成功产生上电复位 不过, 为了更加确保上电时 MCU 可靠的复位, 需要有外部复位 图 27-4 示意了外部复位电路, 由一个连接到 VDD( 电源 ) 的电容 C EXT 和一个连接到 VSS( 地 ) 的电阻 R EXT 所组成 一般来说,R EXT 是可选的, 由于 RST 引脚有一个内部下拉电阻 (R RST ) 这个内置的接地集成电阻允许上电时只用一个接到 VDD 的外部电容 C EXT 参看章节 30: 直流特性 R RST 的相关部分 图 复位电路 129 MPC82G516A Data Sheet MEGAWIN

131 27.3 晶振电路 为了成功获得精确的振荡 ( 至 24MHz), 电容 C1 和 C2 是必需的, 无论硬件选项 OSCDN 的状态 (enabled 或 disabled) 通常,C1 和 C2 可以选取相同的值, 大约 20pF~150pF 范围内 图 晶振电路 MEGAWIN MPC82G516A Data Sheet 130

132 28 片上调试功能 MPC82G516A 为在线仿真 (In-Circuit Emulator,ICE) 设计有专门的片上调试 (On-Chip Debug,OCD) 接口 OCD 接口提供片上和在系统的无干扰调试, 不占用任何目标系统资源 ICE 的常用必备操作均支持, 如复位, 运行, 停止, 单步, 运行到光标, 断点设置 Megawin 提供使用 OCD 技术的在线调试工具 Megawin 8051 OCD ICE 给用户, 如图 用户开发时不必准备任何开发板或者传统的 ICE 探针插座转接器 用户所需的仅仅是在系统上为 OCD 接口保留一个 4 引脚的接插件 :VCC, OCD_SDA, OCD_SCL 和 GND 图 28-2 展示了 OCD ICE 的系统框图 另外, 最强大的特点是它能直接用 Keil 8051 IDESoftware 中的 dscope-debugger 功能选项连接到用户的目标系统进行调试 当然, 你得要用 Keil 8051 IDE 软件来调试 注 : Keil 是 Keil Elektronik GmbH and Keil Software, Inc. 的注册商标, Keil 8051 IDE software 是 8051 嵌入式系统开发中最常用的 C51 编译器 特点 Megawin 专利 OCD (On-Chip-Debug) 技术单芯片在系统实时调试 2 引脚专用串行 OCD 接口, 不占用目标系统资源直接连接到 Keil 8051 IDE Software 的调试功能 USB 连接目标板和上位机 (PC) 常用调试功能 : 复位, 运行, 停止, 单步和运行到光标可编程断点, 最多可同时设置 4 个断点多种常用调试窗口 : 寄存器 反汇编 Watch 内存窗口源级 ( 汇编或 C 语言 ) 调试能力 图 ICE Adapter 的图片 图 ICE 功能的结构框图 注 : 关于 OCD ICE 更加详细的信息, 欢迎联系 Megawin 索取 131 MPC82G516A Data Sheet MEGAWIN

W77E58中文手册

W77E58中文手册 W77E58 77E58 8051 8051 8051 77E58 8051 1.5 3 COMS 32K EEPROM 1K SRAM 1 8 2 40M 4 3 8051 4 8051 5 4 8 I/O 6 4 I/O 44 PLCC QFP 7 16 / 8 12 9 10 11 1K 12 13 16 DPTR 14 15 DIP40 W77E58 25/40 PLCC44 W77E58P

More information

128K Flash EPROM 的程序?\(Bank=64K\) 切?

128K Flash EPROM 的程序?\(Bank=64K\) 切? 应用说明 华邦 8 位单片机 (8051 内核 ) 应用说明 华邦 8 位单片机 (8051 内核 ) ANSC-UC08-0007 目录 - 1. 应用说明 :...4 1.1...4 1.2 相关寄存器介绍...4 1.2.1 串行口控制寄存器 (SCON)... 4 1.2.2 串行数据缓冲寄存器 (SBUF)... 5 1.2.3 串行口控制 1 (SCON1)... 5 1.2.4 串行数据接收缓冲

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

More information

MPC82G516

MPC82G516 8051 内核 - 单片机 MPC82G516 規格书 北京菱电科技有限公司 TEL:010-82674978 版本 : A1.0 This document contains information on a new product under development by Megawin. Megawin reserves the right to change or discontinue this

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

Microsoft Word - 專題封面.doc

Microsoft Word - 專題封面.doc 逢 甲 大 學 資 訊 工 程 學 系 專 題 研 究 報 告 8051 小 遊 戲 -21 點 指 導 教 授 : 陳 德 生 學 生 : 許 博 益 中 華 民 國 九 十 六 年 六 月 I 目 錄 第 一 章 緒 論 1 1-1 研 究 背 景 1 1-2 研 究 動 機 2 1-3 研 究 目 的 3 1-3-1 21 點 源 起 3 1-3-2 21 點 規 則 3 第 二 章 微 電

More information

at89S52.doc

at89S52.doc 主要性能 与 MCS-51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作 :0Hz~33Hz 三级加密程序存储器 32 个可编程 I/O 口线 三个 16 位定时器 / 计数器 八个中断源 全双工 UART 串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 8 位微控制器 8K 字节在系统可编程 Flash R 功能特性描述

More information

STC15W4K60S4系列增强型PWM波形发生器应用

STC15W4K60S4系列增强型PWM波形发生器应用 STC15W4K32S4 系列新增 6 通道增强型带死区控制高精度 PWM 波形发生器应用 STC15W4K32S4 系列的单片机集成了一组 ( 各自独立 6 路 ) 增强型的 PWM 波形发生器 PWM 波形发生器内部有一个 15 位的 PWM 计数器供 6 路 PWM 使用, 用户可以设置每路 PWM 的初始电平 另外,PWM 波形发生器为每路 PWM 又设计了两个用于控制波形翻转的计数器 T1/T2,

More information

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe   Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L 1 SH88F516 8051 64K FLASH 1024 EEPROM SH88F516 JET51 S-Lab Keil µ vision ISP51 Keil µ vision ISP51 ISP51 PC RS232 MCU SH88F516 SH88F516 1.1 SH88F516 1.1 SH88F516 SH88Fxx: QFP44, DIP40 RAM Flash E2 ADC

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

1

1 W7E65 1. W7E65 ISP Flash EPROM ISP Flash EPROM 52 W7E65 64K Flash EPROM 4K Flash EPROM 4K Flash EPROM loader 64K ROM 1K RAM 4 I/O 4 I/O P4 3 16 / 2 W7E65 Flash EPROM W7E65 2 2 2. CMOS 12 64K ISP Flash

More information

部分编号派生器件编号 (P89CXX) 操作频率, 最大 (V) 温度范围 (B) 封装 (AA,BB,PN) P89C51 FLASH U=33MHz B=0 70 AA=PLCC P89C52 FLASH F= BB=PQFP P89C54 FLASH PN=PDIP P89C58

部分编号派生器件编号 (P89CXX) 操作频率, 最大 (V) 温度范围 (B) 封装 (AA,BB,PN) P89C51 FLASH U=33MHz B=0 70 AA=PLCC P89C52 FLASH F= BB=PQFP P89C54 FLASH PN=PDIP P89C58 PHILIPS P89C5x 单片机数据手册 1 概述 P89C51/89C52/89C54/89C58 含有非易失 FLASH 并行可编程的程序存储器所有器件都是通过引导装载器串行编程 ISP 见 P89C51RC+/89C51RD+ 数据手册种系列单片机采用先进 CMOS 工艺的单片位微控制器是 80C51 微控制器系列的派生和 80C51 指令相同特点 FLASH 器件选择表 ROM/EPRO

More information

MA816_DS_CN_V005

MA816_DS_CN_V005 MAKE YOUWIN 数据手册 版本 0.05 QP-7300-03D 1/79 目录 1. 概述...5 2. 功能...6 3. 方框图...7 4. 特殊功能寄存器 SFR...8 4.1. SFR 映射表...8 4.2. SFR 位分配...9 4.3. SFR 内存分页...10 5. 引脚...11 5.1. 封装...11 5.2. 引脚定义...12 6. 系统时钟...13 6.1.

More information

Microsoft Word - 第1章 MCS-51单片机基础.docx

Microsoft Word - 第1章 MCS-51单片机基础.docx 51 单片机应用开发实战手册 作者 : 华清远见 第 1 章 MCS-51 单片机基础 本章目标 单片机作为嵌入式微控制器在工业测控系统 智能仪器和家用电器中得到广泛 应用 虽然单片机的品种很多, 但 MCS-51 系列单片机仍不失为单片机中的主流机 型 本章主要介绍 MCS-51 单片机的基础知识和学习要点, 以目前应用最为广泛的 AT89SXX 系列单片机为例, 介绍单片机的历史发展 应用领域

More information

MPC89LE51_52_53_54_58_515

MPC89LE51_52_53_54_58_515 5 8 bit micro controller 1 特性...2 2 引脚...3 2.1 引脚图...3 2.1 引脚定义...4 3 方框图...6 4 特殊功能寄存器...7 辅助寄存器 AUXR 和 AUXR1...8 5 存储器...9 5.1 RAM...9 MPC89x54/58/515 RAM 空间 (00 7F 可直接或间接寻址 )...9 MPC89x51/5 2/53 RAM

More information

SH79F161B I/O 1. SH79F161B SH79F161B IO 30 I/O I/O 4 I/O SH79F161B 30 I/O Px I/O PxCRy I/O PxPCRy x = 0-3 y = IO PxCRy IO x=0-3 y=0-7

SH79F161B I/O 1. SH79F161B SH79F161B IO 30 I/O I/O 4 I/O SH79F161B 30 I/O Px I/O PxCRy I/O PxPCRy x = 0-3 y = IO PxCRy IO x=0-3 y=0-7 SH79F161B - 10 ADC 8051 V 1.0 SH79F161B I/O 1. SH79F161B 8051 8051 SH79F161B IO 30 I/O I/O 4 I/O SH79F161B 30 I/O Px I/O PxCRy I/O PxPCRy x = 0-3 y = 0-7 2. IO PxCRy IO x=0-3 y=0-7 PxPCRy IO x=0-3 y=0-7

More information

Content

Content 笙泉科技股份有限公司 Megawin Technology Co., Ltd. 数据手册 版本 : 0.10 1/132 目录 1. 概述... 6 2. 功能... 7 3. 方框图... 9 4. 特殊功能寄存器 (SFRs)... 10 4.1. SFR 映射图...10 4.2. SFR 位分配...11 5. 引脚... 14 5.1. 引脚结构...14 5.2. 引脚定义...15 5.3.

More information

MPC89LE51_52_53_54_58_515

MPC89LE51_52_53_54_58_515 8051 内核 - 单片机 MPC89LE51_52_53_54_58_515 規格书 北京菱电科技有限公司 TEL:010-82674978 版本 : A1.0 This document contains information on a new product under development by Megawin. Megawin reserves the right to change

More information

µPSD3000 系列

µPSD3000 系列 8032 FLASH MCU µpsd3251f-40t6 µpsd3251 8032 FlashPSD Flash SRAM I/O I 2 C, ADC and PWM 8032, 16 / FlashPSD µpsd32 JTAG ISP 2K SRAM Flash - 64K Flash - 16K Flash - Flash 8032 12 I2C ADC 6 I/O 37 I/O 16

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

STC90C51RC-cn.pdf

STC90C51RC-cn.pdf STC90.STC90C5RC/RD+ STC90C5RC/RD+ 805 5.5V - 3.3V 3.6V - 2.0V V 040MHz080MHz48MHz 4K / 8K / 3K / 6K / 32K / 40K/ 48K/ 56K/ 6K 28052RAM I/O35/39P/P2/P3/P4805I/OP0 I/O ISP/ IAP RxD/P3.0, TxD/P3. EEPROM MAX80

More information

电子驿站技术文档

电子驿站技术文档 AT89C52 中文资料 电子驿站 http:// www.ourmpu.com E-mail: support@ourmpu.com AT89C52 是美国 ATMEL 公司生产的低电压, 高性能 CMOS 8 位单片机, 片内含 8k bytes 的可反复擦写的只读程序存储器 (PEROM) 和 256 bytes 的随机存取数据存储器 (RAM), 器件采用 ATMEL 公司的高密度 非易失性存储技术生产,

More information

另外,AT89S52 可降至 0Hz 静态逻辑操作, 支持 2 种软件可选择节电模式 空闲模式下,CPU 停止工作, 允许 RAM 定时器/ 计数器 串口 中断继续工作 掉电保护方式下,RAM 内容被保存, 振荡器被冻结, 单片机一切工作停止, 直到下一个中断或硬件复位为止 8 位微控制器 8K 字

另外,AT89S52 可降至 0Hz 静态逻辑操作, 支持 2 种软件可选择节电模式 空闲模式下,CPU 停止工作, 允许 RAM 定时器/ 计数器 串口 中断继续工作 掉电保护方式下,RAM 内容被保存, 振荡器被冻结, 单片机一切工作停止, 直到下一个中断或硬件复位为止 8 位微控制器 8K 字 AT89C52 中文资料 AT89C52 的中文资料 AT89C52 是美国 Atmel 公司生产的低电压 高性能 CMOS 8 位单片机, 片内含 8KB 的可反复檫写的程序存储器和 12B 的随机存取数据存储器 (RAM), 器件采用 Atmel 公司的高密度 非易失性存储技术生产, 兼容标准 MCS- 51 指令系统, 片内配置通用 8 位中央处理器 (CPU) 和 Flash 存储单元, 功能强大的

More information

MG103_DS_CN_V101

MG103_DS_CN_V101 数据手册 版本 1.01 QP-7300-03D 1/60 目录 01. 概述... 74 12. 功能... 75 23. 引脚... 86 3.1. 封装...86 43.2. 引脚定义...87 54. 方框图...8 65. 特殊功能寄存器 SFR... 89 75.1. SFR 映射表...89 85.2. SFR 位分配...810 96. 8051 CPU 功能描述... 811 16.1.

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

Microsoft Word - P87CL52X2_54X2.doc

Microsoft Word - P87CL52X2_54X2.doc P87CL52X2/54X2 器件手册 概述 PHILIPS P87CL5xX2 是一款高性能的静态 80C51 器件 由高密度 CMOS 工艺制造而成 工作电压范 围为 1.8V 3.3V 无 ROM 的 P87CL5xX2 包含 256 8 RAM 32 个 I/O 口 3 个 16 位计数器 / 定时器 一个 6 中断源 -4 优先级 - 嵌套中断结构 一个可用于多机通信 I/O 扩展或全双工

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

第十四章 STC单片机比较器原理及实现

第十四章 STC单片机比较器原理及实现 第 14 章 STC 单片机比较器 原理及实现 何宾 2015.02 1 本章主要内容 STC 单片机比较器结构 STC 单片机比较器寄存器组 STC 单片机比较器应用 2 STC 单片机比较器结构 STC15W 系列单片机内置了模拟比较器 对于 STC15W201S STC15W404S, 以及 STC15W1K16S 系 列单片机的比较器内部结构 3 STC 单片机比较器结构 S T C 15W

More information

CH559指令周期.doc

CH559指令周期.doc CH55X 汇编指令周期表 CH55X 汇编指令概述 : 型号包含 : a. 指令单周期型号 :CH557 CH558 CH559; b. 指令 4 周期型号 :CH551 CH552 CH553 CH554; c. 非跳转指令的指令周期数与指令字节数相同 ; d. 跳转指令含 MOVC/RET/CALL 通常比字节数多若干个周期 ; e.movc 指令多 4 或 5 个周期 ( 下条指令地址为奇数时多

More information

MA801_DS_CN_V100

MA801_DS_CN_V100 数据手册 版本 1.00 QP-7300-03D 1/68 目录 1. 概述...5 2. 功能...6 3. 引脚...7 3.1. 封装...7 3.2. 引脚定义...8 4. 方框图...9 5. 特殊功能寄存器 SFR...10 5.1. SFR 映射表...10 5.2. SFR 位分配...11 6. 8051 CPU 功能描述...12 6.1. CPU 寄存器...12 6.2.

More information

MA801_DS_CN

MA801_DS_CN 数据手册 版本 1.02 QP-7300-03D 1/71 目录 1. 概述...5 2. 功能...6 3. 引脚...7 3.1. 封装...7 3.2. 引脚定义...8 4. 方框图...9 5. 特殊功能寄存器 SFR...10 5.1. SFR 映射表...10 5.2. SFR 位分配...11 6. 8051 CPU 功能描述...12 6.1. CPU 寄存器...12 6.2.

More information

5. P0.0 P0.7 P0 4 2 P0.3~P0.6 ADC P1.0 P P1.2(SCL) P1.3(SDA) P1.5 RST P1.5 2 XTAL1(P2.1) 1 XTAL0(P2.0) 2 XTAL1 I/O VDD VSS 6. H5815 4T 16K Flas

5. P0.0 P0.7 P0 4 2 P0.3~P0.6 ADC P1.0 P P1.2(SCL) P1.3(SDA) P1.5 RST P1.5 2 XTAL1(P2.1) 1 XTAL0(P2.0) 2 XTAL1 I/O VDD VSS 6. H5815 4T 16K Flas H5815 1. H5815 H5815 3 H5815 8052 16K Flash EPROM 256 NVM Flash EPROM 256 RAM 2 8 1 2 I/O 16-2 / 4 10 AD 4 10 PWM 1 I2C 1 UART 13 4 H5815 2. 4T 51 20MHZVDD=2.7V~ 16K Flash EPROM 256 RAM 256 NVM FLASH EPROM

More information

SM2965

SM2965 产品清单 SM2965C40, 主频 40MHz, 内带 64KB 闪存的 MCU 总体描述 SM2965 系列产品是一种内嵌 64KB 闪存和 1K 字节 RAM 的 8 位单片微控制器它是 80C52 微控制器家族的派生产品具有在系统可编程 (ISP) 功能其 PDIP 封装具有 32 个 I/O 口而 PLCC/QFP 封装则具有多达 36 个 I/O 口 64K 字节的闪存既可以当作程序空间又可以当作数据空间或者数据和程序混合空间其硬件特征和强大的指令系统使它成为一种性能价格比高的控制器片上闪存的编程可以使用商用编程器进行并行编程也可以根据其

More information

MA803_DS_CN_V100

MA803_DS_CN_V100 数据手册 版本 1.01 QP-7300-03D 1/70 目录 1. 概述...5 2. 功能...6 3. 引脚...7 3.1. 封装...7 3.2. 引脚定义...8 4. 方框图...9 5. 特殊功能寄存器 SFR...10 5.1. SFR 映射表...10 5.2. SFR 位分配...11 6. 8051 CPU 功能描述...13 6.1. CPU 寄存器...13 6.2.

More information

CM ZT1

CM ZT1 Spansion 模拟和微控制器产品 本文档包含有关 Spansion 模拟和微控制器产品的信息 尽管本文档内有原来开发该产品规格的公司名称 富士通 或 Fujitsu, 该产品将由 Spansion 提供给现有客户和新客户 规格的延续本文档内容并不因产品供应商的改变而有任何修改 文档内容的其他更新, 均为改善文档而进行, 并已记录在文档更改摘要 日后如有需要更改文档, 其更改内容也将记录在文档更改摘要

More information

7688使用手冊V10.doc

7688使用手冊V10.doc TP-7688 . 2 2. 3 3. 5 4. 5 5. 6 6. 7 7. 8 8. 9 9.. 4. 7 2 2., 7x9 / 6x9 7x9.3() x 3.()mm 6x9 2.84() x 3.()mm 3 ASCII 7x9 95 ASCII 6x9 95 6x9 7 BIG5 6x9 3973 6x9 28 7x9 24 24 55 6x9 2 2 27 4.23mm (/6 inch)

More information

P89LV51RD2器件手册

P89LV51RD2器件手册 P89LV51RD2 器件手册 1. 概述 P89LV51RD2 是一款 80C51 微控制器, 包含 64kB Flash 和 1024 字节的数据 RAM P89LV51RD2 的典型特性是它的 X2 方式选项 设计者可通过该特性来选择应用程序以传统的 80C51 时钟频率 ( 每个机器周期包含 12 个时钟 ) 或 X2 方式 ( 每个机器周期包含 6 个时钟 ) 的时钟频率运行, 其中, 选择

More information

79F161 V0.2

79F161 V0.2 带 10 位 ADC 的增强型 8051 微控制器 1. 特性 基于 8051 兼容流水指令的 8 位单片机 Flash ROM:16K 字节 RAM: 内部 256 字节, 外部 512 字节 工作电压 : - f OSC = 400kHz - 12MHz,V DD = 4.0V - 5.5V 振荡器 ( 代码选项 ): - 陶瓷谐振器 :400k - 12MHz - 内部 RC 振荡器 :12MHz

More information

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示

图 内部结构图 8251 的外部引脚如图 所示, 共 28 个引脚, 每个引脚信号的输入输出方式如图中的箭 头方向所示 实验题目 : 串行接口芯片 8251 实验目的 : 1. 掌握 8251 的工作方式及应用 2. 了解有关串口通讯的知识 串行接口芯片 8251 3. 掌握使用 8251 实现双机通讯的软件编程和电路连接 实验设备 : IA-32 架构的微机系统及应用教学平台两套 实验原理 : 1. 8251 的基本性能 性能 : 8251 是可编程的串行通信接口, 可以管理信号变化范围很大的串行数据通信 有下列基本

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机比较器原理及实现 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 STC 单片机比较器结构 STC15W 系列单片机内置了模拟比较器 对于 STC15W201S STC15W404S, 以及 STC15W1K16S 系列单片机的比较器内部结 构 STC 单片机比较器结构 从图中可以看出, 比较器正端输入 CMP+ 的输入电压来自单片机的 P5.5

More information

Microsoft Word - Delta Controller ASCII_RTU_SC

Microsoft Word - Delta Controller ASCII_RTU_SC Delta Controller ASCII/RTU ( 适用台达变频器 伺服驱动器 PLC 温度控制器 ) 人机默认值通讯速率 :9600, 7, None, 2 (ASCII); 9600, 8, None, 2 (RTU) 控制器站号 :1 控制区 / 状态区 :None/None 控制器接线的说明 Delta Servo a. RS-232(DOP-A/AE/AS, DOP-B 系列适用 )

More information

AT89S51

AT89S51 AT89S51 中文资料 AT89S51 是美国 ATMEL 公司生产的低功耗, 高性能 CMOS8 位单片机, 片内含 4kbytes 的可系统编程的 Flash 只读程序存储器, 器件采用 ATMEL 公司的高密度 非易失性存储技术生产, 兼容标准 8051 指令系统及引脚 它集 Flash 程序存储器既可在线编程 ( ISP) 也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,ATMEL

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机 CCP/PCA/PWM 模块原理及实现 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 CCP/PCA/PWM 结构 STC15 系列部分单片机内部集成了三路 CCP/PCA/PWM 模块, 如图 24.1 所示 注 : STC15W1K16S STC15W404S STC15W201S STC15F100W 系列单片机无 CCP/PCA/PWM

More information

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32--

HD61202 HD HD61203 HD61202, HY HY HD61202 HD61202 HD61203 HD =4096 RAMRAM LCD 2HD HD HD /32-- HD61202 C-7 1 HD61202 HD61202 8 HD61203 HD61202, HY-12864 HY-19264 HD61202 HD61202 HD61203 HD61202 1 6464=4096 RAMRAM LCD 2HD61202 64 3HD61202 68 68 4HD61202 1/32--1/64 HD61202 HD61202 2 CS1,CS2,CS3 CS1

More information

fgfdg

fgfdg CYGNAL 应用笔记 AN006 Cygnal C8051 IDT71V124 128Kx8 SRAM A[16:8] 地址总线 A[16:8] 74VHC573 8 位锁存器 ALE LE AD[7:0] 地址 / 数据总线 D Q A[7:0] I/O[7:0] CS CS /WR WE /RD OE 引言 图 1. 外部 SRAM 接口框图 本应用笔记的目的是介绍如何将一个通用 SRAM 芯片或一个按存储器寻址的外设部件与

More information

Content

Content 笙泉科技股份有限公司 Megawin Technology Co., Ltd. Version: 1.24 MA86X104 说明书 1/93 目录 目录... 2 1. 概叙... 5 2. 功能... 6 3. 方框图... 8 4. 特殊功能寄存器... 9 4.1. SFR 图... 9 4.2. SFR 位分配... 10 4.3. 辅助 SFR 图 (Page P)... 11 4.4.

More information

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集 XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 2.400--2.483GHz 世界通用 ISM 频段, 它集成射频收发通路 频率发生器 晶体振荡器 调制解调器等功能模块, 并且支持一对多组网和带 ACK 的通信模式

More information

專題最終版.doc

專題最終版.doc The Principle and Application of the Electric Combination Lock The Principle and Application of the Electric Combination Lock Abstract Recently, there are more and more burglaries in the society. It's

More information

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS KS0108 KS0108 8 KS0107 KS0108 KS0108 128*32128*64 192*64 KS0108 KS0108 KS0107 KS0108 1 6464=4096 RAMRAM LCD 2KS0108 64 3KS0108 68 68 4KS0108 1/48--1/64 KS0108 CS1,CS2,CS3 CS1 CS2 CS3 E E KS0108 E R/W R/W=1

More information

AT89C2051中文资料.doc

AT89C2051中文资料.doc 图形点阵液晶显示模块使用手册 TG12864C(L) 广州捷胜吉电子科技 地址 : 广州市天河区天河路 561# 新赛格电子城 B2226 电话 :(020)33550997 13829772038 网址 :WWW.GZJSJDZ.COM E-mail:CJKD@21CN.COM 目 录 ( 一 ) 概述 (1) ( 二 ) 外形尺寸图 (1) ( 三 ) 模块主要硬件构成说明 (2) ( 四 )

More information

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结!

xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结! xilinx FPGA 串口设计笔记 在设计中, 需要用 FPGA 读取 GPS 内部的信息,GPS 的通信方式为串口, 所以在 FPGA 中移植了串口程序 本次移植的程序源代码是特权的串口程序, 本以为移植应该很快就能完成, 但其中还是出了一写小问题, 耽误了不少的时间, 下面将问题进行一个总结! 以下是串口的时序 : 在设计中, 耽误时间最长的问题就是数据老是出错, 为了找出问题的所在, 用示波器观察了

More information

Microsoft PowerPoint - 第一章(07版).PPT

Microsoft PowerPoint - 第一章(07版).PPT 单片机原理及综合设计 嵌入式微控制器的开发入门 微机及单片机原理原理实验室综合楼 419 室 大连理工大学电信学院陈育斌 1 ( 理论课 ) 上课时间表 (10~17 周 ) 周次 星期 一 二 三 四 五 六 日 1 至 6 时间地点 大五节综 309 (18:00) 大连理工大学电信学院陈育斌 2 课程总体安排 总学时 : 理论课 + 实验课 =36 学时 其中 : 理论课 :24: 学时 ;

More information

33023A.book(31026A_cn.fm)

33023A.book(31026A_cn.fm) 26 第 26 章看门狗定时器与休眠模式 目录 看门狗定时器与休眠模式 本章包括下面一些主要内容 : 26.1 简介... 26-2 26.2 控制寄存器... 26-3 26.3 看门狗定时器 (WDT) 的操作... 26-4 26.4 休眠省电模式... 26-7 26.5 初始化... 26-9 26.6 设计技巧... 26-10 26.7 相关应用笔记... 26-11 26.8 版本历史...

More information

PowerPoint Presentation

PowerPoint Presentation 7.2 并行接口 二. 可编程并行接口芯片 8255A 的功能及其应用 与 CPU 一侧相连的引脚 D0 PA0 ~ ~ ~ ~ ~ D7 PA7 RESET PC7 WR RD PC4 PC3 PC0 A0 PB0 A1 PB7 CS PA 口 PC 口上半部 PC 口下半部 PB 口 A 组 B 组 与 I/O 设备相连的引脚 7.2 并行接口二. 可编程并行接口芯片 8255A 的功能及其应用

More information

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc EEPROM 应用说明 1 适用产品 :SM59D03G2 SM59D04G2 series 2 应用范围 : 针对需使用 EEPORM 功能替换 STC 89C5X 的应用及汇编语言之范例程序 ( 使用内部扩充内存为暂存区 ) 3 功能说明 : 3.1 本公司上述产品 EEPORM 功能皆可替换 STC89C5X, 仅需对特殊功能缓存器定义 ( 详见表 1) 及 ISP 命令定义 ( 详见表 2)

More information

<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074>

<4D F736F F F696E74202D20B5DA35D5C2CEA2B4A6C0EDC6F7B9A4D7F7D4ADC0ED2E707074> 第 5 章 微处理器工作原理 1 5.1 8086 处理器 2 1. 管脚定义 3 8086/88 管脚描述 8086:16 位微处理器, 16 位外部数据总线 8088:16 位微处理器, 8 位外部数据总线 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND 1 2 3 4 5

More information

GW2A 系列 FPGA 产品 GW2A-18 器件 Pinout Version History 日期 版本 2016/8/ /9/ /11/ /2/ /6/ /6/ /8

GW2A 系列 FPGA 产品 GW2A-18 器件 Pinout Version History 日期 版本 2016/8/ /9/ /11/ /2/ /6/ /6/ /8 Version History 日期 版本 2016/8/4 1.00 2016/9/2 1.01 2016/11/29 1.02 2017/2/16 1.03 2017/6/9 1.04 2018/6/27 1.05 2018/8/8 1.06 新增 MG196 PBGA256S 封装信息 ; 修改 SSPI 模式的配置功能 ; 增加 QN88 封装信息 2019/3/27 1.07 增加电源供电要求

More information

单片机原理及应用实验指导书.doc

单片机原理及应用实验指导书.doc 1 2 3 4...2...4...9...9 AEDK598 MCS51...9 MCS51...10...10...10...10...10...10...11 P1...12...12...12....12...12...13 P3...14...14...14...14...14...14 I/O...15...15...15...15...15...16...17...17...17...17...17...18...19...19

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

, STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99

, STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC12C5A08AD-35C-LQFP44,RMB 7.5 , STC12C5201AD-SOP16,RMB 2.49 STC12C5202AD-LQFP32,RMB 3.99 , , 0.1uF STC 89LE58 RD+ 32K 1280 16K+ 0.1uF

More information

SinOne SC92F7252/7251/7250 高速 1T 8051 内核 Flash MCU,256 bytes SRAM,4 Kbytes Flash,128 bytes 独立 EEPROM,12 位 ADC,6 路 8 位 PWM,3 个定时器,UART 1 总体描述 SC92F725X

SinOne SC92F7252/7251/7250 高速 1T 8051 内核 Flash MCU,256 bytes SRAM,4 Kbytes Flash,128 bytes 独立 EEPROM,12 位 ADC,6 路 8 位 PWM,3 个定时器,UART 1 总体描述 SC92F725X ,256 bytes SRAM,4 Kbytes Flash,128 bytes 独立 EEPROM,12 位 ADC,6 路 8 位 PWM,3 个定时器,UART 1 总体描述 SC92F725X 系列是一颗增强型的 1T 8051 内核工业级 Flash 微控制器, 指令系统完全兼容传统 8051 产品系列 SC92F725X 集成有 4 Kbytes Flash ROM 256 bytes

More information

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD2 1...2 1.1...2 1.2...2 1.3 /...2 2 SoftICE...2 3 SoftICE MCU...2 4 SoftICE...3 4.1 SST BootLoader SOFTICE...3 4.2 SoftICE SST MCU...6 5 SoftICE...7

More information

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC LCD PIC 单片机解决方案 集成 LCD 驱动器模块的 PIC 单片机 www.microchip.com/lcd ,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC,

More information

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc 自定义下载应用说明 一 适用产品 :SM59XX 系列 SM59D XX 系列 SM59R XX 系列二 应用方式 : 可以让使用者自定义 command 作为进入 ISP 刻录的通关指令, 透过 UART 连接 ISAP 软件做联机更新三 操作说明 ( 使用 SM59D04G2 为例 ): 1. ISAP 操作方式 : 1.1 先将主程序及 ISP 服务程序烧进 MCU 中 1.2 将 MCU 放至系统版上,

More information

第一章

第一章 单片机原理 STC15F2K60S2 微机原理与单片机接口技术复习要点 第一章微型计算机概述 ( 了解概念 ) 1.1.2 微型计算机基本构成 ( 基本结构由哪些部分构成 ) 1.1.3 单片微型计算机简介 ( 什么是单片机, 单片机的结构及各个部分的功能, 常见的单片机有哪些 ) 1>. 微型计算机基本构成 : 微处理器, 存储器 (ROM RAM) 与输入输出接口 (I/O 接口 ) 及外部设备及连接他们的系统总线组成

More information

, , STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC12C5A08AD-35C-LQFP44,RMB 7.5 , STC12C5201AD-SOP16,RMB 2.49 STC12C5202AD-LQFP32,RMB 3.99 0.1uF 0.1uF 0.1uF STC 89 E 2 PROM Data Flash

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc 1 适用产品 : 1.1 SM59R16A5/ SM59R09A5/ SM59R05A5/ SM59R16A3/ SM59R09A3/ SM59R05A3 1.2 SM59R16G6/ SM59R09G6/ SM59R05G6 1.3 SM59R04A2/ SM59R04A1/ SM59R03A1/ SM59R02A1 1.4 SM59R16A2/ SM59R08A2 2 UART 差异如下说明 :

More information

Microsoft Word - SC16C550应用实例.doc

Microsoft Word - SC16C550应用实例.doc SCC0 应用实例. 概述 SCC0 是 PHILIPS 推出的一款高性能的 UART 芯片, 其具有 字节 FIFO 和 IrDA 编 / 解码模块 本文将结合电路和程序演示如何使用 SCC0 接收和回送 UART 数据 读者可以根据图 制作 SCC0 的 DEMO 版 ; 在 KEIL C 开发环境下, 可利用 PVRD 的 SOFTICE 功能, 方便调试 SCC0 的各种功能. 电路分析 图

More information

79F161 V0.2

79F161 V0.2 带增强型 8051 的电力线载波通信控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:16K 字节 类 EEPROM:2K 字节 RAM: 内部 256 字节, 外部 512 字节 工作电压 : V DD = 3.0V - 5.5V,AV DD = 3.0V - 3.6V 振荡器 : - 晶体谐振器 :8MHz - 16MHz 16 个 CMOS 双向 I/O

More information

SC91F532

SC91F532 ,512 bytes SRAM,16 Kbytes Flash,128 bytes 独立 EEPROM,8 路 12 位 ADC,7 路 10 位 PWM,3 个定时器,UART, SSI,Check Sum 校验模块 1 总体描述 是一颗增强型的 1T 8051 内核工业级 Flash 微控制器, 指令系统完全兼容传统 8051 产品系列 集成有 16 Kbytes Flash ROM 512 bytes

More information

第 卷 第 期 年 月 半 导 体 学 报! " # $%&'%' $!&' #% #$1 /#1 $'! / ?/ ?/ / 3 0,?/ ) * +!!! '!,!! -. & ' $! '! 4% %&1)/1(7%&)03 (% )

第 卷 第 期 年 月 半 导 体 学 报!  # $%&'%' $!&' #% #$1 /#1 $'! / ?/ ?/ / 3 0,?/ ) * +!!! '!,!! -. & ' $! '! 4% %&1)/1(7%&)03 (% ) 第 卷 第 期 年 月!"# $%&'%' $!&'#%#$1/#1 $'! /18103 2?/03101?/18103 /3 0,?/0301.13 )*+!!! '!,!! -.&' $!'! 4%%&1)/1(7%&)03(%)%&,%*(1&0)%$-0*,%30)17*1*)0(+1(1+&1*+*),)1; &113(%44(10&.0701&0-&00*/)%;()1%-1+%&0)0*1*)%

More information

79F161 V0.2

79F161 V0.2 带 10 位 ADC 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:16K 字节 RAM: 内部 256 字节, 外部 512 字节 工作电压 : - f OSC = 400kHz - 16MHz,V DD = 3.6V - 5.5V 振荡器 ( 代码选项 ): - 晶体谐振器 :400kHz - 16MHz - 陶瓷谐振器 :400kHz

More information

DATASHEET SEARCH SITE ==

DATASHEET SEARCH SITE == , STC 89 1280 8/16/32/64k IAP SRAM ISP P0 8 P1 8051 E 2 PROM + P2 IAP STC Data Flash P4.0P4.3 P3 MAX810 I/O P4 A/D UART A / D 3 STC 89 P I I E 2 P 4 S A ROM EMI P P STC 89C51 RC 4K 512 2K STC 89C52 RC

More information

PCM-3386用户手册.doc

PCM-3386用户手册.doc PCM-3386 BBPC-4x86 10/100M PC/104 (Lanry technology Co. Ltd. Zhuhai) 38 1012836 (Address: Room 1012,Linhai Building,No. 38,west of Shihua Road,Zhuhai City,Guangdong Province,China) (post code)519015 (phone)0756-3366659

More information

92 系列产品命名规则 名称 SC 92 F X P 32 R 序号 序号 Sinone Chip 缩写 产品系列名称 产品类型 (F:Flash MCU) 系列号 :7:GP 系列,8:TK 系列 含义 ROM

92 系列产品命名规则 名称 SC 92 F X P 32 R 序号 序号 Sinone Chip 缩写 产品系列名称 产品类型 (F:Flash MCU) 系列号 :7:GP 系列,8:TK 系列 含义 ROM 超高速 1T 8051 内核 Flash MCU,2 Kbytes SRAM,32 Kbytes Flash,128 bytes 独立 EEPROM,22 路高灵敏度触控电路,12 位 ADC,1 个模拟比较器,4 路 12 位 PWM,3 个定时器, 乘除法器,UART,SSI,Check Sum 校验模块 1 总体描述 ( 以下简称 SC92F854X) 系列是一颗增强型的超高速 1T 8051

More information

79F161 V0.2

79F161 V0.2 SH88F2051 / 带 10 位 ADC 的 2051/4051 微控制器 1. 特性 基于 8051 兼容流水指令的 8 位单片机 Flash ROM:4K/8K 字节 RAM: 内部 256 字节, 外部 256 字节 片上 512 字节类 EEPROM 存储空间 工作电压 : fosc = 30kHz - 16.6MHz,VDD = 2.8V - 5.5V 振荡器 ( 代码选项 ): -

More information

GENERAL DESCRIPTION

GENERAL DESCRIPTION Nuvoton 8051 内核微控制器 N79E815 N79E814 N79E8132 规格书 版本 : 3.00 目录 2016 年 2 月 20 日第 1 页总 179 页版本 V3.00 1 概述...6 2 特性...7 3 器件信息列表...9 4 结构框图... 10 5 管脚配置... 11 6 内存结构... 19 6.1 APROM 闪存存储器... 20 6.2 LDROM 闪存存储器...

More information

AT89LP213

AT89LP213 特性 与 MCS 51 系列相兼容的 8 位微控制器 增强型 8051 体系结构 单时钟周期字节取指能力 20 MHz 时钟频率下吞吐量达 20 MIPS 全静态工作 : 0 Hz 到 20 MHz 片上 2 周期硬件乘法器 128 x 8 内部 RAM 4 个中断优先级 非易失性程序存储器 2KB 系统内可编程 (ISP) Flash 存储器 寿命 : 可重复擦写最少 10,000 次 数据保持能力

More information

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se 8051 8051 System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and setup. This type of robot uses two kinds of

More information

目录 1 总体描述 主要功能... 1 目录 管脚定义 管脚配置 管脚定义 内部方框图 FLASH ROM 和 SRAM 结构 flash rom Customer

目录 1 总体描述 主要功能... 1 目录 管脚定义 管脚配置 管脚定义 内部方框图 FLASH ROM 和 SRAM 结构 flash rom Customer 高速 1T 8051 内核 Flash MCU,1 Kbytes SRAM,16 Kbytes Flash,128 bytes 独立 EEPROM, 4 档位水位检测模块,12 位 ADC, 六路 10 位 PWM,3 个定时器, 乘除法器,UART,SSI, Check Sum 校验模块 1 总体描述 ( 以下简称 SC92WL46X) 是一颗增强型的高速 1T 8051 内核工业级集成水位检测功能的

More information

AT89LP213 AT89LP214

AT89LP213 AT89LP214 BDTIC www.bdtic.com/atmel 特性 与 MCS 51 系列相兼容的 8 位微控制器 增强型 8051 体系结构 单时钟周期字节取指能力 20 MHz 时钟频率下吞吐量达 20 MIPS 全静态工作 : 0 Hz 到 20 MHz 片上 2 周期硬件乘法器 128 x 8 内部 RAM 4 个中断优先级 非易失性程序存储器 2KB 系统内可编程 (ISP) Flash 存储器 寿命

More information

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模 新一代超低功耗 16 位单片机 TI MSP430 系列 美国 TI 公司的 MSP430 系列单片机可以分为以下几个系列 X1XX X3XX X4XX 等等 而且 在不断发展 从存储器角度 又可分为 ROM C 型 OTP P 型 EPROM E 型 Flash Memory F 型 系列的全部成员均为软件兼容 可以方便地在系列各型号间移植 MSP430 系列单片机 的 MCU 设计成适合各种应用的

More information

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7 上海东软载波微电子有限公司 SMART www.essemi.com SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input 06 6 6 HR7PPSC HR7PPSD SOP SOP6 +input 06 6 +input 06 6 6 6 HR7PERB SSOP0 7+input 06 6 6 HR7PESC

More information

HMI COM1 RS SIEMENSE S7-200 RS485

HMI COM1 RS SIEMENSE S7-200 RS485 目录 第一部分维控人机界面串口引脚定义...2 1 LEVI777T COM1 引脚定义原理图...2 2 LEVI777T COM2 引脚定义原理图...2 3 LEVI908T COM1 引脚定义原理图...2 4 LEVI908T COM2/COM3 引脚定义原理图...3 第二部分通信针头...4 1 通信针头...4 第三部分各 PLC 与 LEVI 通信线接法...5 1 西门子 S7-200

More information

untitled

untitled EDM16080-01 Model No.: Editor: 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3

More information

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D 控制器 thert thert thert 接下一个电机驱动模块 () 接下一个电机驱动模块 () 电机驱动模块 电机驱动模块 电源模块 接下一个电机驱动模块 () 接下一个电机驱动模块 () 接下一个电机驱动模块 () 接下一个电机驱动模块 () X 0 X 0 4 /RK /RK 注 注 制动电阻阻值 Ω Φ 80: 适用电机驱动模块型号 8-M-XXXX--XX Φ : 适用电机驱动模块型号

More information

USB解决方案.ppt

USB解决方案.ppt USB USB? RS232 USB USB HID U modem ADSL cable modem IrDA Silabs USB CP210x USB UART USB RS-232 USB MCU 15 USB 12 FLASH MCU 3 USB MCU USB MCU C8051F32x 10 ADC 1.5%, Vref CPU 25MIPS 8051 16KB Flash -AMUX

More information

N79A8211系列单片机内部NVM

N79A8211系列单片机内部NVM 南京立超电子科技有限公司 N79A8211 之 NVM FLASH E 2 PROM 应用笔记 2009 年 03 月 15 中国南京市和燕路 251 号金港大厦 A 幢 2406 室 Room 2406,Tower A,Jingang mansion,251 Heyan Road,Nanjing 210028,P.R.China Tel: 0086-25-83306839/83310926 Fax:

More information

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63>

<4D F736F F D203034CAB5D1E9CBC D20B5C4494F20BDD3BFDACAB5D1E92E646F63> 实验四 ARM 的 I/O 接口实验 一 实验目的 1. 了解 S3C44B0X 的通用 I/O 接口 2. 掌握 I/0 功能的复用并熟练的配置, 进行编程实验二 实验设备 1. EL-ARM-830 教学实验箱,PentiumII 以上的 PC 机, 仿真器电缆 2. PC 操作系统 WIN98 或 WIN2000 或 WINXP,ARM SDT2.5 或 ADS1.2 集成开发环境, 仿真器驱动程序

More information

SC92F742X

SC92F742X ,512 bytes SRAM,16 Kbytes Flash,128 bytes 独立 EEPROM,12 位 ADC,6 路独立 8 位 PWM,3 个定时器,2 个 SSI 接口,Check Sum 校验模块,STOP 电流

More information

<4D F736F F D20B5DA31D5C B5A5C6ACBBFAB8C5CAF62E646F6378>

<4D F736F F D20B5DA31D5C B5A5C6ACBBFAB8C5CAF62E646F6378> AVR 单片机 C 语言开发入门与典型实例 ( 修订版 ) 作者 : 华清远见 第 1 章 AVR 单片机概述 本章目标 本章主要介绍 AVR 单片机的发展历史及其主要应用, 并重点介绍了 ATmega128(L) 单片机, 分析其结构 主要特点 性能封装和引脚定义 本章主 要内容包括以下两个方面 AVR 单片机及其发展 ATmega128(L) 单片机简介 1.1 AVR 单片机及其发展 1983

More information

Microsoft Word - DPJBXZXKFJMKSJ01.doc

Microsoft Word - DPJBXZXKFJMKSJ01.doc 第 章 单片机基础知识. 概述.. 单片机发展历程单片机专业名称为 Micro Controller Unit( 微控制器件 ), 是由 Intel 公司发明的, 最早的系列是 MCS-48, 后来有了 MCS-5 常说的 5 系列单片机就是 MCS-5(Micro Controller System), 这是一种 8 位的单片机 后来 Intel 公司把它的核心技术转让给世界上很多小公司, 所以就有许多公司生产

More information

92 系列产品命名规则 名称 SC 92 F X P 48 R 序号 序号 Sinone Chip 缩写 产品系列名称 产品类型 (F:Flash MCU) 系列号 :7:GP 系列,8:TK 系列 含义 ROM

92 系列产品命名规则 名称 SC 92 F X P 48 R 序号 序号 Sinone Chip 缩写 产品系列名称 产品类型 (F:Flash MCU) 系列号 :7:GP 系列,8:TK 系列 含义 ROM ,2 Kbytes SRAM,16 Kbytes Flash,128 bytes 独立 EEPROM, 12 位 ADC,1 个模拟比较器,LCD/LED Driver,12 位 PWM,3 个定时器, 乘除法器,UART,SSI,Check Sum 校验模块 1 总体描述 ( 以下简称 SC92F744X) 系列是一一颗增强型的超高速 1T 8051 内核工业级 Flash 微控制器, 指令系统完全兼容传统

More information

Microsoft Word - LMB402CBC-AppNote-V0.1.doc

Microsoft Word - LMB402CBC-AppNote-V0.1.doc LMB402CBC 液晶显示模块应用参考 深圳市拓普微科技开发有限公司 版本描述日期编者 0.1 新版本 2006-02-09 杨军 http://www.topwaysz.com 1 / 1 目录 1 概述 3 2 硬件接口 3 3 软件特性 3 3.1 控制器接口信号说明 3 3.2 模块指令系统 4 4 显示数据存储器的地址 4 5 字符发生器 CGRAM 的地址 5 6 应用举例 5 6.1

More information

設計目標規格書

設計目標規格書 ARM Cortex -M0 32 位微控制器 NuMicro M051 DN/DE 系列 产品简介 The information described in this document is the exclusive intellectual property of Nuvoton Technology Corporation and shall not be reproduced without

More information

DS_MM32P021_Ver1.9.0

DS_MM32P021_Ver1.9.0 产品手册 Datasheet MM32P021 32 位基于 ARM Cortex M0 核心的微控制器 版本 :1.9.0 保留不通知的情况下, 更改相关资料的权利 目录 1. 总介... 5 1.1 概述... 5 1.2 产品特性... 5 2. 规格说明... 6 2.1 器件对比... 6 2.2 功能简述... 6 3. 引脚定义... 7 3.1 引脚配置... 7 3.2 引脚描述...

More information

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax) 2018 9 29 龙芯 版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) 010-62546668 (Fax) 010-62600826 阅读指南 龙芯 1C101 处理器数据手册 龙芯 1C101 修订历史 序号 更新日期 版本号

More information