AT89LP213 AT89LP214

Size: px
Start display at page:

Download "AT89LP213 AT89LP214"

Transcription

1 BDTIC 特性 与 MCS 51 系列相兼容的 8 位微控制器 增强型 8051 体系结构 单时钟周期字节取指能力 20 MHz 时钟频率下吞吐量达 20 MIPS 全静态工作 : 0 Hz 到 20 MHz 片上 2 周期硬件乘法器 128 x 8 内部 RAM 4 个中断优先级 非易失性程序存储器 2KB 系统内可编程 (ISP) Flash 存储器 寿命 : 可重复擦写最少 10,000 次 数据保持能力 : 最少 10 年 程序下载串行接口 32 字节快速页面编程模式 64 字节用户签名数组区 2 级存储锁保证软件安全 外围特性 2 个 16-bit 增强型定时器 / 计数器 2 个 8-bit PWM 输出端 ( 仅 AT89LP213 ) 带自动地址识别和帧错误检测的增强型 UART ( 仅 AT89LP214) 带双缓冲器可收发增强型主 / 从 SPI 可软件复位的可编程看门狗定时器 带可选中断和反跳的模拟比较器 8 个通用中断引脚 特殊微控制器特性 双线 (TW) 片上调试接口 掉电检测以及用断电标志上电复位 内部 RC 振荡器 低功耗省电和掉电模式 从掉电模式的中断恢复功能 I/O 和封装 共 12 个可编程 I/O 线 可配置 I/O: 准双向, 输入, 推挽式输出, 开漏共四种模式 5V 耐压能力的 I/O 14 针 TSSOP 或 PDIP 工作条件 2.4V 到 5.5V V CC 电压范围 -40 C 到 85 C 温度范围 带 2K 字节 Flash 的 8-bit 微控制器 AT89LP213 AT89LP214 Preliminary 1. 描述 AT89LP213/214 是低功耗的高性能的 CMOS 8 位微控制器, 带有 2K 字节的系统内可编程 Flash 存储器 该设备的生产使用了 Atmel 的高密度非易失性存储器技术并且与工业标准的 MCS-51 指令集相兼容 AT89LP213/214 的构建基于增强型的每时钟周期可取一字节指令的 CPU 核心 在经典的 8051 体系结构中, 每取一字节需要 6 个时钟周期, 这使得执行指令需要 12, 24 或 48 个时钟周期 在 AT89LP213/214 CPU 中, 执行指令只需要 1 到 4 个时钟周期, 因而吞吐量比标准的 8051 大 6 到 12 倍 百分之七十的指令的执行只需要与其字节数相同的时钟周期 本文是英文数据手册的中文翻译, 其目的是方便中国用户的阅读 它无法自动跟随原稿的更新, 同时也可能存在翻译上的错误 读者应该以英文原稿为参考以获得更准确的信息

2 其余的指令的执行只需要比其字节数多一个的时钟周期 增强型的 CPU 核心有 20 MIPS 的吞吐能力, 而经典的 8051 CPU 在同样的工作电流下只能达到 4 MIPS 另一方面, 保持与经典的 8051 一样的吞吐量时, 这个新的 CPU 核心工作在低得多的速度下从而极大程度地降低了功耗 AT89LP213/214 提供下列标准特性 :2K 字节系统内可编程 Flash 存储器,128 字节 RAM,12 条 I/O 线,2 个 16 位定时器 / 计数器,2 个 PWM 输出端 ( 仅 AT89LP213 ), 一个可编程看门狗定时器, 一个全双工串口 ( 仅 AT89LP214), 一个串行外围接口, 一个内部 RC 振荡器, 片上晶振, 一个 4 优先级的 6 向量中断系统 AT89LP213/214 的两个 16 位定时器 / 计数器有两个新的模式 模式 0 可以配置为 9 到 16 位可变的定时器 / 计数器, 模式 1 可以配置为 16 位自动重载的定时器 / 计数器 此外, AT89LP213 的两个定时器 / 计数器还可独立地驱动一个脉冲宽度调制输出端 AT89LP213/214 的 I/O 口可独立地配置为四个工作模式下的一种 在准双向模式下, 端口工作方式与经典 8051 相同 在输入模式下, 端口是三态的 推挽式输出模式提供完全的 CMOS 驱动, 开漏模式提供一个下拉电阻 此外, Port 1 的 8 个引脚都可使用通用中断接口配置为中断源 AT89LP213/214 的 I/O 的耐压值比设备自身的供电电源要高, 可达 5.5V 当设备供电电压为 2.4V 而所有的 I/O 口接收为 5.5V 信号时, 所有 I/O 总的回流电流少于 100 µa 2. 引脚配置 2.1 AT89LP213: 14 针 TSSOP/PDIP (GPI5/MOSI) P1.5 (GPI7/SCK) P1.7 (GPI5/RST) P1.3 GND (GPI2) P1.2 (T0) P3.4 (INT0/XTAL1) P P1.6 (MISO/GPI6) P1.4 (SS/GPI4) P1.1 (AIN1/GPI1) P1.0 (AIN0/GPI0) VCC P3.5 (T1) P3.3 (XTAL2/CLKOUT/INT1) 2.2 AT89LP214: 14 针 TSSOP/PDIP (GPI5/MOSI) P1.5 (GPI7/SCK) P1.7 (GPI5/RST) P1.3 GND (GPI2) P1.2 (RxD) P3.0 (INT0/XTAL1) P P1.6 (MISO/GPI6) P1.4 (SS/GPI4) P1.1 (AIN1/GPI1) P1.0 (AIN0/GPI0) VCC P3.1 (TxD) P3.3 (XTAL2/CLKOUT/INT1) 2

3 3. 引脚描述 Table 3-1. AT89LP213 引脚描述 引脚符号类型描述 1 P1.5 2 P1.7 3 P1.3 I/O I/O I I/O I/O I I/O I I I 4 GND I 地 5 P1.2 6 P3.4 7 P3.2 I/O I I/O I/O I/O I I/O P1.5: 用户可配置 I/O,Port 1 bit 5. MOSI: SPI 主 - 输出 / 从 - 输入 当配置为主控端时, 为输出引脚 当配置为从控端时, 为输入引脚 GPI5: 通用中断输入端 5. P1.7: 用户可配置 I/O 口,Port 1 bit 7. SCK: SPI 时钟 当配置为主控端时, 为输出引脚 当配置为从控端时, 为输入引脚 GPI7: 通用中断输入端 7. P1.3: 用户可配置 I/O 口, Port 1 bit 3 ( 若禁止复位保险 ). RST: 外部 Active-Low 复位输入端 ( 若使能复位保险, See 外部复位 on page 15). GPI3: 通用中断输入端 3. DCL: 当使能 OCD 时作为片上调试接口的串行时钟输入 P1.2: 用户可配置 I/O 口, Port 1 bit 2. GPI2: 通用中断输入端 2. P3.4: 用户可配置 I/O 口, Port 3 bit 4. T0: 定时器 / 计数器 0 外部输入或 PWM 输出. P3.2: 用户可配置 I/O 口, Port 3 bit 2. XTAL1: 输入到反向晶振放大器和内部时钟发生电路 若采用内部 RC 振荡器作为时钟源时, 它可用作一个端口引脚. DDA: 当使能 OCD 并采用内部 RC 振荡器作为时钟源时, 作为片上调试接口的串行数据输入 / 输出 8 P3.3 I/O O O I/O P3.3: 用户可配置 I/O 口, Port 3 bit 3. XTAL2: 从反向晶振放大器输出 若采用内部 RC 振荡器作为时钟源时, 它可用作一个端口引脚. CLKOUT: 若采用内部 RC 振荡器作为时钟源时, 可用于输出内部时钟的二分频 DDA: 当使能 OCD 并采用外部时钟作为时钟源时, 作为片上调试接口的串行数据输入 / 输出 9 P3.5 I/O I/O 10 VDD I 电源电压 11 P P P P1.6 I/O I I I/O I I I/O I I I/O I/O I P3.5: 用户可配置 I/O 口, Port 3 bit 5. T1: 定时器 / 计数器 1 外部输入或 PWM 输出. P1.0: 用户可配置 I/O 口, Port 1 bit 0. AIN0: 正极输入模拟比较器. GPI0: 通用中断输入端 0. P1.1: 用户可配置 I/O 口, Port 1 bit 1. AIN1: 负极输入模拟比较器. GPI1: 通用中断输入端 1 P1.4: 用户可配置 I/O 口, Port 1 bit 4. SS:SPI 从控选择输入引脚. GPI4: 通用中断输入端 4. P1.6: 用户可配置 I/O 口, Port 1 bit 6. MISO: SPI 主控 - 输入 / 从控 - 输出 当配置为主控端时, 为输入引脚 当配置为从控端时, 为输出引脚 GPI6: 通用中断输入端 6. 3

4 Table 3-2. AT89LP214 引脚描述 引脚符号类型描述 1 P1.5 2 P1.7 3 P1.3 I/O I/O I I/O I/O I I/O I I I 4 GND I 地 5 P1.2 6 P3.0 7 P3.2 I/O I I/O I I/O I I/O P1.5: 用户可配置 I/O 口,Port 1 bit 5. MOSI: SPI 主 - 输出 / 从 - 输入 当配置为主控端时, 为输出引脚 当配置为从控端时, 为输入引脚 GPI5: 通用中断输入端 5. P1.7: 用户可配置 I/O 口, Port 1 bit 7. SCK: SPI 时钟 当配置为主控端时, 为输出引脚 当配置为从控端时, 为输入引脚. GPI7: 通用中断输入端 7. P1.3: 用户可配置 I/O 口, Port 1 bit 3 ( 若禁止复位保险 ). RST: 外部 Active-Low 复位输入端 ( 若使能复位保险, See 外部复位 on page 15). GPI3: 通用中断输入端 3. DCL: 片上调试接口的串行时钟输入 P1.2: 用户可配置 I/O 口, Port 1 bit 2. GPI2: 通用中断输入端 2. P3.0: 用户可配置 I/O 口, Port 3 bit 0. RXD: 串行端口接收端输入. P3.2: 用户可配置 I/O 口, Port 3 bit 2. XTAL1: I 输入到反向晶振放大器和内部时钟发生电路 若采用内部 RC 振荡器作为时钟源时, 它可用作一个端口引脚 DDA: 当使能 OCD 并采用内部 RC 振荡器作为时钟源时, 作为片上调试接口的串行数据输入 / 输出. 8 P3.3 I/O O O I/O P3.3: 用户可配置 I/O 口, Port 3 bit 3. XTAL2: 从反向晶振放大器输出 若采用内部 RC 振荡器作为时钟源时, 它可用作一个端口引脚. CLKOUT: 若采用内部 RC 振荡器作为时钟源时, 可用于输出内部时钟的二分频 DDA: 当使能 OCD 并采用外部时钟作为时钟源时, 作为片上调试接口的串行数据输入 / 输出 9 P3.1 I/O O 10 VDD I 电源电压 11 P P P P1.6 I/O I I I/O I I I/O I I I/O I/O I P3.1: 用户可配置 I/O 口, Port 3 bit 1. TXD: 串口发送端输出. P1.0: 用户可配置 I/O 口, Port 1 bit 0. AIN0: 正极输入模拟比较器. GPI0: 通用中断输入端 0. P1.1: 用户可配置 I/O 口, Port 1 bit 1. AIN1: 负极输入模拟比较器. GPI1: 通用中断输入端 1 P1.4: 用户可配置 I/O 口, Port 1 bit 4. SS: SPI 从控选择输入引脚. GPI4: 通用中断输入端 4. P1.6: 用户可配置 I/O 口, Port 1 bit 6. MISO: SPI 主控 - 输入 / 从控 - 输出 当配置为主控端时, 为输入引脚 当配置为从控端时, 为输出引脚 GPI6: 通用中断输入端 6. 4

5 4. 方框图 Figure 4-1. AT89LP213 模块框图 Single Cycle 8051 CPU SPI 2KB Flash Timer 0 Timer Bytes RAM Analog Comparator Port 3 Configurable I/O Watchdog Timer Port 1 Configurable I/O On-Chip RC Oscillator General-purpose Interrupt CPU Clock Configurable Oscillator Crystal or Resonator Figure 4-2. AT89LP214 模块框图 Single Cycle 8051 CPU UART 2KB Flash SPI 128 Bytes RAM Timer 0 Timer 1 Port 3 Configurable I/O Analog Comparator Port 1 Configurable I/O Watchdog Timer General-purpose Interrupt On-Chip RC Oscillator CPU Clock Configurable Oscillator Crystal or Resonator 5

6 5. 与标准 8051 比较 AT89LP213/214 是完全与 MCS-51 指令集兼容的带增强特性的控制器系列的一部分 此外, 大部分 SFR 地址, 位分配和引脚转换功能与 Atmel 现有的标准 8051 系列产品相一致 不过, 由于该微控制器有更高的性能, 一些系统级行为则与象 AT89S52 或 AT89S2051 这样的 Atmel 的标准 8051 产品有所不同 与标准 8051 的这些不同之处罗列如下 : 5.1 系统时钟 CPU 时钟频率与外部 XTAL1 频率相等 振荡器不再作二分频用于提供内部时钟, 同时 x2 模式也不再支持 5.2 指令执行时每时钟周期取一字节指令 CPU 每一个时钟周期从内存取一字节代码, 而不再是 6 个时钟周期 这极大地增加了 CPU 的吞吐量 于是, CPU 执行指令不再需要 12 到 48 个时钟周期 每条指令的执行仅在 1 到 4 时钟周期内完成 详细见 See 指令机摘要 on page 中断处理 中断控制器在每个指令的最后的时钟周期轮询中断标志 为使在最后的指令周期响应某个中断请求, 其中断标志需要在该指令的最后的时钟周期到来前一直锁存为有效, 如果该指令为单时钟周期执行的指令则需要在前一指令的最后一个时钟周期内一直保持有效 外部中断引脚 INT0 和 INT1 每个时钟周期采样, 而非每 12 个时钟周期采样一次 有了更端的指令时序和更快的中断响应, 使得对外部事件的中断的最快响应速率更高 5.4 定时器 / 计数器缺省情况下, 定时器 / 计数器的计数频率为一个时钟周期 相比之下, 标准 8051 是每 12 个时钟周期计数一次 一个通用预定器可用于为所有的定时器划分时间基并降低计数速率 CLKREG SFR 中的 TPS 位控制预定器 (Table 9-2 on page 13). 设置 TPS = 1011B 将使定时器每 12 时钟周期计数一次 外部定时器 / 计数器引脚 T0 和 T1 在每个时钟周期采样一次, 而非 12 个时钟周期 这增加了计数器模块的最大工作速率 5.5 串口 UART 在模式 0 下的波特率是时钟频率的 1/2, 在标准 8051 中则是时钟频率的 1/12; 输出数据仅在串行时钟的上升沿有效 还应该注意, 使用定时器 1 在模式 1 或模式 3 下发生波特率时, 定时器以时钟频率计数而非时钟频率的 1/12 当 AT89LP214 与标准 8051 工作在同一频率时, 为保持 AT89LP214 具有相同的波特率, 则延迟时间必须为 12 倍时钟周期 定时器 1 的模式 1 支持 16 位自动重载, 可以用于较长的时间延迟以产生较低的波特率 6

