79F161 V0.2

Size: px
Start display at page:

Download "79F161 V0.2"

Transcription

1 带增强型 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 管脚 I/O 内建上拉电阻 3 个 16 位定时器 / 计数器 :T0,T1 和 T2 中断源 : - 定时器 0,1,2 - 外部中断 0,1 - EUART,ADC - 载波通信 (PLT) 增强型 UART 看门狗定时器 (WDT)( 代码选项 ) 内建振荡器预热计数器 内建低电压复位功能 (LVR)( 代码选项 ) - LVR 电压 :2.8V 4 通道 10 位模数转换器 (ADC), 内建比较功能 CPU 机器周期 :1 个振荡周期 内建电力线载波通信模块 (PLT) - 集成模拟前端电路 (AFE) - 63 位扩频调制 - 窄带 BPSK 调制 - 首创载波双模通信技术 - 集成前向纠错编解码 - 载波频率可调 :9KHz - 525KHz - 接收双通道分时复用 - 支持 128 个码分信道 - 支持过零传输 - 接收信号强度指示 (RSSI) - 高精度 DAC 输出正弦波 - 灵敏度高达 100uVp-p - 满足各种频谱规范 :FCC,CENELEC - BOM 成本低 低功耗工作模式 : - 空闲模式 - 掉电模式 封装 :28 引脚 TSSOP 封装 2. 概述 01 是一颗高集成度的电力线载波通信 SOC, 内部集成了高速增强型 8051 兼容单片机和高性能电力线载波通信模块 (Powerline Transceiver 简称 PLT) 01 具有标准 8051 芯片的大部分特性 这些特性包括内置 256 字节 RAM 和 2 个 16 位定时器 / 计数器,1 个 UART 和外置中断 INT0 和 INT1 此外,01 还集成了 512 字节 RAM,10 位 ADC, 可兼容 8052 芯片的 16 位定时器 / 计数器 (Timer2) 和适合存储程序和数据的 16K 字节 Flash, 同时, 芯片内部还提供 2K 字节类 EEPROM 用于存放数据 为了达到高可靠性和低功耗,01 内建了看门狗定时器, 低电压复位电路, 并提供了 2 种低功耗省电模式 01 内建 PLT 模块设计为全集成电力线载波通信引擎, 内建模拟前端电路和调制解调电路, 外围电路简洁, 支持高性能的扩频载波通信技术和窄带调制通信技术, 支持过零传输, 并首创了载波双模通信技术, 结合先进的前向纠错编解码算法, 能够最大程度提高载波物理层通信能力, 适应各种低压电力线信道环境 01 面向低压电力线载波应用, 但也支持其他信道的低速控制应用, 其主要应用领域包括 : 载波集抄 (AMR) 路灯远程监控 智能家居控制 安防监控 Power Meter 1 V1.0

2 3. 方框图 V DD AV DD POWER (Regulator) Pipelined 8051 architecture Reset circuit RST Watch Dog 16K Bytes Flash ROM 2K Bytes EEPROM Port 0 Configuration I/O P0.0 ~ P0.7 Internal 256 Bytes External 512 Bytes Data RAM Port 1 Configuration I/O P1.0 ~ P1.7 Timer0 (16bit) Timer1 (16bit) Timer2 (16bit) RSSI External Interrupt (INT0, INT1) EUART PLT Module VOUT 10-bit ADC OSCI OSCO Oscillator (OSC) VIN JTAG ports (for debug) 2

3 4. 引脚配置 28 脚封装 V DD 1 28 AV DD CREG 2 27 VCOM OSCI 3 26 VOUT OSCO 4 25 AGND GND 5 24 VIN RST RXD/P1.0 TXD/P1.1 INT0/P RSSI P0.0/FILI P0.1/FILO P0.2/VINCOM T0/P P0.3/AN1 INT1/P P0.4/AN2 T1/P P0.5/AN3 T2/P P0.6/TPO T2EX/P P0.7/RPO 引脚配置图 总计 28 个管脚 PCB 制图注意 : 引脚 CREG 需要接 47uF 电解电容 为提高抗干扰特性, 电容负端不要直接接地, 而是和 GND 相连, 然后再和 PCB 地线相连, 也即一点接地 Table 4.1 引脚功能 引脚编号引脚命名默认功能引脚编号引脚命名默认功能 1 V DD P0.7/RPO P0.7 2 CREG P0.6/TPO P0.6 3 OSCI P0.5/AN3 P0.5 4 OSCO P0.4/AN2 P0.4 5 GND P0.3/AN1 P0.3 6 RST P0.2/VINCOM P0.2 7 RXD/P1.0 P P0.1/FILO P0.1 8 TXD/P1.1 P P0.0/ FILI P0.0 9 INT0/P1.2 P RSSI T0/P1.3 P VIN INT1/P1.4 P AGND T1/P1.5 P VOUT T2/P1.6 P VCOM T2EX/P1.7 P AVDD

4 5. 引脚描述 I/O 端口 定时器 引脚编号类型说明 P0.0 - P0.7 I/O 8 位双向 I/O 端口 P1.0 - P1.7 I/O 8 位双向 I/O 端口 增强型异步串行口 载波通信 模数转换器 T0 I/O Timer0 外部输入或比较输出 T1 I/O Timer1 外部输入或比较输出 T2 I/O Timer2 外部输入 / 波特率时钟输出 T2EX I Timer2 重载 / 捕捉 / 方向控制 RXD I/O EUART 数据输入 / 输出引脚 TXD O EUART 数据输出引脚 VCOM O 内部共模电压输出, 推荐选用 0.1µF 电容接 AGND VOUT O 发送信号输出 VIN I 主通道接收信号输入 VINCOM I 副通道接收信号输入 FILI I 限幅放大器反馈路径输入, 在 FILI 与 FILO 之间接 0.1µF 电容 FILO O 限幅放大器反馈路径输出, 在 FILI 与 FILO 之间接 0.1µF 电容 RSSI O RSSI 电平输出, 推荐选用 0.1µF 电容接 AGND TPO O 发送信号数字脉冲输出 ( 不经过 AFE 通道 ) RPO O 接收信号数字脉冲输出 ( 从 AFE 通道输入 ) AN1 - AN3 I ADC 输入通道 中断 & 复位 & 时钟 & 功率 INT0 - INT1 I 外部中断 0,1 RST OSCI I 振荡器输入 OSCO O 振荡器输出 GND P 数字接地 I V DD P 数字电源 ( V) AGND P 模拟接地 AV DD P 该引脚上保持 10µs 以上的低电平,CPU 将复位 由于有内建 30kΩ 上拉电阻连接到 V DD, 所以仅接一个 0.1µF 外部电容即可实现上电复位 模拟电源 ( V) 在 V DD = 5.0V 时, 如置 OP_REG33 = 1 使能内部 3.3V 稳压源, 则 AV DD 无需外部供电, 只需外接一 47µF 电解电容至 AGND 即可, 如置 OP_REG33 = 0, 则 AV DD 需外部供电 4

5 续上表 稳压源 编程接口 引脚命名类型说明 CREG TDO(P1.0) O 调试接口 : 测试数据输出 TMS(P1.1) I 调试接口 : 测试模式选择 TDI(P1.2) I 调试接口 : 测试数据输入 TCK(P1.3) I 调试接口 : 测试时钟输入 注意 : 当 P 作为调试接口时,P 的原有功能被限制 内建稳压源滤波电容引脚, 推荐选用 47µF 电容接地 5

6 6. SFR 映像 01 内置 256 字节的直接寻址寄存器, 包括通用数据寄存器和特殊功能寄存器 (SFR),01 的 SFR 有以下几种 : CPU 内核寄存器 : ACC,B,PSW,SP,DPL,DPH CPU 内核增强寄存器 : AUXC,DPL1,DPH1,INSCON 电源时钟控制寄存器 : PCON,SUSLO,CLKCON Flash 寄存器 : IB_OFFSET,IB_DATA,IB_CON1,IB_CON2,IB_CON3,IB_CON4,IB_CON5,FLASHCON 数据页面控制寄存器 : XPAGE 硬件看门狗定时器寄存器 :RSTSTAT 中断寄存器 : IEN0,IPH0,IPL0,IEN1,IPH1,IPL1 I/O 口寄存器 : P0,P1,P0CR,P1CR,P0PCR,P1PCR 定时器寄存器 : TCON,TMOD,TL0,TH0,TL1,TH1,T2CON,T2MOD,RCAP2L,RCAP2H,TL2,TH2,TCON1 EUART 寄存器 : SCON,SBUF,SADDR,PCON ADC 寄存器 : ADCON,ADT,ADCH,ADDL,ADDH PLT 寄存器 : PLSTAT,PLCON,PLADR1,PLBUF,PLADR2,PLREG,PLOCK 6

7 Table 6.1 C51 核 SFRs Table 6.2 功率与时钟控制 SFRs Table 6.3 Flash 控制 SFRs 符号地址名称复位值第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 ACC E0H 累加器 ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0 B F0H B 寄存器 B.7 B.6 B.5 B.4 B.3 B.2 B.1 B.0 AUXC F1H C 寄存器 C.7 C.6 C.5 C.4 C.3 C.2 C.1 C.0 PSW D0H 程序状态字 CY AC F0 RS1 RS0 OV F1 P SP 81H 堆栈指针 SP.7 SP.6 SP.5 SP.4 SP.3 SP.2 SP.1 SP.0 DPL 82H 数据指针 1 低位字节 DPL0.7 DPL0.6 DPL0.5 DPL0.4 DPL0.3 DPL0.2 DPL0.1 DPL0.0 DPH 83H 数据指针 1 高位字节 DPH0.7 DPH0.6 DPH0.5 DPH0.4 DPH0.3 DPH0.2 DPH0.1 DPH0.0 DPL1 84H 数据指针 2 低位字节 DPL1.7 DPL1.6 DPL1.5 DPL1.4 DPL1.3 DPL1.2 DPL1.1 DPL1.0 DPH1 85H 数据指针 2 高位字节 DPH1.7 DPH1.6 DPH1.5 DPH1.4 DPH1.3 DPH1.2 DPH1.1 DPH1.0 INSCON 86H 数据指针选择 DIV MUL - DPS 符号地址名称复位值第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 PCON 87H 电源控制 SMOD SSTAT - - GF1 GF0 PD IDL SUSLO 8EH 电源控制保护字 SUSLO.7 SUSLO.6 SUSLO.5 SUSLO.4 SUSLO.3 SUSLO.2 SUSLO.1 SUSLO.0 CLKCON B2H 系统时钟控制 CLKPS1 CLKPS PLCLKPS 符号地址名称复位值第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_OFF SET FBH 编程地址偏移寄存器 IB_OFF SET.7 IB_OFF SET.6 IB_DATA FCH 编程数据寄存器 IB_DATA.7 IB_DATA.6 IB_DATA.5 IB_DATA.4 IB_DATA.3 IB_DATA.2 IB_DATA.1 IB_DATA.0 IB_CON1 F2H flash 控制寄存器 IB_CON1.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0 IB_CON2 F3H flash 控制寄存器 IB_CON2.4 IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0 IB_CON3 F4H flash 控制寄存器 IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0 IB_CON4 F5H flash 控制寄存器 IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0 IB_CON5 F6H flash 控制寄存器 IB_CON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0 FLASHCON A7H Information 块访问控制寄存器 FAC IB_OFF SET.5 IB_OFF SET.4 IB_OFF SET.3 IB_OFF SET.2 IB_OFF SET.1 IB_OFF SET.0 7

8 Table 6.4 数据页面控制 SFR 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 XPAGE F7H 数据页面控制寄存器 XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 Table 6.5 看门狗定时器 SFR 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 RSTSTAT B1H 看门狗定时器控制寄存器 WDOF - PORF LVRF CLRF WDT.2 WDT.1 WDT.0 Table 6.6 中断控制 SFRs 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 IEN0 A8H 中断允许控制寄存器 EA EADC ET2 ES ET1 EX1 ET0 EX0 IEN1 A9H 中断允许控制寄存器 EPLT IPL0 B8H 中断优先权控制寄存器 0 低位字 PADCL PT2L PSL PT1L PX1L PT0L PX0L IPH0 B4H 中断优先权控制寄存器 0 高位字 PADCH PT2H PSH PT1H PX1H PT0H PX0H IPL1 B9H 中断优先权控制寄存器 1 低位字 PPLTL IPH1 B5H 中断优先权控制寄存器 1 高位字 PPLTH Table 6.7 端口 SFRs 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 P0 80H 8 位端口 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1 90H 8 位端口 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 P0CR E1H 端口 0 输入 / 输出方向控制 P0CR.7 P0CR.6 P0CR.5 P0CR.4 P0CR.3 P0CR.2 P0CR.1 P0CR.0 P1CR E2H 端口 1 输入 / 输出方向控制 P1CR.7 P1CR.6 P1CR.5 P1CR.4 P1CR.3 P1CR.2 P1CR.1 P1CR.0 P0PCR E9H 端口 0 内部上拉允许 P0PCR.7 P0PCR.6 P0PCR.5 P0PCR.4 P0PCR.3 P0PCR.2 P0PCR.1 P0PCR.0 P1PCR EAH 端口 1 内部上拉允许 P1PCR.7 P1PCR.6 P1PCR.5 P1PCR.4 P1PCR.3 P1PCR.2 P1PCR.1 P1PCR.0 8

