79F1616A51定时器手册按照手册写的,始终不行,求助

当前位置: >>
SH79F6431 中文手册
SH79F6431Preliminary 1 特性? 基于 8051 指令流水线结构的 8 位单片机 ? Flash ROM: 64K 字节 ? RAM: 内部 256 字节, 外部 2816 字节 LCD RAM: 39 字节 ? 工作电压: 2.4V-3.6V 18 个 I/O 单独由 VDDIO 供电(2.4V~5.5V) ? 振荡器: 晶体谐振器: 32.768kHz 内部振荡器: 内建 PLL=9.8304MHz ? 46 个 CMOS 双向 I/O 管脚 ? I/O 内建输入口上拉电阻 ? 3 个 16 位定时器/计数器 T0, T1 和 T2 ? 中断源: - 定时器 0, 定时器 1, 定时器 2 - 外部中断 1, 2, 3 - EUART0, EUART1, EUART2 - HSEC, LPD, TWI - ADC, PWM ? 4 通道 10 位模数转换器(ADC),内建比较功能 ? TWI(主模式) ? EUART0,EUART1 (内建 IR), EUART2 ? 在系统编程(ISP) ? 实时时钟 (小于 3 ppm = 0.26s/d) ? 自动切换电池供电实时时钟 ? 2 路 12 位 PWM ? LCD 驱动器: -4 x 39 段 (1/4 占空比 1/3 偏置) -8 级对比度软件调节 ? 内建低电压检测功能 (LPD) ? 内建低电压复位功能(LVR) (代码选项) LVR 电压:2.4V ? 看门狗定时器(WDT) ? 内建振荡器预热计数器 ? CPU 机器周期: 一个振荡周期 ? 支持省电运行模式:: - 空闲模式 - 高级空闲模式 - 掉电模式 ? 低功耗 ? 封装:LQFP64集成实时时钟、LCD 驱动的增强型 80512 概述SH79F6431 是一颗低功耗高性能 8 ?ì 芯片,片内集成 LCD 驱动、实时时钟和加强 8051 核等功能。 SH79F6431 内嵌加强 8051 核,具有高速高效率特性。在同样振荡频率下,较之传统的 8051 芯片它具有运行更快速的优 越特性。保留了标准 8051 芯片的大部分特性。这些特性包括内置 256 字节 RAM 和 2 个 16 位定时器/计数器,3 个 UART,外 部中断 INT1。此外,SH79F6431 还集成了外部 2816 字节 RAM(不包括 LCD RAM),2 路 12 位 PWM 输出,外部中断 INT2 和 INT3,可兼容 8052 芯片的 16 位定时器/计数器(Timer2)和适合存储程序和数据的 64K 字节 flash。 SH79F6431 不仅集成了如 EUART、IR、TWI 等标准通讯模块, 此外还集成了实时时钟、LCD 驱动器、ADC 等模块。 为了达到高可靠性和低功耗,SH79F6431 内建 PLL 时钟, 看门狗定时器,低电压复位功能和低电压检测功能。此外 SH79F6431 还提供了 2 种供电模式和 3 种低功耗省电模式。1/115V0.1 SH79F64313 方框图VDD VBAT C VOUT P ipelined 8051 architecture P ower W atch D og Low V oltage R eset V IN Low V oltage D etect 64K bytes F lash R O M T0 T1 T2 T 2E X IN T 1 IN T 2 IN T 3 T im er0 (16bit) T im er1 (16bit) T im er2 (16bit) Internal 256 bytes externall2816 bytes LC D R A M 39bytes P ort 5 C onfiguration I/O s P 0.6 P 0.7 P 5.0 ~ P 5.7 R eset circuit RSTP owerV D D IOE xternal InterruptP ort 4 C onfiguration I/O s P ort 3 C onfiguration I/O s P ort 2 C onfiguration I/O sP 4.0 ~ P 4.7 P 3.0 P 3.2~P 3.6 P 2.0 ~ P 2.7 P 1.0 ~ P 1.7 P 0.0 ~ P 0.7 R XD 0/TXD 0 R XD 1/TXD 1 R XD 2/TXD 2 S D A /S C L C O M 1-4 S eg1-39T em perature sensor AN0 AN1 AN2 AN3 PW M0 PW M1 P LL_C XT A L1 XTA L2 C A LO U T C A LIN P LLADCP ort 1 C onfiguration I/O s P ort 0 C onfiguration I/O s E U A R T 0,1/IR E U A R T2 T W I (M aster m ode) LC D driver 4x39 8 levels contrast software adjust JT A G ports (for debug)PW M O scillatorO scillatorRTCTMS TDI TDO TC K2/115V0.1 SH79F64314 引脚配置P0.6/SEG11/RXD2 P0.7/SEG12/TXD2 P0.5/SEG10/TCK P1.4/PWM0/SEG1P0.3/SEG8/TMSP0.2/SEG7/TDOP0.4/SEG9/TDIP1.3/COM4P1.2/COM3P1.1/COM2 3448 SEG13/P4.0 SEG14/P4.1 SEG15/P4.2 SEG16/P4.3 SEG17/P4.4 SEG18/P4.5 SEG19/P4.6 SEG20/P4.7 SEG21/P5.0 SEG22/P5.1 SEG23/P5.2 SEG24/P5.3 SEG25/P5.4 SEG26/P5.5 SEG27/PWM1/P5.6 SEG28/INT1/P5.7 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 147464544434241403938373635P1.0/COM1 33 32 31 30 29 28 27 26 P3.6/SEG32/TXD0 P3.5/SEG31/RXD0 P3.4/SEG30/TXD1 P3.3/SEG29/RXD1 P3.2/T2/CALOUT P3.0/T2EX/T0 P2.7/INT2/T1 P2.6/INT3/AN3 P2.5/AN2 P2.4/AN1 P2.3/AN0/VIN P2.2/SDA P2.1/SCL/CALIN P2.0/RST NC XTAL1 25 24 23 22 21 20 19 18 17 16 XTAL2P0.0/SEG5P1.7/SEG4P0.1/SEG6SH79F6431(LQFP64)2345678910P1.6/SEG311P1.5/SEG21213 VDD1415DGNDSEG33SEG34SEG35SEG38SEG39VDDIOPLL_CSEG36SEG37VOUTVBATNC引脚配置图注意: 引脚命名中, 写在最外侧的引脚功能具有最高优先级, 最内侧的引脚功能具有最低优先级 (参见引脚配置图, 例如 CALOUT /T2/P3.2,CALOUT 优先级最高,T2 次之,P3.2 最低) 。当一个引脚被高优先级的功能占用时,即使低优先级功能被允许,也 不能作为低优先级功能的引脚。只有当软件禁止引脚的高优先级功能,相应引脚才能被释放作为低优先级端口使用。3/115CV0.1 SH79F6431引脚功能 引脚编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32引脚命名 VDDIO SEG33 SEG34 SEG35 SEG36 SEG37 SEG38 SEG39 NC DGND PLL_C VBAT VDD VOUT C XTAL2 XTAL1 NC P2.0/RST CALIN/SCL/P2.1 SDA/P2.2 VIN/AN0/P2.3 AN1/P2.4 AN2/P2.5 AN3/INT3/P2.6 T1/INT2/P2.7 T0/T2EX/P3.0 CALOUT/T2/P3.2 RXD1/SEG29/P3.3 TXD1/SEG30/P3.4 RXD0/SEG31/P3.5 TXD0/SEG32/P3.6――――默认功能 -----SEG33 SEG34 SEG35 SEG36 SEG37 SEG38 SEG39 --------------------------------------------------RST P2.1 P2.2 VIN P2.4 P2.5 P2.6 P2.7 P3.0 P3.2 P3.3 P3.4 P3.5 P3.6――――引脚编号 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64引脚命名 COM1/P1.0 COM2/P1.1 COM3/P1.2 COM4/P1.3 SEG1/PWM0/P1.4 SEG2/P1.5 SEG3/P1.6 SEG4/P1.7 SEG5/P0.0 SEG6/P0.1 TDO/SEG7/P0.2 TMS/SEG8/P0.3 TDI/SEG9/P0.4 TCK/SEG10/P0.5 RXD2/SEG11/P0.6 TXD2/SEG12/P0.7 SEG13/P4.0 SEG14/P4.1 SEG15/P4.2 SEG16/P4.3 SEG17/P4.4 SEG18/P4.5 SEG19/P4.6 SEG20/P4.7 SEG21/P5.0 SEG22/P5.1 SEG23/P5.2 SEG24/P5.3 SEG25/P5.4 SEG26/P5.5 SEG27/PWM1/P5.6 SEG28/INT1/P5.7默认功能 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P4.0 P4.1 P4.2 P4.3 P4.4 P4.5 P4.6 P4.7 P5.0 P5.1 P5.2 P5.3 P5.4 P5.5 P5.6 P5.74/115V0.1 SH79F64315 引脚描述引脚描述 Pin PORT P0.0 C P0.7 P1.0 C P1.7 P2.0 C P2.7 P3.0, P3.2 C P3.6 P4.0 C P4.7 P5.0 C P5.7 Timer T0 T1 T2 T2EX EUART RXD0 TXD0 RXD1 TXD1 RXD2 TXD2 TWI SDA SCL LCD 控制器 COM1 - COM4 SEG1 C SEG32 ADC AN0-AN3 RTC CALOUT CALIN PWM PWM0 PWM1 中断、复位、时钟、电源 INT1 C INT3――――Type I/O I/O I/O I/O I/O I/O I I I/O I I/O O I/O O I/O O I/O O O O I O I O O I I I O P P P P PDescription 8 位双向 I/O 端口 (P0.6,P0.7 由 VDDIO 脚提供工作电压) 8 位双向 I/O 端口 8 位双向 I/O 端口 6 位双向 I/O 端口 8 位双向 I/O 端口 (由 VDDIO 脚提供工作电压) 8 位双向 I/O 端口 (由 VDDIO 脚提供工作电压) Timer0 外部输入或比较输出 Timer1 外部输入或比较输出 Timer2 外部输入/波特率时钟输出 Timer2 重载/捕捉/方向控制 EUART0 数据输入/输出引脚 EUART0 数据输出引脚 EUART1 数据输入/输出引脚 EUART1 数据输出引脚 EUART2 数据输入/输出引脚 EUART2 数据输出引脚 TWI 串行数据线(开漏) TWI 串行时钟线(开漏) LCD Com 信号输出脚 LCD Segment 信号输出脚 ADC 输入通道 补偿时钟输出引脚 校准时钟输入引脚 PWM0 输出引脚 PWM1 输出引脚 外部中断 1、2、3 该引脚上保持 10us 以上的低电平,CPU 将复位。由于有内建 30kΩ上拉电阻连接到 VOUT,所以仅接一个外部电容即可实现上电复位。 低频振荡器输入 低频振荡器输出 内建 PLL 外部电容连接脚 数字接地 电源 电源输出(由开关选择 VDD 或 VBAT 输出) ,提供数字电路电源。 电池输入RSTXTAL1 XTAL2 PLL_C DGND VDD VOUT VBAT5/115V0.1 SH79F6431I/O 电源 (47-64 引脚供电电源) VDDIO P 编程接口 TDO (SEG7) O 调试接口:测试数据输出 TMS (SEG8) I 调试接口:测试模式选择 TDI (SEG9) I 调试接口:测试数据输入 TCK (SEG10) I 调试接口:测试时钟输入 注意: 当 SEG7-SEG10 作为调试接口时,SEG7-SEG10 的原有功能被限制。 稳压源 C 外部电压 VIN I 外部电压输入 O 内部稳压源输出(外接 47μF 电容)6/115V0.1 SH79F64316 SFR 映像SH79F6431 内置 256 字节的直接寻址寄存器,包括通用数据存储器和特殊功能存储器(SFR) ,SH79F6431 的 SFR 有以下 几种: CPU 内核寄存器: CPU 内核增强寄存器: 电源和时钟控制寄存器: LPD 寄存器: Flash 寄存器: ISP 控制寄存器: 数据页面控制寄存器: ACC,B,PSW,SP,DPL,DPH AUXC,DPL1,DPH1,INSCON,XPAGE PCON,SUSLO,PASLO LPDCON IB_OFFSET,XPAGE,IB_DATA,IB_CON1,IB_CON2,IB_CON3,IB_CON4,IB_CON5 ISPCON,ISPLO,FLASHCON XPAGE硬件看门狗定时器寄存器: RSTSTAT 中断寄存器: I/O 端口寄存器: IEN0,IEN1,IPH0,IPL0,IPH1,IPL1,EXF0 P0,P1,P2,P3,P4,P0CR,P1CR,P2CR,P3CR,P4CR,P0PCR,P1PCR,P2PCR, P3PCR,P4PCR,P2OS,P5,P5CR,P5PCR TCON1,TCON,TMOD,TL0,TH0,TL1,TH1,T2CON,T2MOD,EXF0,TL2,TH2, RCAP2L,RCAP2H PCON,SCON,SBUF,SADDR,SADEN,SBRTH,SBRTL SCON1,SBUF1,SADDR1,SADEN1,SBRTH1,SBRTL1 SCON2,SBUF2,SADDR2,SADEN2,SBRTH2,SBRTL2 IRCON TWICON,TWIDAT ADCON,ADT,ADCH,ADDL,ADDH LCDCON,LCDCON1,P1SS,P0SS,P4SS,P5SS,P3SS CLKCON RTCCON,RTCDAT,SEC,MIN,HR,DAY,MTH,YR,DOW,RTCT PWM0CON, PWM0PH, PWM0PL, PWM0DH, PWM0DL, PWM1CON, PWM1PH, PWM1PL, PWM1DH,PWM1DL ISPCON,ISPLO,FLASHCONTimer 寄存器:EUART0 寄存器: EUART1 寄存器: EUART2 寄存器: IR 寄存器: TWI 寄存器: ADC 寄存器: LCD 寄存器: PLL 寄存器: RTC 寄存器: PWM 寄存器:ISP 控制寄存器:7/115V0.1 SH79F6431CPU 核 SFRs符号 ACC B AUXC PSW SP DPL DPH DPL1 DPH1 INSCON 地址 E0H F0H F1H D0H 81H 82H 名称 累加器 B 寄存器 C 寄存器 程序状态字 堆栈指针 POR/WDT /LVR/PIN 复位值 00 00 00 ----00-0 第7位 ACC.7 B.7 C.7 CY SP.7 DPL0.7 DPH0.7 DPL1.7 DPH1.7 第6位 ACC.6 B.6 C.6 AC SP.6 DPL0.6 DPH0.6 DPL1.6 DPH1.6 第5位 ACC.5 B.5 C.5 F0 SP.5 DPL0.5 DPH0.5 DPL1.5 DPH1.5 第4位 ACC.4 B.4 C.4 RS1 SP.4 DPL0.4 DPH0.4 DPL1.4 DPH1.4 第3位 ACC.3 B.3 C.3 RS0 SP.3 DPL0.3 DPH0.3 DPL1.3 DPH1.3 DIV 第2位 ACC.2 B.2 C.2 OV SP.2 DPL0.2 DPH0.2 DPL1.2 DPH1.2 MUL 第1位 ACC.1 B.1 C.1 F1 SP.1 DPL0.1 DPH0.1 DPL1.1 DPH1.1 第0位 ACC.0 B.0 C.0 P SP.0 DPL0.0 DPH0.0 DPL1.0 DPH1.0 DPS数据指针 1 低位 字节 数据指针 1 高 83H 位字节 数据指针 2 低 84H 位字节 数据指针 2 高 85H 位字节 86H 数据指针选择数据存储页 SFR符号 XPAGE 地址 F7H 名称 POR/WDT /LVR/PIN 复位值 第7位 XPAGE.7 第6位 XPAGE.6 第5位 XPAGE.5 第4位 XPAGE.4 第3位 XPAGE.3 第2位 XPAGE.2 第1位 XPAGE.1 第0位 XPAGE.0flash 页寄存器 电源和时钟控制 SFRs符号 PCON SUSLO PASLO 地址 87H 8EH E7H 名称 电源控制 省电模式控制 电源切换控制 POR/WDT /LVR/PIN 复位值 00 第7位 SMOD SUSLO.7 PASLO.7 第6位 SSTAT SUSLO.6 PASLO.6 第5位 SSTAT1 SUSLO.5 PASLO.5 第4位 SIDL SUSLO.4 PASLO.4 第3位 GF1 SUSLO.3 PASLO.3 第2位 GF0 SUSLO.2 PASLO.2 第1位 PD SUSLO.1 PASLO.1 第0位 IDL SUSLO.0 PASLO.0LPD 控制 SFR 符号 LPDCON 地址 B3H 名称 LPD 控制寄存 器 POR/WDT /LVR/PIN 复位值 100*00-* 第7位 LPDEN 第6位 FVIN 第5位 LPDIF 第4位 VOUTS 第3位 FVDD 第2位 LPDS 第1位 第0位 AUTOS*注: LPDCON 初始值根据不同类型的复位而不同。8/115V0.1 SH79F6431Flash 控制 SFRs符号 地址 名称 编程地址偏 移寄存器 编程用数据 寄存器 SSP 操作模 式选择寄存 器 SSP 流程控 制控制寄存 器1 SSP 流程控 制寄存器 2 SSP 流 程 控 制寄存器3 SSP 流 程 控 制寄存器4 POR/WDT /LVR/PIN 复位值
第7位 IB_OFF SET.7 第6位 IB_OFF SET.6 第5位 IB_OFF SET.5 第4位 IB_OFF SET.4 第3位 IB_OFF SET.3 第2位 IB_OFF SET.2 第1位 IB_OFF SET.1 第0位 IB_OFF SET.0IB_OFFSET FBH IB_DATA IB_CON1 FCH F2H 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.7 IB_CON1.6 IB_CON1.5 IB_CON1.4 IB_CON1.3 IB_CON1.2 IB_CON1.1 IB_CON1.0IB_CON2 IB_CON3 IB_CON4 IB_CON5F3H F4H F5H F6H----0000 ----0000 ----0000 ----0000----IB_CON2.3 IB_CON2.2 IB_CON2.1 IB_CON2.0 IB_CON3.3 IB_CON3.2 IB_CON3.1 IB_CON3.0 IB_CON4.3 IB_CON4.2 IB_CON4.1 IB_CON4.0 IB_ON5.3 IB_CON5.2 IB_CON5.1 IB_CON5.0ISP控制SFRs符号 ISPCON 地址 A6H 名称 POR/WDT /LVR/PIN 复位值 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位ISP 控制寄存
ISPCON.7 ISPCON.6 ISPCON.5 ISPCON.4 ISPCON.3 ISPCON.2 ISPCON.1 ISPCON.0 器 ISP 保护寄存 ISPLO A5H
ISPLO.7 ISPLO.6 ISPLO.5 ISPLO.4 ISPLO.3 ISPLO.2 ISPLO.1 ISPLO.0 器 Flash 控制寄 FLASHCON A7H 0------0 SWRF FAC 存器WDT SFR符号 RSTSTAT 地址 B1H 名称 看门狗定时器 控制寄存器 POR/WDT /LVR/PIN 复位值 *-***000 第7位 WDOF 第6位 第5位 PORF 第4位 LVRF 第3位 CLRF 第2位 WDT.2 第1位 WDT.1 第0位 WDT.0*注: RSTSTAT 初始值根据不同类型的复位而不同。时钟控制 SFR符号 CLKCON 地址 B2H 名称 系统时钟选择 POR/WDT /LVR/PIN 复位值 111-00-第7位 32K_SPDUP 第6位 CLKS1 第5位 CLKS0 第4位 第3位 PLLON 第2位 FS2 第1位 第0位 -9/115V0.1 SH79F6431中断 SFRs符号 IEN0 IEN1 IPL0 IPH0 IPL1 IPH1 地址 A8H A9H B8H 名称 中断允许控制 0 中断允许控制 1 POR/WDT /LVR/PIN 复位值 00-00000第7位 EA ELPD PLPDL PLPDH 第6位 EADC ETWI PADCL PADCH PTWIL PTWIH 第5位 ET2 EPWM PT2L PT2H PPWML PPWMH 第4位 ES ES1 PSL PSH PS1L PS1H 第3位 ET1 EHSEC PT1L PT1H PHSECL PHSECH 第2位 EX1 EX3 PX1L PX1H PX3L PX3H 第1位 ET0 EX2 PT0L PT0H PX2L PX2H 第0位 -中断优先权控制低 位0 中断优先权控制高 B4H 位0 中断优先权控制低 B9H 位1 中断优先权控制高 B5H 位1端口 SFRs符号 P0 P1 P2 P3 P4 P5 P0CR P1CR P2CR P3CR P4CR P5CR P0PCR P1PCR P2PCR P3PCR P4PCR P5CR P2OS 地址 80H 90H A0H B0H C0H F8H E1H E2H E3H E4H E5H E6H E9H EAH EBH ECH EDH EEH EFH 名称 8 位端口 0 8 位端口 1 8 位端口 2 8 位端口 3 8 位端口 4 8 位端口 5 端口 0 输入/输出方 向控制 端口 1 输入/输出方 向控制 端口 2 输入/输出方 向控制 端口 3 输入/输出方 向控制 端口 4 输入/输出方 向控制 端口 5 输入/输出方 向控制 端口 0 内部上拉允 许 端口 1 内部上拉允 许 端口 2 内部上拉允 许 端口 3 内部上拉允 许 端口 4 内部上拉允 许 端口 5 内部上拉允 许 端口模式选择寄存 器 POR/WDT /LVR/PIN 复位值 00 -00 00 -00 第7位 P0.7 P1.7 P2.7 P4.7 P5.7 P0CR.7 P1CR.7 P2CR.7 P4CR.7 P5CR.7 第6位 P0.6 P1.6 P2.6 P3.6 P4.6 P5.6 P0CR.6 P1CR.6 P2CR.6 P3CR.6 P4CR.6 P5CR.6 P0PCR.6 P1PCR.6 P2PCR.6 P3PCR.6 P4PCR.6 P5PCR.6 第5位 P0.5 P1.5 P2.5 P3.5 P4.5 P5.5 P0CR.5 P1CR.5 P2CR.5 P3CR.5 P4CR.5 P5CR.5 P0PCR.5 P1PCR.5 P2PCR.5 P3PCR.5 P4PCR.5 P5PCR.5 第4位 P0.4 P1.4 P2.4 P3.4 P4.4 P5.4 P0CR.4 P1CR.4 P2CR.4 P3CR.4 P4CR.4 P5CR.4 P0PCR.4 P1PCR.4 P2PCR.4 P3PCR.4 P4PCR.4 P5PCR.4 第3位 P0.3 P1.3 P2.3 P3.3 P4.3 P5.3 P0CR.3 P1CR.3 P2CR.3 P3CR.3 P4CR.3 P5CR.3 P0PCR.3 P1PCR.3 P2PCR.3 P3PCR.3 P4PCR.3 P5PCR.3 第2位 P0.2 P1.2 P2.2 P3.2 P4.2 P5.2 P0CR.2 P1CR.2 P2CR.2 P3CR.2 P4CR.2 P5CR.2 P0PCR.2 P1PCR.2 P2PCR.2 P3PCR.2 P4PCR.2 P5PCR.2 P2OS.2 第1位 P0.1 P1.1 P2.1 P4.1 P5.1 P0CR.1 P1CR.1 P2CR.1 P4CR.1 P5CR.1 第0位 P0.0 P1.0 P2.0 P3.0 P4.0 P5.0 P0CR.0 P1CR.0 P2CR.0 P3CR.0 P4CR.0 P5CR.0PCR.7 PCR.7 0000-0 P2PCR.7 -P0PCR.1 P0PCR.0 P1PCR.1 P1PCR.0 P2PCR.1 P2PCR.0 P3PCR.0PCR.7 PCR.7 -----00-P4PCR.1 P4PCR.0 P5PCR.1 P5PCR.0 P2OS.1 -10/115V0.1 SH79F6431定时器 SFRs符号 TCON TMOD TL0 TH0 TL1 TH1 T2CON T2MOD RCAP2L 地址 88H 89H 8AH 8CH 8BH 8DH C8H C9H CAH 名称 定时器/计数器 0 和 1 控制 定时器/计数器 0 和 1 模式 定时器/计数器 0 低位字节 定时器/计数器 0 高位字节 定时器/计数器 1 低位字节 定时器/计数器 1 高位字节 定时器/计数器 2 控制 定时器/计数器 2 模式 定时器/计数器 2 重载/截获低位字 节 定时器/计数器 2 重载/截获高位字 节 定时器/计数器 2 低位字节 定时器/计数器 2 高位字节 Timer 0 时钟选择 寄存器 POR/WDT /LVR/PIN 复位值 00 00 00-----00
第7位 TF1 GATE1 TL0.7 TH0.7 TL1.7 TH1.7 TF2 第6位 TR1 C/T 1--------第5位 TF0 M11 TL0.5 TH0.5 TL1.5 TH1.5 -第4位 TR0 M10 TL0.4 TH0.4 TL1.4 TH1.4 RCAP 2L.4 RCAP 2H.4 TL2.4 TH2.4 -第3位 IE1 GATE0 TL0.3 TH0.3 TL1.3 TH1.3 EXEN2 RCAP 2L.3 RCAP 2H.3 TL2.3 TH2.3 TCLKP1第2位 IT1 C/T 0--------第1位 M01 TL0.1 TH0.1 TL1.1 TH1.1 C/T 2--------第0位 M00 TL0.0 TH0.0 TL1.1 TH1.1 CP/R L 2 DCEN RCAP 2L.0 RCAP 2H.0 TL2.0 TH2.0 TC0------------TL0.6 TH0.6 TL1.6 TH1.6 EXF2TL0.2 TH0.2 TL1.2 TH1.2 TR2 RCAP 2L.2 RCAP 2H.2 TL2.2 TH2.2 TCLKP0SSTAT2RCAP 2L.7 RCAP 2H.7 TL2.7 TH2.7 -ESU1RCAP 2L.6 RCAP 2H.6 TL2.6 TH2.6 TCLKS1ESU2RCAP 2L.5 RCAP 2H.5 TL2.5 TH2.5 TCLKS0T2OE RCAP 2L.1 RCAP 2H.1 TL2.1 TH2.1 TC1RCAP2H TL2 TH2 TCON1CBH CCH CDH CEH00 -00-0000EUART0 SFRs符号 PCON SCON SBUF SADDR SADEN SBRTH SBRTL 地址 87H 98H 99H 9AH 9BH 9CH 9DH 名称 POR/WDT /LVR/PIN 复位值 第7位 SMOD 第6位 SSTAT 第5位 SSTAT1 第4位 SIDL REN SBUF.4 第3位 GF1 TB8 SBUF.3 第2位 GF0 RB8 SBUF.2 第1位 PD TI SBUF.1 第0位 IDL RI SBUF.0电源和串行控制
串行控制 SM0/FE SM1/RXOV SM2/TXCOL SBUF.7 SBUF.6 SBUF.5 SADDR.5 SADEN.5串行数据缓冲器
从属地址 从属地址掩码 SADDR.7 SADDR.6
SADEN.7 SADEN.6SADDR.4 SADDR.3 SADDR.2 SADDR.1 SADDR.0 SADEN.4 SADEN.3 SADEN.2 SADEN.1 SADEN.0 SBRT0.8 SBRT0.0波特率发生器高
SBRTEN SBRT0.14 7位 波特率发生器底
SBRT0.7 SBRT0.6 7位SBRT0.13 SBRT0.12 SBRT0.11 SBRT0.10 SBRT0.9 SBRT0.5 SBRT0.4 SBRT0.3 SBRT0.2 SBRT0.1IR SFR符号 IRCON 地址 A1H 名称 IR 控制 POR/WDT /LVR/PIN 复位值
第7位 IRON 第6位 IRF6 第5位 IRF5 第4位 IRF4 第3位 IRF3 第2位 IRF2 第1位 IRF1 第0位 IRF011/115V0.1 SH79F6431EUART1 SFRs符号 PCON SCON1 SBUF1 地址 87H 名称 POR/WDT /LVR/PIN 复位值 第7位 SMOD 第6位 SSTAT 第5位 SSTAT1 第4位 SIDL REN1 SBUF1.4 第3位 GF1 TB18 SBUF1.3 第2位 GF0 RB18 SBUF1.2 第1位 PD TI1 SBUF1.1 第0位 IDL RI1 SBUF1.0电源和串行
控制D8H 串行 1 控制
SM10/FE1 SM11/RXOV1 SM12/TXCOL1 D9H 串行 1 数据
SBUF1.7 缓冲器 SBUF1.6 SADDR1.6 SADEN1.6 SBRT1.14 SBRT1.6 SBUF1.5 SADDR1.5 SADEN1.5 SBRT1.13 SBRT1.5SADDR1 DAH 从属地址 1
SADDR1.7 SADEN1 DBH SBRTH1 SBRTL1 从属地址 1
SADEN1.7 掩码 波特率发生 91H
SBRTEN1 器高 7 位 波特率发生
SBRT1.7 92H 器底 7 位SADDR1.4 SADDR1.3 SADDR1.2 SADDR1.1 SADDR1.0 SADEN1.4 SADEN1.3 SADEN1.2 SADEN1.1 SADEN1.0 SBRT1.12 SBRT1.11 SBRT1.10 SBRT1.9 SBRT1.4 SBRT1.3 SBRT1.2 SBRT1.1 SBRT1.8 SBRT1.0EUART2 SFRs符号 SCON2 SBUF2 地址 名称 POR/WDT /LVR/PIN 复位值 第7位 第6位 第5位 第4位 REN2 第3位 TB28 第2位 RB28 第1位 TI2 第0位 RI2A2H 串行 1 控制
SM20/FE2 SM21/RXOV2 SM22/TXCOL2 A3H 串行 1 数据
SBUF2.7 缓冲器SBUF2.6SADDR2.6 SADEN2.6 SBRT2.14 SBRT2.6SBUF2.5SADDR2.5 SADEN2.5 SBRT2.13 SBRT2.5SBUF2.4 SBUF2.3 SBUF2.2 SBUF2.1 SBUF2.0SADDR2.4 SADDR2.3 SADDR2.2 SADDR2.1 SADDR2.0 SADEN2.4 SADEN2.3 SADEN2.2 SADEN2.1 SADEN2.0 SBRT2.12 SBRT2.11 SBRT2.10 SBRT2.9 SBRT2.4 SBRT2.3 SBRT2.2 SBRT2.1 SBRT2.8 SBRT2.0SADDR2 A4H 从属地址 1
SADDR2.7 SADEN2 ACH 从属地址 1
SADEN2.7 掩码 波特率发生
SBRTEN2 SBRTH2 BAH 器高 7 位 波特率发生 SBRTL2 8FH
SBRT2.7 器底 7 位TWI SFRs符号 TWICON TWIDAT 地址 BBH BCH 名称 TWI 控制寄存器 TWI 数据寄存器 POR/WDT /LVR/PIN 复位值 00000 第7位 TWIEN TWID7 第6位 TWIIF TWID6 第5位 STA TWID5 第4位 STO TWID4 第3位 RVOK TWID3 第2位 ACK TWID2 第1位 BR1 TWID1 第0位 BR0 TWID0ADC 和比较器 SFRs符号 ADCON ADT ADCH ADDL ADDH 地址 93H 94H 95H 名称 ADC 控制 ADC 定时控制 ADC 信道配置 POR/WDT /LVR/PIN 复位值 000-0 ----0000 第7位 ADON TADC2 A9 第6位 ADCIF TADC1 A8 第5位 EC TADC0 A7 第4位 A6 第3位 SCH2 TS3 CH3 A5 第2位 SCH1 TS2 CH2 A4 第1位 SCH0 TS1 CH1 A1 A3 第0位 GO/DON E TS0 CH0 A0 A2----------------ADC 数据低位字 96H ------00 节 ADC 数据高位字 97H
节12/115V0.1 SH79F6431LCD SFRs符号 LCDCON1 LCDCON P1SS P0SS P4SS P3SS P5SS 地址 AAH 名称 POR/WDT /LVR/PIN 复位值 第7位 FCMOD LCDON 第6位 RLCD 第5位 FCCTL1 第4位 FCCTL0 第3位 MOD1 第2位 CONTR2 MOD0 第1位 CONTR1 第0位 CONTR0 -LCD 对比度控制
寄存器 0---00-0000---0 0--ABH LCD 控制寄存器 ADH AEH 9FH 9EH AFH P1 模式选择寄存 器 P0 模式选择寄存 器 P4 模式选择寄存 器 P3 模式选择寄存 器 P5 模式选择寄存 器P1S7P0S7 P4S7 P5S7P1S6P0S6 P4S6 P3S6 P5S6P1S5P0S5 P4S5 P3S5 P5S5P1S4P0S4 P4S4 P3S4 P5S4P0S3 P4S3 P3S3 P5S3P0S2 P4S2 P5S2P0S1 P4S1 P5S1COMSP0S0 P4S0 P5S013/115V0.1 SH79F6431RTC SFRs符号 RTCT RTCCON RTCDAT SEC MIN HR DAY MTH YR DOW 地址 BDH 名称 RTC 输出时间控 制寄存器 POR/WDT /LVR/PIN 复位值 ------** 第7位 RTCEN E7 HSEC YR7 第6位 HSECIF E6 SEC6 MIN6 YR6 第5位 COMEN E5 SEC5 MIN5 HR5 DAY5 YR5 第4位 CAL E4 SEC4 MIN4 HR4 DAY4 MTH4 YR4 第3位 AUTOCAL E3 SEC3 MIN3 HR3 DAY3 MTH3 YR3 第2位 OUTF1 E2 SEC2 MIN2 HR2 DAY2 MTH2 YR2 DOW2 第1位 RTCT1 OUTF0 E1 SEC1 MIN1 HR1 DAY1 MTH1 YR1 DOW1 第0位 RTCT0 EOVL E0 SEC0 MIN0 HR0 DAY0 MTH0 YR0 DOW0BEH RTC 控制寄存器 *0*00000 BFH RTC 校准数据寄 存器 ******** ******** -******* --****** --****** ---***** ******** -----***C1H 秒和半秒寄存器 C2H C3H C4H C5H C6H C7H 分钟寄存器 小时寄存器 日寄存器 月寄存器 年寄存器 周寄存器u 注: 复位不影响当前值 *注: 芯片电源下电后上电初始值为随机,其它形式的复位寄存器保持不变。外部中断 SFRs符号 EXF0 TCON 地址 E8H 名称 POR/WDT /LVR/PIN 复位值 第7位 TF1 第6位 TR1 第5位 IT31 TF0 第4位 IT30 TR0 第3位 IT21 IE1 第2位 IT20 IT1 第1位 IE3 第0位 IE2 -外部中断控制寄 --000000 存器 定时器/计数器 0 88H 和 1 控制 00000-外部中断 0,1 控制14/115V0.1 SH79F6431PWM SFRs符号 地址 名称 PWM0 控制寄存 器 PWM1 控制寄存 器 PWM0 周期寄存 器高 4 位 PWM0 周期寄存 器低 8 位 PWM0 占空比寄 存器高 4 位 PWM0 占空比寄 存器低 8 位 PWM1 周期寄存 器高 4 位 PWM1 周期寄存 器低 8 位 PWM1 占空比寄 存器高 4 位 PWM1 占空比寄 存器低 8 位 POR/WDT /LVR/PIN 复位值 第7位 第6位 第5位 第4位 第3位 第2位 PWM0IE PWM1IE 第1位 PWM0IF PWM1IF 第0位 PWM0SS PWM1SSPWM0CON B6H PWM1CON B7H PWM0PH PWM0PL DFH DEH PWM0EN
PWM1EN ----0000 -PWM0S PWM0CK1 PWM0CK0 PWM1S PWM1CK1 PWM1CK0 -PWM0P.11 PWM0P.10 PWM0P.9 PWM0P.8 PWM0P.2 PWM0P.1 PWM0P.0 PWM0P.7 PWM0P.6 PWM0P.5 PWM0P.4 PWM0P.3 ----0000 -PWM0DH DDH PWM0DL PWM1PH PWM1PL PWM1DH PWM1DL DCH FEH FDH FAH F9HPWM0D.11 PWM0D.10 PWM0D.9 PWM0D.8 PWM0D.7 PWM0D.6 PWM0D.5 PWM0D.4 PWM0D.3 PWM0D.2 PWM0D.1 PWM0D.0 ----0000 PWM1P.11 PWM1P.10 PWM1P.9 PWM1P.8 PWM1P.2 PWM1P.1 PWM1P.0 PWM1P.7 PWM1P.6 PWM1P.5 PWM1P.4 PWM1P.3 ----0000 -PWM1D.11 PWM1D.10 PWM1D.9 PWM1D.8 PWM1D.7 PWM1D.6 PWM1D.5 PWM1D.4 PWM1D.3 PWM1D.2 PWM1D.1 PWM1D.0注: - : 保留位15/115V0.1 SH79F6431SFR 映像 可按位寻址 0/8 P5 B EXF0 ACC SCON1 PSW T2CON P4 IPL0 P3 IEN0 P2 SCON P1 TCON P0 0/8 1/9 PWM1DL AUXC P0PCR P0CR SBUF1 T2MOD SEC IPL1 RSTSTAT IEN1 IRCON SBUF SBRTH1 TMOD SP 1/9 2/A 3/B PWM1DH IB_OFFSET IB_CON1 IB_CON2 P1PCR P2PCR P1CR P2CR SADDR1 SADEN1 RCAP2L RCAP2H MIN HR SBRTH2 TWICON CLKCON LPDCON LCDCON1 LCDCON SCON2 SBUF2 SADDR SADEN SBRTL1 ADCON TL0 TL1 DPL DPH 2/A 3/B 不可按位寻址 4/C 5/D IB_DATA PWM1PL IB_CON3 IB_CON4 P3PCR P4PCR P3CR P4CR PWM0DL PWM0DH TL2 TH2 DAY MTH TWIDAT RTCT IPH0 IPH1 SADEN2 P1SS SADDR2 ISPLO SBRTH SBRTL ADT ADCH TH0 TH1 DPL1 DPH1 4/C 5/D 6/E 7/F PWM1PH (Reserved) XPAGE IB_CON5 P5PCR P2OS P5CR PASLO PWM0PL PWM0PH TCON1 YR DOW RTCCON RTCDAT PWM0CON PWM1CON P0SS P5SS ISPCON FLASHCON P3SS P4SS ADDL ADDH SUSLO SBRTL2 INSCON PCON 6/E 7/FF8h F0h E8h E0h D8h D0h C8h C0h B8h B0h A8h A0h 98h 90h 88h 80hFFh F7h EFh E7h DFh D7h CFh C7h BFh B7h AFh A7h 9Fh 97h 8Fh 87h注意: 未使用的 SFR 地址禁止读写。SFR 复位值 SFR 名称 ACC B AUXC PSW SP DPL DPH DPL1 DPH1 INSCON 复位值 000000b16/115V0.1 SH79F64317 标准功能7.1 CPU 内核特殊功能寄存器特性 ? CPU内核寄存器:ACC, B, PSW, SP, DPL DPH 累加器 累加器 ACC 是一个常用的专用寄存器,指令系统中采用 A 作为累加器的助记符。 B 寄存器 在乘除法指令中,会用到 B 寄存器。在其它指令中,B 寄存器可作为暂存器来使用。 栈指针(SP) 栈指针 SP 是一个 8 位专用寄存器,在执行 PUSH、各种子程序调用、中断响应等指令时,SP 先加 1,再将数据压栈;执 行 POP、RET、RETI 等指令时,数据退出堆栈后 SP 再减 1。堆栈栈顶可以是片上内部 RAM(00H-FFH)的任意地址,系统 复位后,SP 初始化为 07H,使得堆栈事实上由 08H 地址开始。 程序状态字(PSW)寄存器 程序状态字(PSW)寄存器包含了程序状态信息。 PSW 寄存器 D0H PSW 读/写 复位值(POR/WDT/LVR/PIN) 位编号 7 位符号 CY 第7位 CY 读/写 0 第6位 AC 读/ 写 0 第5位 F0 读/ 写 0 第4位 RS1 读/写 0 第3位 RS0 读/ 写 0 第2位 OV 读/ 写 0 第1位 F1 读/写 0 第0位 P 读 06 5AC F04-3RS[1:0]2OV1F1说明 进位标志位 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 的位数为奇数0P数据指针( DPTR) 数据指针 DPTR 是一个 16 位专用寄存器,其高位字节寄存器用 DPH 表示,低位字节寄存器用 DPL 表示。它们既可以作为一个 16 位寄存器 DPTR 来处理,也可以作为 2 个独立的 8 位寄存器 DPH 和 DPL 来处理。17/115V0.1 SH79F64317.2 CPU 增强内核特殊功能寄存器? ? ? 扩展的'MUL'和'DIV'指令: 16位*8位, 16位/8位 双数据指针 CPU增强内核寄存器:AUXC, DPL1, DPH1, INSCON SH79F6431 扩展了’MUL’和’DIV’的指令。使用一个新寄存器-AUXC 寄存器保存运算数据的高 8 位,以实现 16 位运算。 在 16 位乘除法指令中,会用到 AUXC 寄存器。在其它指令中,AUXC 寄存器可作为暂存器来使用。 CPU 在复位后进入标准模式, ’MUL’和’DIV’的指令操作和标准 8051 指令操作一致。 当 INSCON 寄存器的相应位置 1 后, 'MUL' 和'DIV'指令的 16 位操作功能被打开。 操作 MUL DIV 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) 结果 B 高位字节 中位字节 余数 余数A 低位字节 低位字节 商低位字节 商低位字节AUXC --高位字节 --商高位字节双数据指针 使用双数据指针能加速数据存储移动。标准数据指针被命名为 DPTR 而新型数据指针命名为 DPTR1。 数据指针 DPTR1 与 DPTR 类似,是一个 16 位专用寄存器,其高位字节寄存器用 DPH1 表示,低位字节寄存器用 DPL1 表 示。它们既可以作为一个 16 位寄存器 DPTR1 来处理,也可以作为 2 个独立的 8 位寄存器 DPH1 和 DPL1 来处理。 通过对 INSCON 寄存器中的 DPS 位置 1 或清 0 选择两个数据指针中的一个。所有读取或操作 DPTR 的相关指令将会选择 最近一次选择的数据指针。 数据指针选择寄存器 86H INSCON 读/写 复位值(POR/WDT/LVR/PIN) 位编号 3 位符号 DIV 16 位/ 8 位除选择器 0: 8 位除 1: 16 位除 16 位/ 8 位乘选择器 0: 8 位乘 1: 16 位乘 数据指针选择器 0: 数据指针 1: 数据指针 1第7位 -第6位 -第5位 -第4位 -第3位 DIV 读/ 写 0 说明第2位 MUL 读/ 写 0第1位 -第0位 DPS 读/ 写 02MUL0DPS18/115V0.1 SH79F64317.3 RAM特性: SH79F6431 为数据存储提供了内部 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 地址禁止读写SH79F6431 提供内部 256 字节 RAM , 外部 2816 字节 RAM 和 LCD RAM((B00H C B26H)。B26H LCD RAM AFFHExternal RAM0FFHUpper 128 bytes Internal Ram indirect accesses Lower 128 bytes Internal Ram direct or indirect accesses0FFH80H 7FH80HSpecial Function Register direct accesses000H00HSH79F6431 支持传统的访问外部 RAM 方法。使用 MOVX A, @Ri 或 MOVX @Ri, A 来访问外部低位 256 字节 RAM;用 MOVX A, @DPTR 或 MOVX @DPTRoA 来访问外部 64K 字节 RAM。 用户也能用 XPAGE 寄存器来访问外部 RAM,使用 MOVX A, @Ri 或 MOVX @Ri, A 指令即可,此时用 XPAGE 来表示高于 256 字节的 RAM 地址。 在 Flash SSP 模式下,XPAGE 也能用作分段选择器(详见 SSP 章节) 。 数据存储页寄存器 F7H 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位 XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 XPAGE.2 XPAGE.1 XPAGE.0 XPAGE 读/写 读/ 写 读/ 写 读/ 写 读/写 读/ 写 读/ 写 读/写 读/写 复位值 0 0 0 0 0 0 0 0 (POR/WDT/LVR/PIN)位编号 位符号 说明7-0XPAGE7-0RAM 页选择器19/115V0.1 SH79F64317.4 Flash 程序存储器SH79F6431 为存储程序代码内置 64K 可编程 Flash,可以通过在线编程(ICP)模式和扇区自编程(SSP)模式对 Flash 存储器操作。 在 ICP(在线编程)模式中,程序能操作所有 Flash,例如擦除或写入。Flash 的读取或写入操作以字节为单位,但擦除只 能以扇区(1K)为单位,或者整体擦除。 在 ICP 模式中,扇区擦除操作能擦除任何区块。在自编程模式(SSP)中,包含擦除程序代码的扇区不能擦除. 在 ICP 模式下,还可以整体擦除,这个操作会擦除整个 Flash 存储器.7.4.1 特性● ● ● ● ● ● ● Flash 存储器包括 64 x 1KB 区块,总共 64KB。 在工作电压范围内都能进行编程和擦除操作。 在线编程(ICP)操作支持写入,读取和擦除操作。 快速整体/扇区擦除和编程。 编程/擦除次数:至少 100000 次。 数据保存年限:至少 10 年。 低功耗。7.4.2 ICP 模式下的 Flash 操作ICP 模式即线上编程模式,即可以在 CPU 焊在用户板上以后编程。ICP 模式下,用户系统必须关机后编程器才能通过 ICP 编程接口刷新 Flash 存储器。ICP 编程接口包括 6 个引脚(VDD,GND,TCK,TDI,TMS,TDO)。 编程器使用 4 个 JTAG 引脚 (TDO, TDI, TCK, TMS)进入编程模式。只有将特定波形输入 4 个引脚后,CPU 才能进入编程 模式。如需详细说明请参考 Flash 编程器用户指南。 ICP 模式支持以下操作: 代码保护控制模式编程 SH79F6431 的代码保护功能为用户代码提供了高性能的安全措施。每个分区有两种模式可用。 代码保护模式 0:允许/禁止任何编程器的写入/读取操作(不包括整体擦除) 。 代码保护模式 1:允许/禁止在其它分区中通过 MOVC 指令进行读取操作,或通过 SSP 功能进行擦除/写入操作。 用户必须应用 Flash 编程器设置相应的保护位,以进入所需的保护模式整体擦除 无论代码保护控制模式的状态如何,整体擦除操作都将会擦除所有编程代码,代码选项,代码保护位和自定义 ID 码的内容。 (Flash 编程器为用户提供自定义 ID 码设置功能以区别他们的产品) 。 在用户程序区,整体擦除只能由 Flash 编程器操作,不能通过程序指令完成。 扇区擦除 扇区擦除操作将会擦除所选扇区中内容。用户程序和 Flash 编程器都能执行该操作。 若需用户程序执行该操作,必须禁止所选扇区的代码保护控制模式 1。 若需编程器执行该操作,必须禁止所选扇区的代码保护控制模式 0。 注意:SSP 程序所在扇区自身无法通过用户程序执行扇区擦除功能。 写/读代码 读/写代码操作可以将代码、数据从 Flash 存储器中读出或写入 Flash 存储器。编程器或用户程序都能执行该操作。 若需用户程序执行该操作,必须禁止所选扇区的代码保护控制模式 1。不管安全位设置与否,用户程序都能读/写程序自身 所在扇区 。 若需编程器执行该操作,必须禁止所选扇区的代码保护控制模式 0。20/115V0.1 SH79F6431编程用时钟控制寄存器 ICP 支持 支持 (无安全位) 支持 支持 (无安全位)操作 代码保护 扇区擦除 整体擦除 写/ 读SSP不支持 支持 (无安全位) 不支持 支持 (无安全位或自身扇区)在 ICP 模式中,通过 6 线接口编程器能完成所有 Flash 操作。因为编程信号非常灵敏,所以使用编程器编程时用户需要先 用 6 个跳线将编程引脚(VDD,GND,TCK,TDI,TMS,TDO)从应用电路中分离出来。如下图所示。 当采用 ICP 模式进行操作时,建议按照如下步骤进行操作: 1)在开始编程前断开跳线(jumper) ,从应用电路中分离编程引脚; 2)将芯片编程引脚连接至编程器编程接口后,开始编程 3)编程结束后断开编程器接口,连接跳线恢复应用电路。Flash ProgrammerSH79F6431 VDD TMS TCK TDI TDO DGNDTo Application CircuitJumper21/115V0.1 SH79F64317.4.3 扇区自编程(SSP)功能SH79F6431 支持 SSP 操作。如果所选扇区未被加密,利用 SSP 操作,用户代码可以对程序存储区和客户信息块区及类 EEPROM 块区进行擦除、编程操作。一旦某扇区或块区被编程,则在该扇区或块区被擦除之前不能被再次编程。 SH79F6431 内建一个复杂控制流程以避免误入 SSP 操作导致代码被修改。为执行 SSP 操作,IB_CON2~5 设置必须满足特 定条件。 7.4.3.1 寄存器 1)擦除/编程用扇区选择和编程用地址偏移量寄存器 此寄存器用来选择待擦除或者待编程扇区的区号,配合 IB_OFFSET 寄存器来表示待编程字节在扇区内的地址偏移量。z 对于程序存储区,一个扇区为 1024 字节,寄存器定义如下: 擦除/编程用扇区选择和地址偏移寄存器 F7H 第7位 第6位 第5位 第4位 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 读/写 读/ 写 读/ 写 读/ 写 读/写 复位值 0 0 0 0 (POR/WDT/LVR/PIN) 位编号 位符号第3位 XPAGE.3 读/ 写第2位 XPAGE.2 读/ 写第1位 XPAGE.1 读/写第0位 XPAGE.0 读/写00007-2 1-0XPAGE[7:2] XPAGE[1:0]说明 被擦除/编程的存储单元扇区号,000000 代表扇区 0,依此类推。 被擦除/编程的存储单元高 2 位地址编程用地址偏移寄存器 FBHIB_OFFSET读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位 IB_OFF SET.7 读/ 写第6位 IB_OFF SET.6 读/写第5位 IB_OFF SET.5 读/写第4位 IB_OFF SET.4 读/ 写第3位 IB_OFF SET.3 读/ 写第2位 IB_OFF SET.2 读/ 写第1位 IB_OFF SET.1 读/ 写第0位 IB_OFF SET.0 读/ 写0说明00000007-0IB_OFFSET[7-0]被编程的存储单元低 8 位地址XPAGE[1:0]和 IB_OFFSET[7:0]共 10 位,可以表示 1 个程序存储扇区内全部 1024 个字节的偏移量。z 对于客户信息块区和类 EEPROM 块区,一个块区为 256 字节,寄存器定义如下: 擦除/编程用扇区选择寄存器 F7H 第7位 第6位 第5位 第4位 第3位 XPAGE XPAGE.7 XPAGE.6 XPAGE.5 XPAGE.4 XPAGE.3 读/写 读/ 写 读/ 写 读/ 写 读/写 读/ 写 复位值 0 0 0 0 0 (POR/WDT/LVR/PIN) 位编号 位符号 说明 在擦除/编程块区时无意义。 被擦除/编程的块区号,0000 代表块 0,依此类推。第2位 XPAGE.2 读/ 写第1位 XPAGE.1 读/写第0位 XPAGE.0 读/写0007-4 3-0XPAGE[7:4] XPAGE[3:0]类 EEPROM 块区对应 XPAGE[3:0]为
的块。 类 EEPROM 块区的访问可通过指令“MOVC A, @A+DPTR” 或 “MOVC A, @A+PC”实现,注意: 需要将 FAC 位(FLASHCON.0)置 1。 编程用地址偏移寄存器 FBH第7位第6位第5位第4位第3位第2位第1位第0位22/115V0.1 SH79F6431IB_OFFSET读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号IB_OFF SET.7 读/ 写 0IB_OFF SET.6 读/写 0IB_OFF SET.5 读/写 0IB_OFF SET.4 读/ 写 0IB_OFF SET.3 读/ 写 0IB_OFF SET.2 读/ 写 0IB_OFF SET.1 读/ 写 0IB_OFF SET.0 读/ 写 0说明 被擦除/编程的块单元地址7-0IB_OFFSET[7:0]IB_OFFSET[7:0]共 8 位,可以表示 1 个块区内全部 256 个字节的偏移量。编程用数据寄存器 FCHIB_DATA读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位 IB_ DATA.7 读/ 写第6位 IB_ DATA.6 读/写第5位 IB_ DATA.5 读/写第4位 IB_ DATA.4 读/ 写第3位 IB_ DATA.3 读/ 写第2位 IB_ DATA.2 读/ 写第1位 IB_ DATA.1 读/ 写第0位 IB_ DATA.0 读/ 写0说明00000007-0操作类型选择寄存器 F2HIB_DATA [7:0]待编程数据IB_CON1读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位 IB_CON 1.7 读/ 写第6位 IB_CON 1.6 读/写第5位 IB_CON 1.5 读/写第4位 IB_CON 1.4 读/ 写第3位 IB_CON 1.3 读/ 写第2位 IB_CON 1.2 读/ 写第1位 IB_CON 1.1 读/ 写第0位 IB_CON 1.0 读/ 写000000007-0IB_CON1[7-0]说明 操作类型选择 E6H:扇区擦除(擦除时间&40ms) 6EH:编程存储单元(编程时间&50us) AAH:整体擦除 (注意:在整体擦除操作中将忽略 FAC 位,详见 FLASHCON 寄存器) 此命令仅在引导扇区内有效。SSP 流程控制寄存器 1 F3H IB_CON2读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位第6位第5位第4位说明---第3位 IB_CON 2.3 读/ 写第2位 IB_CON 2.2 读/ 写第1位 IB_CON 2.1 读/ 写第0位 IB_CON 2.0 读/ 写00003-0IB_CON2 [3:0]必须为 05H,否则 Flash 编程将会终止SSP 流程控制寄存器 2 F4H IB_CON3读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位第6位第5位第4位说明---第3位 IB_CON 3.3 读/ 写第2位 IB_CON 3.2 读/ 写第1位 IB_CON 3.1 读/ 写第0位 IB_CON 3.0 读/ 写000023/115V0.1 SH79F64313-0 IB_CON3[3:0]必须为 0AH,否则 Flash 编程将会终止SSP 流程控制寄存器 3 F5H IB_CON4读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位第6位第5位第4位说明---第3位 IB_CON 4.3 读/ 写第2位 IB_CON 4.2 读/ 写第1位 IB_CON 4.1 读/ 写第0位 IB_CON 4.0 读/ 写00003-0IB_CON4[3:0]必须为 09H,否则 Flash 编程将会终止SSP 流程控制寄存器 4 F6H IB_CON5读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位第6位第5位第4位说明---第3位 IB_CON 5.3 读/ 写第2位 IB_CON 5.2 读/ 写第1位 IB_CON 5.1 读/ 写第0位 IB_CON 5.0 读/ 写00003-0IB_CON5[3:0]必须为 06H,否则 Flash 编程将会终止软件复位标志和指令访问控制寄存器 A7H 第7位 FLASHCON SWRF 读/写 读/写 复位值 0 (POR/WDT/LVR/PIN) 位编号7 0第6位 -第5位 -第4位 -第3位 -第2位 -第1位 -第0位 FAC 读/ 写------0位符号SWRF FAC说明 软件复位标志(详见 ISP 章节) 执行区域选择位。 0: MOVC 指令或 SSP 操作执行区在程序存储区 1: MOVC 指令或 SSP 操作执行区在客户信息块区和类 EEPROM 块区24/115V0.1 SH79F64317.4.3.2 SSP 编程注意事项: 为确保顺利完成 SSP 编程,用户软件应该遵循以下步骤设置: A. 用于代码/数据编程: 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) 。 B. 用于扇区或块区擦除: 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) 。 C. 用于整体擦除: 整体擦除操作与扇区擦除操作类似。不同之处在于: 1) 整体擦除操作只能在引导扇区内进行; 2) FAC 位(FLASHCON.0)的作用将被忽略。注意: 数据访问可通过指令“MOVC A, @A+DPTR”或“MOVC A, @A+PC”实现。25/115V0.1 SH79F64317.5 在系统编程(ISP)在系统编程模式是指程序代码运行在引导扇区(BootRom Block)内,对 Flash 存储器进行擦除和读写操作。 SH79F6431 为支持 ISP 模式内置了 1K 字节的引导扇区,地址位于 FC00H ~ FFFFH。在引导扇区内对程序存储区和客户 信息块区的擦除、烧写操作与在程序存储区进行相同操作时的流程类似,详见扇区自编程(SSP)章节。客户信息块区对应 XPGAE[3:0]为 1000 的块,擦除和烧写时需设置 XPGAE[3:0]为 1000。客户信息块区的访问可通过指令“MOVC A, @A+DPTR” 实现。注意: 需要将 FAC 位(FLASHCON.0)置 1。 引导扇区内程序在芯片出厂时已经固化,用于通过串口实现烧写芯片;用户也可以自行编写引导扇区内程序以实现所需功 能,但是只能通过编程器或者仿真工具将程序烧入引导扇区内。 如果客户选择使能 ISP 功能 (代码选项 OP_ISP 清 0, 详见代码选项章节) , 则程序存储区最后 1 个扇区地址(FC00H~FFFFH) 将被映射用作引导扇区地址,不能作为程序存储区使用;如果客户选择关闭 ISP 功能(代码选项 OP_ISP 置 1,详见代码选项章 节) ,则程序存储区最后 1 个扇区(FC00H~FFFFH)可以作为程序存储区使用。FFFFHBootRom BlockFC00H BootRom BlockProgram Memory BlockNo Use ISP can erase and program ISP can not erase or program0000H Program Memory Block当芯片发生上电复位或复位引脚引起的复位时,如果客户代码选项选择禁止 ISP 功能,则程序从 0000H 处开始运行;如果 客户代码选项选择使能 ISP 功能,则有两种可能: 1) 代码选项 OP_ISPPIN(详见代码选项章节)若设置为 1,程序执行引导扇区内程序,从 FC00H 地址开始运行。 2) 代码选项 OP_ISPPIN(详见代码选项章节)若设置为 0,则复位时检测 P2.1 和 P2.2 状态。当 P2.1 和 P2.2 同时为低且持 续时间超过 100?s 时,程序执行引导扇区内程序,从 FC00H 地址开始运行。若不满足 P2.1 和 P2.2 同时为低,或 P2.1 和 P2.2 同时为低但持续时间小于 100?s 时,则程序执行程序存储器区内程序,从 0000H 处开始运行。 使能 ISP 功能后,程序运行在程序存储区时,当 ISPCON[7:0]为 0AH 时,允许程序跳转至引导扇区;若 ISPCON[7:0]不为 0AH 时, 执行跳转至引导扇区的指令, 将会发生 OVL 中断 (详见中断 OVL 章节) 。 设置 ISPCON 必须满足特定条件, 详见 ISPCON 寄存器。 禁止 ISP 功能后,不存在引导扇区。地址 FC00H ~ FFFFH 区为程序存储区,可以自由访问。7.5.1 ISP 功能相关寄存器 ISP 辅助寄存器 A5H ISPLO 读/写第7位 ISPLO.7 读/ 写第6位 ISPLO.6 读/写第5位 ISPLO.5 读/写第4位 ISPLO.4 读/ 写第3位 ISPLO.3 读/ 写第2位 ISPLO.2 读/ 写第1位 ISPLO.1 读/ 写第0位 ISPLO.0 读/ 写26/115V0.1 SH79F6431复位值 (POR/WDT/LVR/PIN) 位编号 位符号000000007-0ISPLO[7:0]说明 ISP 辅助寄存器 55H:允许软件编程 ISPCON 寄存器 其它:禁止软件编程 ISPCON 寄存器.软件复位标志和指令访问控制寄存器 A7H 第7位 FLASHCON SWRF 读/写 读/写 复位值 0 (POR/WDT/LVR/PIN) 位编号 位符号第6位 -第5位 -第4位 -第3位 -第2位 -第1位 -第0位 FAC 读/ 写------07 0 ISP 控制寄存器 A6H ISPCONSWRF FAC说明 软件复位标志 只能在发生软件复位后由硬件自动置 1; 由软件清除或者其它复位清 0。 执行区域选择位(详见 SSP 章节) 注:程序运行在引导扇区,用 MOVC 指令访问引导扇区,应清 0 FAC。读/写 复位值 (POR/WDT/LVR/PIN) 位编号 位符号第7位 ISPCON. 7 读/写第6位 ISPCON. 6 读/写第5位 ISPCON. 5 读/写第4位 ISPCON. 4 读/ 写第3位 ISPCON .3 读/ 写第2位 ISPCON .2 读/ 写第1位 ISPCON .1 读/写第0位 ISPCON. 0 读/ 写00000000说明 ISP 控制 若程序运行在引导扇区时,设置 ISPCON 为 5AH 后将发生软件复位,设置 ISPCON 7-0 ISPCON[7:0] 为其它值后 ISPCON 将改变为 0AH。 若程序运行在程序存储区时,设置 ISPCON 为 0AH 后可从程序存储区跳转进入引 导区,设置 ISPCON 为其它值后 ISPCON 将清 0。 注意: 软件复位功能是为程序由引导扇区返回至程序存储区而设置。 在引导扇区完成程序存储区内程序更新后,可通过执行软件复位操作,程序从引导扇区跳至程序存储区 0000H 地址运行。 在引导扇区内加密控制字节修改直接有效。 软件复位引起的操作包含: 1: Code Option 修改有效 2: 直接进入程序存储区执行程序,不允许再进入引导扇区 3: SFR 初始值等同 POR 复位值 注意: 1) 必须首先将 ISPLO 设置成 55H 后,才能设置 ISPCON,并且必须连续设置,中间不能插入其它指令;否则,ISPLO 寄存 器都将被清 0,ISPCON 寄存值不变;ISPCON 设置完成后,ISPLO 寄存器将被清 0。 2) 如果 ISPLO 写入值不等于 55H,则 ISPLO 寄存器都将被清 0,ISPCON 寄存值不变。7.5.2 通过串口烧写芯片 芯片出厂时已经将引导程序固化在引导扇区内。当设置代码选项 OP_ISP 为 0 使能 ISP 功能时,通过引导程序,结合 PC 端软件,可以实现不需要编程器,使用串口即可下载用户程序的功能。 PC 端软件和使用说明可以在 www.sinowealth.com 处得到。27/115V0.1 SH79F64317.5.3 用户自行编写引导程序 用户可以自行编写用户程序,下载至引导扇区内,以完成其特定功能。为了将程序下载至引导扇区内,必须使用专用的编 程器或仿真工具。 必须注意,如果用户将代码选项 OP_ISP 改写成禁止 ISP 功能,则用户将无法使用 ISP 功能。此时,解决办法是使用专用 的编程器或者仿真工具重新改写相应的代码选项。用户自行改写引导扇区内容具有高度的风险性,强烈建议用户慎用此功能。28/115V0.1 SH79F64317.6 系统时钟和振荡器 7.6.1 特性? 仅支持1种振荡器类型: 32.768kHz晶体谐振器 ? 内建9.8304MHz锁相环 (PLL) 振荡器 ? 内建32.768kHz加速电路 内建系统时钟分频器 ? 时钟定义 SH79F6431 几个内部时钟定义如下: OSCCLK: 32.768kHz 晶体谐振器的时钟。fOSC 定义为 OSCCLK 的频率。tOSC 定义为 OSCCLK 的周期。 PLLCLK: PLL 振荡器时钟。fPLL 定义为 PLLCLK 的频率。tPLL 定义为 PLLCLK 的周期。 WDTCLK: 内部的 2kHz 看门狗 RC 振荡器时钟。fWDT 定义为 WDTCLK 的频率。tWDT 定义为 WDTCLK 的周期。 OSCSCLK: 系统时钟频率分频器的输入时钟。这个时钟可能为 OSCCLK 或者 PLLCLK。fOSCS 定义为 OSCSCLK 的频率。 tOSCS 定义为 OSCSCLK 的周期。 SYSCLK: 系统时钟,系统频率分频器的输出时钟。这个时钟为 CPU 指令周期的时钟。fSYS 定义为 SYSCLK 的频率。tSYS 定义为 SYSCLK 的周期。 概述 SH79F6431 仅支持 1 种振荡器类型:32.768kHz 晶体谐振器。由振荡器产生的基本时钟脉冲作为系统时钟提供给 CPU 和 片上外围模块。 SH79F6431 内建一个锁相环(PLL)振荡器,PLL 振荡器能提供高达 9.8304MHz 振荡频率。PLLCON 控制位禁止或使能 PLL 振荡器。 系统时钟控制寄存器 B2H CLKCON 读/写 复位值(POR/WDT /LVR/PIN) 位编号第7位 32K_SPDUP 读/ 写第6位 CLKS1 读/ 写第5位 CLKS0 读/ 写第4位 -第3位 PLLCON 读/ 写第2位 FS2 读/ 写第1位 -第0位 -111-00--位符号732K_SPDUP6-5CLKS[1: 0]3PLLCON2FS2说明 32.768KHz 振荡器加速模式控制位 0:32.768kHz 振荡器常规模式, 由软件清 0 1:32.768kHz 振荡器加速模式,由软件或者硬件置 1 此位在系统发生任何形式的复位,如上电复位,看门狗复位等时,自动由硬件设置 1, 用以加速 32.768kHz 振荡器起振,缩短 32.768kHz 振荡器的起振时间。 如果有需要,本位也可以由软件置 1 或者清 0。 比如进入掉电模式(Power-down mode) 前,可以将此位置 1, 掉电模式唤醒后再由软件清 0。 应该需要注意的是关闭 32.768kHz 加速模式(此位清 0) ,可以节省系统的耗电。 系统时钟预分频器(对 FS2 选择的时钟源分频) 00:fSYS = fOSCS 01:fSYS = fOSCS / 2 10:fSYS = fOSCS / 4 11:fSYS = fOSCS / 12 如果选择 32.768kHz 振荡器为 OSCSCLK, 此控制位无效。 PLL 振荡器开启控制寄存器 0:关闭 PLL 振荡器 1:打开 PLL 振荡器 系统时钟选择寄存器 0:选择 32.768kHz 作为 OSCSCLK 1:选择 PLLCLK 作为 OSCSCLK注意: 选择 PLLCLK 作为 OSCSCLK,必须按以下步骤依次设置: 1.设置 PLLCON = 1 ,打开 PLL 振荡器 2.至少等待 2ms29/115V0.1 SH79F64313.设置 FS = 1,选择 PLLCLK 作为 OSCSCLK7.6.2 振荡器类型32768Hz 晶体振荡器和内部 PLLC1 XTAL1 32.768 kHz XTAL2 C2 PLL_C C3 =1000pF频率晶体振荡器 C1C2 5~12.5pF推荐型号生产厂32.768kHz5~12.5pFDT 38 (φ3x8)φ3x8 C 32.768kHzKDS威克创通讯器材有限公司注意事项: 表中负载电容为设计参考数据! 以上电容值可通过谐振器基本的起振和运行测试, 并非最优值。 请注意印制板上的杂散电容,用户应在超过应用电压和温度的条件下测试谐振器的性能。 在应用陶瓷谐振器/晶体谐振器之前,用户需向谐振器生产厂要求相关应用参数以获得最佳性能。 请登陆 http://www.sinowealth.com以取得更多的推荐谐振器生产厂。30/115V0.1 SH79F64317.7 I/O 端口特性 ? ? ?6 组 46 个双向 I/O 端口 18 个 I/O 单独由 VDDIO 供电(2.4V~5.5V) I/O 端口可与其它功能共享SH79F6431 提供 6 组 46 个位可编程双向 I/O 端口。端口数据在寄存器 Px 中。端口控制寄存器(PxCRy)控制端口是作为输 入或者输出。当端口作为输入时,每个 I/O 端口带有由 PxPCRy 控制的内部上拉电阻(x=0~5,y=0~7)。 SH79F6431 I/O 支持两套电源供电, 其中 P4,P5, P0.6,P0.7 及其共享功能由 VDDIO 单独供电, 电压范围为 2.4V~5.5V, 其 它端口由 VDD 或 VBAT 供电. (详见端口 SH79F6431 的有些 I/O 引脚能与选择功能共享。当所有功能都允许时,在 CPU 中存在优先权以避免功能冲突。 共享章节) 。7.7.1 寄存器端口控制寄存器 第7位 P0CR.7 P1CR.7 P2CR.7 P4CR.7 P5CR.7 读/写 第6位 P0CR.6 P1CR.6 P2CR.6 P3CR.6 P4CR.6 P5CR.6 读/ 写 第5位 P0CR.5 P1CR.5 P2CR.5 P3CR.5 P4CR.5 P5CR.5 读/ 写 第4位 P0CR.4 P1CR.4 P2CR.4 P3CR.4 P4CR.4 P5CR.4 读/写 第3位 P0CR.3 P1CR.3 P2CR.3 P3CR.3 P4CR.3 P5CR.3 读/ 写 第2位 P0CR.2 P1CR.2 P2CR.2 P3CR.2 P4CR.2 P5CR.2 读/ 写 第1位 P0CR.1 P1CR.1 P2CR.1 P4CR.1 P5CR.1 读/写 第0位 P0CR.0 P1CR.0 P2CR.0 P3CR.0 P4CR.0 P5CR.0 读/ 写P0CR (E1H) P1CR (E2H) P2CR (E3H) P3CR (E4H) P4CR (E5H) P5CR (E6H) 读/写 复位值 (POR/WDT/LVR/PIN)位编号0位符号0000说明0007-0PxCR.y x=0~5, y=0~7端口输入/输出控制寄存器 0: 输入模式 1: 输出模式端口上拉电阻控制寄存器P0PCR (E9H) P1PCR (EAH) P2PCR (EBH) P3PCR (ECH) P4PCR (EDH) P5PCR (EEH) 读/写 复位值 (POR/WDT/LVR/PIN)位编号 位符号第7位 P0PCR.7 P1PCR.7 P2PCR.7 P4PCR.7 P5PCR.7 读/写第6位 P0PCR.6 P1PCR.6 P2PCR.6 P3PCR.6 P4PCR.6 P5PCR.6 读/ 写第5位 P0PCR.5 P1PCR.5 P2PCR.5 P3PCR.5 P4PCR.5 P5PCR.5 读/ 写第4位 P0PCR.4 P1PCR.4 P2PCR.4 P3PCR.4 P4PCR.4 P5PCR.4 读/写第3位 P0PCR.3 P1PCR.3 P2PCR.3 P3PCR.3 P4PCR.3 P5PCR.3 读/ 写第2位 P0PCR.2 P1PCR.2 P2PCR.2 P3PCR.2 P4PCR.2 P5PCR.2 读/ 写第1位 P0PCR.1 P1PCR.1 P2PCR.1 P4PCR.1 P5PCR.1 读/写第0位 P0PCR.0 P1PCR.0 P2PCR.0 P3PCR.0 P4PCR.0 P5PCR.0 读/ 写000000007-0PxPCR.y x=0~5,y=0~7说明 输入端口内部上拉电阻控制 0: 内部上拉电阻关闭 1: 内部上拉电阻开启31/115V0.1 SH79F6431端口数据寄存器P0 (80H) P1 (90H) P2 (A0H) P3 (B0H) P4 (C0H) P5 (F8H) 读/写 复位值 (POR/WDT/LVR/PIN)位编号 位符号第7位 P0.7 P1.7 P2.7 P4.7 P5.7 读/ 写第6位 P0.6 P1.6 P2.6 P3.6 P4.6 P5.6 读/ 写第5位 P0.5 P1.5 P2.5 P3.5 P4.5 P5.5 读/ 写第4位 P0.4 P1.4 P2.4 P3.4 P4.4 P5.4 读/写第3位 P0.3 P1.3 P2.3 P3.3 P4.3 P5.3 读/ 写第2位 P0.2 P1.2 P2.2* P3.2 P4.2 P5.2 读/ 写第1位 P0.1 P1.1 P2.1* P4.1 P5.1 读/写第0位 P0.0 P1.0 P2.0 P3.0 P4.0 P5.0 读/ 写00000000说明 Px.y, 端口数据寄存器 7-0 x=0~4, y=0~7 *注意: P2.1、P2.2 端口作为 N-沟道的开漏 I/O。但是此时端口电压不能超过 VDD+0.3V。 端口模式选择寄存器EFH P2OS读/写 复位值 (POR/WDT/LVR/PIN) 位编号 位符号第7位 -第6位 -第5位 -第4位 -第3位 说明第2位第1位第0位 -P2OS.2读/写 0P2OS.1读/写 0-2-1P2OS.x x =2-1端口 2 输出模式选择 0:引脚输出模式为 N 沟道开漏输出 1:引脚输出模式为 CMOS 挽推输出32/115V0.1 SH79F64317.7.2 端口模块图SFENPxPCRyOutput ModeInput ModeVDD PxCRyVDD(Pull-up)0 = ON 1 = OFF I/O PadWrite Data Bus Data Register Read Port Data Register Read Read Data Register/Pad Selection 0: From Pad 1: From data register 0 = OFF 1 = ON Second FunctionRead Port Pad注意 1) 输入端口读操作直接读引脚电平。 2) 输出端口读操作的输入源有两种,一种是从端口数据寄存器读取,另一种是直接读引脚电平。用读取指令来区分: 读-修 改-写指令是读寄存器,而其它指令读引脚电平。 3) 不管端口是否共享为其它功能,对端口写操作都是针对端口数据寄存器。33/115V0.1 SH79F64317.7.3 端口共享46 个双向 I/O 端口也能共享作为第二或第三种特殊功能。共享优先级按照外部最高内部最低的规则: 在引脚配置图中引脚最外边标注功能享有最高优先级,最里边标注功能享有最低优先级。这意味着一个引脚已经使用较 高优先级功能(如果被允许的话) ,就不能用作较低优先级功能,即使较低优先级功能被允许。只有较高优先级功能由硬件或 软件关闭后,相应的引脚才能用作较低优先级功能。上拉电阻也由相同规则控制。 当允许端口复用为其它功能时,用户可以修改 PxCRpPxPCR(x=0~5),但在复用的其它功能被禁止前,这些操作不会影 响端口状态。 当允许端口复用为其它功能时,任何对端口的读写操作只会影响到数据寄存器的值,端口引脚值保持不变,直到复用的其 它功能关闭。Port 0: LCD Segment 5-12 (P0.0 C P0.7) -RXD2(P0.6): EUART 2 数据输入 -TXD2(P0.7): EUART 2 数据输出 PORT0 共享列表 引脚编号 优先级 功能 1 TXD2 Pin 48 2 SEG12 3 P0.7 1 RXD2 Pin 47 2 SEG11 3 P0.6 1 SEG5~SEG10 Pin 41~46 2 P0.0~P0.5允许位 写入 SBUF2 寄存器 P0SS.7=1 无上述情况 设置 SCON2 寄存器的 REN2 位为 1 (自动上拉) P0SS.6=1 无上述情况 P0SS.x=1 (x=0~5) P0SS.x=0 (x=0~5)Port 1: LCD COM1-4 (P1.0-P1.3) LCD Segment 1-4 (P1.4 C P1.7) PWM0(P1.4): PWM0 输出 PORT1 共享列表 引脚编号 优先级 功能 1 SEG1 2 PWM0 Pin37 3 P1.4 1 SEG2~SEG4 Pin38~40 2 P1.5~P1.7 1 COM1~4 Pin33~36 2 P1.0~P1.3允许位 P1SS.4=1 PWM0CON 寄存器 PWM0EN 位置 1, 且 P1SS.4=0 PWM0CON 寄存器 PWM0EN 位清 0, 且 P1SS.4=0 P1SS.x=1(x=5~7) P1SS.x=0(x=5~7) P1SS 寄存器中 COMS=1 P1SS 寄存器中 COMS=034/115V0.1 SH79F6431Port 2::复位 -RST(P2.0) -SCL (P2.1): TWI 串行时钟线 -SDA (P2.2): TWI 串行数据线 -AN0 (P2.3): ADC 输入通道 0 -AN1 (P2.4): ADC 输入通道 1 -AN2 (P2.5): ADC 输入通道 2 -AN3 (P2.6): ADC 输入通道 3 -INT2(P2.7): 外部中断 2 -INT3(P2.6): 外部中断 3 -T1 (P2.7): 定时器 1 外部输入或比较输出 -CALIN(P2.1): RTC 校准输入 -VIN (P2.3): 外部电压输入 PORT 2 共享功能列表 引脚编号 优先级 功能―――允许位 代码选项 代码选项 当 RTCCON 中寄存器的 RTCEN 和 CAL 位均为 1, 将 AUTOCAL 位置 1Pin191 2 1RST P2.0 CALIN SCL P2.1 SDA P2.2 VIN AN0 P2.3 AN1 P2.4 AN2 P2.5 AN3 INT3 P2.6 T1―――Pin202 3 1 2 1TWICON 寄存器中的 TWIEN 位置 1无上述情况 TWICON 寄存器中的 TWIEN 位置 1Pin21TWICON 寄存器中的 TWIEN 位清 0代码选项 ADCH 寄存器的 CH0 位和 ADCON 寄存器的 ADON 位都置 1, 并且 SCH [2:0] = 000Pin222 3ADCH 寄存器中的 CH0 位清 0 ADCH 寄存器的 CH1 位和 ADCON 寄存器的 ADON 位置 1,并 且 SCH [2:0] = 001 ADCH 寄存器的 CH1 位清 0 ADCH 寄存器的 CH2 位和 ADCON 寄存器的 ADON 位都置 1, 并且 SCH [2:0] = 010 ADCH 寄存器的 CH2 位清 0 ADCH 寄存器的 CH3 位和 ADCON 寄存器的 ADON 位都置 1, 并且 SCH [2:0] = 011 IEN1 寄存器的 EX3 位置 1,并且 Port2.6 置为输入模式 (上拉由软件设置)无上述情况Pin231 2Pin241 2 1Pin252 3 1TCON 寄存器的 TR1 位和 TMOD 寄存器的 C/T 1 位都置 1 (自动上拉);或清’0’TMOD 寄存器的 C/T 1 位并且将 TCON1 寄存 器的 TC1 位置 1 IEN1 寄存器的 EX2 位置 1,并且 Port2.7 为输入模式 (上拉由软件设置)无上述情况----------------Pin26 2 3 INT2 P2.735/115V0.1 SH79F6431Port 3: -RXD0(P3.5): EUART 0 数据输入 -TXD0(P3.6): EUART 0 数据输出 -RXD1 (P3.3): EUART 1 数据输入 -TXD1 (P3.4): EUART 1 数据输出 -T0 (P3.0): 定时器 0 外部输入或比较输出 -T2 (P3.2): 定时器 2 外部输入/波特率时钟输出 -T2EX(P3.3): Timer 2 重载/捕捉/方向控制 -INT1(P3.0): 外部中断 1 -CALOUT (P3.2): 补偿时钟输出 -LCD Segment 29~32 PORT 3 共享功能列表引脚编号 优先级 功能 允许位1 Pin27 2 3 1 Pin28 2 3 Pin29 1 2 3 1 Pin30 2 3 1 2 3 1 Pin32 2 3T0T2EX P3.0 CALOUT T2 P3.2 RXD1 SEG29 P3.3 TXD1 SEG30 P3.4 RXD0 SEG31 P3.5 TXD0 SEG32 P3.6C/T 0 位都置 1 TCON 寄存器的 TR0 位和 TMOD 寄存器的 -------(自动上拉);或清 0 TMOD 寄存器的 C/T 0 位并且将 TCON1 寄存 器的 TC0 位置 1 在 0,2,3 模式下 T2CON 寄存器的 EXEN2 位置 1 或在 1 模式下 T2CON 寄存器的 DCEN 位置 1 或在模式 1 下 DCEN 位和 EXEN2 位清 0 (自动上拉) 无上述情况 RTCCON 寄存器中的 RTCEN 位设置为 1,并且 OUTF [1]等于 1 T2CON 的 TR2 位和 T2MOD 的 T2OE 位都置 1(自动上拉)无上述情况 设置 SCON1 寄存器的 REN1 位为 1 (自动上拉) P3SS.3=1 无上述情况 写入 SBUF1 寄存器--------P3SS.4=1无上述情况 设置 SCON 寄存器的 REN 位为 1 (自动上拉) P3SS.5=1 无上述情况 写入 SBUF 寄存器Pin31P3SS.6=1无上述情况36/115V0.1 SH79F6431Port 4: LCD Segment 13-20 (P4.0 C P4.7) PORT 4 共享功能列表 引脚编号 优先级 功能 Pin49~56 1 2 SEG13~SEG20 P4.0~P4.7 P4SS.X=1(X=0~7) P4SS.x=0(x=0~7)允许位Port 5: - LCD Segment 21-28 (P5.0 C P5.7) - PWM1(P5.6): PWM1 输出 - INT1(P5.7): 外部中断 1 PORT 5 共享功能列表 引脚编号 优先级 功能 Pin57~62 1 2 1 2 3 1 2 3 SEG21~SEG26 P5.0~P5.5 SEG27 PWM1 P5.6 SEG28 INT1 P5.7允许位P5SS.x=1(x=0~5) P5SS.x=0(x=0~5) P5SS.6=1 PWM1CON 寄存器 PWM1EN 位置 1,且 P5SS.6=0 PWM1CON 寄存器 PWM1EN 位清 0,且 P5SS.6=0 P5SS.7=1 P5SS.7=0, IEN0 寄存器的 EX1 位置 1,并且 Port5.7 为输入模式 (上拉由软件设置) P5SS.7=0, 且 IEN0 寄存器的 EX1 位清 0Pin63Pin6437/115V0.1 SH79F64317.8 定时器z z z z z z zSH79F6431 有3个通用定时器(定时器0、1、2) 定时器0兼容标准的8051 定时器1兼容标准的8051 定时器2兼容标准的8052,且有递增递减计数和可编程输出功能 定时器0/1增加了比较输出功能 定时器0/1增加了时钟源选择功能 定时器0/1增加了时钟源分频功能7.8.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 = 0,选择系统时钟 为定时器 x 的时钟源。―――― ――――当 GATEx = 0 或 GATEx = 1 且输入信号INTx有效时,TRx 置 1 打开定时器。GATEx 置 1 允许定时器由外部输入信号INTx――――控制,便于测量INTx的正脉冲宽度。TRx 位置 1 不强行复位定时器,这意味着如果 TRx 置 1,定时器寄存器将从上次 TRx 清 0 时的值开始计数。所以在允许定时器之前,应该设定定时器寄存器的初始值。 当作为定时器应用时,可配置寄存器 TCON1 中的 TCLKSx(x=0,1)位选择系统时钟或 32.768kHz 作为定时器 x(x=0,1) 的时钟源。 可配置寄存器 TCON1 中的 TCLKPx (x = 0, 1)位选择系统时钟或系统时钟的 1/12 作为定时器 x (x = 0, 1)的时钟源。 当作为定时器应用时,可配置寄存器 TCON1 中的 TC0/1 位使定时器 0/1 溢出时 T0/T1 脚自动翻转。如果 TC0/1 被置 1, T0/T1 引脚自动设置为输出。System Clock 1/12 32.768kHz TCLKPx TCLKSx Tx GATEx INTx TRx + & The Block Diagram of mode0 of Timerx ( x=0,1 ) 0:Switch Off 1:Switch On Overflow TLx (5bits) THx (8bits) TFx Overflow Flag C/Tx=0 and TCx=1 Interrupt Request=0 C/Tx =1Tx方式 1: 16 位计数器/定时器 除了使用16位定时器/计数器之外,方式1的运行与方式0一致。打开和配置计数器/定时器也如同方式0。38/115V0.1 SH79F6431System Clock 1/12 32.768kHz TCLKPx TCLKSx Tx GATEx INTx TRx + & The Block Diagram of mode1 of Timerx ( x=0,1 ) 0:Switch Off 1:Switch On =0 C/Tx =1 TLx (8bits) THx (8bits) Overflow TFx Overflow Flag C/Tx=0 and TCx=1 Interrupt RequestTx方式 2: 8 位自动重载计数器/定时器 方式 2 中,定时器 x 是 8 位自动重载计数器/定时器。TLx 存放计数值,THx 存放重载值。当在 TLx 中的计数器溢出至 0x00 时, 置起定时器溢出标志 TFx, 寄存器 THx 的值被重载入寄存器 TLx 中。如果定时器中断使能, 当 TFx 置 1 时将产生一个中断。 而在 THx 中的重载值不会改变。在允许定时器正确计数开始之前,TLx 必须初始化为所需的值。 除了自动重载功能外,方式2中的计数器/定时器的使能和配置与方式1和0是一致的。 当作为定时器应用时,可配置寄存器 TCON1 中的 TCLKSx (x = 0, 1)位选择系统时钟或 32.768kHz 作为定时器 x (x = 0, 1) 的时钟源。 可配置寄存器 TCON1 中的 TCLKPx (x = 0, 1)位选择系统时钟或系统时钟的 1/12 作为定时器 x (x = 0, 1)的时钟源。 当作为定时器应用时,可配置寄存器TCON1中的TC0/1位使定时器0/1溢出时T0/T1脚自动翻转。如果TC0/1被置1,T0/T1 引脚自动设置为输出。System Clock 1/12 32.768kHz TCLKPx TCLKSx Tx GATEx + & TRxTH0 (8bits) Reload =0 C/Tx =1TL0 (8bits) 0:Switch Off 1:Switch Onoverflow TFx Overflow FlagInterrupt RequestINTxTx C/Tx=0 and TCx=1The Block Diagram of mode2 of Timerx (x=0,1)方式 3: 两个 8 位计数器/定时器(只限于定时器 0) 在方式 3 中,定时器 0 用作两个独立的 8 位计数器/定时器,分别由 TL0 和 TH0 控制。TL0 使用定时器 0 的控制(在 TCON―――中)和状态(在 TMOD 中)位:TR0, C/T0 , GATE0 和 TF0。TL0 能用系统时钟或 32.768kHz 或外部输入信号作为时钟源。 TH0 只能用作定时器功能,时钟源来自系统时钟。TH0 由定时器 1 的控制位 TR1 控制使能,溢出时定时器 1 溢出标志 TF1 置 1,控制定时器 1 中断。39/115V0.1 SH79F6431定时器0工作在方式3时,定时器1可以工作在方式0、1或2,但是不能置1 TF1标志和产生中断。TH1和TL1只能用作定时器 功能,时钟源来自系统时钟,GATE1位无效。T1输入脚的上拉电阻也无效。定时器1由方式控制使能与否,因为TR1被定时器0 占用。定时器1在方式0、1或2时使能,在方式3时被关闭。 当作为定时器应用时,可配置寄存器 TCON1 中的 TCLKS0 位选择系统时钟或 32.768kHz 作为定时器 0 的时钟源。 可配置寄存器 TCON1 中的 TCLKP0 位选择系统时钟或系统时钟的 1/12 作为定时器 0 的时钟源。 当作为定时器应用时,可配置寄存器TCON1中的TC0位使定时器0溢出时T0脚自动翻转。如果TC0被置1,T0引脚自动设置 为输出。System Clock 1/12 32.768kHz =0 TCLKP0 C/T0 TCLKS0 =1 OverflowTL0 (8bits) 0:Switch Off 1:Switch OnTF0 Overflow FlagInterrupt RequestT0GATE0 INT0 TR0 System Clock 1/12 32.768kHz TCLKP0 TCLKS0 TR1 + &T0 C/T0=0 and TC0=1TH0 (8bits) 0:Switch Off 1:Switch OnOverflowTF1 Overflow FlagInterrupt RequestThe Block Diagram of mode3 of Timer040/115V0.1 SH79F6431寄存器 定时器/计数器 x 控制寄存器 (x = 0,1) 88H 第7位 TF1 TCON 读/写 读/ 写 复位值(POR/WDT/LVR/PIN) 位编号 位符号 第6位 TR1 读/写 第5位 TF0 读/写 第4位 TR0 读/ 写 第3位 IE1 读/ 写 第2位 IT1 读/ 写 第1位 第0位 -000000--7,5TFx x = 0, 1 TRx x = 0, 1 IE1 IT16,4 3 2说明 定时器 x 溢出标志位 0 :定时器 x 无溢出,可由软件清 0 1 :定时器 x 溢出,由硬件置 1;若由软件置 1 将会引起定时器中断 定时器 x 启动,停止控制位 0 :停止定时器 x 1 :启动定时器 x 外部中断 1 请求标志位 外部中断 1 触发方式选择位定时器/计数器 x 方式寄存器 (x = 0,1) 89H 第7位第6位第5位第4位第3位第2位第1位第0位TMOD读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号GATE1读/ 写C/T1 读/写 0―――M11读/写M10读/ 写GATE0读/ 写C/T0 读/ 写 0―――M01读/ 写M00读/ 写0000说明007,3GATEx x = 0, 1―――定时器 x 门控位 0: TRx 置 1,定时器 x 即被允许6,2C/ Tx x = 0, 15-4 1-0Mx [1:0] x = 0, 11: 只有INTx 在高电平期间 TRx 置 1,定时器 x 才被允许 定时器/计数器方式选择位 0: 定时器方式 1: 计数器方式 定时器 x 定时器方式选择位 00: 方式 0,13 位向上计数计数器/定时器,忽略 TLx 的第 7-5 位 01: 方式 1,16 位向上计数计数器/定时器 10: 方式 2,8 位自动重载向上计数计数器/定时器 11: 方式 3(只用于定时器 0) ,两个 8 位向上计数定时器――――定时器 x / 计数器 x 数据寄存器 (x = 0,1) 8AH-8DH 第7位 TL0(8AH) TL0.7 TH0(8CH) TH0.7 TL1(8BH) TL1.7 TH1(8DH) TH1.7 读/写 读/ 写 复位值(POR/WDT/LVR/PIN) 位编号 位符号 TLx.y , THx.y x=0-1, y=0-7第6位 TL0.6 TH0.6 TL1.6 TH1.6 读/写第5位 TL0.5 TH0.5 TL1.5 TH1.5 读/写第4位 TL0.4 TH0.4 TL1.4 TH1.4 读/ 写第3位 TL0.3 TH0.3 TL1.3 TH1.3 读/ 写第2位 TL0.2 TH0.2 TL1.2 TH1.2 读/ 写第1位 TL0.1 TH0.1 TL1.1 TH1.1 读/ 写第0位 TL0.0 TH0.0 TL1.0 TH1.0 读/ 写00000说明0007-0定时器 x 低及高字节计数器41/115V0.1 SH79F6431定时器/计数器 x 控制寄存器 1(x = 0,1) CEH 第7位 TCON1 读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号 第6位 TCLKS1 读 /写 第5位 TCLKS0 读 /写 第4位 第3位 TCLKP1 读/ 写 第2位 TCLKP0 读/ 写 第1位 TC1 读/ 写 第0位 TC0 读/ 写-00-00006-5TCLKSx x=0,1 TCLKPx x=0,1 1-0 TCx x=0,13-2说明 定时器 x 时钟源控制位 0: 系统时钟作为定时器 x 的时钟源 1: 选择 32.768kHz 作为定时器 x 的时钟源 定时器 x 时钟源预分频控制位 0: 选择系统时钟作为定时器 x 的时钟源 1: 选择系统时钟的 1/12 作为定时器 x 的时钟源 比较输出功能允许位 0: 禁止定时器 x 比较输出功能 1: 允许定时器 x 比较输出功能7.8.2 定时器 2两个数据寄存器(TH2 和 TL2)串联后可作为一个 16 位寄存器来访问,由寄存器 T2CON 和 T2MOD 控制。设置 IEN0 寄 (详见中断章节) 存器中的 ET2 位能允许定时器 2 中断。―――定时器 2 的工作模式与定时器 0 和定时器 1 相似。C/T2 选择系统时钟(定时器)或外部引脚 T2(计数器)作为定时器时钟输 入。通过所选的引脚设置 TR2 允许定时器 2/计数器 2 数据寄存器计数。 定时器 2 方式 定时器 2 有 3 种工作方式:捕获/重载,带递增或递减计数器的自动重载方式和可编程时钟输出。CP/RL2 的组合能选择这 些方式。 定时器 2 方式选择―――C/T2 X X X 0 1 XT2OE DCEN TR2 CP/RL2 方式 0 0 0 1 1 X X 0 1 X X X 1 1 1 1 1 0 1 0 0 X X X 0 1 3 X X 16 位捕获 16 位自动重载定时器只用于可编程时钟 不推荐使用 定时器 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 一样也产生一个中断。42/115V0.1 SH79F6431System Clock =0 C/T2 T2 TR2 CP / RL2 & EXEN2 0:Switch Off 1:Switch On EXF2 External falling edge flag RCAP2L RCAP2H + =1 0:Switch Off 1:Switch On Increment Mode TL2 TH2 TF2 Overflow flagInterrupt RequestT2EXBlock Diagram of 16 bit Capcture mode (Mode 0) of Timer2方式 1: 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 =0 C/T2 T2 TR2 =1 0:Switch Off 1:Switch On RCAP2L RCAP2H Overflow Flag Interrupt Request Increment Mode TL2 TH2 TF2+EXEN2 T2EX 0:Switch Off 1:Switch On+External Falling Edge flag EXF2The Block Diagram of Auto Relode Mode (Mode 1)of Timer2 (DCEN=0)设置 DCEN 位允许定时器 2 递增计数或递减计数。当 DCEN = 1 时,T2EX 引脚控制计数的方向,而 EXEN2 控制无效。 定时器递增到 0FFFFH, 在溢出后设置 TF2 位。 溢出也能分别引起 RCAP2H 和 RCAP2L T2EX 置 1 可使定时器 2 递增计数。 上的 16 位值重载入定时器寄存器。 T2EX 清 0 可使定时器 2 递减计数。当 TH2 和 TL2 的值小于 RCAP2H 和 RCAP2L 的值时,定时器溢出。置起 TF2 位,同 时 0FFFFH 重载入定时器寄存器。 无论定时器 2 溢出,EXF2 位都被用作结果的第 17 位。 在此工作方式下,EXF2 不作为中断标志。43/115V0.1 SH79F6431FFH System Clock =0 C/T2 T2 TR2 =1 0:Switch Off 1:Switch On RCAP2L TL2FFHTH2TF2 Overflow Flag Toggle EXF2Interrupt RequestT2EX1.T2EX=1?A Timer2 is up counter 2.T2EX=0?A Timer2 is down counterRCAP2HThe Block Diagram of Auto-Reload Mode ( Mode 1) of Timer2 (DCEN=1)System ClockTimer1 overflow /2 C/ T2 =1 0:Switch Off 1:Switch On RCAP2L =0 TL2/2SMOD =1 =0T2TH2RCLK =1 =0 Receiver CLK/16 TCLK =1 =0 RCAP2H /16TR2Transiver CLKEXEN2 T2EX 0:Switch Off 1:Switch On EXF2 The Block Diagram of Baud-Rate Generator ( Mode 2 ) of Timer2 Timer2 Interrupt Request44/115V0.1 SH79F6431方式 3:可编程时钟输出 在这种方式中,T2 输出占空比为 50%的时钟:Clock Out Frequency =定时器 2 溢出不产生中断。1 System Clock × 2 × 2 65536 ? [ RCAP 2 H , RCAP 2 L]System Clock/2 =0 C/ T2 =1 0:Switch Off 1:Switch On C/ T2 RCAP2LT2OETL2TH2TR2RCAP2HT2 /2 EXEN2 0:Switch Off 1:Switch On0:Switch Off 1:Switch OnT2EXEXF2Timer2 Interrupt RequestThe 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. T2CON 第 4 位,第 5 位禁止写入除 0 以外的数值,否则 T2 可能无法正常工作45/115V0.1 SH79F6431寄存器 定时器 2 控制寄存器 C8H 第7位 第6位 第5位 第4位 第3位 第2位 第1位--------第0位---- --- ---T2CON R/W 复位值 (POR/WDT/LVR/PIN)位编号 位符号TF2读/ 写EXF2读/ 写--EXEN2读/写TR2读/ 写C/T 2 读/ 写 0CP/RL2 读/ 写 000007TF26EXF23EXEN22TR21―――C/T2――――0CP/RL2说明 定时器 2 溢出标志位 0: 无溢出 1: 溢出(如果 RCLK = 0 和 TCLK = 0,由硬件设置) T2EX 引脚外部事件输入(下降沿)被检测到的标志位 0: 无外部事件输入(必须由软件清 0) 1: 检测到外部输入(如果 EXEN2 = 1,由硬件设置 1) T2EX 引脚上的外部事件输入(下降沿)用作重载/捕获触发器允许/禁止控制位 0: 忽略 T2EX 引脚上的事件 1 : 当定时器 2 不做为 EUART 时钟 (T2EX 始终包括上拉电阻) 时, 检测到 T2EX 引脚上一个下降沿,产生一个捕获或重载 定时器 2 开始/停止控制位 0: 停止定时器 2 1: 开始定时器 2 定时器 2 定时器/计数器方式选定位 0: 定时器方式,T2 引脚用作 I/O 端口 1: 计数器方式,内部上拉电阻被打开 捕获/重载方式选定位 0: 16 位带重载功能的定时器/计数器 1: 16 位带捕获功能的定时器/计数器46/115V0.1 SH79F6431定时器 2 方式控制寄存器 C9H T2MOD 读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号 第7位 SSTAT2 读/ 写 第6位 ESU1 读/写 第5位 ESU2 读/写 第4位 第3位 第2位 第1位 T2OE 读/ 写 第0位 DCEN 读/ 写000---007SSTAT26ESU15ESU21T2OE0DCEN说明 SCON2 [7:5]功能选择 0: SCON2 [7:5]工作方式如同 SM20, SM21, SM22 1: SCON2 [7:5] 工作方式如同 FE2, RXOV2, TXCOL2 EUART1 中断允许控制位 0: 禁止 EUART1 中断 1: 允许 EUART1 中断 EUART2 中断允许控制位 0: 禁止 EUART2 中断 1: 允许 EUART2 中断 定时器 2 输出允许位 0: 设置 P3.2/T2 作为时钟输入或 I/O 端口 1: 设置 P3.2/T2 作为时钟输出(波特率发生器方式) 递减计数允许位 0: 禁止定时器 2 作为递增/递减计数器,定时器 2 仅作为递增计数器 1: 允许定时器 2 作为递增/递减计数器定时器 2 重载/捕获和数据寄存器 CAH- CDH 第7位 RCAP2L. RCAP2L(CAH) 7 RCAP2H. RCAP2H(CBH) 7 TL2(CCH) TL2.7 TH2(CDH) TH2.7 读/写 读/ 写 复位值 (POR/WDT/LVR/P 0 IN) 位编号 位符号第6位 RCAP2L. 6 RCAP2H. 6 TL2.6 TH2.6 读/ 写第5位 RCAP2L. 5 RCAP2H. 5 TL2.5 TH2.5 读/ 写第4位 RCAP2L. 4 RCAP2H. 4 TL2.4 TH2.4 读/ 写第3位 RCAP2L. 3 RCAP2H. 3 TL2.3 TH2.3 读/写第2位 RCAP2L. 2 RCAP2H. 2 TL2.2 TH2.2 读/ 写第1位 RCAP2L. 1 RCAP2H. 1 TL2.1 TH2.1 读/ 写第0位 RCAP2L. 0 RCAP2H. 0 TL2.0 TH2.0 读/写0000000说明 定时器 2 重载/捕获数据, x=0-77-0RCAP2L.x RCAP2H.x7-0TL2.x TH2.x定时器 2 高位低位计数器,x=0-747/115V0.1 SH79F64317.9 中断 7.9.1 特性? 14个中断源 ? 4层中断优先级 ? 程序超范围中断 概述 SH79F6431 有 14 个中断源:1 个 OVL NMI 中断,3 个外部中断(外部中断 1/2/3),3 个定时器中断(定时器 0/1/2), 2 个 EUART 中断,ADC 中断,TWI 中断,HSEC 中断,PWM 中断,LPD 中断。7.9.2 程序超范围中断(OVL)SH79F6431 有一个不可屏蔽中断(NMI)源――程序超范围中断(OVL) ,其向量定位在 007BH 中,不可屏蔽中断用以防 止 CPU 超出有效程序范围。为应用这个特性,用户应该用常量 0xA5 填满未使用的 Flash ROM,如果 PC 超过了用户的有效程 序范围,则运算代码为不存在在 8051 指令集中的 0xA5,CPU 因此获知 PC 已经超出了有效的程序范围,同时 OVL 中断发生。 如果 PC 超过 64K Flash ROM 范围,不可屏蔽中断 OVL 同样会发生。 不可屏蔽中断 OVL 享有最高优先级(除复位外) ,不会被其它中断源中断。同样不可屏蔽中断 OVL 能自身嵌套,但堆栈不 会因此增加。当 OVL 中断发生后,其它中断仍旧被允许,如果满足设定的条件,其它中断的标志将置 1。 由于 OVL 中断是不可屏蔽中断并且具有最高中断优先级,当产生 OVL 中断时,其它任何中断都被屏蔽掉,不能响应,所 用户可以用 OVL 中断服务程序末端的 RETI 指令来修改压入栈顶的地 以用户必须处理 OVL 中断以保护系统免受不必要的影响。 址(因为进入 OVL 中断时,压入堆栈顶端的地址是无用的) ,这样跳出中断服务程序后,程序可以跳转到用户指定的代码,诸 如复位入口或保护程序入口。OVL_NMI_SERVICE: …… MOV SP, #Initial_value MOV DPTR, #Start_or_Initial_address PUSH DPL PUSH DPH RETI 特别提示:由于 OVL 中断是不可屏蔽中断并且具有最高中断优先级,当产生 OVL 中断时,其它任何中断都被屏蔽掉,不能响应,所以 用户必须处理 OVL 中断以保护系统免受不必要的影响。48/115V0.1 SH79F64317.9.3 中断允许任何一个中断源均可通过对寄存器 IEN0 和 IEN1 中相应的位置 1 或清 0,实现单独允许或禁止。IEN0 寄存器中还包含了一 个全局允许位 EA,它是所有中断的总开关。一般在复位后,所有中断允许位设置为 0,所有中断被禁止。 初级中断允许寄存器 A8H IEN0 读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位 EA 读/ 写第6位 EADC 读/写第5位 ET2 读/ 写第4位 ES0 读/ 写第3位 ET1 读/ 写第2位 EX1 读/ 写第1位 ET0 读/写第0位 -00000说明00-7EA6EADC5ET24ES03ET12EX11ET0所有中断允许位 0: 禁止所有中断 1: 允许所有中断 ADC 中断允许位 0: 禁止 ADC 中断 1: 允许 ADC 中断 定时器 2 溢出中断允许位 0: 禁止定时器 2 溢出中断 1: 允许定时器 2 溢出中断 EUART0 中断允许位 0: 禁止 EUART0 中断 1: 允许 EUART0 中断 定时器 1 溢出中断允许位 0: 禁止定时器 1 溢出中断 1: 允许定时器 1 溢出中断 外部中断 1 允许位 0: 禁止外部中断 1 1: 允许外部中断 1 定时器 0 溢出中断允许位 0: 禁止定时器 0 溢出中断 1: 允许定时器 0 溢出中断次级中断允许寄存器 A9H IEN1 读/写 复位值(POR/WDT/LVR/PIN) 位编号 位符号第7位 ELPD 读/ 写第6位 ETWI 读/写第5位 EPWM 读/ 写第4位 ES1 读/ 写第3位 EHSEC 读/ 写第2位 EX3 读/ 写第1位 EX2 读/写第0位 -0000说明000-7ELPD6ETWI5EPWMLPD 中断允许位 0: 禁止 LPD 中断 1: 允许 LPD 中断 TWI 溢出中断允许位 0: 禁止 TWI 中断 1: 允许 TWI 中断 PWM 周期中断允许位 0: 禁止 PWM 中断 1: 允许 PWM 中

我要回帖

更多关于 定时器 的文章

 

随机推荐