7 5.6 看门狗定时器 5.7 I/O 端口 5.8 复位 6. 存储器结构 6.1 程序存储器 AT89LP213/214 的看门狗定时器的计数速率与时钟周期一致 相比之下, 标准 8051 则每 12 个时钟周期计数一次 一个通用预定器可用于为所有的定时器分频时间基并降低计数速率 AT89LP213/214 的 I/O 端口可配置为四种模式 缺省情况下, 掉电或复位时 I/O 端口回到只读 ( 三态 ) 模式 在标准 8051 中, 所有端口在掉电或复位时仅下拉至低电平 为使能类似 8051 的端口, 端口必须设置为准双向模式, 这通过清零 P1M0 和 P3M0 SFR 来实现 用户还可以通过禁止 Tristate- Port User Fuse( 三态用户保险 ) 来将端口配置为准双向模式起始方式 当禁止该保险时,P1M0 和 P3M0 将复位到 00h 而非 FFh, 并且端口会上拉到高电位 AT89LP213/214 的 RST 引脚是低电位触发的, 而在标准 8051 中, 则是高电位复位 此外, RST 引脚每时钟周期采样一次, 并且必须最少保持低电位 2 个时钟周期, 而非 24 个时钟周期, 这样才能识别为有效的复位信号 AT89LP213/214 使用哈佛体系结构, 程序和数据存储器的地址线分离 程序存储器使用常规的线性地址空间, 支持达 64K 字节的可直接寻址的应用代码 数据存储器有 128 字节的内部 RAM 以及 128 字节的特殊功能寄存器 I/O 空间 AT89LP213/214 不支持外部数据存储器或外部程序存储器 AT89LP213/214 包含 2K 字节的片上系统内可编程 Flash 存储器用于保存程序 Flash 存储器的使用寿命至少为 10,000 次重复擦写, 并且数据保持能力可达 10 年 复位和中断向量放在程序存储器的开头的 59 字节 ( 参考 Table 13-2 on page 23) 常量表放在整个 2K 程序存储器地址空间, 可被 MOVC 指令访问 AT89LP213/214 不支持外部程序存储器 Figure 6-1. 程序存储器映射 007F F 0000 User Signature Array Atmel Signature Array 07FF Program Memory

8 AT89LP213/214 的程序存储器的一个映射见 Figure 6-1 除了 2K 从 0000h 到 07FFh 的代码空间外, AT89LP213/214 还支持一个 64 字节的用户签名数组和一个 32 字节的 Atmel 签名数组, 它们可以只读模式被 CPU 访问 为从签名数组中读取信息, 必须设置 AUXR1 的 SIGEN 位 当 SIGEN 是 1 时,MOVC A,@A+DPTR 可访问签名数组 用户签名数组映射到地址 0040h 到 007Fh, Atmel 签名数组映射到地址 0000h~001Fh 在使用 MOVC 指令访问代码存储区时必须将 SIGEN 清零 Atmel 签名数组在出厂时用设备 ID 进行初始化 用户签名数组则可用作用户 ID 或者常参数据保存 保存在签名数组中的数据是不安全的 安全位可禁止对该数组的写操作 ; 但是, 读取永远是被允许的 Table 6-1. AUXR1 辅助寄存器 1 AUXR1 = A2H 不可位寻址 复位值 = XXXX 0XXXB SIGEN 位 数据存储器 AT89LP213/214 包含 128 字节的通用 SRAM 数据存储器, 另外还有 128 字节的 I/O 存储区, 映射到一个 8 位地址空间 128 字节的数据存储器可以通过对低 128 字节地址进行直接或间接寻址来访问 128 字节的 I/O 存储区驻留在较高的 128 字节地址空间 (Figure 6-2) I/O 存储区只能通过直接寻址方式访问并且包含特殊功能寄存器 (SFRs) 对较高的 128 字节地址的间接访问会返回无效数据 数据存储器的最低的 32 个字节被分为 4 个组, 每组有 8 个寄存器 RS0 和 RS1 位 (PSW.3 和 PSW.4) 选择使用哪个寄存器组 使用寄存器寻址的指令只访问当前指定的寄存器组 AT89LP213/214 不支持外部数据存储器 Figure 6-2. 数据存储器映射 FFH UPPER H 7F H LOWER 128 Accessible By Direct Addressing Only Accessible By Direct and Indirect Addressing Only Special Function Registers Ports Status and Control Bits Timers Registers Stack Pointer Accumulator (Etc.) 0 8

9 7. 特殊功能寄存器 有一块片上存储区域的映射叫作特殊功能寄存器 (SFR) 空间, 见 Table 7-1. 要注意并没有占用所有的地址, 而没有使用的地址是在芯片上不可用的, 读这些地址通常会返回任意数据, 而写操作会发生不可预料的结果 用户程序不应该对这些没有列出的地址进行写操作, 因为它们可能用于在将来的产品中引入新的特性 Table 7-1. AT89LP213/214 SFR 映射和复位值 8 9 A B C D E F 0F8H 0FFH 0F0H B F7H 0E8H SPSR 000x x000 SPCR SPDR xxxx xxxx 0EFH 0E0H ACC E7H 0D8H 0DFH 0D0H PSW D7H 0C8H 0CFH 0C0H P1M0 (2) P1M1 xx B8H 0B0H 0A8H 0A0H 98H 90H 88H 80H IP x P3 xx IE SCON P TCON SADEN SADDR SBUF xxxx xxxx TCONB TMOD SP AUXR1 xxxx 0xxx GPMOD RL TL DPL GPLS RL TL DPH GPIEN RH TH GPIF RH TH P3M0 (2) WDTRST (write-only) P3M1 xx IPH x WDTCON 0000 x000 ACSR xx CLKREG 0000 x000 PCON C7H 0BFH 0B7H 0AFH 0A7H 9FH 97H 8FH 87H Notes: 1. 最左边一列的所有 SFR 都是位可寻址的 2. 当三态端口保险打开时, 复位值为 xx B, 否则为 xx B 9

10 8. 加强型 CPU AT89LP213/214 使用一个加强型的 8051 CPU, 它的运行速度是普通 8051 单片机的 6 到 12 倍 ( 或者说是 X2 型 8051 单片机速度的 3 到 6 倍 ). 速度的增加归功于下面两条因素 首先,CPU 每个时钟周期就从代码存储器中取一条指令字节. 其次, CPU 使用一个二级流水线并行的取指令和执行指令 这种基本的流水线操作理念使 CPU 的速度高达 1 MIPS 每 MHz 简单示例如图 Figure 8-1. MCS-51 指令系统允许它的指令的长度可变 变化范围是 1 到 3 字节 在一个每字节单时钟取指令的系统中, 执行每一条指令至少需要和这条指令字节数一样多的机器时钟数 AT89LP213/214 中的大多数指令遵循如下规则 : 每一条指令的执行时间 ( 需要的时钟周期数 ) 等于这条指令包含的字节数 ( 有一些特例除外 ) 分支和调用需要一个额外的时钟周期以计算目标地址, 并且某些复杂的指令需要多个时钟周期 对于每一条指令的细节, 请参见 59 页 指令集摘要 Figures 8-2 and 8-3 显示了一字节长和两字节长指令的情况. Figure 8-1. 取得和执行并行指令 T n T n+1 T n+2 System Clock n th Instruction Fetch Execute (n+1) th Instruction Fetch Execute (n+2) th Instruction Fetch Figure 8-2. 单周期 ALU 操作 ( 例 : INC R0) T 1 T 2 T 3 System Clock Total Execution Time Register Operand Fetch ALU Operation Execute Result Write Back Fetch Next Instruction 10