9 Table 6.8 定时器与外部中断 SFRs 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 TCON 88H 定时器 / 计数器 0 和 1 控制寄存器 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TMOD 89H 定时器 / 计数器 0 和 1 模式寄存器 GATE1 C/T M11 M10 GATE0 C/T M01 M00 TL0 8AH 定时器 / 计数器 0 低位字节 TL0.7 TL0.6 TL0.5 TL0.4 TL0.3 TL0.2 TL0.1 TL0.0 TH0 8CH 定时器 / 计数器 0 高位字节 TH0.7 TH0.6 TH0.5 TH0.4 TH0.3 TH0.2 TH0.1 TH0.0 TL1 8BH 定时器 / 计数器 1 低位字节 TL1.7 TL1.6 TL1.5 TL1.4 TL1.3 TL1.2 TL1.1 TL1.1 TH1 8DH 定时器 / 计数器 1 高位字节 TH1.7 TH1.6 TH1.5 TH1.4 TH1.3 TH1.2 TH1.1 TH1.1 T2CON C8H 定时器 / 计数器 2 控制寄存器 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T CP/R L T2MOD C9H 定时器 / 计数器 2 模式寄存器 T2OE DCEN RCAP2L CAH 定时器 / 计数器 2 重载 / 截获低位字节 RCAP2L.7 RCAP2L.6 RCAP2L.5 RCAP2L.4 RCAP2L.3 RCAP2L.2 RCAP2L.1 RCAP2L.0 RCAP2H CBH 定时器 / 计数器 2 重载 / 截获高位字节 RCAP2H.7 RCAP2H.6 RCAP2H.5 RCAP2H.4 RCAP2H.3 RCAP2H.2 RCAP2H.1 RCAP2H.0 TL2 CCH 定时器 / 计数器 2 低位字节 TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2 CDH 定时器 / 计数器 2 高位字节 TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 TCON1 CEH 定时器 / 计数器 0 和 1 控制寄存器 TC1 TC0 Table 6.9 增强型异步串行口 SFRs 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 SCON 98H 串行控制寄存器 SM0/FE SM1/RXOV SM2/TXCOL REN TB8 RB8 TI RI SBUF 99H 串行数据缓冲器 SBUF.7 SBUF.6 SBUF.5 SBUF.4 SBUF.3 SBUF.2 SBUF.1 SBUF.0 SADDR 9AH 从属地址 SADDR.7 SADDR.6 SADDR.5 SADDR.4 SADDR.3 SADDR.2 SADDR.1 SADDR.0 SADEN 9BH 从属地址屏蔽 SADEN.7 SADEN.6 SADEN.5 SADEN.4 SADEN.3 SADEN.2 SADEN.1 SADEN.0 Table 6.10 模数转换器 SFRs 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 ADCON 93H ADC 控制寄存器 ADON ADCIF EC - - SCH1 SCH0 GO/D ---- Ō NĒ --- ADT 94H ADC 定时控制 TADC2 TADC1 TADC0 - TS3 TS2 TS1 TS0 ADCH 95H ADC 通道配置 CH3 CH2 CH1 ADDL 96H ADC 数据低位字节 A1 A0 ADDH 97H ADC 数据高位字节 A9 A8 A7 A6 A5 A4 A3 A2 9

10 Table 6.11 载波通信 SFRs 符号 地址 名称 复位值 第 7 位 第 6 位 第 5 位 第 4 位 第 3 位 第 2 位 第 1 位 第 0 位 PLSTAT D8H PLT 状态寄存器 TXINT FEC_DONE CFD_DONE - RXNFA RXFA RXPD RXINT PLCON D9H PLT 控制寄存器 PLTEN CRCEN FECEN FACPR RSSIEN SRST - TRC PLADR1 DAH PLT 数据缓冲器地址 ADR1.4 ADR1.3 ADR1.2 ADR1.1 ADR1.0 PLBUF DBH PLT 数据缓冲器数据 BUF.7 BUF.6 BUF.5 BUF.4 BUF.3 BUF.2 BUF.1 BUF.0 PLADR2 DCH PLT 配置寄存器地址 ADR2.5 ADR2.4 ADR2.3 ADR2.2 ADR2.1 ADR2.0 PLREG DDH PLT 配置寄存器数据 REG.7 REG.6 REG.5 REG.4 REG.3 REG.2 REG.1 REG.0 PLOCK DFH PLT 配置寄存器锁定 LOCK.7 LOCK.6 LOCK.5 LOCK.4 LOCK.3 LOCK.2 LOCK.1 LOCK.0 注意 :- : 保留位, 读为 0 10

11 SFR 映像图 可按位寻址 不可按位寻址 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F F8h IB_OFFSET IB_DATA FFh F0h B AUXC IB_CON1 IB_CON2 IB_CON3 IB_CON4 IB_CON5 XPAGE F7h E8h P0PCR P1PCR EFh E0h ACC P0CR P1CR E7h D8h PLSTAT PLCON PLADR1 PLBUF PLADR2 PLREG PLOCK DFh D0h PSW D7h C8h T2CON T2MOD RCAP2L RCAP2H TL2 TH2 TCON1 CFh C0h C7h B8h IPL0 IPL1 BFh B0h RSTSTAT CLKCON IPH0 IPH1 B7h A8h IEN0 IEN1 AFh A0h FLASHCON A7h 98h SCON SBUF SADDR SADEN 9Fh 90h P1 ADCON ADT ADCH ADDL ADDH 97h 88h TCON TMOD TL0 TL1 TH0 TH1 SUSLO 8Fh 80h P0 SP DPL DPH DPL1 DPH1 INSCON PCON 87h 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F 注意 : 未使用的 SFR 地址禁止读写 11

12 7. 标准功能 7.1 CPU CPU 内核特殊功能寄存器 特性 CPU 内核寄存器 :ACC,B,PSW,SP,DPL,DPH 累加器 B 寄存器 累加器 ACC 是一个常用的专用寄存器, 指令系统中采用 A 作为累加器的助记符 在乘除法指令中, 会用到 B 寄存器 在其它指令中,B 寄存器可作为缓存器来使用 栈指针 (SP SP) 栈指针 SP 是一个 8 位专用寄存器, 在执行 PUSH 各种子程序调用 中断响应等指令时,SP 先加 1, 再将数据压栈 ; 执行 POP RET RETI 等指令时, 数据退出堆栈后 SP 再减 1 堆栈栈顶可以是片上内部 RAM(00H-FFH) 的任意地址, 系统复位后,SP 初始化为 07H, 使得堆栈事实上由 08H 地址开始 程序状态字 (PSW PSW) 寄存器 程序状态字 (PSW) 寄存器包含了程序状态信息 Table 7.1 PSW 寄存器 D0H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 PSW CY AC F0 RS1 RS0 OV F1 P 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) 数据指针 (DPTR DPTR) CY 6 AC 5 F0 4-3 RS[1:0] 2 OV 1 F1 0 P 进位标志位 0: 算术或逻辑运算中, 没有进位或借位发生 1: 算术或逻辑运算中, 有进位或借位发生 辅助进位标志位 0: 算数逻辑运算中, 没有辅助进位或借位发生 1: 算数逻辑运算中, 有辅助进位或借位发生 F0 标志位用户自定义标志位 R0-R7 寄存器页选择位 00: 页 0( 映射到 00H-07H) 01: 页 1( 映射到 08H-0FH) 10: 页 2( 映射到 10H-17H) 11: 页 3( 映射到 18H-1FH) 溢出标志位 0: 没有溢出发生 1: 有溢出发生 F1 标志位用户自定义标志位 奇偶校验位 0: 累加器 A 中值为 1 的位数为偶数 1: 累加器 A 中值为 1 的位数为奇数 数据指针 DPTR 是一个 16 位专用寄存器, 其高位字节寄存器用 DPH 表示, 低位字节寄存器用 DPL 表示 它们既可以作为一个 16 位寄存器 DPTR 来处理, 也可以作为 2 个独立的 8 位寄存器 DPH 和 DPL 来处理 12

13 7.1.2 CPU 增强内核特殊功能寄存器 特性 扩展的 'MUL' 和 'DIV' 指令 :16 位 *8 位,16 位 /8 位 双数据指针 CPU 增强内核寄存器 :AUXC,DPL1,DPH1,INSCON 01 扩展了 'MUL' 和 'DIV' 的指令 使用一个新寄存器 -AUXC 寄存器保存运算数据的高 8 位, 以实现 16 位运算 在 16 位乘除法指令中, 会用到 AUXC 寄存器, 在其它指令中,AUXC 寄存器可作为缓存器来使用 CPU 在复位后进入标准模式,'MUL' 和 'DIV' 的指令操作和标准 8051 指令操作一致 当 INSCON 寄存器的相应位置 1 后,'MUL' 和 'DIV' 指令的 16 位操作功能被打开 MUL DIV 双数据指针 使用双数据指针能加速数据存储移动 标准数据指针被命名为 DPTR 而新型数据指针命名为 DPTR1 数据指针 DPTR1 与 DPTR 类似, 是一个 16 位专用寄存器, 其高位字节寄存器用 DPH1 表示, 低位字节寄存器用 DPL1 表示 它们既可以作为一个 16 位寄存器 DPTR1 来处理, 也可以作为 2 个独立的 8 位寄存器 DPH1 和 DPL1 来处理 通过对 INSCON 寄存器中的 DPS 位置 1 或清 0 选择两个数据指针中的一个 所有读取或操作 DPTR 的相关指令将会选择最近一次选择的数据指针 寄存器 结果操作 A B AUXC INSCON.2 = 0;8 位模式 (A)*(B) 低位字节高位字节 --- INSCON.2 = 1;16 位模式 (AUXC A)*(B) 低位字节中位字节高位字节 INSCON.3 = 0;8 位模式 (A)/(B) 商低位字节余数 --- INSCON.3 = 1;16 位模式 (AUXC A)/(B) 商低位字节余数商高位字节 Table 7.2 数据指针选择寄存器 86H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 INSCON DIV MUL - DPS 读 / 写 读 / 写读 / 写 - 读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) DIV 2 MUL 0 DPS 16 位 /8 位除选择器 0:8 位除 1:16 位除 16 位 /8 位乘选择器 0:8 位乘 1:16 位乘 数据指针选择器 0: 数据指针 1: 数据指针 1 13

14 7.2 RAM 特性 01 为数据存储提供了内部 RAM 和外部 RAM 下列为内存空间分配: 低位 128 字节的 RAM( 地址从 00H 到 7FH) 可直接或间接寻址 高位 128 字节的 RAM( 地址从 80H 到 FFH) 只能间接寻址 特殊功能寄存器 (SFR, 地址从 80H 到 FFH) 只能直接寻址 外部 RAM 字节可通过 MOVX 指令间接寻址 高位 128 字节的 RAM 占用的地址空间和 SFR 相同, 但在物理上与 SFR 的空间是分离的 当一个指令访问高于地址 7FH 的内部位置时,CPU 可以根据指令的寻址方式来区分是访问高位 128 字节数据 RAM 还是访问 SFR 注意 : 未使用的 SFR 地址禁止读写 01 提供了 256 字节内部 RAM 和 512 字节外部 RAM, 支持高级语言 内部和外部 RAM 配置如下 : Up to 1FFh 0FFh 0FFh Extenal RAM Upper 128 bytes Internal Ram indirect accesses Special Function Register direct accesses 80h 80h 7Fh Lower 128 bytes Internal Ram direct or indirect accesses 内部和外部 RAM 地址 01 支持传统的访问外部 RAM 方法 使用 MOVX A,@Ri 或 MOVX@Ri,A 来访问外部低位 256 字节 RAM; 用 MOVX 或 MOVX@DPTR,A 来访问外部 512 字节 RAM 用户也能用 XPAGE 寄存器来访问外部 RAM, 使用 MOVX A,@Ri 或 MOVX@Ri,A 指令即可, 此时用 XPAGE 来表示高于 256 字节的 RAM 地址 在 Flash SSP 模式下,XPAGE 也能用作分段选择器 ( 详见 SSP 章节 ) 寄存器 Table 7.3 数据存储页寄存器 F7H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) XPAGE[7:0] RAM 页选择器,512 字节 RAM 只分成 2 页 14