11 Figure 8-3. 两个周期的 ALU 操作 ( 例如 : ADD A, #data) T 1 T 2 T 3 System Clock Total Execution Time Fetch Immediate Operand ALU Operation Execute Result Write Back Fetch Next Instruction 8.1 某些特殊指令的限制 AT89LP213/214 是 ATMEL 日益成长的微处理器家族的一款经济型性价比高的芯片 它包含 2K 字节的闪存程序存储器. 他完全兼容于普通的 MCS-51 架构 可以使用 MCS-51 指令集编程 然而在使用某些特殊指令编程此芯片时, 需要考虑某些特殊的情况 所有关系到跳转或分支的指令都需要考虑 AT89LP213/214 的闪存程序存储器的大小是 2K, 所以定义地址时, 一定要注意不要超过这个物理地址的极限 这就需要软件编程者多多注意 例如, LJMP 7E0H 是一条有效的指令, 然而 LJMP 900H 就是一条无效的指令 分支指令 只要编程时注意定义的分支地址在程序存储器尺寸 (AT89LP213/214 的地址范围从 000H 到 7FFH ) 范围以内, 那么这些无条件分支命令 LCALL, LJMP, ACALL, AJMP, SJMP, 和 就可以正确的运行 如果超出了它的物理地址的范围, 将会造成无法预直的错误结果 有条件分支命令例如 CJNE [...], DJNZ [...], JB, JNB, JC, JNC, JBC, JZ, 和 JNZ 等, 情况与上面的无条件分支命令相同 同样, 如果超出了它的物理地址的范围, 将会造成无法预直的错误结果 如果应用程序使用了中断, 那么中断处理程序的入口地址同 8051 架构单片机的入口地址相同 MOVX 的相关指令, 数据存储器 AT89LP213/214 包含 128 字节的内部数据存储器. RAM 的存取地址如果超过 7FH 会返回无效的数据 而且, 堆栈的深度限制在 128 字节, 与有效的 RAM 大小相同 堆栈指针也不可以指向的地址大于 7FH. 这款芯片不支持外部数据存储器存取, 也不支持外部程序存储器 因此, 命令 MOVX [...] 在这款芯片上不能使用 在通常的 8051 汇编程序中, 即使我们写的语句违反了上面我们所说的这些限制, 指令仍然可以集合起来 所以, 编程者必须知道芯片的物理特点和限制, 以正确的使用命令. 11

12 9. 系统时钟 9.1 晶振 9.2 外部时钟源 系统时钟直接有 3 个可选择的时钟源中的一个来产生 这 3 个时钟源分别是芯片内部的晶振, 外部时钟源和一个内部的 RC 震荡器 时钟源的选择是通过 Table 9-1 中的 Clock Source User Fuses 来设定的 并没有内部的时钟分频器对系统时钟分频得到 CPU 时钟, 参见 用户配置引脚 on page 69. Table 9-1. Clock Source Fuse 1 时钟源设定 Clock Source Fuse 晶振 0 1 保留 选择的时钟源 1 0 XTAL1 上的外部时钟 1 1 内部的 8 MHz RC 振荡器 当晶振被激活以后, 内部的反向振荡放大器就被连接在 XTAL1 和 XTAL2 之间以连接一个外部的石英晶振或者陶瓷振荡器 当使用晶振的时候, 应该使 P3.2 和 P3.3 的输入或输出无效,XTAL2 不可以在没有缓冲的情况下被用于驱动一个板级的时钟 选择外部时钟会使振荡放大器无效并且允许 XTAL1 直接由时钟源来驱动 XTAL2 可以不连接, 被用做 P3.3 I/O 口, 或者配置成为输出系统时钟的分开的版本 9.3 内部 RC 振荡器 AT89LP213/214 有一个内部的 RC 振荡器, 频率范围在 8.0 MHz ±2.5%. 当它被激活作为时钟源的时候, XTAL1 和 XTAL2 可分别作为 P3.2 和 P3.3 XTAL2 也可以配置成为输出系统时钟的分开的版本. 可以通过改变 RC Adjust Fuses 来调节振荡器的频率. (See 用户配置引脚 on page 69). 9.4 系统时钟输出 当 AT89LP213/214 被配置为使用外部时钟或内部 RC 振荡器的时候, XTAL2 (P3.3) 输出系统时钟的 divided version 可以通过设置 CLKREG 的 COE 位来激活此输出 两个 CDV 位决定了时钟的分频数 例如, 当使用内部振荡器时, 设定 COE = 1 and CDIV = 00 将使 P3.3 的输出为 3.950Mhz. 在使用时钟输出功能时,P3.3 必须设定为输出 12

13 Table 9-2. CLKREG 时钟控制寄存器 CLKREG = 8FH 复位值 = B 不可位设定 TPS3 TPS2 TPS1 TPS0 CDV1 CDV0 COE Bit 符号 TPS3 TPS2 TPS1 TPS0 CDV1 CDV0 COE 10. 复位 Function 预脉冲计数器. 预脉冲计数器从计数器 0 计数器 1, 看门狗计数器中选择一个计数器 预脉冲计数器是一个 4 位二进制的向下的计数器 当计数器计到 0 时, 它会重载存储在 TPS 位中的值, 从而给出分频的值 这个值的范围是从 1 到 16 在默认情况下, 每一个时钟, 周期计数器都会计数 (TPS = 0000B). 如果想配置计数器工作在通用的 8051 单片机情况下 ( 即每 12 个时钟周期计数 ),TPS 需要设定为 1011B. 时钟输出分频. 决定了相对于系统时钟的始终输出频率. CDIV1 CDIV0 Clock Out Frequency 0 0 f/2 0 1 f/4 1 0 f/8 1 1 f/16 时钟输出激活. 设定 COE 以确定在 XTAL2 (P3.3) 上输出的系统时钟的分频率 要使用此功能, 必须选择内部 RC 振荡器或者外部时钟源. 在复位时, 所有的 I/O 积存器都被设定为它们的初始值, 芯片的管脚都是三态 程序从复位向量 0000H 开始执行 AT89LP213/214 有五个复位源 : 上电复位, 掉电复位, 外部复位, 看门狗复位, 和软件复位 10.1 上电复位 上电复位 (POR) 是由一个片上的检测电路产生的 检测级别是 1.4V. 当 Vcc 低于探测级别时, 产生一个上电复位 POR 电路可以被用来触发一个复位或者在没有掉电探测器的情况下检测出供给电源失败 POR 电路确保设备通过上电来复位 上电的顺序如图 : Figure 10-1 on page 14. 当 Vcc 达到了上电复位的阈值电压 V POR, 一个持续时间 t POR 的初始化动作就开始了 初始化动作结束以后, 启动定时器会决定设备在 Vcc 上升沿之后要保持在 POR 多长时间 当 Vcc 低于上电复位的阈值电压时,POR 信号再一次被激活, 没有任何的延迟 上电复位 ( 例如冷复位 ) 需要设定 PCON 中的 POF 标志 通过保持 RST 脚低电平时间长过休息时间, 内部产生的复位可以扩展到超过上电周期 13

14 Figure 上电复位时序 (BOD Disabled) V CC TIME-OUT V POR t POR + t SUT V POR RST INTERNAL RESET (RST Tied to V CC ) RST (RST Controlled Externally) V RH INTERNAL RESET t RHD 如果掉电探测器 (BOD) 也被激活, 那么直到 Vcc 达到如图 Figure 10-2 所示的阈值电压 V BOD, 启动定时器才开始计数 然而, 如果在初始化完成之前, 就出现这种情况, 定时器必须首先等待初始化完成再开始计数 Figure 上电复位时序 (BOD Enabled) V BOD V CC TIME-OUT V POR t POR t SUT RST (RST Tied to V CC ) INTERNAL RESET RST (RST Controlled Externally) V RH INTERNAL RESET t RHD Note: t POR 近似等于 92 µs ± 5%. 启动定时器的延迟依赖于时钟源 (Table 10-1), 可以通过配置启动定时引线来设置这个延时 我们设定启动延时时要注意给 Vcc 和可选时钟源提供足够的时间 启动定时引线同时也控制着掉电复位后启动时间的长度, 和在内部时控模式时下电后何时唤醒 14

15 Table 启动定时器设置 SUT Fuse 1 SUT Fuse 0 时钟源 t SUT (± 5%) 0 0 内部 RC/ 外部时钟 16 µs 晶振 1024 µs 0 1 内部 RC/ 外部时钟 512 µs 晶振 2048 µs 1 0 内部 RC/ 外部时钟 1024 µs 晶振 4096 µs 1 1 内部 RC/ 外部时钟 4096 µs 晶振 µs 10.2 掉电复位 AT89LP213/214 有一个片上掉电探测电路 (BOD), 它通过同一个固定的触发电平相比较以监控 Vcc 的情况 BOD 的触发电平是 2.2V BOD 的作用是当系统在高速工作时, 如果出现 Vcc 电压错误, 系统可以安全平稳的进入复位状态, 而不会发生一些包括运行错误等的可能的错误 BOD 的时序如图 Figure 当 V CC 减小到低于触发电平 V BOD, 时, 立即启动内部复位 当 Vcc 增加到高于触发电平时, 启动定时器在暂停周期满之后释放内部复位 (Table 10-1) 只有设置了 BOD 激活引线之后才可以激活掉电探测器 (See 用户配置引脚 on page 69). Figure V CC TIME-OUT INTERNAL RESET 掉电探测器复位 V POR V BOD t SUT 10.3 外部复位 P1.3/RST 脚既可以作为一个低有效的复位输入, 也可以作为一个通用的数字 I/O 口 当复位脚激活引线被设置为 1 时,P1.3 脚的外部复位输入功能就被激活了 (See 用户配置引脚 on page 69). 当清 0 时, P1.3 可以被用做一个输入或者输出脚 当配置成复位输入时, 要出发内部复位, 管脚必须至少保持在低电平 2 个时钟周期 Note: 在上电时序中, 引线选择总是无效的, 因此, 管脚总是执行着复位输入的功能 与此管脚相连的外部电路在上电时不可以将此管脚保持在低电平因为这将会导致芯片一直处于复位状态, 除非将此管脚拉高 在上电延迟之后, 这个输入脚或者执行一个外部复位输入功能或者是执行一个由引线位定义的数字输入功能 只有上电复位时会使由复位引线位定义的选择项无效 而别的复位源不会使复位引线位无效 P1.3/RST 也可以用做系统编程 (ISP) 激活管脚 当外部复位脚被保持在低电平时,ISP 功能就被激活了 当复位脚被引线位设置无效时, 可以在上电时通过将 P1.3 拉低来实现 ISP 功能 15

16 10.4 看门狗复位 10.5 软件复位 11. 省电模式 11.1 空闲模式 11.2 待机模式 当看门狗计数器溢出后, 它将产生一个持续 16 个时钟周期的内部复位脉冲 看门狗复位也会设置 WDTCON 积存器的 WDTOVF 标志位 为了阻止看门狗复位, 在看门狗溢出之前, 必须将看门够复位序列 1EH/E1H 写入到 WDTRST 中去 关于看门狗的操作细节请参照. See 可编程看门狗定时器 on page 55 可以通过软件写 5AH/A5H 到 WDRST 积存器中, 使 CPU 产生一个内部的 16 个时钟周期的复位脉冲 软件复位将会把 WDTCON 积存器中的 SWRST 位置 1 关于软件复位的详细信息请参见. See 软件复位 on page 55 AT89LP213/214 支持两种不同的低功耗模式 : 空闲模式和省电模式 这两种模式可以通过 PCON 来设定 设定 PCON 的 IDL 位可以使芯片进入空闲模式 空闲模式下, 内部 CPU 时钟停止工作 CPU 的状态保持不变 包括 RAM, 堆栈指针, 程序计数器, 程序状态字和数字存储器 各个端口管脚的状态保持在系统进入空闲模式时候的状态 空闲模式下, 外部设备仍然运转, 这样, 当中断产生时, 它们就可以唤醒芯片 定时器, UART, SPI, 和 GPI 模块也会保持运转. 在空闲模式下, 比较器或者看们狗可以设定为工作状态或停止状态 任何中断或者复位都可以使系统结束空闲模式 当通过中断结束空闲模式时, 中断服务程序立即被执行 之后的下一条指令 RETI 应该是使系统进入空闲模式 设置 PCON 中的待机位 (PD) 可以使系统进入待机模式 待机模式下振荡器停止工作, 闪存掉电, 这样功耗就可以降到最低 此时只有上电电路保持有效 在待机模式下, 电源供给电压可以减小到保持 RAM 活动状态的电压 RAM 里面的内容会保持不变, 但一旦 Vcc 降下来, 我们无法保证 SFR 中的内容保持不变 可以通过外部复位, 上电复位, 或者某些特定的中断来结束待机状态 待机模式下的中断恢复可以通过三个外部中断来结束待机模式 当 XTAL1 或 XTAL2 没有被用于晶振或外部时钟的时候可以用来通过外部中断 INT0 (P3.2) 和 INT1 (P3.3) 结束系统的待机状态 为了可以通过外部中断 INT0 或 INT1 来唤醒系统, 中断必须被激活和配置成电平敏感模式 当 RST 脚无效时, 通用中断 3 (GPI3) 也可以用来唤醒系统 为了外结束待机模式, GPI3 必须被激活和配置为低电平探测模式 当通过中断结束待机模式时, 两种不同的唤醒模式有效 当 PCON 中的 PWDEX 位是 0 时, 唤醒周期由如图 Figure 11-1 所示内部时控 在中断管脚的下降沿时结束待机模式, 重启晶振, 内部定时器开始计数 直到定时器溢出, 内部时钟才可以向 CPU 传送 溢出周期结束之后, 开始调用中断服务程序 溢出周期由启动计时引线来设定 ( 参见 Table 10-1 on page 15). 在整个溢出周期, 中断引脚不需要一直保持低电平 16

17 Figure 待机模式下的中断恢复 (PWDEX = 0) PWD XTAL1 INT1 INTERNAL CLOCK t SUT 当 PWDEX = 1 时, 唤醒周期表面上看起来是由中断所控制的 在中断管脚信号的下降沿, 待机模式结束并且重启振荡器 然而, 直到如图 Figure 11-2 所示的中断管脚信号的上升沿, 内部时钟才开始工作 为了使选定的时钟源稳定, 中断管脚的信号必须保持足够时间的低电平 中断管脚信号的上升沿之后, 系统调用中断服务程序 Figure 待机模式下的中断恢复 (PWDEX = 1) PWD XTAL1 INT1 INTERNAL CLOCK 待机模式下的复位恢复通过一个外部的复位来将系统从待机模式下唤醒和用 PWDEX = 0. 的中断差不多 在 RST, 信号的下降沿, 结束待机状态, 重启振荡器, 如图 Figure 11-3 所示的内部定时器开始计数 直到这个定时器溢出, 内部时钟才对 CPU 起作用 溢出周期由启动时间引线控制参见 Table 10-1 on page 15 如果在溢出之前 RST 回到高电平状态, 当内部时钟重启时, 一个两周期的内部复位就产生了 否则, 芯片将保持复位状态一直到 RST 信号被拉高 17

18 Figure 待机模式下的服位恢复. PWD XTAL1 t SUT RST INTERNAL CLOCK INTERNAL RESET Table PCON 电源控制寄存器 PCON = 87H 复位值 = 000X 0000B 不可位寻址 SMOD1 SMOD0 PWDEX POF GF1 GF0 PD IDL Bit 符号 SMOD1 SMOD0 PWDEX 功能 双倍波特率位. 在模式 1,2,3 下 UART 双倍波特率 祯错误选择. 当 SMOD0 = 1, SCON.7 是 SM0. 当 SMOD0 = 1, SCON.7 是 FE ( 此处有误?) 注意无论 SMOD0 的状态如何, 一个祯错误之后都要设成 FE.. 待机结束位. 当 PWDEX = 1 时, 待机模式下的唤醒由外部控制 当 PWDEX = 1 时, 待机模式下的唤醒是内部时控的 POF 关电标志. 在上电时,POF 位被设置为 1 ( 例如 : 冷重启 ) 它可以通过软件来置位或重启, 而不受 RST 或 BOD 的影响 ( 例如热重启 ). GF1, GF0 通用标志位 PD 待机位. 该位置位则系统进入待机模式. IDL 空闲模式位. 该位置位则系统进入空闲模式 12. 中断 AT89LP213/214 提供了 7 个中断源 : 两个外部中断, 两个定时器中断, 一个串口中断, 一个通用中断, 和一个模拟比较器中断 这些中断和系统复位在程序存储空间的开始处都各自有一个独立的程序向量 通过设置中断激活寄存器 (IE) 的一位可以使每一个中断源有效或失效 IE 寄存器也包含一个全局的中断开关位 EA, 可以使所有的中断源无效 每一个中断源 ( 模拟比较器除外 ) 都可以通过设置或清除中断优先级寄存器 IP 和 IPH 来独立的设定它的中断优先级, 一共有四个中断优先级 模拟比较器的中断被固定在最低优先级 一个在运行的中断服务程序可以被一个比它优先级高的中断打断, 但不可以被与它相同或更低的中断优先级的中断打断 最高优先级的中断不可以被任何其它的中断源打断 如果在某条指令的最后同时有两条不同中断优先级的中断请求, 那么系统响应高优先级的中断 如果在某条指令的最后同时有两条相同中断优先级的中断请求, 则一个内部的查询将会来决定系统响应那一条中断 18

19 轮询序列是基于向量地址的, 低向量地址的中断优先级高于高向量地址的中断 注意, 轮询序列只用于解决为响应的同优先级的中断 根据 TCON 寄存器的 IT0 和 IT1 位, 外部中断 INT0 和 INT1 都可以是电平触发或边沿触发 实际上产生这些中断的标志是 TCON 的 IE0 和 IE1 位 当服务例行程序是矢量时, 只有当中断是边沿触发时, 硬件清除标志位才可以产生外部中断 如果中断是电平触发的, 那么外部请求源 ( 而不是片上硬件 ) 控制请求标志 定时器 0 和定时器 1 的中断由 TF0 和 TF1 产生, 当各自的定时 / 计数寄存器溢出时置位 ( 除了定时器 0 工作于方式 3) 当产生定时器中断时, 如果服务例行程序是矢量的, 则片上硬件清除产生中断的标志位 串行口中断是由 SCON 的 RI 和 TI 的或逻辑加上 SPSR 的 SPIF 产生的 如果服务例行程序是矢量的, 所有这些标志位不能由硬件清除 实际上, 服务例行程序通常要检测 RI, TI, 或 SPIF 有没有产生中断, 这些位必须由软件清零 GPIF 寄存器的八个标志位的或逻辑产生通用中断 如果服务例行程序是矢量的, 所有这些标志位都不能由硬件清零 服务例行程序必须检测中断是由哪位产生的, 该位必须由软件清零 如果中断是电平触发的, 那么在软件清除标志位前, 外部请求源必须保持中断信号 ACSR 寄存器的 CF 位产生比较中断 如果服务例行程序是矢量的, 这个标志位不能由硬件清除, 而必须由软件清除 大多数产生中断的位可以由软件置位或清零, 与由硬件置位和清零的效果相同 也就是说, 可以由软件产生中断和取消未响应的中断 SPI 中断标志位 SPIF 和通用中断标志位 GPIF 是两个例外 这两个标志位只能由硬件置位, 软件清除 Table 中断向量地址 中断 源 向量地址 系统重启 RST or POR or BOD 0000H 外部中断 0 IE0 0003H 定时器 0 溢出 TF0 000BH 外部中断 1 IE1 0013H 定时器 1 溢出 TF1 001BH 串行口 RI or TI or SPIF 0023H 通用中断 GPIF 002BH 模拟比较器 CF 0033H 12.1 中断响应时间 中断标志位可以在任何时钟周期由硬件置位 在进程中指令的最后一个时钟周期, 中断控制器获得标志位 如果在前述的周期中, 一个标志位被置位, 在轮询周期中会被发现, 并且中断系统会在适当的服务例行程序中产生 LCALL, 作为下一条指令 在以下情况下中断不会被响应 : 相同优先级或较高优先级的中断正在运行中 ; 运行中的指令是 RETI 或者任何写入 IE, IP, 或 IPH 寄存器的 这些情况中的任何一种会阻止对中断服务例行程序产生 LCALL 第二个条件确保如果在运行中 19

20 的指令是 RETI 或者任何访问 IE,IP 或 IPH 寄存器的, 那么在中断矢量化前至少还可以执行一条指令 轮询周期在每条指令的最后一个周期重复, 选中的值是前述周期中存在的值 如果因为以上原因一个激活的中断标志位没有被响应, 且当上述原因消除后中断不再是激活的, 那么这个中断将不被响应 换一句话说, 中断源一旦被激活但是没有被响应的不会被记录 每一个轮询周期是新的 如果请求被激活且满足被响应的条件, 硬件子例行程序调用请求的服务例行程序, 使其成为下一条被执行的指令 调用程序本身需要四个周期 因此, 在激活中断请求和开始执行第一条服务例行程序的指令之间, 至少要消耗五个完整的时钟周期 如果请求被前面所列的原因阻止了, 那就需要更长的响应时间 如果同级的中断源或者更高优先级的中断源在运行中, 附加等待时间取决于其他中断的服务例行程序 如果运行中的指令不是处于最后一个时钟周期, 附加的等待时间不会超过 3 个周期, 因为最长也只有 4 个周期 如果运行中的指令是 RETI 或者访问 IE 或 IP 寄存器, 附加的等待时间不会超过 7 个周期 ( 结束运行中的指令最多需要 3 个周期, 加上结束下一条指令最多需要 4 个周期 ) 因此, 在单个中断系统中, 响应时间总是大于 5 个时钟周期而小于 13 个时钟周期 见图 12-1 和图 12-2 Figure 最小中断响应时间 Clock Cycles 1 5 INT0 IE0 Ack. Instruction Cur. Instr. LCALL 1st ISR Instr. Figure 最大中断响应时间 Clock Cycles 1 13 INT0 IE0 Ack. Instruction RETI 4 Cyc. Instr. LCALL 1st ISR In Table IE 中断允许寄存器 IE = A8H 复位值 = B 位可寻址 EA EC EGP ES ET1 EX1 ET0 EX0 Bit

21 符号 功能 EA 全部有效 / 失效. 当 EA = 0 时, 所有的中断失效. 当 EA = 1 时, 每个中断源通过设置 / 清除自己的使能位使中断有效 / 失效 EC EGP ES ET1 EX1 ET0 EX0 比较器中断有效 通用中断有效 串行口中断有效 定时器 1 中断有效 外部中断 1 有效 定时器 0 中断有效 外部中断 0 有效. Table IP 中断优先级寄存器 IP = B8H 复位值 = X B 位可寻址 PGP PS PT1 PX1 PT0 PX0 位 符号 PGP PS PT1 PX1 PT0 PX0 功能通用中断优先级低串行口中断优先级低定时器 1 中断优先级低外部中断 1 优先级低定时器 0 中断优先级低外部中断 0 优先级低 Table IPH 中断优先级高寄存器 IPH = B7H 复位值 = X B 不可位寻址 PGH PSH PT1H PX1H PT0H PX0H 位

22 符号 PGH PSH PT1H PX1H PT0H PX0H 功能通用中断优先级高串行口中断优先级高定时器 1 中断优先级高外部中断 1 优先级高定时器 0 中断优先级高外部中断 0 优先级高 13. I/O 端口 AT89LP213/214 可以设置 9 到 12 个 I/O 引脚 有效的 I/O 引脚的精确数目取决于时钟和复位选择, 如表 13-1 所示 所有端口引脚 5V 的容限, 也就是说可以被上拉或驱动到 5.5V, 即使工作在较低的 V CC, 如 3V Table I/O 引脚配置 时钟源 复位选择 I/O 引脚数 外部晶体或振荡器 外部 RST 引脚 9 没有外部复位 10 外部时钟 外部 RST 引脚 10 没有外部复位 11 内部 RC 振荡器 外部 RST 引脚 11 没有外部复位 12.. Table 端口 x, y 位配置模式 PxM0.y PxM1.y 端口模式 0 0 准双向的 0 1 推挽式输出 1 0 只输入 ( 高阻抗 ) 1 1 开消耗输出 准双向输出 准双向输出模式的端口引脚功能与标准 8051 端口引脚相似 不需要重新配置端口, 准双向的端口就可以同时用作输入和输出. 这是可行的, 因为当端口输出一个逻辑高电平时, 它被弱驱动, 允许外部设备把引脚电平拉低 当引脚低电平驱动时, 强驱动使大电流减小 为了不同的目的, 准双向输出有 3 个上拉电阻. 这 3 个上拉电阻中的一个叫做 极弱 上拉电阻, 只要引脚的端口门限包含逻辑 1, 这个电阻就是工作的 当引脚悬空时, 这个极弱的上拉电阻产生极小的电流使引脚电平拉高. 第二个上拉电阻叫做 弱 上拉电阻, 当引脚的端口门限包含逻辑 1 且引脚本身是逻辑 1 电平时, 这个电阻是工作的 这个上拉电阻提供准双向引脚输出为 1 的基本源电流 如果外部设备把该引脚下拉为低电平, 则这个弱上拉电阻关闭, 只有极弱上拉电阻维持工作 为了在这些条件下使引脚电平下拉, 外部设备不得不减小足够的电流抑制弱上拉电阻, 并使端口引脚电平位于输入门限电平以下 22

23 第三个上拉电阻是 强 上拉电阻 这个上拉电阻的作用是, 当端口门限由逻辑 0 转换为逻辑 1 时, 可以加快准双向端口引脚的低电平到高电平的转换速度 当这种情况发生时, 强上拉电阻工作两个 CPU 周期, 使端口电平迅速上拉 准双向端口配置如 Figure 13-1 所示. 在下电时, P1.3, P3.2 和 P3.3 的输入电流不是无效的 ( 见 Figure 13-3). Figure 准双向输出 V CC V CC V CC 1 Clock Delay (D Flip-Flop) Strong Very Weak Weak Port Pin From Port Register Input Data PWD 只输入模式 只输入端口配置如 Figure 13-2 所示. 输出驱动是三态的. 输入包括斯密特触发输入以提高对输入噪声的抑制 在下电时, P1.3, P3.2 和 P3.3 的输入电路不是无效的 ( 见 Figure 13-3). 输入引脚可以被安全的上拉到 5.5V, 即使工作在较低的 V CC 电平 ; 然而, 斯密特触发器的输入门限是由 V CC 电平设置的, 这一点必须考虑 Figure I 只输入 Input Data Port Pin PWD Figure I P1.3, P3.2 和 P3.3 只输入 Input Data Port Pin 开消耗输出 当端口门限包含逻辑 0 时, 开消耗输出配置关闭多有的上拉, 只驱动端口引脚的下拉电阻 为了用作逻辑输出, 在这种方式下端口配置必须要有外部上拉电阻, 典型的是电阻与 V CC 相连 这种模式的下拉电阻与准双向模式相同 开消耗配置如 Figure 13-4 所示. 在下电时, P1.3, P3.2 和 P3.3 的输入电路不是无效的 ( 见 Figure 13-3). 开消耗引脚可以被安全的上拉到 5.5V, 即使工作在较低的 V CC 电平 ; 然而, 斯密特触发器的输入门限是由 V CC 电平设置的, 这一点必须考虑. 23

24 Figure Open-Drain Output Port Pin From Port Register Input Data PWD 推挽式输出 推挽式输出配置和开消耗与准双向输出模式有相同的下拉电阻结构, 但是当端口门限包含逻辑 1 时, 提供持续的强上拉电阻 当端口输出需要更多的源电流时, 采用推挽模式 推挽端口配置如 Figure 13-5 所示. 在下电时, P1.3, P3.2 和 P3.3 的输入电路不是无效的 ( 见 Figure 13-3). Figure 推挽式输出 V CC Port Pin From Port Register Input Data PWD 13.1 端口 1 模拟功能 AT89LP213/214 结合了模拟比较器. 为了给出做好的模拟效果和最小化功率损耗, 作为模拟功能的引脚必须使他们的数字输出和数字输入无效. 如 22 页 端口配置 描述的, 使端口引脚处于只输入模式可以使端口引脚的数字输出无效 只要设置 ACSR 的 CEN 位使模拟比较器有效, 那么 P1.0 和 P1.1 的数字输入是无效的 CEN 迫使 P1.0 和 P1.1 的 PWD 输入为的电平, 因此使斯密特触发电路无效. 在复位后不管三端口得状态如何, P1.0 和 P1.1 总是默认为只输入模式 端口读 - 修改 - 写读引脚的状态还是读端口寄存器的状态取决于使用的指令 简单的读指令总是直接访问端口引脚读 - 修改 - 写指令, 就是读到一个值, 可能修改这个值, 然后重新写回去, 这个指令总是访问端口寄存器. 包括位写入指令, 如 CLR 或 SETB, 它们实际上读了整个端口, 修改单独的位, 然后把数据重新写回整个端口. 如 Table 13-3 所示, 列出了所有访问端口的读 - 修改 - 写指令. Table 端口读 - 修改 - 写指令 助记符指令举例 ANL 逻辑 AND ANL P1, A ORL 逻辑 OR ORL P1, A XRL 逻辑 EX-OR XRL P1, A 24

25 Table 端口读 - 修改 - 写指令 助记符 指令 举例 JBC 如果置位则跳转, 同时清除该位 JBC P3.0, LABEL CPL 补位 CPL P3.1 INC 递增 INC P1 DEC 递减 DEC P3 DJNZ 如果不是零则递减并跳转 DJNZ P3, LABEL MOV PX.Y, C 把进位移动到端口 X 的 Y 位 MOV P1.0, C CLR PX.Y 清除端口 X 的 Y 位 CLR P1.1 SETB PX.Y 设置端口 X 的 Y 位 SETB P 端口选择功能 AT89LP213/214 的大多数通用数字输入 / 输出引脚与各种串行单元需要的输入 / 输出共享功能 Table 13-5 列出了端口引脚的选择功能. 选择功能以逻辑与的方式与引脚相连. 为了使端口引脚的选择功能有效, 引脚相应的端口寄存器位必须为 1, 否则输入 / 输出总是为 0. 另外, 在使用前, 每个引脚必须按照外设的要求配置成正确的输入 / 输出模式. Table 13-4 给出了如何使通用引脚配置为选择功能 Table 端口 x 引脚 y 选择功能配置 PxM0.y PxM1.y Px.y I/O 模式 双向的 ( 内部上拉 ) 输出 1 0 X 输入 双向的 ( 外部上拉 ) Table 端口引脚选择功能 配置位 端口引脚 PxM0.y PxM1.y 选择功能 注释 P1.0 P1M0.0 P1M1.0 AIN0 只输入 GPI0 P1.1 P1M0.1 P1M1.1 AIN1 只输入 GPI1 P1.2 P1M0.2 P1M1.2 GPI2 P1.3 P1M0.3 P1M1.3 GPI3 RST 必须无效 25

26 Table 端口引脚 端口引脚选择功能 PxM0.y 配置位 PxM1.y P1.4 P1M0.4 P1M1.4 P1.5 P1M0.5 P1M1.5 P1.6 P1M0.6 P1M1.6 选择功能 SS GPI4 MOSI GPI5 MISO GPI6 P1.7 P1M0.7 P1M1.7 SCK GPI7 P3.0 P3M0.0 P3M1.0 RXD P3.1 P3M0.1 P3M1.1 TXD 仅限于 AT89LP214 P3.2 P3M0.2 P3M1.2 INT0 仅限于内部 RC 振荡器 INT1 仅限于内部 RC 振荡器或 P3.3 P3M0.3 P3M1.3 CLKOUT 外部时钟源 P3.4 P3M0.4 P3M1.4 T0 仅限于 AT89LP213 P3.5 P3M0.5 P3M1.5 T1 P3.6 not configurable CMPOUT 引脚与比较器输出相连 注释 14. 性能增强型计时器计数器 AT89LP213/214 产品有两个 16 位的计时计数器 : 计时器 0 和计时器 1 作为计时器, 每一个时钟周期寄存器增加一次 因此寄存器可以对时钟周期计数 因为每个时钟周期包括一个振荡周期, 所以计数频率就是振荡器频率 计时器频率可以通过可变频计时器从 1 到 16 改变 ( 如表 9-2). 两个计时器使用同一个分频器 作为计数器, 相应引脚 T0 或 T1 处有 1 到 0 的变化时寄存器就会相应的递增 每一个时钟周期都会对外部输入进行采样 当采样值第一个周期为高电平, 紧接着的那个周期为低电平, 计数开始 一旦检测到这种跳变, 寄存器中的值就会刷新开始递增 因为进行这样的检测需要两个时钟周期, 所以最大的计数率也仅仅是振荡器频率的一半 对输入的信号没有约束, 但信号必须确保检测到的电平在变化之前至少保持了一个完整的时钟周期 在 AT89LP214 中, T0 和 T1 是不能通过引脚输入的 但可以通过软件接换寄存器 3 中的 P3.4 和 P3.5 位来实现输入 另外, 计时器 0 和 1 就其功能来说有四种操作模式 : 可变宽度计时计数器,16 位自动重置计时计数器 8 位自动重置计时计数器和分时计时计数器 可以通过特殊功能寄存器 TMOD 中的控制位 C/T 选择计时计数器功能 TMOD 中的 M1 和 M0 位用来选择操作模式 14.1 模式 0 可变频计时计数器两个计时器在模式 0 下都是可变频的 8 位计数器 分频器范围从 1 到 8 位, 到底能变几位这要取决于 TCONB 中的 PSC 位 这样计时器的范围就变成了 9 到 16 位 在标准 8051 模式 0 下的计时器位数缺省值位 13 位 如图 14-1 所示 当计数器从全 1 变为全 0 时, 中断标识符 TF1 会被置位 计数输入是在 TR1=1 并且 GATE=0 或 INT1=1 有效的 给 GATE 置位使得外部输入 INT1 能够控制计 26

27 时器以便方便脉冲宽度测量 TR1 是特殊功能寄存器 TCON 中的控制位 GATE 是在 TMOD 中的 13 位寄存器是由 TH1 的 8 位和 TL1 中的低 5 位构成 TL1 的高 3 位未定忽略 对 TR1 置位不会清零寄存器 Mode 0: Time-out Period = PSC ( TPS + 1) Oscillator Frequency Note: 在模式 0 下计时器 1 对 RH1/RL1 没有要求, 可以用作临时存储寄存器 Figure OSC 模式 0 下计时计数器 : 可变位数计数器 TPS C/T = 0 TL1 (8 Bits) T1 Pin GATE TR1 C/T = 1 Control PSC1 TH1 (8 Bits) TF1 Interrupt INT1 Pin 除了用 TR0 TF0 和 INT0 分别替代图 14-1 中相应的信号的情况, 计时器 0 在模式 0 下的操作与计时器 1 相同 这里有两种不同的 GATE 位, 计时器 1 的是 TOMD.7, 而计时器 0 则是 TOMD.3 XTAL 振荡器使用 INT0 和 INT1 引脚 它们只有在内部 RC 振荡器作系统时钟时实现 GATE 功能 14.2 模式 1 16 位自动重置计时计数器计时器在模式 1 下是 16 位自动重置 计时寄存器 16 位运行 16 位重置值放在高低重置寄存器 RH1 和 RL1 中 高低计时寄存器 TH1 和 TL1 相互配合完成计时 当收到时钟信号, 计时器开始计数 : 0000H 0001H 0002H 当 FFFFH 到 0000H 跳变时会发生溢出, 这里还要注意计时寄存器是将 RH1 和 RL1 中的值拿来重置并且 TCON 中的溢出标识位已经置位 如图 14-2 重置缺省值为 0000H, 这样的 16 位计时器可与标准 8051 相比 模式 1 操作同样适应于计时计数器 0 Mode 1: ( { RH0, RL0} ) Time-out Period = ( TPS + 1) Oscillator Frequency 27

28 Figure 模式 1 下的计时计数器 :16 位自动重置 OSC T1 Pin TPS C/T = 0 C/T =1 Control RL1 (8 Bits) TL1 (8 Bits) RH1 (8 Bits) TH1 (8 Bits) Reload TF1 Interrupt TR1 GATE INT1 Pin 14.3 模式 2 8 位自动重置计时计数器模式 2 下的计时寄存器是自动重置的 8 位 (TL1) 计数器 如图 14-3 TL1 溢出不仅要对 TF1 置位, 而且也要用 TH1 中的内容对 TL1 进行重置, 这里的内容是预先用软件设置好的, 而此时 TH1 内容并没有变化 模式 2 操作同样适合于计时计数器 0 Mode 2: Time-out Period ( 256 TH0) = ( TPS + 1) Oscillator Frequency Figure 模式 2 下的计时器计数器 :8 位自动重置 OSC TPS C/T = 0 TL1 (8 Bits) TF1 Interrupt T1 Pin C/T = 1 Control Reload GATE TR1 TH1 (8 Bits) INT0 Pin Note: 在模式 2 下计时器 1 对 RH1/RL1 没有要求, 可以用作临时存储寄存器 14.4 模式 3 8 位分时计时器 模式 3 下的计时器 1 简单的说就是保持计数, 相当于对 TR1 清零 模式 3 下的计时器 0 将 TL0 和 TH0 独立, 逻辑图如 14-4 所示 TL0 用到计时器 0 的控制位 :C/T, GATE, TR0, INT0 和 TF0 TH0 用来对机器周期计数并且用到 TR1 和 TF1 因此 TH0 控制计时器 1 的中断 模式 3 是为了满足额外 8 位计时计数器应用所需 从模式 3 下的计时器 0 看来,AT89LP213/214 产品看起来好像就拥有了三个计时计数器 ; 这种情况下, 计时器 1 可以通过切换进出模式 3 来实现关闭功能 这样看来计时器 1 仍然能作为波特率发生器的串口使用或任何不需要中断的应用 28

29 Figure 模式 3 下的计时器计数器 0: 两个 8 位计数器 T0 Pin TPS C/T = 0 C/T =1 Control (8 Bits) Interrupt GATE INT0 Pin TPS (8 Bits) Interrupt Control Note: 在模式 3 下计时器 0 对 RH0/RL0 没有要求, 可以用作临时存储寄存器. Table TCON 计时器计数器控制寄存器 TCON = 88H 复位值 = B 位选 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位 标识符 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 功能计时器 1 溢出标识, 有硬件设置 当操作向量指向中断时对其清零 计时器 1 运行控制位, 通过软件置位或清零来实现计时计数器通断 计时器 0 溢出标识, 有硬件设置 当操作向量指向中断时对其清零 计时器 0 运行控制位, 通过软件置位或清零来实现计时计数器通断 中断 1 标识 当检测到外部中断时通过硬件置位, 中断运行完清零 中断 1 类型控制位 通过软件置位清零来指定下降沿 / 低电平触发中断 中断 0 标识 当检测到外部中断时通过硬件置位, 中断运行完清零 中断 0 类型控制位 通过软件置位清零来指定下降沿 / 低电平触发中断 29

30 Table TMOD: 计时计数器模式控制寄存器 TMOD = 88H 复位值 = B 无位选 GATE C/T M1 M0 GATE C/T M1 M 计时器 1 计时器 0 Gate C/T 门控制 : 当置位时, 计时计数器只有在 INTx 引脚高电平和 TRx 控制引脚置位时才有效 : 当清零时, 计时器 x 在 TRx 控制位置位时都有效 计时器或计数器选择 : 若清零则为计时器操作 ( 内部系统时钟输入 ); 若置位则为计数器操作 (Tx 引脚作为输入 ) 计时器 0 门位 计时器 0 计数记时选择位 M1 计时器 1 模式位 1 计时器 0 M1 位 M0 计时器 1 模式位 0 计时器 0 M0 位 M1 M0 模式操作模式 到 16 位可变计时计数器 带有 1 到 8 位变长 THx 和 TLx 的 8 位计时计数器 位自动重置记时计数器 16 位计时计数器,THx 与 TLx 连带, 无变长器 位自动重置计时计数器 8 位自动重置计时计数器,THx 有重置值每次溢出时重置给 TLx 分时计时计数器模式 ( 计时器 0)TL0 时由标准计时器 0 控制位控制的 8 位计时计数器 TH0 时标准计时器 1 控制位控制的 8 位计时计数器 ( 计时器 1) 计时计数器 1 停止 计时器 SFR 作用 地址 位选 TCON 控制 88H 是 TMOD 模式 89H 否 TL0 计时器 0 低字节 8AH 否 TL1 计时器 1 低字节 8BH 否 TH0 计时器 0 高字节 8CH 否 TH1 计时器 1 高字节 8DH 否 TCONB 模式 91H 否 RL0 计时器 0 重置低字节 92H 否 RL1 计时器 1 重置低字节 93H 否 RH0 计时器 0 重置高字节 94H 否 RH1 计时器 1 重置高字节 95H 否 30

31 . Table TCONB 计时器计数器控制寄存器 B TCONB = 91H 复位值 = B 无位选 PWM1EN PWM0EN PSC12 PSC11 PSC10 PSC02 PSC01 PSC00 位 符号 PWM1EN PWM0EN PSC12 PSC11 PSC10 PSC02 PSC01 PSC00 功能 在 T1 (P3.5) 上将计时器 1 设置成脉冲宽度调制输出 在 T0 (P3.4) 上将计时器 0 设置成脉冲宽度调制输出 模式 0 下计时器 1 的可变长器 TL1 可变位数为 PSC1+1. 在 AT89S2051 中复位后 PSC1=100B 使得 TL1 的 5 个位能够用于 13 位模式 0 的情况下 模式 0 下计时器 0 的可变长器 TL0 可变位数为 PSC0+1. 在 AT89S2052 中复位后 PSC0=100B 使得 TL0 的 5 个位能够用于 13 位模式 0 的情况下 14.5 脉宽调制 AT89LP213 中, 可以通过置位 TCONB 中 PWM0EN 或 PWM1EN 分别将计时器 0 和 1 配置成 8 位异步脉冲宽度调制器 (PWM) 在 PWM 模式下计时器引脚 T0 或 T1 输出产生的波形 在这种模式下 C/T 也必须置 0 T0(P3.4) 和 T1(P3.5) 必须设置为输出模式 计时器溢出标识和中断将在 PWM 模式下继续工作, 计时器 1 仍可为 UART 口产生波特率 PWM 可以通过选择 TMOD 中的模式位来选择四种模式中的任意一种 图 14-5 给出了在 PWM 模式下计时器 0 输出的一种波形 TH0 作为 8 位计数器使用而 RH0 存储 8 位比较值 当 TH0 为 00H 时,PWM 输出为高 当 TH0 中计数值累加到了 RH0 中的值时,PWM 输出置低 因此脉宽与 TH0 中的值一致 为了防止毛刺产生, 仅在 RH0 从 FFH 到 OOH 溢出时才写 RH0 将 RH0 置 00H 将会保持 PWM 输出为低 Figure 异步脉宽调制 Counter Value (TH0) Compare Value (RH0) PWM Output (T0) 模式 0 带有 8 位分频器的 8 位 PWM 模式 0 下,TLx 作为算术分频器驱动 8 位计数器 THx.( 如图 14-6)TCONB 中的 PSCx 位控制分频器的值 THx 溢出时,RHx 中的周期值转换给 OCRx, 同时输出引脚置高 当 THx 中的计数与 OCRx 匹配时, 输出清零 接下来便是给输出频率和 PWM 模式 0 下计时器 0 的周期 PWM 模式下计时器 1 与计时器 0 一致 31

32 Oscillator Frequency 1 Mode 0: f out = PSC TPS + 1 Mode 0: Duty Cycle % = 100 RH Figure 计时器计数器 1PWM 模式 0 RH1 (8 Bits) OSC TPS TL1 (8 Bits) OCR1 Control = GATE TR1 PSC1 TH1 (8 Bits) T1 INT1 Pin 模式 1 带有 8 位线性分频器的 8 位 PWM 模式 1 下,TLx 利用 RLx 的 8 位自动重置实现线性分频 ( 如图 14-7) TLx 溢出时将 RLx 中的值置入 TLx 中 当 THx 溢出时,RHx 中的周期值转换给 OCRx, 同时输出引脚置高 当 THx 中的计数与 OCRx 匹配时, 输出清零 接下来便是给输出频率和 PWM 模式 0 下计时器 0 的周期 PWM 模式下计时器 1 与计时器 0 一致 Oscillator Frequency 1 Mode 1: f out = ( 256 RL0) TPS + 1 Mode 1: Duty Cycle % = 100 RH

33 Figure 计时器计数器 1PWM 模式 1 RH1 (8 Bits) RL1 (8 Bits) OCR1 = OSC TPS TL1 (8 Bits) TH1 (8 Bits) T1 Control TR1 GATE INT1 Pin 模式 2 8 位频率发生器 PWM 模式 2 下, 计时器 0 与 8 位自动重置计时器功能类似 与通常情况下模式 2 相同, 但是在每次 TL0 溢出时输出引脚 T0 接换 ( 如图 14-8)PWM 模式 2 下的计时器 1 与计时器 0 一致 模式 2 下 PWM 可以输出频率可变的方波 THx 可作 8 位计数器 接下来便是给 PWM 模式 2 下计时器 0 的输出频率 Oscillator Frequency 1 Mode 2: f out = ( 256 TH0) TPS + 1 Figure PWM 模式 2 下的计时器计数器 1 TH1 (8 Bits) OSC TPS TL1 (8 Bits) T1 Control TR1 GATE INT1 Pin Note: {RH0 和 RL0}/{RH1 和 RL1} 在 PWM 模式 2 下计时器 0/1 不做要求, 可被用作临时存储寄存器 模式 3 8 位分时 PWM PWM 模式 3 下计时器 1 保持其值, 与设置 TR = 1 时的效果相同 PWM 模式 3 下计时器 0 将 TL0 和 TH0 作为两个独立的 PWM 计数器使用, 其方式与通常情况下的模式 3 类似 PWM 模式 3 下的计时器 0 工作情况如图 14-9 所示 只有在 PWM 模式 3 下计时器可变器工作时才可以改变输出频率 TL0 33

34 可以使用计时器 0 的控制位 :GATE,TR0, INT0, PWM0EN 和 TF0 TH0 被锁存到, 某个计时器功能中并且使用 TR1,PWM1EN 和 TF1 RL0 为 TL0 提供周期频率,RH0 则为 TH0 提供周期频率 PWM 模式 3 应用时需要一个 PWM 通道和两个计时器, 或者两个 PWM 通道和一个额外的计时器或计数器 对于 PWM 模式 3 下的计时器 0, AT89LP213 拥有三个计时器 / 计数器 当计时器 0 工作在 PWM 模式 3 下, 计时器 1 可以通过通断控制来进入或退出模式 3 在这种情况下, 计时器 1 仍可以作为串口的波特率产生器而无需任何中断 接下来便是给输出频率和 PWM 模式 3 下计时器 0 的周期 Oscillator Frequency 1 Mode 3: f out = TPS + 1 Mode 3, T0: Duty Cycle % = RL0 256 Mode 3, T1: Duty Cycle % = RH0 256 Figure PWM 模式 3 下的计时器计数器 0 RL0 (8 Bits) OCR0 = OSC TPS TL0 (8 Bits) T0 TR1 Control RH0 (8 Bits) GATE OCR1 INT1 Pin = OSC TPS TH0 (8 Bits) T1 TR1 15. 外部中断 当 AT89LP213/214 被设置为使用内部 RC 振荡器时, XTAL1 and XTAL2 可能被用作 INT0 和 INT1 外部中断资源 外部中断能够通过设置或清零寄存器 TCON 中 IT1 或 IT0 位达到水平活性或阶跃活性编程 如果 ITx = 0, 外部中断 x 将会被 INTx 引脚察觉到低电平时触发 如果 ITx = 1, 外部中断将是边缘触发 在这个模式中, 如果 INTx 引脚中的连续样本表现为一个周期高电平而下一个周期为低电平, 那么 TCON 中的中断请求标记 IEx 将被置位 标记位 IEx 开始请求中断 每当外部中断引脚取样一个时钟周期, 一个输入高或低电平将被持续至少两个振荡器周期, 目的是为了使取样顺利 如果外部中断处于阶跃活性, 那么外部资源将保持请求引脚高电平至少两个时钟周 34

35 期, 然后再将它置为低电平, 时间也是至少两个时钟周期 ; 这样, 中断请求标记 IEx 才能被置位 在边缘触发模式中, 如果服务周期被需求, 那么 IEx 将被 CPU 自动清除 如果外部中断处于水平活性, 那么外部资源将保持需求使能直到需求中断发生 然后, 外部资源必须在中断服务程序完全或另一个中断发生之前使请求无效 16. 多用途中断 多用途中断 (GPI) 功能在端口 1 提供了 8 个可配置的外部中断 每个端口引脚都能探测到高 / 低电平或正 / 负边缘 GPIEN 寄存器挑选端口 1 中的位用于产生中断 GPMOD 和 GPLS 寄存器确定每个独立引脚的模式 GPMOD 在水平灵敏和边缘触发模式之间进行选择 GPLS 在水平模式下的高 / 低和边缘模式下的正 / 负之间进行选择 端口 1 的引脚每个时钟周期都在采样 在水平灵敏模式下, 一个正确的水平面必须在产生中断前出现在两个连续的采样之间 在边缘触发模式下, 当两个采样之间评估值产生变化时, 将会探测到一个阶跃 当一个中断条件在一个引脚被发现, 此时这个引脚使能,GPIF 寄存器中适当的标记被置位 GPIF 中的标记必须由软件清零. Table GPMOD = 9AH GPMOD 多用途中断模式寄存器 没有可以设置地址的位 复位值 = B GPMOD7 GPMOD6 GPMOD5 GPMOD4 GPMOD3 GPMOD2 GPMOD1 GPMOD0 Bit GPMOD.x 0 = level-sensitive interrupt for P1.x 1 = edge-triggered interrupt for P1.x Table GPLS 多用途中断水平选择寄存器 GPLS = 9BH 复位值 = B 没有可以设置地址的位 GPLS7 GPLS6 GPLS5 GPLS4 GPLS3 GPLS2 GPLS1 GPLS0 Bit GPMOD.x 0 = detect low level or negative edge on P1.x 1 = detect high level or positive edge on P1.x 35

36 . Table GPIEN 多用途中断使能寄存器 GPIEN = 9CH 复位值 = B 没有可以设置地址的位 GPIEN7 GPIEN6 GPIEN5 GPIEN4 GPIEN3 GPIEN2 GPIEN1 GPIEN0 Bit GPIEN.x 0 = interrupt for P1.x disabled 1 = interrupt for P1.x enabled. Table GPIF 多用途中断标记寄存器 GPIF = 9DH 复位值 = B 没有可以设置地址的位 GPIF7 GPIF6 GPIF5 GPIF4 GPIF3 GPIF2 GPIF1 GPIF0 Bit GPIF.x 0 = interrupt on P1.x inactive 1 = interrupt on P1.x active. 必须由软件清除. 17. 连续分界面 AT89LP214 上的连续分界面实现了通用异步接收器 / 发送器功能 (UART) UART 具有以下特点 : 全双工操作 8 或 9 个数据位 错误侦查 自动地址识别下的多处理器传输模式 使用定时器 1 的波特率发生器 接收缓冲器或传输完全上的中断 36

37 连续分界面是全双工的, 这意味着它能够同时发送和接收信号 它同时也是一个接收缓冲器, 这意味着它能在前一个字节被接收寄存器读取之前接收第二个字节信息 ( 尽管如此, 如果第二个字节接收完成而第一个字节还没有被读取时, 这两个字节中的一个将会丢失 ) 连续端口接收和发送寄存器都能访问特殊功能寄存器 SBUF 发送寄存器负责向 SBUF 中写入数据 ; 而接收寄存器负责从 SBUF 中读取数据 连续端口能在以下四个模式中进行操作 : 模式 0: 通过 RXD 实现连续数据的进入和退出 TXD 输出变换时钟 8 个数据位是发送 / 接收 波特率固定为振荡器频率的 1/2 模式 1: 10 个位是发送 ( 通过 TXD) 或接收 ( 通过 RXD):1 个开始位 (0),8 个数据位,1 个停止位 (1) 接收时, 停止位变为特殊功能寄存器 SCON 中的 RB8 波特率基于定时器 1 可变 模式 2: 11 个位是发送 ( 通过 TXD) 或接收 ( 通过 RXD):1 个开始位 (0),8 个数据位,1 个可编程的第 9 数据位,1 个停止位 (1) 发送时, 第 9 数据位 (SCON 中的 TB8) 可以被赋值 0 或 1 例如, 奇偶位 (P, 在 PSW 中 ) 能够被移动至 TB8 接收时, 当停止位被忽视时, 第 9 数据位将去特殊功能寄存器 SCON 中的 TB8 波特率可编程设置为振荡器周期的 1/16 或 1/32 模式 3: 11 个位是发送 ( 通过 TXD) 或接收 ( 通过 RXD):1 个开始位 (0),8 个数据位,, a1 个可编程的第 9 数据位,1 个停止位 (1) 事实上, 模式 3 与模式 2 除了波特率以外其余都一模一样 模式 3 的波特率基于定时器 1 可变 在所有的 4 种模式中, 发送器能被将 SBUF 定义为目的寄存器的任何指令启动 模式 0 中, 当 RI = 0 且 REN = 1 时, 开始接收 在其他模式中, 当引入的启动位 REN=1 时, 开始接收 17.1 多处理器通信 模式 2 和模式 3 有一个多处理器通信模式 在这个模式中,9 个数据位用于接收,1 个停止位紧随其后 第 9 个位去 RB8 然后产生一个停止位 端口仅在停止位接收时可以被编辑 ; 只有当 RB8=1 时, 连续端口中断才具备活性 通过设置 SCON 中的 SM2 位, 能实现这一特点 接下来的例子将会说明如何在多处理器通信中使用连续中断 当主处理器必须将一块数据传输给其他处理器时, 它首先发送一个地址位, 用于鉴别目标处理器 这个地址位不同于数据位, 因为在地址位中第 9 位是 1, 而在数据位中第 9 位是 0 当 SM2=1 时, 没有处理器能够被数据位阻止 然而, 地址位可以中断所有的处理器 每个处理器都能检验接收字节并且鉴别它是否属于地址位 地址处理器清除了它的 SM2 位, 并且准备接收接下来的数据字节 处理器不能设置它的 SM2 位, 并且忽略数据字节 SM2 位在模式 0 中没有任何作用, 但它可以用来检查模式 1 中停止位的合法性 在模式 1 接收中, 如果 SM2=1, 那么除非收到一个有效的停止位, 不然接收中断都具有活性 Table SCON 连续端口控制寄存器 SCON 地址 = 98H 复位值 = B 可以设置地址的位 SM0/FE SM1 SM2 REN TB8 RB8 T1 RI Bit (SMOD0 = 0/1) (1) 37

38 符号 FE SM0 功能 取景错误位 当发现一个无效停止位时, 接收器将它置位 FE 位不能被有效取景清零而只能被软件清零 SMOD0 位必须被设置为使能 FE 位 FE 的设置与 SMOD0 的规定无关 连续端口模式位 0, (SMOD0 must = 0 to access bit SM0) 连续端口模式位 1 SM0 SM1 Mode Description Baud Rate (2) SM shift register f osc / bit UART variable (Timer 1) bit UART f osc /32 or f osc / bit UART variable (Timer 1) SM2 REN TB8 RB8 TI 在模式 2 或 3 中, 自动地址识别功能使能 当 SM2=1 时, 除非接收到的第 9 位数据为 1, 否则 RI 不能被置位 在模式 1 中, 如果 SM2=1, 除非接收到一个有效停止位, 否则 RI 不能被激活, 接收字节是一个赠与或广播地址 在模式 0 中,SM2 是 0 连续接收使能 由软件置位, 由软件清零 在模式 2 和模式 3 中传输第 9 数据位 由软件置位或清零 在模式 2 和模式 3 中接收第 9 数据位 在模式 1 中, 如果 SM2=0,RB8 将作为停止位被接收 在模式 0 中,RB8 不被使用 传输中断标志 无论处于哪种连续传输模式下, 在模式 0 中, 由 8 位时间硬件设置, 在其他模式中, 由地址位的开始状态设置 必须由软件清零 RI 接收中断标志 在任何连续接收状态下 ( 除了 SM2), 在模式 0 中, 由 8 位时间的末尾设置 ; 或者在其他模式下由停止位时间的部分设置 必须由软件清零 Notes: 1. SMOD0 is 定位于 PCON f osc = 振荡器周期 17.2 波特率 模式 0 中, 波特率是固定的, 如下式所示 : Mode 0 Baud Rate = Oscillator Frequency 模式 2 中, 波特率由特殊功能寄存器中的 SMOD1 位的值决定 如果 SMOD1=0, 那么波特率为振荡器周期的 1/32 如果 SMOD1=1, 那么波特率为振荡器周期的 1/16 如下式所示 : 2 SMOD1 Mode 2 Baud Rate = (Oscillator Frequency) 利用定时器 1 产生波特率在模式 1 和 3 中, 定时器 1 的溢出率决定波特率 当定时器 1 是波特率发生器时, 波特率由定时器 1 的溢出率和 SMOD1 的值决定 如下式所示 : Modes 1, 3 2 SMOD1 = (Timer 1 Overflow Rate) Baud Rate 32 38

39 在这个请求中, 定时器 1 中断将被使无效 在 3 个连续模式下, 定时器本身能被设置为任何定时器或计数器运行 在最典型的应用程序中, 它被设置为自动再装模式下的定时器运行 既然这样, 波特率由下式给出 : Modes 1, 3 = Baud Rate 2 SMOD 程序员可以通过设定定时器以 16 位自动再装定时器而获得非常低的波特率 既然这样, 波特率由下式给出 : Table 17-2 给出通常使用的波特率以及它们是如何从定时器 1 中获得的 Table 定时器 1 中常使用的波特率 (TPS = 0000B) Oscillator Frequency [ 256 ( TH1) ] TPS + 1 Modes 1, 3 2 SMOD1 Oscillator Frequency Baud Rate = [ 256 ( RH1,RL1) ] TPS + 1 Timer 1 Baud Rate f OSC (MHz) SMOD1 C/T Mode Reload Value Mode 0: 1 MHz 2 X X X X Mode 2: 375K 12 0 X X X 62.5K F4H 19.2K DCH 9.6K DCH 4.8K B8H 2.4K H 1.2K FEE0H F55CH F958H F304H 17.3 关于模式 0 的更多内容通过 RXD 实现连续数据进入和退出 TXD 输出变换时钟 8 个数据位用于发送 波特率固定为振荡器周期的 1/2 Figure 17-1 on page 40 显示了在模式 0 及关联定时状态下连续端口的单一化功能图表 发送器能被将 SBUF 定义为目的寄存器的任何指令启动 向 SBUF 写入 信号等同于将 1 置于传输变换寄存器的第 9 位, 并使 TX 控制模块开始传输 内部定时在 向 SBUF 写入 和 SEND 激活中将机器周期流逝 SEND 将交换寄存器的输出传送到 P3.0 的轮换功能输出线上, 它也将变换时钟传送到 P3.1 的轮换功能输出线上 在变换时钟下降沿, 传输轮换寄存器的内容将变换到右边的位置上 当数据位向右变换时, 0 向左边移动 当数据字节中的 MSB 在变换寄存器的输出位置时, 将第 9 个位置的最初部分置 1 这个控制标志 TX 控制时钟进行最后轮换, 然后解除 SEND 并将 TI 置 1 当 REN = 1 且 R1 = 0 时, 开始接收 在下一个时钟周期,RX 控制单元将 写入接收轮换寄存器并且在下一个时钟相位激活 RECEIVE i RECEIVE 将轮换时钟设置到 P3.1 的轮换输出功能线上 在轮换时钟的下降沿, 接收变换寄存器中的内容向左移动 从右侧移位过来的数值来自于 P3.0 引脚在变换时钟上升沿的取样 39

40 Figure 连续端口模式 0 当数据位向右移动时, 1 向左移动 当将 0 写入变换寄存器最右边的最初位置时, 它标志 RX 控制时钟去进行一个最后的轮换 然后将 RECEIVE 清零并将 RI 置 1 1 INTERNAL BUS 1/2 f osc SEND SHIFT WRITE TO SBUF INTERNAL BUS RXD (DATA OUT) TXD (SHIFT CLOCK) TI WRITE TO SCON (CLEAR RI) RI RECEIVE SHIFT RXD (DATA IN) TXD (SHIFT CLOCK) 40

41 17.4 关于模式 1 的更多内容 10 位传输 ( 通过 TXD) 或接收 ( 通过 RXD):1 个开始位 (0),8 个数据位,1 个停止位 接收时, 停止位进入 SCON 中的 RB8 在 AT89LP214 中, 波特率由定时器 1 的溢出率决定 Figure 17-2 显示在传输和接收过程中, 模式 1 和关联定时的连续端口的单一化功能图表 发送器能被将 SBUF 定义为目的寄存器的任何指令启动 向 SBUF 写入 信号等同于将 1 置于传输变换寄存器的第 9 位, 并使 TX 控制模块开始传输 传输实际上从机器周期的 S1P1 开始 因此, 因此, 位时间是同步的, 而不是 向 SBUF 写入 信号 当 SEND 具有活性时, 开始传输 1 位时间过后,DATA 被激活, 它将传输轮换寄存器使能 在此之后, 第一个轮转脉搏出现 1 位时间 当数据位向右移动, 0 向左移动 当数据位的 MSB 在轮换寄存器的输出位置时, 1 写入第 9 位置的开头, 所有位置向左移 这个控制标志 TX 控制单元去进行最后的轮换, 然后解除 SEND 并将 TI 置 1 当 RXD 探测到一个 1 至 0 的转变时, 开始接收 为了达到这个目的,RXD 以确定波特率的 16 被速率取样 当探测到传输时,16 分频计数器立刻重启, 输入轮换寄存器中写入 1FFH 16 分频计数器通过引入的位时间重新设置 16 分频计数器被分为 16 个位时间 在每个位时间的第 计数器状态下, 位探测器取样 RXD 的值 接收的样本最少需要 3 个样本中的两个 这样可以拒绝噪声 为了拒绝错误位, 如果接收的第 1 位时间不为 0, 那么接收电路重启, 单元继续寻找 1 至 0 传输 如果开始位有效, 它转变为输入轮换寄存器 当数据位向右移动时, 1 向左移动 当开始位到达轮换寄存器最左边的位置时, 它标记 RX 控制块去做最后的轮换, 加载 SBUF 和 RB8, 并将 RI 置 1 当且仅当满足下列条件时, 产生加载 SBUF 和 RB8 并且将 RI 置 1 的信号 RI = 0 且 SM2 = 0, 或接收停止位 = 1 如果这两个条件中的任何一个不满足, 接收结构将不可挽回的丢失 如果两个条件同时满足, 停止位进入 RB8,8 个数据位写入 SBUF, 并且 RI 被激活 此时, 不论上述条件是否满足, 单元都将继续在 RXD 中寻找 1 至 0 的传输 41

42 Figure 连续端口模式 1 TIMER 1 OVERFLOW 1 INTERNAL BUS SMOD1 = 0 2 SMOD1 = 1 WRITE TO SBUF S D Q CL SBUF TXD ZERO DETECTOR 16 SERIAL PORT INTERRUPT START SHIFT DATA TX CONTROL RX CLOCK TI SEND 16 SAMPLE 1-TO-0 TRANSITION DETECTOR RX CLOCK RI START RX CONTROL LOAD SBUF SHIFT 1FFH RXD BIT DETECTOR LOAD SBUF INPUT SHIFT REG. (9 BITS) SHIFT SBUF READ SBUF TX CLOCK WRITE TO SBUF DATA SHIFT TXD TI SEND START BIT RX CLOCK INTERNAL BUS D0 D1 D2 D3 D4 D5 D6 D7 16 RESET STOP BIT TRANSMIT RECEIVE RXD START BIT BIT DETECTOR SAMPLE TIMES SHIFT D0 D1 D2 D3 D4 D5 D6 D7 STOP BIT RI 42

43 17.5 模式 2,3 介绍 通过 TXD 进行 11 位数据的发送, 通过 RXD 进行 11 位数据的接收 11 位数据包括 :1 个起始位 (0),8 个数据位元 (LSB 在前 ), 一个可编程的第 9 位数据位元, 以及 1 个停止位 (1) 发送时, 第 9 位数据位元 (TB8 ) 可以被设置为 0 或 1 接收时, 第 9 位数据位元进入 SCON 的 RB8 模式 2 中, 波特率可以编程设置为振荡频率的 1/16 或 1/32 模式 3 中, 波特率可变, 由定时器 1 决定 图 17-3 和 17-4 显示了模式 2,3 的串行端口功能图 接收部分与模式 1 完全相同, 发送部分与模式 1 的差别只在于发送移位寄存器的第 9 个数据位元 通过使用 SBUF 作为目标寄存器的任何指令开始发送 信号 写入 SBUF 同样将 TB8 载入发送移位寄存的第 9 位, 标志 TX 控制单元有一个发送的请求 发送实际开始于紧接着 16 分计数器的下一次翻转机器周期的 S1P1 因此, 位的时间是与 16 分计数器同步, 而不是与 写入 SBUF 信号同步 当 SEND 被激活时, 开始发送, 向 TXD 放入开始位 一个数据位的时间后, 数据 DATA 激活, 使发送移位寄存器的输出的位到 TXD 之后产生第一个移位脉冲 第一次移位记录 1 ( 停止位 ) 进入移位计时器第 9 位的时间 然后唯一的 0 被计时 因此随着数据位向右移出, 从左边进入的 0 被计时 当 TB8 位于移位寄存器的输出位置时, 停止位刚好在 TB8 的左边, 在停止位的左边都为 0 这种情况标志 TX 控制单元将做最后一次移位, 然后解除 SEND 的激活并将 TI 置位 这些发生在 写入 SBUF 后 16 分计数器第 11 次翻转时 RXD 检测到由 1 到 0 的跃迁后, 开始接收过程 为了达到这个目的,RXD 以指定波特率的 16 倍的速率进行采样 检测到跃迁后,16 分计数器马上复位, 1FFH 写入输入移位寄存器中 在每个位元时间的第 7,8,9 个计数器状态, 位元检测器对 RXD 的值进行采样 公认的值至少存在于 2/3 的采样值中 如果第一个位元时间接受的值不是 0, 接收电路重启, 并且该单元继续寻找另一个 1 到 0 的跃迁 如果起始位有效, 就将它移至输入移位寄存器, 继续接受该帧剩余部分 随着数据位由右侧进入, 1 从左边移出 当起始位到达移位寄存器 ( 即模式 2,3 中的 9 位寄存器 ) 最左边位置时, 标志着 RX 控制区将做最后一次移位, 载入 SBUF 和 SB8, 并重启 RI 只有在最后一个移位脉冲产生时, 在下列条件都满足的情况下, 才会产生载入 SBUF 和 RB8, 将 RI 置位的信号 : 1. RI = 0 2. SM2 = 0, 或接收到的第 9 个数据位元 = 1 如果上述两个条件之一不满足, 接收到的帧会不可挽回的丢弃, 并且 RI 不被置位 如果两者都满足了, 接收到的第 9 个数据位元进入 RB8, 而前 8 个数据位元进入 SBUF 一个位元时间后, 不管上述条件是否满足, 该单元继续寻找 RXD 输入中 1 到 0 的跃迁 注意 : 接收到的停止位的值与 SBUF,RB8 或 RI 均无关 43

44 Figure 连续端口模式 2 INTERNAL BUS CPU CLOCK SMOD1 1 SMOD1 0 INTERNAL BUS 44

45 Figure Serial Port Mode 3 TIMER 1 OVERFLOW TB8 INTERNAL BUS 2 SMOD1 = 0 SMOD1 = 1 WRITE TO SBUF S D Q CL SBUF TXD ZERO DETECTOR 16 SERIAL PORT INTERRUPT START STOP BIT SHIFT DATA TX CONTROL RX CLOCK TI SEND 16 SAMPLE 1-TO-0 TRANSITION DETECTOR RX CLOCK RI START RX CONTROL LOAD SBUF SHIFT 1FFH RXD BIT DETECTOR LOAD SBUF INPUT SHIFT REG. (9 BITS) SHIFT SBUF READ SBUF TX CLOCK WRITE TO SBUF SEND DATA SHIFT TXD TI START BIT STOP BIT GEN INTERNAL BUS D0 D1 D2 D3 D4 D5 D6 D7 TB8 STOP BIT TRANSMIT RX CLOCK 16 RESET RECEIVE RXD START BIT BIT DETECTOR SAMPLE TIMES SHIFT D0 D1 D2 D3 D4 D5 D6 D7 RB8 STOP BIT RI 45

46 17.6 帧错误检测 17.7 自动地址识别 除了它所有的通用模式外,UART 可以作为通过寻找丢失的停止位进行帧错误检测, 并自动的地址识别 当用于帧错误检测时,UART 在通信中寻找丢失的停止位 一个丢失的停止位会将 SCON 寄存器的 FE 置位 FE 由 PCON.6 (SMOD0) 决定是作为 SCON.6 还是 SM0 如果 SMOD0 置位, 那么 SCON.7 就作为 FE, 此时 SCON.7 仅能由软件清零 当 SMOD0 清零, 那么 SCON.7 作为 SM0 自动地址识别具有一种特性, 即利用硬件作出的比较使 UART 可以从大量连续字位中识别某些特定地址 这种特性减少了依赖大量软件来检测通过连续端口的每一个连续地址 把 SM2 字位设置在 SCON 就可激活这种特性 在这种第 9 字位 UART 模式中, 当接收到包含 已知 地址或 广播 地址的字节时, 模式 2 模式 3 和接受中断信号识标将自动激活 这种第 9 字位模式为了表明所接受到的信息是地址而非数据, 则要求第 9 个信息字位必须为 1 第 8 字位模式也叫模式 1 在这种模式中, 如果 SM2 被激活并且接受的信息在第 8 字位后有终端中止的字位, 不管是已知地址还是广播地址, 接受中断信号识标将会设置为激活 模式 0 是个备份寄存器模式, 同时 SM2 就无任何作用 利用自动地址识别的特性调用已知分端口的地址或地址群, 就可以使主端口有选择性地连接一个或多个分端口 所有的分端口都可以用 广播 地址来连接起来 两种特殊功能的寄存器被用来定义分端口地址 SADDR, 和地址掩模 SADEN.SADEN 是来定义在 SADDR 中哪些字位将被用到, 哪些则无任何意义 逻辑上,SADEN 掩模和 SADDR 与门给出已知地址, 主端口用已知地址来分配每个分端口的地址 用已知地址可以识别多个分端口并且不和其他的混淆 下面的例子来说明这种配置具有多功能性 : 分端口 0 SADDR = SADEN = Given = X0 分端口 1 SADDR = SADEN = Given = X 在上面的例子中,SADDR 是同样的,SADEN 的数据用来区分两个分端口 分端口 0 需要一个 0 在 0 字位而不用考虑 1 字位, 分端口 1 需要一个 0 在 1 字位而不用考虑 0 字位 对分端口 0 来说只有唯一的地址 , 因为分端口 1 在 1 字位是 0 对分端口 1 来说也只有唯一的地址 , 因为 1 在 0 字位就不和分端口 0 重复了 用同一个地址即 0 字位 =0 ( 分端口 0)1 字位 =0 ( 分端口 1), 两个分端口就可以被同时选择了 因此, 两个分端口的地址都可以表示成 在一台更加复杂的系统中, 用下面的方法就可以选择分端口 1 和 2, 而同时不包含分端 0: 分端口 0 SADDR = SADEN = Given = XX0 46

47 分端口 1 SADDR = SADEN = Given = X0X 分端口 2 SADDR = SADEN = Given = XX 在上面例子中, 三个端口之间的区别在于低端 3 位地址位的不同 端口 0 需要 0 字位 =0, 就有唯一的地址 端口 1 需要 1 字位 =0, 就有唯一的地址 端口 2 需要 2 字位 =0, 就有唯一的地址 要选择端口 0 和 1, 就得用地址 , 因为必须使 2 字位 =1 来排除端口 2 每一个分端口的广播地址是取 SADDR 和 SADEN 的逻辑 OR 获得的 在这个结果中所有的 0 被忽略 大多数情况下, 如果视忽略值为 1, 广播地址则为 16 进制的 FF 重设 SADDR (SFR 地址 0A9H) 和 SADEN (SFR 地址 0B9H) 后, 所有地址位归置为 0 这就产生了包含所有无意义字位的已知地址和包含所有无意义字位的广播地址 并有效地禁止自动寻址模式, 使微控制器使用不执行这个特性的标准 80C51 型 UART 驱动器 18. 串行外设接口 串行外设接口可使高速同步数据在 AT89LP216 和外设元件或者多个 AT89LP216 元件之间传输 串行外设接口特性如下 : * 双向,3 线同步数据传输 * 主 从操作方式 * 最大字位频率 =fosc/4 * LSB 或 MSB 优先数据传输 * 4 级可编程地址位的从模式 * 传输结束中断标识 * 存写冲突标识保护 * 双缓冲接受 * 双缓冲传输 ( 高级模式才有 ) * 闲置模式唤醒 主 从 CPU 用 SPI 连接的方式如图 18-1 所示 接口的四个引脚分别是主进从出 (MISO), 主出从进 (MOSI), 移位时钟 (SCK) 和从属选择 ( ) SCK 引脚在主模式中是时钟输出, 而在从模式中是时钟输入 在 SPCR 中 MSTR 位决定了 MISO 和 MOSI 的方向 要注意到 MOSI 连接 MOSI, MISO 连接 MISO 在主模式中, /P1.4 被忽略而只有可能作为一般的输入输出 在从模式中, 必须置于低电平来选择单个元件作为从属 当置于高电平时, 从属的 SPI 端口无效并且 MOSI/P1.5 能用于一般输出 47

48 Figure 主从连接 MSB Master LSB MISO MISO MSB Slave LSB 8-Bit Shift Register 8-Bit Shift Register MOSI MOSI SPI Clock Generator SCK SS V CC SCK SS SPI 有两种操作模式 : 标准模式 ( 无缓冲存写 ) 和高级模式 ( 缓冲存写 ) 对主 CPU 的 SPI 数据寄存器的存写触发 SPI 时钟寄存器, 然后存写数据从 MOSI 引脚输出再输入到从 CPU 的 MOSI 的引脚 当时钟寄存器等待下一个指定波长的满位槽时, 传输经过一段初始延时就可触发 转移一个字节后,SPI 时钟寄存器停止, 同时设置传输中断位并把接受的字节传输到可读缓冲器中 如果要同时设置 SPI 中断激活位和串口中断激活位, 就需要中断 ( 传输 ) 需要指出的是无论 SPDR 用可写数据寄存器或可读数据寄存器, 都取决于访问路径是可读还是可写 在标准模式下, 由于可写缓冲器是透明的 ( 并且对 SPDR 的存写路径会访问移位缓存器 ), 所以在进行传输时任何向 SPDR 的存写都将导致和 WCOL 设置的存写冲突 但传输仍将正常完成, 不过新字节是无效的所以必须再重新写到 SPDR 除可写缓冲器能控制传输下一字节外, 高级模式类似于标准模式 SPDR 的存写会占用可写缓冲器, 并告诉 WCOL 缓冲器已经满荷, 以后任何的存写都将覆盖掉缓冲器 当缓冲字节加载到移位寄存器开始传输时, 硬件将会清除 WCOL 如果主 SPI 处于闲置状态, 比如当前是第一个字节, 在加载 SPDR 后, 字节传输就会开始并且 WCOL 会被立即清除 在当前字节传输时, 下一个字节也有可能被写入到 SPDR SPDR 中的加载激活标识 (LDEN) 用来决定传输开始的时间 LDEN 取决于 SPI 传输的前四位字位 每加载下一字节前, 主 CPU 应当首先检测 LDEN 的设置和 WCOL 是否被清除 在高级模式下, 如果在传输完成后 WCOL 是设置的, 比如若可以进行下一字节传输,SPI 会即时把缓存字节加载到移位寄存器, 重设 WCOL, 进行不中断传输同时重新开始时钟发生器 只要 CPU 能保持最大利用可写缓存, 大量的字节就可以在最短时间间隔内传输出去 Table SPCR SPI 控制寄存器 SPCR Address = E9H 不可位寻址 复位值 = B SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 Bit 符号 SPIE SPE 功能 SPI 终端使能 它与寄存器 IE 中的 ES 位同时置位使能 SPI 中断 SPIE = 0 时禁用 SPI 中断 SPI 使能 SPI = 1 时, 启用串行通道, 分别连接 SS, MOSI, MISO 和 SCK 至管脚 P1.4, P1.5, P1.6, 和 P1.7 SPI = 0 时禁用串行通道 DORD 数据顺序位 DORD = 1 选择数据的 LSB DORD = 0 选择数据的 MSB MSTR 主 / 从选择位 当 MSTR = 1 时为主 SPI 模式 MSTR = 0 时为从 SPI 模式 48

49 符号 CPOL 功能 时钟极性 当 CPOL = 1 时, SCK 在空闲时为高 当 CPOL = 0 并且不传输数据时, 主设备的 SCK 为低 同时请参考 SPI 时钟状态和极性控制 CPHA 时钟相位 CPHA 和 CPOL 位一起控制主从设备之间的数据和时钟的关系 同时请参考 SPI 时钟状态和极性控制 SPR0 SPR1 SPI 时钟频率选择 在主模式下, 这两个位控制主设备的 SCK 频率, 在从模式下这两位无效 SCK 频率和振荡器频率的关系如下 : SPR1 SPR0 SCK 0 0 f OSC /4 0 1 f OSC /8 1 0 f OSC / f OSC /64 Notes: 1. 设定时钟模式再启用 SPI: 先设置 SPCR 中除了 SPE 位的其他位, 再设置 SPE 位 2. 先使能主设备再使能从设备 3. 如果没有装载新的数据的话, 从设备会在下一个 Tx 时刻反馈给主设备信号 Table SPSR SPI 状态寄存器 SPDR Address = EAH 不可位寻址 复位值 = 00H (after cold reset) unchanged (after warm reset) SPD7 SPD6 SPD5 SPD4 SPD3 SPD2 SPD1 SPD0 Bit Table SPSR SPI Status Register SPSR Address = E8H 不可位寻址 复位值 = 000X X000B SPIF WCOL LDEN SSIG DISSO ENH Bit

50 符号 SPIF 功能 SPI 中断标志 当串行传输完成时 SPIF 会被置位, 如果此时 SPIE = 1 且 ES = 1, 那么就会产生中断 通过读取 SPI 状态寄存器然后再读 / 写 SPI 数据寄存器可以将 SPIF 清零 WCOL 当 ENH = 0 时 :WCOL 是写入冲突标志 如果在传输数据时向 SPI 数据寄存器中写入数据, 将置位 WCOL 此时若读取寄存器 SPDR 将得到错误的数值, 且向 SPDR 写入数据也是无效的 通过读取 SPI 状态寄存器然后再读 / 写 SPI 数据寄存器可以将 WCOL bit ( 和 SPIF 位 ) 清零 当 ENH = 1 时 : WCOL 在增强模式下作为 Tx 缓冲满标志 在增强模式下, 当 WCOL = 1 时写入数据, 将会覆盖已在 Tx 缓冲区内等待发送的数据 此时, WCOL 不再由 SPIF 的复位来清零, 而是写入缓冲区的数据被装入移位寄存器时被清零 LDEN 增强 SPI 模式下 Tx 缓冲区装载使能 在 ENH 被置位的情况下, 并且 LDEN = 1, WCOL = 0, 此时向 Tx 缓冲区装载数据是安全的 在串行字节传输的前 0-3 位时 LDEN 为高, 4-7 位时 LDEN 为低 SSIG DISSO 从属选择忽略 如果 SSIG = 0, 如果 SS (P1.4) 被拉低, SPI 将只工作于从属模式 当 SSIG = 1, SPI 忽略从属模式下的 SS, 并且无论 SPE (SPCR.6) 是否置位, 它都有效 当 SSIG = 1 时, P1.4 可以用于通用 I/O 引脚 禁止从输出位置位时, 使得 MISO 管脚处于三态, 能让多个从设备共用一个接口 通常传输的第一个字节是从设备的地址, 只有被选定的从设备才把它的 DISSO 位置零 ENH 增强 SPI 模式选择位 当 ENH = 0 时, SPI 工作在普通模式下, 没有写入数据缓冲当 ENH = 1 时, SPI 工作在增强模式下, 有写入数据缓冲 Tx 缓冲区和寄存器 SPDR 公用一个地址 50

51 Figure SPI 移位寄存器图表 7 Serial In 8 Serial Master Serial Slave 2:1 MUX D Q LATCH 2:1 MUX D Q LATCH Serial Out CLK CLK 8 Transmit Byte Parallel Master (Write Buffer) 8 8 D Q Parallel Slave (Read Buffer) D Q 8 Receive Byte LATCH LATCH CLK CLK Figure Oscillator Divider SPIF WCOL SPR1 Select SPR0 SPI 结构图 SPI Control SPI Clock (Mater) MSB 8-bit Shift Register Read Data Buffer MSTR SPE 8 Write Data Buffer SPIE SPE DORD MSTR Clock Clock Logic CPOL LSB CPHA SPR1 SPR0 S M M S S M Pin Control Logic MSTR SPE DORD MISO P1.6 MOSI P1.5 SCK 1.7 SS P1.4 SPI Status Register SPI Control Register 8 8 SPI Interrupt Request Internal Data Bus 51

52 CPHA (Clock PHAse 时钟相位 ), CPOL (Clock POLarity 时钟极性 ), 以及 SPCR 中的 SPR (Serial Peripheral clock Rate = baud rate 串行外围时钟率 = 波特率 ) 位控制 SCK 的形状及速度 当 SPI 在主模式下时, 两个 SPR 位提供四个可能的时钟频率 在从模式下, 只要输入的 SCK 频率不超过最大的位频率,SPI 将以它的频率工作 至于串行数据, 这里也有四种可能的 SCK 相位以及极性组合 CPHA 以及 CPOL 决定哪一个版本用于传输 SPI 数据传输的版本见 Figures 18-4 and 18-5 为了避免 SCK 的短时脉冲干扰破坏接口,CPHA, CPOL, 以及 SPR 在接口被使能时不应被修正, 并且主器件应该在从器件之前被使能 Figure CPHA = 0 时 SPI 的转换波形图 Note: * 非定义但是正常的 MSB 特性被接受 Figure CPHA = 1 时 SPI 的转换波形 SCK CYCLE # (FOR REFERENCE) SCK (CPOL = 0) SCK (CPOL = 1) MOSI (FROM MASTER) MISO (FROM SLAVE) SS (TO SLAVE) MSB LSB * MSB LSB Note: * 非定义但是先前传输的正常的 LSB 特性 19. 模拟比较器 AT89LP213/214 上提供一个单独的模拟比较器 模拟比较器有以下特性 : 52

53 比较器输出标志及中断 可选中断条件 高或低等级 上升或下降边缘 输出跳转 硬件跳转模式比较器操作是这样的, 当正输入 AIN0 (P1.0]) 比负输入 AIN1 (P1.1) 大时输出逻辑 1 否则输出 0 置位 ACSR 中的 CEN 位使能比较器 当比较器第一次被使能, 比较器输出并且中断标志在 10 µs 中不一定稳定 相应的比较器在这一时间段不应该被使能, 而比较器中断标志必须在中断被使能前清零以避免一个直接的中断服务 在使能比较器之前模拟输入应通过将 P1.0 以及 P1.1 置入仅输入模式来置为三态 见 端口 1 模拟功能 on page 24. 在多种输出值情况下, 比较器可通过设置 ACSR 中的 CM 位来设定产生中断 无论何时只要比较器输出与 CM 说明的情况匹配, ACSR 中的比较器中断标志 CF 被置位 标志位可能被软件选取或被用于产生一个中断并且必须被软件清零 19.1 含消抖的比较器中断每个时钟周期比较器输出都被取样 模拟输入上的状态可能是这样的, 比较器输出可能过度跳转 当申请慢速移动模拟输入时这一情况尤其真实 有三种消抖模式被提供用于虑除这一噪声 在消抖模式下, 比较器使用 Timer 1 来调节它的采样时间 当相应的跳转发生时, 比较器会等待直至两个 Timer 1 溢出值在对输出重新取样前出现 如果新的采样适合预期的值, CF 被置位 否则, 事件被忽略 滤波器可以通过调整 Timer 1 的 time-out 周期来调谐 这是因为 Timer 1 是自由运转的, 消抖器必须等待两个溢出来保证采样延迟至少有一个 time-out 周期 因此, 在最初的边缘事件之后, 中断可能在 1 到 2 个 time-out 周期之后发生见 Figure 19-1 on page 53 在默认状态下空闲模式中比较器是被失效的 为了在空闲模式下允许比较器运行, ACSR 中的 CIDL 位必须被置位 当 CIDL 被置位, 如果比较器中断被使能, 比较器可以用于将 CPU 从空闲模式中唤醒 在下电模式下比较器始终被失效 Figure 消抖下的负边沿 Comparator Out Timer 1 Overflow CF Start Compare Start Compare 53

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

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

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

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

目 录

目 录 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

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

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 TPIS TPIS 2 2

1 TPIS TPIS 2 2 1 1 TPIS TPIS 2 2 1. 2. 3. 4. 3 3 4 5 4 TPIS TPIS 6 5 350 Mark Coil F3/F6 350 M 150 M 25 M 7.12M 8 M F3 F6 F4 F7 F8 8M AA 7 350 28V 5V IC HCPL2731 0.5mA 6 8 (TPIS) TPIS 9 7 IC AT89C2051 AT89C2051 CMOS8

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

微處理機期末專題

微處理機期末專題 微 處 理 機 期 末 專 題 自 動 鋼 琴 組 員 :b92611004 羅 鈞 瑋 b92611008 吳 妍 儂 b92611038 吳 韋 靜 b92611042 林 佳 穎 一 簡 介 本 組 的 主 題 是 自 動 鋼 琴 在 播 放 音 樂 的 同 時, 鋼 琴 會 自 動 按 下 琴 鍵, 被 按 下 的 琴 鍵 所 對 應 到 的 音 階, 就 是 正 在 撥 放 的 樂 曲 的

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

PowerPoint 演示文稿

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

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

<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

專題最終版.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

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

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

12232A LED LED LED EL EL CCFL EL CCF

12232A LED LED LED EL EL CCFL EL CCF 12232A 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 122 x 32 1/32Duty 1/5Bias 6:00 STN( ), EL LED EL/100VAC 400HZ LED/4.2VDC 1 / VDD-VSS 0 6.5 V Ta=25 LCD VDD-V0 0 12.0 V V1 0 VDD V VDD-VSS - 4.75

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

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

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C AUTOMATIC TROLLEY H K Hwang K K Chen J-S Lin S-C Wang M-L Li C-C Lin W-B Lin Dept. Of Electrical Engineering Far East College ABSTRACT This paper proposes an automatic trolley which can move automatically