15 7.3 Flash 程序存储器 特性 Flash 内存包括 16 X 1KB 区块, 总共 16KB 在工作电压范围内都能进行编程和擦除操作 在线编程 (ICP) 操作支持写入 读取和擦除操作 快速整体 / 扇区擦除和编程 编程 / 擦除次数 : 至少 次 数据保存年限 : 至少 10 年 低功耗 01 为存储程序代码内置 16K 可编程 Flash, 可以通过在线编程 (ICP) 模式和扇区自编程 (SSP) 模式对 Flash 存储器操作 在 ICP( 在线编程 ) 模式中, 程序能操作所有 Flash, 例如擦除或写入 Flash 的读取或写入操作以字节为单位, 但擦除只能以扇区 (1K) 为单位, 或者整体擦除 在 ICP 模式中, 扇区擦除操作能擦除任何区块 在自编程模式 (SSP) 中, 包含擦除程序代码的扇区不能擦除 在 ICP 模式下, 还可以整体擦除, 这个操作会擦除整个 Flash 存储器 注意 :01 不支持在系统编程 (ISP) 功能 ICP 模式下的 Flash 操作 ICP 模式即线上编程模式, 即可以在 CPU 焊在用户板上以后编程 ICP 模式下, 用户系统必须关机后编程器才能通过 ICP 编程接口刷新 Flash 内存 ICP 编程接口包括 6 个引脚 (V DD,GND,TCK,TDI,TMS,TDO) 编程器使用 4 个 JTAG 引脚 (TDO,TDI,TCK,TMS) 进入编程模式 只有将特定波形输入 4 个引脚后,CPU 才能进入编程模式 如需详细说明请参考 Flash 编程器用户指南 ICP 模式支持以下操作 : (1) 代码保护控制模式编程 01 的代码保护功能为用户代码提供了高性能的安全措施 每个分区有两种模式可用 代码保护模式 0: 允许 / 禁止任何编程器的写入 / 读取操作 ( 不包括整体擦除 ) 代码保护模式 1: 允许 / 禁止在其它分区中通过 MOVC 指令进行读取操作, 或通过 SSP 功能进行擦除 / 写入操作 用户必须应用 Flash 编程器设置相应的保护位, 以进入所需的保护模式 (2) 整体擦除 无论代码保护控制模式的状态如何, 整体擦除操作都将会擦除所有编程代码, 代码选项, 代码保护位和自定义 ID 码的内容 (Flash 编程器为用户提供自定义 ID 码设置功能以区别他们的产品 ) 在用户程序区, 整体擦除只能由 Flash 编程器操作, 不能通过程序指令完成 (3) 扇区擦除 扇区擦除操作将会擦除所选扇区中内容 用户程序和 Flash 编程器都能执行该操作 若需用户程序执行该操作, 必须禁止所选扇区的代码保护控制模式 1 若需编程器执行该操作, 必须禁止所选扇区的代码保护控制模式 0 注意 :SSP 程序所在扇区自身无法通过用户程序执行扇区擦除功能 (4) 写 / 读代码读 / 写代码操作可以将代码 数据从 Flash 内存中读出或写入 Flash 内存 编程器或用户程序都能执行该操作 若需用户程序执行该操作, 必须禁止所选扇区的代码保护控制模式 1 不管安全位设置与否, 用户程序都能读 / 写程序自身所在扇区 若需编程器执行该操作, 必须禁止所选扇区的代码保护控制模式 0 编程用时钟控制寄存器 操作 ICP SSP 代码保护支持不支持 扇区擦除支持 ( 无安全位 ) 支持 ( 无安全位 ) 整体擦除支持不支持 写 / 读代码支持 ( 无安全位 ) 支持 ( 无安全位或自身扇区 ) 15

16 在 ICP 模式中, 通过 7 线接口编程器能完成所有 Flash 操作 因为编程信号非常灵敏, 所以使用编程器编程时用户需要先用 5 个跳线将编程引脚 (VCC,TCK,TDI,TMS,TDO) 从应用电路中分离出来 如下图所示 01 VCC TCK TDI Flash Programmer TMS To Application Circuit TDO RST GND Jumper 当采用 ICP 模式进行操作时, 建议按照如下步骤进行操作 : (1) 在开始编程前断开跳线 (jumper), 从应用电路中分离编程引脚 ; (2) 将芯片编程引脚连接至编程器编程接口, 开始编程 ; (3) 编程结束后断开编程器接口, 连接跳线恢复应用电路 16

17 7.4 扇区自编程 (SSP SSP) 功能 01 支持 SSP 操作 如果所选扇区未被加密, 利用 SSP 操作, 用户代码可以对程序存储区和客户信息块区 / 类 EEPROM 块区进行擦除 编程操作 一旦某扇区或块区被编程, 则在该扇区或块区被擦除之前不能被再次编程 01 内建一个复杂控制流程以避免误入 SSP 模式导致代码被误修改 为进入 SSP 模式,IB_CON2-5 必须满足特定条件 若 IB_CON2-5 不满足特定条件, 则无法进入 SSP 模式 寄存器 擦除 / 编程用扇区选择和编程用地址偏移量寄存器 此寄存器用来选择待擦除或者待编程扇区的区号, 配合 IB_OFFSET 寄存器来表示待编程字节在扇区内的地址偏移量 对于程序存储区, 一个扇区为 1024 字节, 寄存器定义如下 : Table 7.4 擦除 / 编程用扇区选择和地址偏移寄存器 F7H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) Table 7.5 编程用地址偏移寄存器 XPAGE[1:0] 和 IB_OFFSET[7:0] 共 10 位, 可以表示 1 个程序存储扇区内全部 1024 个字节的偏移量 对于客户信息块区 / 类 EEPROM 块区, 一个块区为 256 字节, 寄存器定义如下 : Table 7.6 擦除 / 编程用扇区选择寄存器 XPAGE[7:6 7:6] 无效位, 复位为 XPAGE[5:2] 被擦除 / 编程的存储单元扇区号,0000 代表扇区 0, 依此类推, 共 16 个扇区 1-0 XPAGE[1:0] 被擦除 / 编程的存储单元高 2 位地址 FBH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_OFFSET IB_OFF SET.7 IB_OFF SET.6 IB_OFF SET.5 IB_OFF SET.4 IB_OFF SET.3 IB_OFF SET.2 IB_OFF SET.1 IB_OFF SET.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) IB_OFFSET[7:0] 被编程的存储单元低 8 位地址 F7H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) XPAGE[7:3 7:3] 在擦除 / 编程块区时无意义 3-0 XPAGE[2:0 2:0] 被擦除 / 编程的块区号,000 代表块 0, 依此类推, 共 8 个块 类 EEPROM 块区对应 XPAGE[2:0] 为 的块, 每块 256 bytes, 共 2048 bytes 空间 类 EEPROM 块区的访问可通过指令 MOVC A,@A+DPTR 或 MOVC A,@A+PC 实现, 注意 : 需要将 FAC 位 (FLASHCON.0) 置 1 17

18 Table 7.7 编程用地址偏移寄存器 IB_OFFSET[7:0] 共 8 位, 可以表示 1 个块区内全部 256 个字节的偏移量 Table 7.8 编程用数据寄存器 Table 7.9 操作类型选择寄存器 Table 7.10 SSP 流程控制寄存器 1 FBH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_OFFSET IB_OFF SET.7 IB_OFF SET.6 IB_OFF SET.5 IB_OFF SET.4 IB_OFF SET.3 IB_OFF SET.2 IB_OFF SET.1 IB_OFF SET.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_OFFSET OFFSET[7 [7:0] 被擦除 / 编程的块单元地址 FCH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_DATA IB_DATA.7 IB_DATA.6 IB_DATA.5 IB_DATA.4 IB_DATA.3 IB_DATA.2 IB_DATA.1 IB_DATA.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_DATA DATA[7 [7:0] 待编程数据 F2H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_CON1 IB_CON1.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_CON1[7:0] 操作类型选择 E6H: 扇区擦除 ( 擦除时间 < 40ms) 6EH: 编程存储单元 ( 编程时间 < 50µs) AAH: 整体擦除 ( 注意 : 在整体擦除操作中将忽略 FAC 位, 详见 FLASHCON 寄存器 ) 此命令仅在引导扇区内有效 F3H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_CON IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0 读 / 写 读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_CON2[3:0] 必须为 05H, 否则 Flash 编程将会终止 18

19 Table 7.11 SSP 流程控制寄存器 2 Table 7.82 SSP 流程控制寄存器 3 Table 7.13 SSP 流程控制寄存器 4 Table 7.14 软件复位标志和指令访问控制寄存器 F4H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_CON IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0 读 / 写 读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_CON3[3:0] 必须为 0AH, 否则 Flash 编程将会终止 F5H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_CON IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0 读 / 写 读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_CON4[3:0] 必须为 09H, 否则 Flash 编程将会终止 F6H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IB_CON IB_CON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0 读 / 写 读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) IB_CON5[3:0] 必须为 06H, 否则 Flash 编程将会终止 F7H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 FLASHCON FAC 读 / 写 读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) FAC 执行区域选择位 0:MOVC 指令或 SSP 操作执行区在程序存储区 1:MOVC 指令或 SSP 操作执行区在客户信息块区 / 类 EEPROM 块区 19

20 7.4.2 SSP 编程注意事项 为确保顺利完成 SSP 编程, 用户软件应该遵循以下步骤设置 : (1) 用于代码 / 数据编程 : 1. 关闭中断 ; 2. 如果待编程地址在客户信息块区 / 类 EEPROM 块区, 将 FAC 位 (FLASHCON.0) 置 1; 如果待编程地址在程序存储区, 将 FAC 位 (FLASHCON.0) 清 0; 3. 按相应的待编程扇区号或块区号设置 XPAGE IB_OFFSET; 4. 按编程需要, 设置 IB_DATA; 5. 按照顺序设置 IB_CON1-5; 6. 添加 4 个 NOP 指令 ; 7. 开始编程,CPU 将进入 IDLE 模式 ; 编程完成后自动退出 IDLE 模式 ; 8. 如果需要继续写入数据, 跳转至第 3 步 ; 9. XPAGE 寄存器清 0; 恢复中断设置 ; 根据后续程序需要置 1 或者清 0 FAC 位 (FLASHCON.0) (2) 用于扇区或块区擦除 : 1. 关闭中断 ; 2. 如果待编程地址在客户信息块区 / 类 EEPROM 块区, 将 FAC 位 (FLASHCON.0) 置 1; 如果待编程地址在程序存储区, 将 FAC 位 (FLASHCON.0) 清 0 3. 按相应的扇区或块区设置 XPAGE; 4. 按照顺序设置 IB_CON1-5; 5. 添加 4 个 NOP 指令 ; 6. 开始擦除,CPU 将进入 IDLE 模式 ; 擦除完成后自动退出 IDLE 模式 ; 7. 如果需要继续擦除扇区或块区, 跳转至第 3 步 ; 8. XPAGE 寄存器清 0, 恢复中断设置 ; 根据后续程序需要置 1 或者清 0 FAC 位 (FLASHCON.0) (3) 用于整体擦除 : 整体擦除操作与扇区擦除操作类似 不同之处在于 : 1. 整体擦除操作只能在引导扇区内进行 ; 2. FAC 位 (FLASHCON.0) 的作用将被忽略 注 :01 不支持 ISP, 因此无法实现基于 SSP 的整体擦除操作 注意 : 数据访问可通过指令 MOVC A,@A+DPTR 或 MOVC A,@A+PC 实现 20

21 7.5 系统时钟和振荡器 特性 仅支持 1 种振荡器类型 : 晶体谐振器 支持外部时钟输入 内建系统时钟分频器 内建 PLT 模块时钟分频器 时钟定义 01 几个内部时钟定义如下 : OSCCLK: 晶体谐振器的时钟 f OSC 定义为 OSCCLK 的频率 t OSC 定义为 OSCCLK 的周期 SYSCLK: 系统时钟, 系统频率分频器的输出时钟 这个时钟为 CPU 指令周期的时钟 f SYS 定义为 SYSCLK 的频率 t SYS 定义为 SYSCLK 的周期 PLTCLK:PLT 模块时钟 与系统时钟共享时钟源, 这个时钟为 PLT 模块工作时钟 f PLT 定义为 PLTCLK 的频率 t PLT 定义为 PLTCLK 的周期 JTAG Oscillator Clock OSCCLK TCK CLKPS[1:0] PLCLKPS SYSCLK PLTCLK 概述 01 仅支持 1 种振荡器类型 :8M-16M 晶体谐振器 由振荡器产生的基本时钟脉冲作为系统时钟提供给 CPU 和片上外围模块 ( 包括 PLT 模块 ) 寄存器 Table 7.15 系统时钟控制寄存器 B2H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 CLKCON - CLKPS1 CLKPS PLCLKPS 读 / 写 - 读 / 写读 / 写 读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) CLKPS[1:0] 0 PLCLKPS 系统时钟预分频器 00:f SYS = f OSCS ( 默认 ) 01:f SYS = f OSCS /2 10:f SYS = f OSCS /4 11:f SYS = f OSCS /12 PLT 模块时钟分频器 0:f PLT = f OSCS ( 默认 ) 1:f PLT = f OSCS /2 21

22 7.5.5 振荡器类型晶体谐振器 :8M - 16MHz C1 OSCI Crystal OSCO C 谐振器负载电容选择 晶体谐振器 频率 C1 C2 8M-16M 8-15pF 8-15pF 推荐型号 HC-49U/S 8.000MHz HC-49U/S MHz HC-49U/S MHz 49S-8.000M-F16E 49S M-F16E 49S M-F16E 生产厂 威克创通讯器材有限公司 深圳东光晶博电子有限公司 注意 : (1) 表中负载电容为设计参考数据! (2) 以上电容值可通过谐振器基本的起振和运行测试, 并非最优值 (3) 请注意印制板上的杂散电容, 用户应在超过应用电压和温度的条件下测试谐振器的性能 在应用陶瓷谐振器 / 晶体谐振器之前, 用户需向谐振器生产厂要求相关应用参数以获得最佳性能 请登陆 以取得更多的推荐谐振器生产厂 22

23 7.6 系统电源 01 分模拟和数字两路电源, 分别从 V DD 和 AV DD 输入 其中 V DD 电压范围 3.0V - 5.5V,AV DD 电压范围 3.0V - 3.6V 在 V DD 使用 5V 电源供电时, 可使用内部稳压源产生 3.3V 电源提供给 AV DD, 无需外接 3.3V 电源 内部稳压源通过客户代码 OP_REG33 开启, 开启后 AV DD 需外接 47µF 电解电容至 AGND, 具体应用可参考应用电路 系统供电选项 OP_REG33 内部 3.3V 稳压源 V DD DD 引脚 AV AV DD 引脚 0( 默认 ) 禁止接 3V - 5.5V 电源供电接 3V - 3.6V 电源供电 1 使能接 4V - 5.5V 电源供电接 47µF 电解电容到 AGND 23

24 7.7 I/O 端口 特性 2 组 8 位双向 I/O 端口 I/O 端口可与其它功能共享 01 提供 2 组 8 位位可编程双向 I/O 端口 端口数据在寄存器 Px 中 端口控制寄存器 (PxCRy) 控制端口是作为输入或者输出 当端口作为输入时, 每个 I/O 端口带有由 PxPCRy 控制的内部上拉电阻 (x = 0-1,y = 0-7) 01 的有些 I/O 引脚能与选择功能共享 当所有功能都允许时, 在 CPU 中存在优先权以避免功能冲突 ( 详见端口共享章节 ) 寄存器 Table 7.16 端口控制寄存器 E1H, E2H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 P0CR (E1H E1H) P0CR.7 P0CR.6 P0CR.5 P0CR.4 P0CR.3 P0CR.2 P0CR.1 P0CR.0 P1CR (E2H E2H) P1CR.7 P1CR.6 P1CR.5 P1CR.4 P1CR.3 P1CR.2 P1CR.1 P1CR.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) Table 7.17 端口上拉电阻控制寄存器 Table 7.18 端口数据寄存器 PxCRy x = , y = 0-7 端口输入 / 输出控制寄存器 0: 输入模式 1: 输出模式 E9H, EAH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 P0PCR (E9H E9H) P0PCR.7 P0PCR.6 P0PCR.5 P0PCR.4 P0PCR.3 P0PCR.2 P0PCR.1 P0PCR.0 P1PCR (EAH EAH) P1PCR.7 P1PCR.6 P1PCR.5 P1PCR.4 P1PCR.3 P1PCR.2 P1PCR.1 P1PCR.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN /PIN) PxPCRy x = 0-1, y = 0-7 输入端口内部上拉电阻控制 0: 内部上拉电阻关闭 1: 内部上拉电阻开启 80H, 90H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 P0 (80H 80H) P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 P1 (90H 90H) P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) Px.y x = , y = 0-7 端口数据寄存器 24

25 7.7.3 端口模块图 SFEN PxPCRy Output mode Input mode PxCRy V DD V DD Pull high 0 = ON 1 = OFF Write I/O Pad Data Bus Data Register GND Read Port Data Register Read Read Data Register/Pad Selection 0: From Pad 1: From data register Second Function Read Port Pad 注意 : (1) 输入端口读操作直接读引脚电平 (2) 输出端口读操作的输入源有两种, 一种是从端口数据寄存器读取, 另一种是直接读引脚电平 (3 ) 用读取指令来区分 : 读 - 改 - 写指令是读寄存器, 而其它指令读引脚电平 不管端口是否共用为其他功能, 对端口写操作都是针对端口数据寄存器 25

26 7.7.4 端口共享 16 个双向 I/O 端口也能共享作为第二功能, 默认功能和第二功能不会同时使能 当允许端口复用为其它功能时, 用户可以修改 PxCR PxPCR(x = 0-1), 但在复用的其它功能被禁止前, 这些操作不会影响端口状态 当允许端口复用为其它功能时, 任何对端口的读写操作只会影响到数据寄存器的值, 端口引脚值保持不变, 直到复用的其它功能关闭 如果第二功能允许模拟模块例如 ADC, 不论实际引脚的电平或 I/O 状态, 只能读回 0 PORT0: - FILI(P0.0):PLT 模块限幅放大器反馈路径输入 - FILO(P0.1):PLT 模块限幅放大器反馈路径输出 - VINCOM(P0.2):PLT 模块副通道接收信号输入 - AN1(P0.3):ADC 输入通道 1 - AN2(P0.4):ADC 输入通道 2 - AN3(P0.5):ADC 输入通道 3 - TPO(P0.6): 发送信号数字脉冲输出 - RPO(P0.7): 接收信号数字脉冲输出 Table 7.19 PORT0 共享列表 引脚编号功能允许位 P0.0 PLCON 寄存器中 PLTEN 和 RSSIEN 位均为 0 FILI PLCON 寄存器中 PLTEN 位置为 1 或 RSSIEN 位置为 1 P0.1 PLCON 寄存器中 PLTEN 和 RSSIEN 位均为 0 FILO PLCON 寄存器中 PLTEN 位置为 1 或 RSSIEN 位置为 1 P0.2 PLCON 寄存器中 PLTEN 位为 0 或 PLT 内部寄存器 UMR3 中 AFECH 位为 0 VINCOM PLCON 寄存器中 PLTEN 位置为 1 且 PLT 内部寄存器 UMR3 中 AFECH 位置为 1 P0.3 ADCH 寄存器中的 CH1 位为 0 AN1 ADCH 寄存器中的 CH1 位置为 1 P0.4 ADCH 寄存器中的 CH2 位为 0 AN2 ADCH 寄存器中的 CH2 位置为 1 P0.5 ADCH 寄存器中的 CH3 位为 0 AN3 ADCH 寄存器中的 CH3 位置为 1 P0.6 PLT UMR1 寄存器中的 PULSE_OP 位为 0 TPO PLT UMR1 寄存器中的 PULSE_OP 位为 1 P0.7 PLT UMR1 寄存器中的 LIMIT_OP 位为 0 RPO PLT UMR1 寄存器中的 PULSE_OP 位为 1 26

27 PORT ORT1: - RXD(P1.0):EUART 数据输入 - TXD(P1.1):EUART 数据输出 - INT0(P1.2): 外部中断 0 输入 - T0(P1.3): 定时器 0 外部输入或比较输出 - INT1(P1.4): 外部中断 1 输入 - T1(P1.5): 定时器 1 外部输入或比较输出 - T2(P1.6): 定时器 2 外部输入 / 波特率时钟输出 - T2EX(P1.7): 定时器 2 重载 / 捕捉 / 方向控制输入 Table 7.20 PORT1 共享列表 引脚编号功能允许位 P1.0 SCON 寄存器中 REN 位为 0 RXD SCON 寄存器中 REN 位置为 1 P1.1 不写 SBUF 寄存器 TXD 写入 SBUF 寄存器 P1.2 IEN0 寄存器的 EX0 位为 0, 或者 Port1.2 为输出状态 INT0 IEN0 寄存器的 EX0 位置 1, 并且 Port1.2 为输入状态 ( 上拉由软件设置 ) P1.3 TCON 寄存器的 TR0 位为 0 或者 TMOD 寄存器的 C/T 位为 0 T0 TCON 寄存器的 TR0 位和 TMOD 寄存器的 C/T 位都置 1 P1.4 IEN0 寄存器的 EX1 位为 0, 或者 Port1.4 为输出状态 INT1 IEN0 寄存器的 EX1 位置 1, 并且 Port1.4 为输入状态 ( 上拉由软件设置 ) P1.5 TCON 寄存器的 TR1 位为 0 或者 TMOD 寄存器的 C/T 位为 0 T1 TCON 寄存器的 TR1 位和 TMOD 寄存器的 C/T 位都置 1( 自动上拉 ) P1.6 TCON 寄存器的 TR2 位为 0 或者 TMOD 寄存器的 C/T 位为 0 T2 TCON 寄存器的 TR2 位和 TMOD 寄存器的 C/T 位都置 1( 自动上拉 ) P1.7 TCON 寄存器的 TR2 位为 0 或者 TMOD 寄存器的 C/T 位为 0, 或者 T2MOD 寄存器的 EXEN2 位为 0 T2EX TCON 寄存器的 TR2 位,TMOD 寄存器的 C/T 位,T2MOD 寄存器的 EXEN2 位都置为 1 27

28 7.8 定时器 特性 01 有 3 个通用定时器 ( 定时器 0,1,2) 定时器 0 兼容标准的 8051 定时器 1 兼容标准的 8051 定时器 2 兼容标准的 8052, 且有递增递减计数和可编程输出功能 定时器 0/1 增加了比较输出功能 定时器 0 和定时器 1 每个定时的两个数据寄存器 (THx & TLx(x = 0,1)) 可作为一个 16 位寄存器来访问 它们由寄存器 TCON 和 TMOD 控制 IEN0 寄存器的 ET0 和 ET1 位置 1 能允许定时器 0 和定时器 1 中断 ( 详见中断章节 ) 定时器 x 的模式 (x = 0,1) 通过计数器 / 定时器模式寄存器 (TMOD) 的模式选择位 Mx1-Mx0, 选择定时器工作模式 模式 0:13 位计数器 / 定时器 在模式 0 中, 定时器 x 为 13 位计数器 / 定时器 THx 寄存器存放 13 位计数器 / 定时器的高 8 位,TLx 存放低 5 位 (TLx.4-TLx.0) TLx 的高三位 (TLx.7-TLx.5) 是不确定的, 在读取时应该被忽略 当 13 位定时器寄存器递增, 溢出时, 系统置起定时器溢出标 志 TFx 如果定时器 x 中断被允许, 将会产生一个中断 C/Tx 位选择计数器 / 定时器的时钟源 如果 C/Tx = 1, 定时器 x 输入引脚 (Tx) 的电平从高到低跳变, 使定时器 x 数据寄存器加 1 如果 C/Tx 定时器 x 的时钟源 当 GATEx = 0 或 GATEx = 1 且输入信号 INTx = 0, 选择系统时钟为 有效时,TRx 置 1 打开定时器 GATEx 置 1 允许定时器由外部输入信号 INTx 便于测量 INTx的正脉冲宽度 TRx 位置 1 不强行复位定时器, 这意味着如果 TRx 置 1, 定时器寄存器将从上次 TRx 清 0 时的值开始计数 所以在允许定时器之前, 应该设定定时器寄存器的初始值 当作为定时器应用时, 可配置寄存器 TCON1 中的 TC0/1 位使定时器 0 溢出时 T0/T1 脚自动翻转 如果 TC0/1 被置 1,T0/T1 引脚自动设置为输出 控制, System Clock Tx /INTx GATEx = 0 C/Tx = 1 + TLx (5bits) 0:Switch Off 1:Switch On THx (8bits) Overflow from 1FFFH to 00H TFx Overflow Flag Interrupt Request C/Tx=0 TCx=1 Tx TRx & The Block Diagram of mode0 of Timerx (x=0,1) 28

29 模式 1:16 16 位计数器 / 定时器除了使用 16 位定时器 / 计数器之外, 模式 1 的运行与模式 0 一致 打开和配置计数器 / 定时器也如同模式 0 System Clock Tx /INTx GATEx = 0 C/Tx = 1 + & TLx (8bits) 0:Switch Off 1:Switch On THx (8bits) Overflow from FFFFH to 00H TFx Overflow Flag C/Tx=0 TCx=1 Interrupt Request Tx TRx The Block Diagram of mode1 of Timerx (x=0,1) 模式 2:8 位自动重载计数器 / 定时器 模式 2 中, 定时器 x 是 8 位自动重载计数器 / 定时器 TLx 存放计数值,THx 存放重载值 当在 TLx 中的计数器溢出至 0x00 时, 置起定时器溢出标志 TFx, 寄存器 THx 的值被重加载寄存器 TLx 中 如果定时器中断使能, 当 TFx 置 1 时将产生一个中断 而在 THx 中的重载值不会改变 在允许定时器正确计数开始之前,TLx 必须初始化为所需的值 除了自动重载功能外, 模式 2 中的计数器 / 定时器的使能和配置与模式 1 和 0 是一致的 当作为定时器应用时, 可配置寄存器 TCON1 中的 TC0/1 位使定时器 0/1 溢出时 T0/T1 脚自动翻转 如果 TC0/1 被置 1,T0/T1 引脚自动设置为输出 THx (8bits) System Clock Reload Tx /INTx GATEx TRx = 0 C/Tx = 1 + & TLx (8bits) 0:Switch Off 1:Switch On Overflow from FFH to 00H TFx Overflow Flag Interrupt Request C/Tx=0 TCx=1 Tx The Block Diagram of mode2 of Timerx (x=0,1) 29

30 模式 3: 两个 8 位计数器 / 定时器 ( 只限于定时器 0) 在模式 3 中, 定时器 0 用作两个独立的 8 位计数器 / 定时器, 分别由 TL0 和 TH0 控制 TL0 使用定时器 0 的控制 ( 在 TCON 中 ) 和 状态 ( 在 TMOD 中 ) 位 :TR0,C/T0,GATE0 和 TF0 TL0 能用系统时钟或外部输入信号作为时钟源 TH0 只能用作定时器功能, 时钟源来自系统时钟 TH0 由定时器 1 的控制位 TR1 控制使能, 溢出时定时器 1 溢出标志 TF1 置 1, 控制定时器 1 中断 定时器 0 工作在模式 3 时, 定时器 1 可以工作在模式 0 1 或 2, 但是不能置 1 TF1 标志和产生中断, 可以用来产生串口的波特率 TH1 和 TL1 只能用作定时器功能, 时钟源来自系统时钟,GATE1 位无效 T1 输入脚的上拉电阻也无效 定时器 1 由模式控制使能与否, 因为 TR1 被定时器 0 占用 定时器 1 在模式 0 1 或 2 时使能, 在模式 3 时被关闭 当作为定时器应用时, 可配置寄存器 TCON1 中的 TC0 位使定时器 0 溢出时 T0 脚自动翻转 如果 TC0 被置 1,T0 引脚自动设置为输出 System Source T0 /INT0 GATE0 = 0 C/T0 = 1 + TL0 (8bits) 0:Switch Off 1:Switch On Overflow TF 0 Overflow Flag C/T0=0 TC0=1 Interrupt Request T0 & TR0 System Source TH0 (8bits) Overflow TF 1 Interrupt Request 0:Switch Off 1:Switch On Overflow Flag TR1 The Block Diagram of mode3 of Timer0 注意 : 当定时器 0,1 作为计数器时, 输入信号被系统时钟同步, 因此 T0/T1 必须低于系统时钟二分频,/INT0,/INT1 必须低于系统时钟四分频 ; 当定时器 1 作为波特率发生器时, 读取或写入 TH1/TL1 会影响波特率的准确性, 因此也会引起通信出错 30