More information

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x 115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0

More information

untitled

untitled EDM12832-08 : 25-1 : 116600 : (0411)7612956 7632020 7631122 : (0411)7612958 Model No.: Editor: LCD 1. ----------------------------------------------------3 2. ----------------------------------------------------3

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_15

Microsoft PowerPoint - C15_LECTURE_NOTE_15 THE 8051 MICROCONTROLLER THE 8051 MICROCONTROLLER 15.1 Introduction 15.2 The 8051 Architecture 15.3 Interfacing to External Memory 15.4 The 8051 Instruction Set 15.5 Timer Operations 15.6 Serial Port Operations

More information

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

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

More information

untitled

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

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

FM1935X智能非接触读写器芯片

FM1935X智能非接触读写器芯片 FM3316/3315 MCU 2017.06 FM3316/3315 MCU 2.21 (http://www.fmsh.com/) FM3316/3315 MCU 2.22 ... 3 1... 4 2... 5 2.1... 5 2.2... 5 2.3... 6 2.3.1... 6 2.3.2... 6 2.4... 9 2.5... 10 2.5.1 LQFP64... 10 2.5.2

More information

untitled

untitled XZL024 http://item.taobao.com/item.htm?id=6321822194 1 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 USBee Suite 3.1 3.2 3.3 3.4 4 RS232 RS485 RS422 CAN http://item.taobao.com/item.htm?id=6321822194 2 1 XZL024 PC

More information

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA

2 14 PORTC.1 PORTB.3 PORTA.2/T0 GND PORTB.2 PORTA.0 PORTC.3 PORB.0/OSCO PORTB.1/OSCI PORTC.0 PORTC.2 SH69P21 /SOP PORTA 1K 4 SH6610C 4 OTP ROM 1K X 16 RAM 88 X 4-24 - 64 2.4V-5.5V - fosc = 30kHz - 4MHz, = 2.4V - 5.5V - fosc = 4MHz - 8MHz, = 4.5V - 5.5V 11 CMOS I/O 4 ( ) 8 / - 0 PORTA.0 ( / / ) - 0 - PORTB ( ) ( ) - 32.768kHz,

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

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

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi MICROCHIP EVM Board : APP001 1-1. APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pin 16 I/O Extension Interface 1-2. APP001 Block_A Block_B

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

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

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

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

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

» 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

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

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

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

untitled

untitled EDM12864-GR 1 24 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3 4. -------------------------------------------------------6

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

at89S52.doc

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

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

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

µ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

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

IC芯片自主创新设计实验

IC芯片自主创新设计实验 IC 芯片自主创新设计实验 设计报告 设计题目 : 格雷码计数器芯片设计 设计学生 : 吴东生 ( 集成电路 ) 景国新 ( 固体电子 ) 林道明 ( 集成电路 ) 连维重 ( 集成电路 ) 施望 ( 集成电路 ) 刘锦秀 ( 集成电路 ) 刘中伟 ( 集成电路 ) 李梦宁 ( 集成电路 ) 指导教师 : 阮爱武 杜涛 指导单位 : 电子设计自动化技术 课程组 一 格雷码计数器芯片设计概述 功能描述

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

PowerPoint 簡報

PowerPoint 簡報 微算機原理與實驗 (UEE 2301/1071 ) Chap 5. MCS-51 Addressing Modes 宋開泰 Office:EE709 Phone:5731865( 校內分機 :31865) E-mail:ktsong@mail.nctu.edu.tw URL:http://isci.cn.nctu.edu.tw 1 Addressing Modes Addressing mode is

More information

Microsoft Word - IRFWX-A124_A_SM59D03G2_SM59D04G2_PCA_ APN_SC_.doc

Microsoft Word - IRFWX-A124_A_SM59D03G2_SM59D04G2_PCA_ APN_SC_.doc 可程序计数数组 (PCA) 功能使用方法 1 适用产品 :SM59D04G2,SM59D03G2 2 应用说明 : PCA 共有五组, 每组皆可工作于以下七种模式 : 捕获模式 - 正缘捕获模式 (Positive edge capture mode) 捕获模式 - 负缘捕获模式 (Negative edge capture mode) 捕获模式 - 正缘及负缘捕获模式 (Both positive

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

单片机原理及应用实验指导书.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

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

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

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

More information

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

MPC82G516A 8 位微控制器 目 录 图表清单... 5 表格清单 综述 功能 方框图 引脚 引脚结构 引脚定义 引脚功能重映射.. Megawin MPC82G516A 8 位微处理器用户手册 ( 第 Ⅱ 版 ) 原著 :By Vincent Y. C. Yu 策划 / 整理 : 许意义 翻译 :www.ourdev.cn 网友 lukeunderwood easygoing yixin czzhouyun lcptw 校对 :www.ourdev.cn 网友 This document contains information

More information

Arduino 1-1 Arduino 1-2 Arduino 1-3 Arduino IDE

Arduino 1-1 Arduino 1-2 Arduino 1-3 Arduino IDE Arduino 1-1 Arduino 1-2 Arduino 1-3 Arduino IDE Arduino 01 02 03 04 05 06 07 08 1-1 Arduino 2005 Massimo Banzi David Cuartielles David Mellis Arduino Arduino Arduino CC Arduino Arduino Arduino Arduino

More information

MDT90P01 4-Bit RISC MCU 使用及注意事项 1. MDT90P01 4-bit RISC MCU PIN MAP: SOT-26 PB0 1 6 PB3 VSS 2 5 VDD PB1 3 4 PB2/RTCC 2. IC 烧入注意事项 : A. 需制作转接座 : Writer

MDT90P01 4-Bit RISC MCU 使用及注意事项 1. MDT90P01 4-bit RISC MCU PIN MAP: SOT-26 PB0 1 6 PB3 VSS 2 5 VDD PB1 3 4 PB2/RTCC 2. IC 烧入注意事项 : A. 需制作转接座 : Writer MT90P0 4-Bit RISC MCU 使用及注意事项 MT90P0 4-bit RISC MCU PIN MAP: SOT-26 PB0 6 PB3 VSS 2 5 V PB 3 4 PB2/RTCC 2 IC 烧入注意事项 : A 需制作转接座 : Writer PIN MAP: V NC PB3 PB2 VSS PB PB0 NC ( 底 ) B 需更改 Writer Firmware WM0

More information

HT46R47 f SYS =4MHz 3.3~5.5V f SYS =8MHz 4.5~5.5V 13 位双向输入 / 输出口 1 个与输入 / 输出共用引脚的外部中断输入 8 位带溢出中断的可编程定时 / 计数器 具有 7 级预分频器 石英晶体或 RC 振荡器 位的程序存储器 P

HT46R47 f SYS =4MHz 3.3~5.5V f SYS =8MHz 4.5~5.5V 13 位双向输入 / 输出口 1 个与输入 / 输出共用引脚的外部中断输入 8 位带溢出中断的可编程定时 / 计数器 具有 7 级预分频器 石英晶体或 RC 振荡器 位的程序存储器 P HT46R/47R/48R/49R 系列 选型指南 HT46R22 f SYS =4MHz 3.3~5.5V f SYS =8MHz 4.5~5.5V 19 位双向输入 / 输出口 1 个与输入 / 输出口线共用的外部输入 16 位具有 7 级预分频带溢出中断的可编程定时 / 计数器 内置石英晶体或 RC 振荡器 2048 14 位的程序存储器 PROM 64 8 位的数据存储器 RAM 支持发声的

More information

中文手册

中文手册 PCC-3428 PC/104 1. PCC-3428 1.1 PCC-3428 90mm 96mm ST CPU STPC Atlas Atlas CPU 486 DX/DX2 CPU DX2 133MHz Atlas 2D LCD/CRT 100MHz SDRAM 64MBytes PCC-3428 10/100Mbps DOC EIDE USB PC/104 ST STPC Atlas STPC

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

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

投影片 1

投影片 1 2 理 1 2-1 CPU 2-2 CPU 理 2-3 CPU 類 2 什 CPU CPU Central Processing Unit ( 理 ), 理 (Processor), CPU 料 ( 例 ) 邏 ( 例 ),, 若 了 CPU, 3 什 CPU CPU 了, 行, 利 CPU 力 來 行 4 什 CPU 5 2-2-1 CPU CPU 了 (CU, Control Unit) / 邏

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

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

数字带通 带阻 高通滤波器的设计 把一个归一化原型模拟低通滤波器变换成另一个所需类型的模拟滤波器, 再将其数字化 直接从模拟滤波器通过一定的频率变换关系完成所需类型数字滤波器的设计 先设计低通型的数字滤波器, 再用数字频率变化方法将其转换成所需类型数字滤波器

数字带通 带阻 高通滤波器的设计 把一个归一化原型模拟低通滤波器变换成另一个所需类型的模拟滤波器, 再将其数字化 直接从模拟滤波器通过一定的频率变换关系完成所需类型数字滤波器的设计 先设计低通型的数字滤波器, 再用数字频率变化方法将其转换成所需类型数字滤波器 数字带通 带阻 高通滤波器的设计 把一个归一化原型模拟低通滤波器变换成另一个所需类型的模拟滤波器, 再将其数字化 直接从模拟滤波器通过一定的频率变换关系完成所需类型数字滤波器的设计 先设计低通型的数字滤波器, 再用数字频率变化方法将其转换成所需类型数字滤波器 模拟原型方法 : 模拟低通 - 模拟带通 H ( j) H ( j) 3 3 3 模拟原型方法 : 模拟低通 - 模拟带通 H ( j) 模拟低通

More information

逢 甲 大 學

逢  甲  大  學 益 老 年 不 易更 例 不 異 列 - I - 錄 錄 流 錄 六 來 錄 - II - 錄 錄 錄 錄 錄 錄 參 料 錄 - III - 料 讀 讀 錄 讀 數 錄 錄 錄 錄 錄 - IV - 錄 錄 行 錄 錄 錄 錄 讀 錄 錄 錄 讀 錄 錄 - V - 了 說 力 兩 了 - 1 - 列 邏 路 列 不 不 FLEX 10K Devices at a Glance Feature

More information

RESET OSCO OSCI OSC CPU WDTEN RC RESET PRESCALER PORTA (4-BITS) WATCHDOG TIMER Power on PORTB (4-BITS) PORTA [0:3] PORTB [0:3] LPD PORTC (4-BITS) LPDO

RESET OSCO OSCI OSC CPU WDTEN RC RESET PRESCALER PORTA (4-BITS) WATCHDOG TIMER Power on PORTB (4-BITS) PORTA [0:3] PORTB [0:3] LPD PORTC (4-BITS) LPDO 4K / I/O 4 SH6610C 4 OTPROM 4K X 16 SH69P25 MASK ROM 4K X 16 SH69K25 RAM 192 X 4-32 - 160 2.4V - 5.5V 5.0V 22 I/O 4 8 / PORTA-PORTF / - Timer0 - PORTB & PORTC / - 32.768kHz 4MHz - 400kHz 4MHz - RC 400kHz

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03

More information

电子驿站技术文档

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

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

PROTEUS VSM

PROTEUS  VSM Proteus VSM-- 1/1 PROTEUS VSM Proteus VSM ISIS Prospice VSM Proteus PROSPICE ARM7 PIC AVR HC11 8051 CPU LCD RS232 LED IAR Keil Hitech C make 6000 SPICE SPICE DLL SPICE3F5 14 FM PROTEUS PCB LED/LCD / 300

More information

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC General Description: IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC 15K 300pF 256KHZ default on 32 function key Built-in TT6221/TT6222 decoder Provide

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

Tel:010-62981668-2930 1

Tel:010-62981668-2930  1 Access 93C46 with SPI function V1.0.0 Jan. 31, 2005 http://www.sunplusmcu.com Tel:010-62981668-2930 http://www.sunplusmcu.com E-mail:mcu@sunplus.com.cn 1 0 0...2 1...3 2...4 2.1...4 2.2...5 3...6 3.1 AT93C46...6

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

CM ZT1

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

More information

从MCS51向AVR的快速转换.PDF

从MCS51向AVR的快速转换.PDF MCS51 AVR MCS51 AVR ATMEL AVR RISC MCS51 AVR 1 MHZ 1MIPS 8MHZ AVR 224MHZ MCS51 FLASH EEPROM ISP WatchDog AVR MCS51 AT90S1200/2313 AT89C1051/2051 AT90S4414/8515 AT89C51/52 PCB / AVR C ICCAVR60 AVR C IAR

More information

Section1_16bit Arc.ppt

Section1_16bit Arc.ppt 16-bit Elite Program 2009 Summer Section-1 Microchip 16-bit 2005 Microchip Technology Incorporated. All Rights Reserved. Slide 1 MCU CPU (NOP),, (Data Memory), I/O CPU w. ALU/Working Reg. Data Mem. Data

More information

1500XA Daniel Danalyzer 1500XA Rosemount Analytical 1500XA P/N 3-9000-757 A 2010 5 ii 1500XA 1500XA iii iv 1500XA : 1-2 1500XA - 1500XA 1-3 1-4 1500XA 1500XA 1-5 1-6 1500XA 1500XA 1-7 1-8 1500XA

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

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

Microsoft Word - P3.doc

Microsoft Word - P3.doc ;P3.3 警报器 ;* ( 程序转载请著明出处, 未声明可适应本站腾龙 /isp 开发套件 / 倚天版开发套件 * ;* E-mail:sxj1974@163.com (51c51 test web) 51 测试网, 自学单片机的网站 * ;* Create by : 石学军 www.51c51.com www.8951.com 更多例程请登陆网站 * org 00h ajmp dlv org 0030h

More information

Microsoft PowerPoint - chap5.ppt

Microsoft PowerPoint - chap5.ppt 邏輯運算指令的動作 0 1 0 1 0 0 1 1 OR 1 0 1 1 1 0 0 1 1 1 1 1 1 0 1 1 (a) OR 運算 0 1 0 1 0 0 1 1 XOR 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 (c) XOR 運算 希望設定為 1 的位元 罩網標的位元組 新標的位元組 不改變的位元 希望取補數的位元 罩網標的位元組 新標的位元組 不改變的位元 1

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

控制器 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

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1

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

FM1935X智能非接触读写器芯片

FM1935X智能非接触读写器芯片 FM33A0xx MCU 2017. 05 2.0 1 (http://www.fmsh.com/) 2.0 2 ... 3 1... 4 1.1... 4 1.2... 4 1.3... 5 1.3.1... 5 1.3.2... 5 1.4... 8 1.4.1 LQFP100... 8 1.4.2 LQFP80... 9 1.4.3... 9 2... 15 2.1 LQFP100... 15

More information

R/W

R/W (HD44780 KS0066 ) 3 3 5 6 10 14 HD44780/KS0066 16 2 LCM 8 1 40 4 LCD HD44780/KS0066 HD44100 IC PCB 0.1 CMOS 1. 2. 3. 4. 5. RH60% 6. 1. 2. 3. PCB 3 4. 5. 6. 1. 280 C 2. 3 4s 3. 4. 5. 3 5 1. 2. IC 3. DC-DC

More information

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica CP Chip Power ARM Cortex-M3 (STM32F) ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplication and hardware

More information

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1

TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT (f) 639 2A f B1 TSINGTEK DISPLAY CO.,LTD LCD CONTROLLER & DRIVER ST7920 OR EQUIVALENT 588 4 1 0571-85121224 85121742 85121304(f) 639 2A095 0571-88256346 89902095 f B1618 010-62051209 62000662 62568913 82036512 f http://www.tsingtek.com

More information

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢

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

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

单片机学习教程

单片机学习教程 . 89S51 1. 2.p1 3.8 3 4.8 3. 1. 0-F 2. 0000 0255. 1. : BB 2. : ( --- ) : :. 1. 2..232.I 2 C 1. X24C02 MCS-51 2. : 22H 24C02 50H 3. : ; 8 4. :I2C. / 1. 1 2. 2. 1. 1. 2. 2.. 1. 1: 2. 2: 3. 3 1 LED 1 89S51

More information

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63> 七段顯示器控制電路四位數 _ 使用解碼器驅動 +5 V 10 uf 8.2 k 12 MHz 20 pf 1 2 3 4 5 6 7 8 9 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RESET 10 P3.0 11 12 13 14 15 16 17 18 19 20 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1

More information