31 寄存器 Table 7.21 定时器 / 计数器 x 控制寄存器 (x = 0,1) Table 7.22 定时器 / 计数器 x 方式寄存器 (x = 0,1) 88H 8H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) , 5 6, 4 3, 1 2, 0 TFx x = 0, 1 TRx x = 0, 1 IEx x = 0, 1 ITx x = 0, 1 定时器 x 溢出标志位 0: 定时器 x 无溢出, 可由软件清 0 1: 定时器 x 溢出, 由硬件置 1; 若由软件置 1 将会引起定时器中断 定时器 x 启动, 停止控制位 0: 停止定时器 x 1: 启动定时器 x 外部中断 x 请求标志位 外部中断 x 触发方式选择位 89H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 TMOD GATE1 C/T1 M11 M10 GATE0 C/T0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) , 3 6, GATEx x = 0, 1 C/Tx x = 0, 1 Mx[1:0] x = 0, 1 定时器 x 门控位 0:TRx 置 1, 定时器 x 即被允许 1: 只有 INTx在高电平期间 TRx 置 1, 定时器 x 才被允许 定时器 / 计数器方式选择位 0: 定时器方式 1: 计数器方式 定时器 x 定时器方式选择位 00: 方式 0,13 位向上计数计数器 / 定时器, 忽略 TLx 的第 7-5 位 01: 方式 1,16 位向上计数计数器 / 定时器 10: 方式 2,8 位自动重载向上计数计数器 / 定时器 11: 方式 3( 只用于定时器 0), 两个 8 位向上计数定时器 M01 M00 31

32 Table 7.23 定时器 x/ 计数器 x 数据寄存器 (x = 0,1) Table 7.24 定时器 / 计数器 x 控制寄存器 1 (x = 0,1) 8AH- AH-8DH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 TL0(8AH) TL0.7 TL0.6 TL0.5 TL0.4 TL0.3 TL0.2 TL0.1 TL0.0 TH0(8CH) TH0.7 TH0.6 TH0.5 TH0.4 TH0.3 TH0.2 TH0.1 TH0.0 TL1(8BH) TL1.7 TL1.6 TL1.5 TL1.4 TL1.3 TL1.2 TL1.1 TL1.0 TH1(8DH) TH1.7 TH1.6 TH1.5 TH1.4 TH1.3 TH1.2 TH1.1 TH1.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) TLx.y, THx.y x=0-1, y=0-7 定时器 x 低及高字节计数器 CEH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 TCON TC1 TC0 读 / 写 读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) TCx x = 0,1 比较输出功能允许位 0: 禁止定时器 x 比较输出功能 1: 允许定时器 x 比较输出功能 32

33 7.8.3 定时器 2 两个数据寄存器 (TH2 和 TL2) 串联后可作为一个 16 位寄存器来访问, 由寄存器 T2CON 和 T2MOD 控制 设置 IEN0 寄存器中的 ET2 位能允许定时器 2 中断 ( 详见中断章节 ) 定时器 2 的工作模式与定时器 0 和定时器 1 相似 C/T2选择系统时钟 ( 定时器 ) 或外部引脚 T2( 计数器 ) 作为定时器时钟输入 通过所选的引脚设置 TR2 允许定时器 2/ 计数器 2 数据寄存器计数 定时器 2 模式 定时器 2 有 4 种工作模式 : 捕获 / 重载, 带递增或递减计数器的自动重载方式, 波特率发生器和可编程时钟输出 RCLK,TCLK 和 CP/RL2 的组合能选择这些模式 Table 7.25 定时器 2 方式选择 C/T2 T2OE DCEN TR2 CP/RL2 RCLK TCLK X 0 X 位捕获 X 位自动重载定时器 X X X 0 X 1 X 2 波特率发生器 X 只用于可编程时钟 0 1 X 1 X 1 X 3 带波特率发生器的可编程时钟输出 X X 1 X X X X 不推荐使用 X X X 0 X X X X 定时器 2 停止,T2EX 通路仍旧允许 模式 0:16 位捕获 在捕获模式中,T2CON 的 EXEN2 位有两个选项 如果 EXEN2 = 0, 定时器 2 作为 16 位定时器或计数器, 如果 IET2 被允许的话, 定时器 2 能设置 TF2 溢出产生一个中断 如果 EXEN2 = 1, 定时器 2 执行相同操作, 但是在外部输入 T2EX 上的下降沿也能引起在 TH2 和 TL2 中的当前值分别被捕获到 RCAP2H 和 RCAP2L 中, 此外, 在 T2EX 上的下降沿也能引起在 T2CON 中的 EXF2 被设置 如果 IET2 被允许,EXF2 位也像 TF2 一样也产生一个中断 模式 System Clock T2 TR2 =0 C/T2 =1 0:Switch Off 1:Switch On Increment Mode TL2 TH2 TF2 Overflow flag CP / RL2 & + Interrupt Request T2EX EXEN2 0:Switch Off 1:Switch On RCAP2L RCAP2H EXF2 Block Diagram of 16 bit Capcture mode (Mode 0) of Timer2 External falling edge flag 33

34 模式 1:16 16 位自动重载定时器 在 16 位自动重载模式下, 定时器 2 可以被选为递增计数或递减计数 这个功能通过 T2MOD 中的 DCEN 位 ( 递减计数允许 ) 选择 系统复位后,DCEN 位复位值为 0, 定时器 2 默认递增计数 当设置 DCEN 时, 定时器 2 递增计数或递减计数取决于 T2EX 引脚上的电平 当 DCEN = 0, 通过在 T2CON 中的 EXEN2 位选择两个选项 如果 EXEN2 = 0, 定时器 2 递增到 0FFFFH, 在溢出后置起 TF2 位, 同时定时器自动将用户软件写好的寄存器 RCAP2H 和 RCAP2L 的 16 位值装入 TH2 和 TL2 寄存器 如果 EXEN2 = 1, 溢出或在外部输入 T2EX 上的下降沿都能触发一个 16 位重载, 置起 EXF2 位 如果 IET2 被使能,TF2 和 EXF2 位都能产生一个中断 System Clock T2 TR2 =0 C/T2 =1 0:Switch Off 1:Switch On Increment Mode TL2 TH2 RCAP2L RCAP2H TF2 Overflow Flag + Interrupt Request T2EX EXEN2 0:Switch Off 1:Switch On + External Falling Edge flag EXF2 The Block Diagram of Auto Relode Mode ( Mode 1)of Timer2 (DCEN=0) 设置 DCEN 位允许定时器 2 递增计数或递减计数 当 DCEN = 1 时,T2EX 引脚控制计数的方向, 而 EXEN2 控制无效 T2EX 置 1 可使定时器 2 递增计数 定时器递增到 0FFFFH, 在溢出后设置 TF2 位 溢出也能分别引起 RCAP2H 和 RCAP2L 上的 16 位值重加载定时器寄存器 T2EX 清 0 可使定时器 2 递减计数 当 TH2 和 TL2 的值小于 RCAP2H 和 RCAP2L 的值时, 定时器溢出 置起 TF2 位, 同时 0FFFFH 重加载定时器寄存器 无论定时器 2 溢出,EXF2 位都被用作结果的第 17 位 在此工作方式下,EXF2 不作为中断标志 FFH FFH System Clock T2 TR2 =0 C/T2 =1 0:Switch Off 1:Switch On TL2 TH2 TF2 Overflow Flag Interrupt Request T2EX 1.T2EX=1, Timer2 is up counter 2.T2EX=0, Timer2 is down counter RCAP2L RCAP2H Toggle EXF2 The Block Diagram of Auto-Reload Mode ( Mode 1) of Timer2 (DCEN=1) 34

35 模式 2: 波特率发生器 通过设置 T2CON 寄存器中的 TCLK 和 / 或 RCLK 选择定时器 2 作为波特率发生器 请注意如果将定时器 2 作为接收器或发送器而定时器 1 作他用时, 发送和接收的波特率可以是不同的 设置 RCLK 和 / 或 TCLK 使定时器 2 进入波特率发生器模式, 该模式与自动重加载模式相似 定时器 2 的溢出会引起软件将 RCAP2H 和 RCAP2L 寄存器中的 16 位值重加载定时器 2 寄存器, 但不会产生中断 如果 EXEN2 被置 1, 在 T2EX 脚上的下降沿会置起 EXF2, 但不会引起重载 (RCAP2H,RCAP2L 到 TH2,TL2) 因此当定时器 2 作为波特率发生器时,T2EX 可作为一个额外的外部中断 在 EUART 模式 1 和 3 中的波特率由定时器 2 的溢出率根据下列方程式决定 1 SystemClock BaudRate = [RCAP2H,RCAP2L] BaudRate = 1 16 T2 frequency [RCAP2H,RCAP2L] ; C/T2 ; C/T2 = 1 = 0 T2 System Clock TR2 /2 =0 C/ T2 =1 0:Switch Off 1:Switch On Timer1 overflow /2 TL2 RCAP2L TH2 RCAP2H RCLK =1 =0 TCLK =1 =0 SMOD =0 =1 /16 Receiver CLK Transiver CLK /16 EXEN2 T2EX 0:Switch Off 1:Switch On EXF2 Timer2 Interrupt Request The Block Diagram of Baud-Rate Generator ( Mode 2 ) of Timer2 注意 : 当 Timer2 在波特率发生器模式下作为定时器工作时 (TR2 = 1),TH2 或 TL2 不能读取或写入 原因如下 : 定时器在每个状态时间递增, 可能导致读取或写入的结果不精确 RCAP2 寄存器能读取不能写入, 因为写入会覆盖重载而且会引起写入和重载出错 因此, 在访问 TH2/TL2 或 RCAP2H/RCAP2L/ 寄存器之后,Timer2 必须被关闭 ( 清除 TR2) 35

36 模式 3: 可编程时钟输出在这种模式中,T2 输出占空比为 50% 的时钟 : 1 System Clock Clock Out Frequency = [RCAP2H,RCAP2L] 定时器 2 溢出不产生中断 所以定时器 2 可以同时以相同频率用作波特率发生器和时钟输出 System Clock /2 =0 C/ T2 =1 TL2 TH2 TR2 0:Switch Off 1:Switch On C/ T2 RCAP2L RCAP2H T2 /2 T2OE 0:Switch Off 1:Switch On T2EX EXEN2 0:Switch Off 1:Switch On EXF2 Timer2 Interrupt Request The Block Diagram of Programmable Clock output (Mode 3) of Timer2 注意 : (1) TF2 和 EXF2 都能引起定时器 2 的中断请求, 两者有相同的向量地址 (2) 当事件发生时或其它任何时间都能由软件设置 TF2 和 EXF2 为 1, 只有软件以及硬件复位才能使之清 0 (3) 当 EA = 1 且 ET2 = 1 时, 设置 TF2 或 EXF2 为 1 能引起定时器 2 中断 (4) 当定时器 2 作为波特率发生器时, 写入 TH2/TL2, 写入 RCAPH2/RCAPL2 会影响波特率的准确性, 因此也会引起通信出错 36

37 寄存器 Table 7.26 定时器 2 控制寄存器 C8H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 T2CON TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) TF2 6 EXF2 5 RCLK 4 TCLK 3 EXEN2 2 TR2 1 C/T2 0 CP/RL2 定时器 2 溢出标志位 0: 无溢出 1: 溢出 ( 如果 RCLK = 0 和 TCLK = 0, 由硬件设置 ) T2EX 引脚外部事件输入 ( 下降沿 ) 被检测到的标志位 0: 无外部事件输入 ( 必须由软件清 0) 1: 检测到外部输入 ( 如果 EXEN2 = 1, 由硬件设 1) EUART0 接收时钟控制位 0: 定时器 1 产生接收波特率 1: 定时器 2 产生接收波特率 EUART0 发送时钟控制位 0: 定时器 1 产生发送波特率 1: 定时器 2 产生发送波特率 T2EX 引脚上的外部事件输入 ( 下降沿 ) 用作重载 / 捕获触发器允许 / 禁止控制位 0: 忽略 T2EX 引脚上的事件 1: 当定时器 2 不做为 EUART 时钟 (T2EX 始终包括上拉电阻 ) 时, 检测到 T2EX 引脚上一个下降沿, 产生一个捕获或重载 定时器 2 开始 / 停止控制位 0: 停止定时器 2 1: 开始定时器 2 定时器 2 定时器 / 计数器方式选定位 0: 定时器方式,T2 引脚用作 I/O 端口 1: 计数器方式, 内部上拉电阻被打开 捕获 / 重载方式选定位 0:16 位带重载功能的定时器 / 计数器 1:16 位带捕获功能的定时器 / 计数器 37

38 Table 7.27 定时器 2 方式控制寄存器 Table 7.28 定时器 2 重载 / 捕获和数据寄存器 C9H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 T2MOD T2OE DCEN 读 / 写 读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) T2OE 0 DCEN 定时器 2 输出允许位 0: 设置 P1.6/T2 作为时钟输入或 I/O 端口 1: 设置 P1.6/T2 作为时钟输出 ( 波特率发生器方式 ) 递减计数允许位 0: 禁止定时器 2 作为递增 / 递减计数器, 定时器 2 仅作为递增计数器 1: 允许定时器 2 作为递增 / 递减计数器 CAH-CDH 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 RCAP2L (CAH) RCAP2L.7 RCAP2L.6 RCAP2L.5 RCAP2L.4 RCAP2L.3 RCAP2L.2 RCAP2L.1 RCAP2L.0 RCAP2H (CBH) RCAP2H.7 RCAP2H.6 RCAP2H.5 RCAP2H.4 RCAP2H.3 RCAP2H.2 RCAP2H.1 RCAP2H.0 TL2 (CCH) TL2.7 TL2.6 TL2.5 TL2.4 TL2.3 TL2.2 TL2.1 TL2.0 TH2 (CDH) TH2.7 TH2.6 TH2.5 TH2.4 TH2.3 TH2.2 TH2.1 TH2.0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) RCAP2L.x RCAP2H.x TL2.x TH2.x 定时器 2 重载 / 捕获数据,x = 0-7 定时器 2 高位低位计数器,x =

39 7.9 中断 特性 9 个中断源 4 层中断优先级 程序超范围中断 01 有 9 个中断源 :OVL NMI 中断,2 个外部中断 ( 外部中断 0/1),3 个定时器中断 ( 定时器 0/1/2),EUART 中断,ADC 中断,PLT 中断 程序超范围中断 (OVL OVL) 01 有一个不可屏蔽中断 (NMI) 源 程序超范围中断 (OVL), 其向量定位在 007BH 中, 不可屏蔽中断用以防止 CPU 超出有效程序范围 为应用这个特性, 用户应该用常量 0xA5 填满未使用的 Flash ROM, 如果 PC 超过了用户的有效程序范围, 则运算代码为不存在在 8051 指令集中的 0xA5,CPU 因此获知 PC 已经超出了有效的程序范围, 同时 OVL 中断发生 如果 PC 超过 16K Flash ROM 范围, 不可屏蔽中断 OVL 同样会发生 不可屏蔽中断 OVL 享有最高优先级 ( 除复位外 ), 不会被其它中断源中断 同样不可屏蔽中断 OVL 能自身嵌套, 但堆栈不会因此增加 当 OVL 中断发生后, 其它中断仍旧被允许, 如果满足设定的条件, 其它中断的标志将置 1 由于 OVL 中断是不可屏蔽中断并且具有最高中断优先级, 当产生 OVL 中断时, 其它任何中断都被屏蔽掉, 不能响应, 所以用户必须处理 OVL 中断以保护系统免受不必要的影响 用户可以用 OVL 中断服务程序末端的 RETI 指令来修改压入栈顶的地址 ( 因为进入 OVL 中断时, 压入堆栈顶端的地址是无用的 ), 这样跳出中断服务程序后, 程序可以跳转到用户指定的代码, 诸如复位入口或保护程序入口 OVL_NMI_SERVICE: MOV SP, #Initial_value MOV DPTR, #Start_or_Initial_address PUSH DPL PUSH DPH RETI 特别提示 : 由于 OVL 中断是不可屏蔽中断并且具有最高中断优先级, 当产生 OVL 中断时, 其它任何中断都被屏蔽掉, 不能响应, 所以用户必须处理 OVL 中断以保护系统免受不必要的影响 39

40 7.9.3 中断允许任何一个中断源均可通过对寄存器 IEN0 和 IEN1 中相应的位置 1 或清 0, 实现单独允许或禁止 IEN0 寄存器中还包含了一个全局允许位 EA, 它是所有中断的总开关 一般在复位后, 所有中断允许位设置为 0, 所有中断被禁止 Table 7.29 初级中断允许寄存器 A8H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IEN0 EA EADC ET2 ES ET1 EX1 ET0 EX0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) Table 7.30 次级中断允许寄存器 EA 6 EADC 5 ET2 4 ES 3 ET1 2 EX1 1 ET0 0 EX0 所有中断允许位 0: 禁止所有中断 1: 允许所有中断 ADC 中断允许位 0: 禁止 ADC 中断 1: 允许 ADC 中断 定时器溢出中断允许位 0: 禁止定时器 2 溢出中断 1: 允许定时器 2 溢出中断 EUART 中断允许位 0: 禁止 EUART 中断 1: 允许 EUART 中断 定时器 1 溢出中断允许位 0: 禁止定时器 1 溢出中断 1: 允许定时器 1 溢出中断 外部中断 1 允许位 0: 禁止外部中断 1 1: 允许外部中断 1 定时器 0 溢出中断允许位 0: 禁止定时器 0 溢出中断 1: 允许定时器 0 溢出中断 外部中断 0 允许位 0: 禁止外部中断 0 1: 允许外部中断 0 A9H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IEN EPLT 读 / 写 读 / 写 复位值 (POR/WDT/LVR/PIN POR/WDT/LVR/PIN) EPLT PLT 中断允许位 0: 禁止 PLT 中断 1: 允许 PLT 中断 40

41 7.9.4 中断标志 每个中断源都有自己的中断标志, 当产生中断时, 硬件会置起相应的标志位, 在中断汇总表中会列出中断标志位 外部中断源产生外部中断 INTx(x = 0,1) 时, 如果中断为边沿触发,CPU 在响应中断后, 各中断标志位 (TCON 寄存器的 IE0/1 位 ) 被硬件清 0; 如果中断是低电平触发, 外部中断源直接控制中断标志, 而不是由片上硬件控制 定时器 0/1 的计数器溢出时,TCON 寄存器的 TFx(x = 0,1) 中断标志位置 1, 产生定时器 0/1 中断,CPU 在响应中断后, 标志被硬件自动清 0 T2CON 寄存器的 TF2 或 EXF2 标志位置 1 时, 产生定时器 2 中断,CPU 在响应中断后, 标志不能被硬件自动清 0 事实上, 中断服务程序必须决定是由 TF2 或是 EXF2 产生中断, 标志必须由软件清 0 SCON 寄存器的标志 RI 或 TI 置 1 时, 产生 EUART 中断,CPU 在响应中断后, 标志不会被硬件自动清 0 事实上, 中断服务程序必须判断是收中断还是发中断, 标志必须由软件清 0 ADCON 寄存器的 ADCIF 标志位被置 1 时, 产生 ADC 中断 如果中断产生,ADCDH/ADCDL 中的转换结果是有效的 如果 ADC 模块的连续比较功能打开, 在每次转换中, 如果转换结果小于比较值时,ADCIF 标志位为 0; 如果转换结果大于比较值时,ADCIF 标志位置 1,ADCIF 中断标志必须由软件清除 PLSTAT 寄存器的标志 RXINT 或 TXINT 置 1 时, 产生 PLT 中断,CPU 在响应中断后, 标志不会被硬件自动清 0 事实上, 中断服务程序必须判断是接收中断还是发送中断, 标志必须由软件清 0 Table 7.31 定时器 x/ 计数器 x 控制寄存器 (x = 0, 1) 88H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) , 5 6, 4 3, 1 2, 0 TFx (x = 0, 1) TRx (x = 0, 1) IEx (x = 0, 1) ITx (x = 0, 1) 定时器 x 溢出标志 0: 定时器 x 无溢出 1: 定时器 x 溢出 定时器 x 启动, 停止控制 0: 停止定时器 x 1: 启动定时器 x 外部中断 x 请求标志 0: 无中断挂起 1: 中断挂起 外部中断 x 触发方式 0: 低电平触发 1: 下降沿边触发 41

42 7.9.5 中断向量 当一个中断产生时, 程序计数器内容被压栈, 相应的中断向量地址被加载程序计数器 中断向量的地址在中断汇总表中详细列出 中断优先级 每个中断源都可被单独设置为 4 个中断优先级之一, 分别通过清 0 或置 1 IPL0,IPH0,IPL1,IPH1 中相应位来实现 但 OVL 不可屏蔽中断无需 IPH/IPL 控制, 在所有中断源中享有最高优先级 ( 除复位外 ) 中断优先级服务程序描述如下 : 响应一个中断服务程序时, 可响应更高优先级的中断, 但不能响应同优先级或低优先级的另一个中断 响应最高级中断服务程序时, 不响应其它任何中断 如果不同中断优先级的中断源同时申请中断时, 响应较高优先级的中断申请 如果同优先级的中断源在指令周期开始时同时申请中断, 那么内部查询序列确定中断请求响应顺序 IPHx 优先位 IPLx Table 7.32 中断优先级控制寄存器 中断优先级 中断优先级 0 0 等级 0( 最低优先级 ) 0 1 等级 等级 等级 3( 最高优先级 ) B8H, B4H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IPL0 (B8H) - PADCL PT2L PSL PT1L PX1L PT0L PX0L IPH0 (B4H) - PADCH PT2H PSH PT1H PX1H PT0H PX0H 读 / 写 - 读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) B9H, B5H 第 7 位第 6 位第 5 位第 4 位第 3 位第 2 位第 1 位第 0 位 IPL1 (B9H) PPLTL IPH1 (B5H) PPLTH 读 / 写 读 / 写 复位值 (POR/WDT/LVR POR/WDT/LVR/PIN /PIN) PxxxL/H 相应中断源 xxx 优先级选择 42

43 7.9.7 中断处理 中断标志在每个机器周期都会被采样获取 所有中断都在时钟的上升沿被采样 如果一个标志被置起, 那么 CPU 捕获到后中断系统调用一个长转移指令 (LCALL) 调用其中断服务程序, 但由硬件产生的 LCALL 会被下列任何条件阻止 : 同级或更高级的优先级中断在运行中 当前的周期不是执行中指令的最后一个周期 换言之, 正在执行的指令完成前, 任何中断请求都得不到响应 正在执行的是一条 RETI 或者访问专用寄存器 IEN0\1 或是 IPL\H 的指令 换言之, 在 RETI 或者读写 IEN0\1 或是 IPL\H 之后, 不会马上响应中断请求, 而至少在执行一条其它指令之后才会响应 注意 : 因为更改优先级通常需要 2 条指令, 在此期间, 建议关闭相应的中断以避免在修改优先级过程中产生中断 如果当模块状态改变而中断标志不再有效时, 将不会响应此中断 每一个轮询周期只查询有效的中断请求 轮询周期 /LCALL 次序如下图所示 : C1 C2 C3 C3~Cn Cn~Cn+7 Cn+8 Interrupt Polled Interrupt Signal Generated Interrupt Pending Long Call to Interrupt Vector Service Interrupt service Interrupt Latched 中断响应时间 由硬件产生的 LCALL 把程序计数器中的内容压入堆栈 ( 但不保存 PSW), 然后将相应中断源的向量地址 ( 参照中断向量表 ) 存入程序计数器 中断服务程序从指定地址开始, 到 RETI 指令结束 RETI 指令通知处理器中断服务程序结束, 然后把堆栈顶部两字节弹出, 重加载程序计数器中, 执行完中断服务程序后程序回到原来停止的地方 RET 指令也可以返回到原来地址继续执行, 但是中断优先级控制系统仍然认为一个同一优先级的中断被响应, 这种情况下, 当同一优先级或低优先级中断将不会被响应 中断响应时间 如果检测出一个中断, 这个中断的请求标志位就会在被检测后的每个机器周期被置起 内部电路会保持这个值直到下一个机器周期,CPU 会在第三个机器周期产生中断 如果响应有效且条件允许, 在下一个指令执行的时候硬件 LCALL 指令将调用请求中断的服务程序, 否则中断被挂起 LCALL 指令调用程序需要 7 个机器周期 因而, 从外部中断请求到开始执行中断程序至少需要 3+7 个完整的机器周期 当请求因前述的的三个情况受阻时, 中断响应时间会加长 如果同级或更高优先级的中断正在执行, 额外的等待时间取决于正执行的中断服务程序的长度 如果正在执行的指令还没有进行到最后一个周期, 假如正在执行 RETI 指令, 则完成正在执行的 RETI 指令, 需要 8 个周期, 加上为完成下一条指令所需的最长时间 20 个机器周期 ( 如果该指令是 16 位操作数的 DIV,MUL 指令 ), 若系统中只有一个中断源, 再加上 LCALL 调用指令 7 个机器周期, 则最长的响应时间是 个机器周期 所以, 中断响应时间一般大于 10 个机器周期小于 37 个机器周期 43

44 7.9.9 外部中断输入 01 有 2 个外部中断输入 外部中断 0/1 分别有一个独立的中断源, 可以通过设置 TCON 寄存器的 IT1,IT0 位来选择是电平触发或是边沿触发 当 ITx = 0(x = 0,1) 时, 外部中断 INTx(x = 0,1) 引脚为低电平触发 ; 当 ITx(x = 0,1)= 1, 外部中断 INTx(x = 0,1) 为沿触发, 在这个模式中, 一个周期内 INTx(x = 0,1) 引脚上连续采样为高电平而下个周期为低电平, TCON 寄存器的中断请求标志位置 1, 发出一个中断请求 由于外部中断引脚每个机器周期采样一次, 输入高或低电平应当保持至少 1 个机器周期以确保能够被正确采样到 如果外部中断为下降沿触发, 外部中断源应当将中断脚至少保持 1 个机器周期高电平, 然后至少保持 1 个机器周期低电平 这样就确保了边沿能够被检测到以使 IEx 置 1 当调用中断服务程序后,CPU 自动将 IEx 清 0 如果外部中断为低电平触发, 外部中断源必须一直保持请求有效, 直到产生所请求的中断为止, 此过程需要 2 个系统时钟周期 如果中断服务完成后而外部中断仍旧维持, 则会产生下一次中断 当中断为电平触发时不必清除中断标志 IE x(x = 0,1,2,3), 因为中断只与输入口电平有关 当 01 进入空闲或是掉电模式, 中断会唤醒处理器继续工作, 详见电源管理章节 注意 : 外部中断 0/1 的中断标志位在执行中断服务程序时被自动硬件清 0 1 Machine Cyle High-Level Threshold Low-Level Threshold >1 Machine Cycle Low-Level Threshold >2 Machine Cycle 外部中断检测 中断汇总中断源 向量地址 允许位 标记位 轮询优先级 Reset 0000h - - 0( 最高级 ) INT0 0003h EX0 IE0 2 Timer0 000Bh ET0 TF0 3 INT1 0013h EX1 IE1 4 Timer1 001Bh ET1 TF1 5 EUART 0023h ES RI+TI 6 Timer2 002Bh ET2 TF2+EXF2 7 ADC 0033h EADC ADCIF 8 PLT 003Bh EPLT RXINT+TXINT 9 OVL NMI 007Bh

45 8. 增强功能 8.1 增强型通用异步收发器 (EUART EUART) 特性 01 带有 1 个 EUART, 兼容传统 8051 波特率可选择为系统时钟分频或定时器 1/2 的溢出率 增强功能包括帧出错检测及自动地址识别 EUART 有四种工作方式 EUART 工作方式 EUART 有 4 种工作方式 在通信之前用户必须先初始化 SCON, 选择方式和波特率 如果使用方式 1 或方式 3 应先初始化定时器 1 或定时器 2 在所有四种方式中, 任何将 SBUF 作为目标寄存器的写操作都会启动发送 在方式 0 中由设置 RI = 0 和 REN = 1 初始化接收 这会在 TXD 引脚上产生一个时钟信号, 然后在 RXD 引脚上移 8 位数据 在其他方式中由输入的起始位初始化接收 ( 如果 REN = 1) 通过发送起始位, 外部发送器开始通信 注意 : 由于 TxD 与 P1.1 复用, 因此当有数据写入 SBUF 时,UART 将通过 TxD 发送数据 当发送结束后,TxD 将恢复成作为 I/O 使用 所以当需要使用 UART 时, 用户必须在 UART 初始化程序中将 P1.1 设置成输出高的状态 EUART 模式列表 SM0 SM1 方式类型波特时钟帧长度起始位停止位第 9 位 同步 f SYS /(4 或 12) 8 位无无无 异步定时器 1 或 2 的溢出率 /(16 或 32) 10 位 1 1 无 异步 f SYS /(32 或 64) 11 位 1 1 0, 异步定时器 1 或 2 的溢出率 /(16 或 32) 11 位 1 1 0,1 模式 0: 同步, 半双工通讯 方式 0 支持与外部设备的同步通信 在 RXD 引脚上收发串行数据 TXD 引脚用作发送移位时钟 因此这个模式是串行通信的半双工方式 在这个方式中, 每帧收发 8 位, 低位先接收或发送 通过置 SM2 位 (SCON.5) 为 0 或 1, 波特率固定为系统时钟的 1/12 或 1/4 当 SM2 位为 0 时, 串行端口以系统时钟的 1/12 运行 当置 1 时, 串行端口以系统时钟的 1/4 运行 与标准 8051 唯一不同的是,01 在方式 0 中有可变波特率 功能块框图如下图所示 数据通过 RXD 引脚进入和移出串行端口 移位时钟由 TXD 引脚输出, 用来移位进出 01 的数据 Transmit Shift Register System Clock 12 4 Write to SBUF TX START Internal Data Bus TX SHIFT PARIN LOAD CLOCK SOUT RXD 0 1 TX CLOCK SERIAL CONTROLLER TI RI Serial Port Interrupt RI REN RX CLOCK RX START SHIFT CLOCK LOAD SBUF RX SHIFT TXD P1.1 Alternate Output Function Read SBUF RXD CLOCK PAROUT SIN SBUF SBUF Internal Data Bus Receive Shift Register 45

46 任何将 SBUF 作为目标寄存器的写操作都会启动发送 下一个系统时钟 Tx 控制块开始发送 数据转换发生在移位时钟的下降沿, 移位寄存器的内容逐次从左往右移位, 空位置 0 当移位寄存器中的所有 8 位都发送后,Tx 控制模块停止发送操作, 然后在下一个系统时钟的上升沿将 TI 置 1(SCON.1), 并且 RxD 引脚保持高电平 Write to SBUF RxD TxD D0 D1 D2 D3 D4 D5 D6 D7 TI Send Timing of Mode 0 REN(SCON.4) 置 1 和 RI(SCON.0) 清 0 初始化接收 下一个机器周期启动接收, 在移位时钟的上升沿锁存数据, 接收转换寄存器的内容逐次向左移位 当所有 8 位都移入接收移位寄存器中后,Rx 控制块停止接收, 然后在下一个机器周期的上升沿上 RI 置 1, 直到被软件清 0 才允许接收 RxD TxD D0 D1 D2 D3 D4 D5 D6 D7 RI 模式 1:8 位 EUART, 可变波特率, 异步全双工 Receive Timing of Mode 0 模式 1 提供 10 位全双工异步通讯,10 位由一个起始位 ( 逻辑 0),8 个数据位 ( 低位为第一位 ), 和一个停止位 ( 逻辑 1) 组成 在接收时, 这 8 个数据位存储在 SBUF 中而停止位储存在 RB8(SCON.2) 中 模式 1 中的波特率是可变的, 串行收发波特率可被设置为定时器 1 溢出率的 1/16 或 1/32, 或是定时器 2 溢出率的 1/16( 详见波特率章节 ) 功能块框图如下图所示 : Timer 1 Overflow Timer 2 Overflow (for Serial Port 0 only) Transmit Shift Register STOP SMOD= (SMOD_1) Write to SBUF Internal Data Bus PARIN START LOAD CLOCK SOUT TXD TCLK RCLK TX START TX SHIFT TX CLOCK TI SERIAL CONTROLLER RI Serial Port Interrupt SAMPLE RX CLOCK LOAD SBUF 1-TO-0 DETECTOR RX START RX SHIFT Read SBUF CLOCK PAROUT SBUF RXD BIT DETECTOR SIN D8 RB8 Receive Shift Register 46

47 任何将 SBUF 作为目标寄存器的写操作都会启动发送, 实际上发送是从 16 分频计数器中的下一次跳变之后的系统时钟开始的, 因此位时间与 16 分频计数器是同步的, 与对 SBUF 的写操作不同步 起始位首先在 TXD 引脚上移出, 然后是 8 位数据位 在发送移位寄存器中的所有 8 位数据都发送完后, 停止位在 TXD 引脚上移出, 在停止位发出的同时 Tl 标志置 1 Write to SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 Stop Shift CLK TI Send Timing of Mode 1 只有 REN 位置 1 时才允许接收 当 RXD 引脚检测到下降沿时串行口开始接收串行数据 为此,CPU 对 RXD 不断采样, 采样速率为波特率的 16 倍 当检测下降沿时,16 分频计数器立即复位, 这有助于 16 分频计数器与 RXD 引脚上的串行数据位同步 16 分频计数器把每一位的时间分为 16 个状态, 在第 状态时, 位检测器对 RXD 端的电平进行采样 为抑制噪声, 在这 3 个状态采样中至少有 2 次采样值一致数据才被接收 如果所接收的第一位不是 0, 说明这位不是一帧数据的起始位, 该位被忽略, 接收电路被复位, 等待 RXD 引脚上另一个下降沿的到来 若起始位有效, 则移入移位寄存器, 并接着移入其它位到移位寄存器 8 个数据位和 1 个停止位移入之后, 移位寄存器的内容被分别装入 SBUF 和 RB8 中,RI 置 1, 但必须满足下列条件 : 1. RI = 0 2. SM2 = 0 或者接收的停止位 = 1 如果这些条件被满足, 那么停止位装入 RB8,8 个数据位装入 SBUF,RI 被置 1 否则接收的帧会丢失 这时, 接收器将重新去探测 RXD 端是否另一个下降沿 用户必须用软件清除 RI, 然后才能再次接收 RxD Start D0 D1 D2 D3 D4 D5 D6 D7 Stop Bit Sample Shift CLK RI Receive Timing of Mode 1 47

48 模式 2:9 位 EUART, 固定波特率, 异步全双工 这个模式使用异步全双工通信中的 11 位 一帧由一个起始位 ( 逻辑 0),8 个数据位 ( 低位为第一位 ), 一个可编程的第 9 数据位和一个停止位 ( 逻辑 1) 组成 模式 2 支持多机通信和硬件地址识别 ( 详见多机通讯章节 ) 在数据传送时, 第 9 数据位 (SCON 中的 TB8) 可以写 0 或 1, 例如, 可写入 PSW 中的奇偶位 P, 或用作多机通信中的数据 / 地址标志位 当接收到数据时, 第 9 数据位进入 RB8 而停止位不保存 PCON 中的 SMOD 位选择波特率为系统工作频率的 1/32 或 1/64 功能块框图如下所示 Transmit Shift Register SMOD= (SMOD_1) System Clock Write to SBUF TX START Internal Data Bus TX SHIFT TB8 D8 STOP PARIN START LOAD CLOCK SOUT TXD TX CLOCK SERIAL CONTROLLER TI RI Serial Port Interrupt SAMPLE RX CLOCK LOAD SBUF 1-TO-0 DETECTOR RX START RX SHIFT Read SBUF RXD BIT DETECTOR CLOCK SIN PAROUT D8 SBUF RB8 Internal Data Bus Receive Shift Register 任何将 SBUF 作为目标寄存器的写操作都会启动发送, 同时也将 TB8 加载到发送移位寄存器的第 9 位中 实际上发送是从 16 分频计数器中的下一次跳变之后的系统时钟开始的, 因此位时间与 16 分频计数器是同步的, 与对 SBUF 的写操作不同步 起始位首先在 TXD 引脚上移出, 然后是第 9 数据位 在发送转换寄存器中的所有 9 位数据都发送完后, 停止位在 TXD 引脚上移出, 在停止位发出的同时 Tl 标志置 1 Write to SBUF TxD Start D0 D1 D2 D3 D4 D5 D6 D7 D8 Stop Shift CLK TI Send Timing of Mode 2 48

49 只有 REN 位置 1 时才允许接收 当 RXD 引脚检测到下降沿时串行口开始接收串行数据 为此,CPU 对 RXD 不断采样, 采样速率为波特率的 16 倍 当检测下降沿时,16 分频计数器立即复位 这有助于 16 分频计数器与 RXD 引脚上的串行数据位同步 16 分频计数器把每一位的时间分为 16 个状态, 在第 状态时, 位检测器对 RXD 端的电平进行采样 为抑制噪声, 在这 3 个状态采样中至少有 2 次采样值一致数据才被接收 如果所接收的第一位不是 0, 说明这位不是一帧数据的起始位, 该位被忽略, 接收电路被复位, 等待 RXD 引脚上另一个下降沿的到来 若起始位有效, 则移入移位寄存器, 并接着移入其它位到移位寄存器 9 个数据位和 1 个停止位移入之后, 移位寄存器的内容被分别装入 SBUF 和 RB8 中,RI 置 1, 但必须满足下列条件 : 1. RI = 0 2. SM2 = 0 或者接收的第 9 位 = 1, 且接收的字节符合实际从机地址 如果这些条件被满足, 那么第 9 位移入 RB8,8 位数据移入 SBUF,RI 被置 1 否则接收的数据帧会丢失 在停止位的当中, 接收器回到寻找 RXD 引脚上的另一个下降沿 用户必须用软件清除 RI, 然后才能再次接收 RxD Start D0 D1 D2 D3 D4 D5 D6 D7 D8 Stop Bit Sample Shift CLK RI Receive Timing of Mode 2 模式 3:9 位 EUART, 可变波特率, 异步全双工模式 3 使用模式 2 的传输协议以及模式 1 的波特率产生方式 Timer 1 Overflow Timer 2 Overflow (for Serial Port 0 only) Transmit Shift Register STOP SMOD= (SMOD_1) Internal 2 PARIN Data Bus SOUT TXD 0 TCLK RCLK Write to SBUF TX START TX CLOCK SERIAL CONTROLLER TX SHIFT TB8 TI RI D8 START LOAD CLOCK Serial Port Interrupt SAMPLE RX CLOCK LOAD SBUF 1-TO-0 DETECTOR RX START RX SHIFT Read SBUF RXD BIT DETECTOR CLOCK SIN PAROUT D8 SBUF RB8 Internal Data Bus Receive Shift Register 49

50 波特率 在模式 0 中, 波特率可编程为系统时钟的 1/12 或 1/4, 由 SM2 位决定 当 SM2 为 0 时, 串行端口在系统时钟的 1/12 下运行 当 SM2 为 1 时, 串行端口在系统时钟的 1/4 下运行 在模式 1 和模式 3 中, 波特率可选择来至定时器 1 或定时器 2 的溢出率 分别置 TCLK(T2CON.4) 和 RCLK(T2CON.5) 位为 1 来选择定时器 2 作为 TX 和 RX 的波特时钟源 ( 详见定时器章节 ) 无论 TCLK 还是 RCLK 为逻辑 1, 定时器 2 都为波特率发生器方式 如果 TCLK 和 RCLK 为逻辑 0, 只有定时器 1 作为 Tx 和 Rx 的波特时钟源 模式 1 和模式 3 波特率公式如下所示, 其中 TH1 是定时器 1 的 8 位自动重载寄存器,SMOD 为 EUART 的波特率二倍频器 (PCON.7),[RCAP2H, RCAP2L] 是定时器 2 的 16 位重加载寄存器 定时器 1 时钟源频率为 f T1, 定时器 2 时钟源频率为 f T2 2SMOD f BaudRate = T1 用定时器 1 作为波特率发生器, 定时器 1 工作在方式 TH1 1 ft 2 BaudRate = 用定时器 2 作为波特率发生器, 定时器 2 时钟源为系统时钟 [ RCAP2H, RCAP2L] 1 ft 2 BaudRate = 用定时器作为波特率发生器, 定时器 2 时钟源为 T2 输入引脚时钟 [ RCAP2H, RCAP2L] 在模式 2 中, 波特率固定为系统时钟的 1/32 或 1/64, 由 SMOD 位 (PCON.7) 决定 当 SMOD 位为 0 时,EUART 以系统时钟的 1/64 运行 当 SMOD 位为 1 时,EUART 以系统时钟的 1/32 运行 fsys BaudRate = 2 SMOD ( ) 多机通信 软件地址识别 模式 2 和模式 3 有一个专门的适用于多机通讯的功能 在这两个方式下, 接收的是 9 位数据, 第 9 位移入 RB8 中, 然后再来一位停止位 EUART 可以这样来设定 : 当接收到停止位时, 只有在 RB8 = 1 的条件下, 串行口中断才会有效 ( 请求标志 RI 置 1) 可以通过将 SCON 寄存器的 SM2 位置 1 使 EUART 具有这个功能 在多机通讯系统中, 以如下所述来利用这一功能 当主机要发送一数据块给几个从机中的一个时, 它先送出一地址字节, 以辨认目标从机 地址字节与数据字节可用第 9 数据位区别, 地址字节的第 9 位为 1, 数据字节的第 9 位为 0 如果从机 SM2 为 1, 则不会响应数据字节中断 地址字节可以中断所有从机, 这样, 每一个从机都检查所接收到的地址字节, 以判别自己是不是目标从机 被寻到的从机清 0 SM2 位, 并准备接收即将到来的数据字节, 当接收完毕时, 从机再一次将 SM2 置 1 没有被寻址的从机, 则维持它们的 SM2 位为 1, 忽略到来的数据字节, 继续做自己的事情 注意 : 在模式 0 中,SM2 用来选择波特率加倍 在模式 1 中,SM2 用来检测停止位是否有效, 如果 SM2 = 1, 接收中断不会响应直到接收到一个有效的停止位 自动 ( 硬件 ) 地址识别在模式 2 和模式 3 中,SM2 置 1 将使 EUART 在如下状态下运行 : 当 1 个停止位被接收时, 如果加载 RB8 的第 9 数据位为 1( 地址字节 ) 并且接收到的数据字节符合 EUART 的从机地址,EUART 产生一个中断 接着, 从机应该将 SM2 清零, 以接收后续的数据字节 在 9 位方式下要求第 9 位为 1 以表明该字节是地址而非数据 当主机要发送一组数据给几个从机中的一个时, 必须先发送目标从机的地址 所有从机在等待接收地址字节时, 为了确保仅在接收地址字节时产生中断,SM2 位必须置 1 自动地址识别的特点是只有地址匹配的从机才能产生中断, 地址比较通过硬件完成而不是软件 中断产生后, 地址相匹配的从机清零 SM2, 继续接收数据字节 地址不匹配的从机不受影响, 将继续等待接收和它匹配的地址字节 一旦全部信息接收完毕, 地址匹配的从机应该再次把 SM2 置 1, 忽略所有传送的非地址字节, 直到接收到下一个地址字节 使用自动地址识别功能时, 主机可以通过调用给定的从机地址选择与一个或多个从机通信 使用广播地址可以联系所有的从机 有两个特殊功能寄存器用来定义从机地址 (SADDR) 和地址屏蔽 (SADEN) 从机地址是一个 8 位的字节, 存于 SADDR 寄存器中 SADEN 用于定义 SADDR 内位的有效与否, 如果 SADEN 中某一位为 0, 则 SADDR 中相应位的被忽略, 如果 SADEN 中某一位置 1, 则 SADDR 中相应位的将用于得到给定的从机地址 这可以使用户在不改变 SADDR 寄存器中的从机地址的情况下灵活地寻址多个从机 使用给定地址可以识别多个从机而排除其它的从机 50

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

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

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

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

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

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

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

目 录

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

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

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

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

79F161 V0.2

79F161 V0.2 集成 8 路触摸按键,12 位 PWM 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:32K 字节 ( 烧写次数 1 万次 ) RAM: 内部 256 字节, 外部 1280 字节,LED RAM 28 字节, 触摸按键 RAM 16 字节 类 EEPROM:1024 字节 ( 烧写次数 10 万次 ) 工作电压 : - f OSC =

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

79F161 V0.2

79F161 V0.2 SH79F16 1611 11 集成 ADC 和 PWM 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 集成单周期执行时间 16 X 16bit 硬件乘法器 集成 8 周期执行时间 32 / 16bit 硬件除法器 集成 1 周期 32bit 硬件移位单元 Flash ROM:16K 字节 RAM:1.5K 字节 工作电压 : f OSC = 400k -

More information

G80F915

G80F915 VER1.2 2014.5 选型指南 订购型号 FLASH ROM RAM I/O MAX TIMER INT LCD LED PWM EUART 其他温度范围封装 G80F915U 32K 1.5K 46 4*16 5 8*24/6*26 1*12 3~8*8 5*27/4*28 1*8 G80F915F 32K 1.5K 42 4*16 5 8*20/6*22 1*12 3~8*8 5*23/4*24

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

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

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

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

More information

at89S52.doc

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

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

79F161 V0.2

79F161 V0.2 增强型 8051 微控制器 1. 特性 基于 8051 兼容流水指令的 8 位单片机 Flash ROM:64K 字节 ISP ROM:1K 字节 RAM: 内部 256 字节, 外部 2816 字节 EEPROM: 内建 2048 字节 5Byte 可读 MCU 识别码 CPU 最高频率 24M 工作电压 :V DD = 2.0V - 5.5V 振荡器 ( 代码选项 ): - 高频晶体谐振器 :2MHz

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

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

部分编号派生器件编号 (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

79F161 V0.2

79F161 V0.2 集成 16 路触摸按键输入和 PWM 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:32K 字节 RAM: 内部 256 字节, 外部 1280 字节,LCD RAM16 字节 touchkey RAM 32 字节 类 EEPROM: 最大 4096 字节 ( 代码选项可选 ) 工作电压 : - f OSC = 32.768kHz -

More information

79F161 V0.2

79F161 V0.2 集成 16 路触摸按键输入和 PWM 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:16K 字节 RAM: 内部 256 字节, 外部 1280 字节,LCD RAM15 字节 touchkey RAM 32 字节 类 EEPROM: 最大 4096 字节 ( 代码选项可选 ) 工作电压 : - f OSC = 32.768kHz -

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

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

79F161 V0.2

79F161 V0.2 集成 24 路触摸按键输入和 PWM 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:32K 字节 RAM: 内部 256 字节, 外部 1280 字节,LCD RAM28 字节 touchkey RAM 48 字节 类 EEPROM: 最大 4096 字节 ( 代码选项可选 ) 工作电压 : - f OSC = 32.768kHz -

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

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

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

电子驿站技术文档

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

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

另外,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

四位微控制器ML64168_ _.doc

四位微控制器ML64168_ _.doc SSSC /4168P 2005 8 4 4, (ADC), LCD Driver, (Buzzer), 1 3 CPU17 CPU 26 33 42 45 48 73 79 85 89 A/D 92 111 125 128 131 SSU4168P 133 143 A: / 153 B: 156 C: 158 D: 160 E: 161 F: 163 G: PAD 167 2 ,, 11 4 CMOS

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

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

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

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

CM ZT1

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

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

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

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

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

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

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

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

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

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

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

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 EDM12832-08 : 25-1 : 116600 : (0411)7612956 7632020 7631122 : (0411)7612958 Model No.: Editor: LCD 1. ----------------------------------------------------3 2. ----------------------------------------------------3

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

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

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi SPHE8202R Design Guide V2.0 JUN, 2007 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com SPHE8202R Design Guide Important Notice

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

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

PowerPoint 演示文稿

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

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

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

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

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

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

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

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

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

DATASHEET SEARCH SITE ==

DATASHEET SEARCH SITE == 1K 一次性编程, 10 位 ADC 型 4 位单片机 特性 基于 SH6610C, 10 位 ADC 型 4 位单片机 OTP ROM: 1K X 16 位 RAM: 124 X 4 位 - 28 系统控制寄存器 - 96 数据存储器 工作电压 : - fosc = 16MHz, VDD = 3.3V - 5.5V 6 个双向 I/O 端口 4 层堆栈 ( 包括中断 ) 一个 8 位自动重载定时

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

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

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

IC芯片自主创新设计实验

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

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

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

Microsoft Word - IRFWX-A078_A_SM59R08A2_SM59R16A2_IIC APN_SC_.doc

Microsoft Word - IRFWX-A078_A_SM59R08A2_SM59R16A2_IIC APN_SC_.doc 1 适用产品 :SM59R16A2 / SM59R08A2 2 IIC 使用概述 : 2.1 IIC module 硬件使用 SCL (clock) 及 SDA (data) 两条线 2.2 速度 :SCL 最高可达 400Kbps( 可由软件设定 SFR IICBR[2:0]) 2.3 IIC 可选择 master 或 slave 两种模式 2.4 提供中断 (RXIF, TXIF) 及两组控制地址使用

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

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

untitled

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

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

2 PIC PIC 1 / CPU PIC MCU PIC RC

2 PIC PIC 1 / CPU PIC MCU PIC RC 2 PIC PIC 1 /... 2-2 2... 2-3 3... 2-4 4... 2-4 5... 2-4 6 CPU... 2-5 7 PIC MCU... 2-6 8 PIC16... 2-6 9... 2-7 10... 2-7 11 RC... 2-7 12... 2-8 13... 2-8 14 NOP... 2-9 15 PMD... 2-9 16... 2-10 17 WDTWDT...

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

Ch03_嵌入式作業系統建置_01

Ch03_嵌入式作業系統建置_01 Chapter 3 CPU Motorola DragonBall ( Palm PDA) MIPS ( CPU) Hitachi SH (Sega DreamCast CPU) ARM StrongARM CPU CPU RISC (reduced instruction set computer ) CISC (complex instruction set computer ) DSP(digital

More information

untitled

untitled XILINX Platform Cbale USB www.hseda.com ...... Platform Cable USB Compatible.................. impact.........1 platform Cable USB Compatible.........1...1...1...1...1...1 Platform Cable USB Compatible

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

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

SC92F742X

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

More information

DL1621-1

DL1621-1 General Description: DL1621-1, 含 LCD 的控制线路, 搭配 MCU 来使用, 将使使用者的成本降低, 以及应用更加. 宽广 Features: 工作电压 2.4V-5.5V 系统频率 : - 内建 RC 振荡器 (256Khz) - 外挂 32768Hz 晶振 - 外灌 256Khz 输入 ( 由 OSCI 脚 ) 提供简单 3 pins 串接接口 (CKRB/ CKWB/

More information

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - MSP430 Launchpad 指导书.docx Contents 3... 9... 14 MSP430 LAUNCHPAD 指导书 3 第一部分第一个工程 New Project File > New > CCS Project Project name: ButtonLED Device>Family: MSP430 Variant: MSP430G2553 Project templates and examples : Empty Project

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

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

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

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg

Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15 LM361 LM361 Zlg 1 1 a. 0.5V 5V 1Hz 1MHz b. 0.1% 2 : a. 0.5V 5V 1Hz 1MHz b. 0.1% (3) a. 0.5V 5V 100 s b. 1% 4 1 10 5 1MHz 6 1 2 1 0.1Hz 10MHz 0.5V 5V 0.01% 10s 2 0.5V 5V 1Hz 1kHz 10% 90% 1% 3 1Hz 1MHz 1% EPM7128SLC84-15

More information

() () () () () () () () DDRAM () II

() () () () () () () () DDRAM () II 液晶模块说明书 SPEC NO YM2232A REV NO. 液晶显示模块产品说明书 产品类型 : 产品型号 : 产品描述 : 标准产品 YM2232A 22x32 图形点阵模块, 控制器 :SED52,LED 背光 客户名称 : 客户确认 : 编写 : Dexun Zou 审核 : HCC 批准 : Jingxi Yang 发行日期 : 22.8 大连佳显电子有限公司 地址 : 大连市沙河口区工华街

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

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

79 SZ/SH/SM ONOFF SET/RST SZSHSM SET SET RST RESET ( ) ( ) SET XXXX SET XXXX XXXX RST XXXX RST XXXX XXXX 1(2) SZ3 SZ4 SH SM I000~I177 I000~I477 I000~I

79 SZ/SH/SM ONOFF SET/RST SZSHSM SET SET RST RESET ( ) ( ) SET XXXX SET XXXX XXXX RST XXXX RST XXXX XXXX 1(2) SZ3 SZ4 SH SM I000~I177 I000~I477 I000~I 78 SZ/SH/SM 55 ON OUT/ZOUT OUT OUT AOUT ZOUT SZ3 SZ4 SH SM SZSHSM I000~I177 I000~I477 I000~I077 I000~I077 1 Q000~Q177 Q000~Q477 Q000~Q077 Q000~Q077 M000~M377 M000~M377 M000~M377 M000~M377 1. ON OFF 2.OUT

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

微處理機期末專題

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

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