MICROCHIP MCV18E User Manual

MCV18E
数据手册
18 引脚闪存单片机
© 2009 Microchip Technology Inc. DS41399A_CN
请注意以下有关 Microchip 器件代码保护功能的要点:
•Microchip的产品均达到 Microchip 数据手册中所述的技术指标。
•Microchip确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的产品之一。
目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不是以 Microchip 数据手册中规定的 操作规范来使用 Microchip 产品的。这样做的人极可能侵犯了知识产权。
•Microchip愿与那些注重代码完整性的客户合作。
•Microchip或任何其他半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证产品是 “牢不可破”的。
代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视 为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act)》。如果这种行为导致他人在未经授权的情况下,能访问您的
软件或其他受版权保护的成果,您有权依据该法案提起诉讼,从而制止这种行为。
提供本文档的中文版本仅为了便于理解。请勿忽视文档中包含 的英文部分,因为其中提供了有关 Microchip 产品性能和使用
情况的有用信息。Microchip Technology Inc. 及其分公司和相 关公司、各级主管与员工及事务代理机构对译文中可能存在的
本出版物中所述的器件应用信息及其他类似内容仅为您提供便 利,它们可能由更新之信息所替代。确保应用符合技术规范, 是您自身应负的责任。Microchip 对这些信息不作任何明示或 暗示、书面或口头、法定或其他形式的声明或担保,包括但不 限于针对其使用情况、质量、性能、适销性或特定用途的适用 性的声明或担保。 Microchip 对因这些信息及使用这些信息而 引起的后果不承担任何责任。如果将 Microchip 器件用于生命 维持和 / 或生命安全应用,一切风险由买方自负。买方同意在 由此引发任何一切伤害、索赔、诉讼或费用时,会维护和保障 Microchip 免于承担法律责任,并加以赔偿。在 Microchip 知识 产权保护下,不得暗中或以其他方式转让任何许可证。
商标
Microchip 的名称和徽标组合、 Microchip 徽标、 dsPIC K
EELOQ、 KEELOQ 徽标、 MPLAB、 PIC、 PICmicro、
PICSTARTrfPIC UNI/O 均为 Microchip Technology Inc.
在美国和其他国家或地区的注册商标。
FilterLabHampshireHI-TECH CLinear Active ThermistorMXDEVMXLABSEEVAL The Embedded
Control Solutions Company 均为 Microchip Technology Inc.
在美国的注册商标。
Analog-for-the-Digital AgeApplication Maestro CodeGuarddsPICDEM、 dsPICDEM.net、 dsPICworks、
dsSPEAKECANECONOMONITORFanSense HI-TIDEIn-Circuit Serial ProgrammingICSPMindi
MiWiMPASMMPLAB Certified 徽标、MPLIBMPLINK mTouchOctopusOmniscient Code GenerationPICC PICC-18PICDEMPICDEM.netPICkitPICtailPIC
32
徽标、REAL ICErfLABSelect ModeTotal Endurance TSHARCUniWinDriverWiperLock ZENA 均为
Microchip Technology Inc. 在美国和其他国家或地区的商标。
SQTP 是 Microchip Technology Inc. 在美国的服务标记。
在此提及的所有其他商标均为各持有公司所有。 © 2009, Microchip Technology Inc. 版权所有。
Microchip Gresham
印度的设计中心均通过了
MCU与dsPIC® DSC、KEELOQ
设、非易失性存储器和模拟产品方面的质量体系流程均符合
16949:2002
系也已通过了
位于美国亚利桑那州
的全球总部、设计和晶圆生产厂及位于美国加利福尼亚州和
。此外,
Microchip
ISO 9001:2000
Chandler和Tem pe
ISO/TS-16949:2002
®
跳码器件、串行
在开发系统的设计和生产方面的质量体
认证。
与位于俄勒冈州
认证。公司在
EEPROM
®
PIC
、单片机外
ISO/TS-
DS41399A_CN 第2 页 © 2009 Microchip Technology Inc.
18 引脚闪存单片机
MCV18E

单片机内核特性:

高性能 RISC CPU
仅需学习 35 条单字指令
- 除程序跳转指令是双周期指令外,所有指令都
是单周期指令
工作速度:DC – 20 MHz 时钟输入
DC – 200 ns 指令周期
中断能力 (最多 7 个内部 / 外部中断源)
•8级深硬件堆栈
直接、间接和相对寻址模式

单片机特性:

上电复位 (Power-on ResetPOR
上电延时定时器(Power-up TimerPWRT)和 振
荡器起振定时器(Oscillator Start-up Timer,OST
看门狗定时器 (Watchdog TimerWDT),具有
自己的片上 RC 振荡器,能够可靠工作
双电平欠压复位电路
BOR (典型值)
- 2.5 V
BOR (典型值)
- 4.0 V
可编程代码保护
节能休眠模式
可选的振荡器选项
全静态设计
在线串行编程 (In-Circuit Serial Programming
ICSP™

CMOS 技术:

宽工作电压范围:
- 工业级:5.5V
高灌 / 拉电流:25/25 mA
宽温度范围:
- 工业级:-40
°C 至 85°C

低功耗特性:

待机电流:
-2.4V时最小值为 125 nA
工作电流:
- 32 kHz、 2.4V 时最小值为 17.5 μA
-1 MHz、 2.4V 时最小值为 150 μA
看门狗定时器电流:
-2.4V时最小值为 1.25 μA
•Timer1振荡器电流:
- 32 kHz、 2.4V 时最小值为 3.75 μA

外设特性:

•Timer0:带有 8 位预分频器的 8 位定时器 / 计数器
•Timer1:带有预分频器的 16 位定时器 / 计数器, 能通过外部晶振 / 时钟在休眠期间进行递增
•Timer2:带有 8 位周期寄存器、预分频器和后分频 器的 8 位定时器 / 计数器
增强型捕捉 / 比较 /PWM 模块:
- 捕捉模块为 16 位,最大分辨率为 12.5 ns
- 比较模块为 16 位,最大分辨率为 200 ns
-PWM模块最大分辨率为 10 位
- 增强型 PWM
- PWM、半桥和全桥模式
- 数字可编程死区延时
- 自动关闭 / 重启
•8位多通道模数转换器
可单独进行方向控制的 13 I/O 引脚
•PORTB上的可编程弱上拉
器件
存储器
闪存 数据
MCV18E 2048 x 14 128 x 8 13 4 2/1 1/2/4 5.5V
© 2009 Microchip Technology Inc. DS41399A_CN 第 3
I/O
8 A/D
(通道)
8/16
定时器
PWM
(输出)
DD 范围
V
MCV18E

18 引脚图

18 引脚 PDIP SOIC
RA2/AN2
RA3/AN3/VREF
RA4/T0CKI
MCLR
/VPP
SS
V RB0/INT/ECCPAS2 RB1/T1OSO/T1CKI
RB2/T1OSI
RB3/CCP1/P1A
1 2 3 4 5 6 7 8 9
18 17 16 15 14 13
MCV18E
12 11
10
RA1/AN1 RA0/AN0 OSC1/CLKIN OSC2/CLKOUT VDD RB7/P1D RB6/P1C RB5/P1B RB4/ECCPAS0
1 18 引脚 PDIP SOIC 汇总
I/O
引脚 模拟
RA0 17 AN0
RA1 18 AN1
RA2 1 AN2
RA3
RA4 3 T0CKI
RB0 6 ECCPAS2
RB1 7 T1OSO/T1CKI
RB2 8 T1OSI
RB3 9 CCP1/P1A
RB4 10 ECCPAS0
RB5 11 P1B IOC
RB6 12 P1C IOC
RB7 13 P1D IOC
—14 V
5 VSS
—4 MCLR/VPP
16 OSC1/CLKIN
15 OSC2/CLKOUT
2AN3/VREF ———— —
ECCP
定时器 中断 上拉 基本功能
—INT
—IOC
有 有 有 有
有 有 有 有
ICSPCLK
ICSPDAT
DD
DS41399A_CN 第 4 页 © 2009 Microchip Technology Inc.
MCV18E
目录
1.0 器件概述 ....................................................................................................................................................................................... 7
2.0 存储器构成 ................................................................................................................................................................................... 9
3.0 I/O 端口 ...................................................................................................................................................................................... 21
4.0 Timer0 模块 ................................................................................................................................................................................ 29
5.0 带门控的 Timer1 模块................................................................................................................................................................. 33
6.0 Timer2 模块 ................................................................................................................................................................................ 39
7.0 模数转换器 (ADC)模块 .......................................................................................................................................................... 41
8.0 增强型捕捉 / 比较 /PWM 模块..................................................................................................................................................... 51
9.0 CPU 的特殊功能......................................................................................................................................................................... 65
10.0 电气特性 ..................................................................................................................................................................................... 81
11.0 封装信息 ..................................................................................................................................................................................... 95
附录 A:版本历史 ................................................................................................................................................................................. 99
索引................................................................................................................................................................................................... 101
产品标识体系 ..................................................................................................................................................................................... 107
致客户
我们旨在提供最佳文档供客户正确使用 Microchip 产品。为此,我们将不断改进出版物的内容和质量,使之更好地满足您的要求。 出版物的质量将随新文档及更新版本的推出而得到提升。
如果您对本出版物有任何问题和建议,请通过电子邮件联系我公司 TRC 经理,电子邮件地址为 CTRC@microchip.com,或将本 数据手册后附的 《读者反馈表》传真到 86-21-5407 5066。我们期待您的反馈。

最新数据手册

欲获得本数据手册的最新版本,请与当地的 Microchip 销售办事处联系。
http://www.microchip.com
查看数据手册中任意一页下边角处的文献编号即可确定其版本。文献编号中数字串后的字母是版本号,例如:DS30000A是DS30000A 版本。

客户通知系统

欲及时获知 Microchip 产品的最新信息,请到我公司网站 www.microchip.com 上注册。
© 2009 Microchip Technology Inc. DS41399A_CN 5
MCV18E
注:
DS41399A_CN 6 © 2009 Microchip Technology Inc.

1.0 器件概述

本文档包含针对 MCV18E 器件的具体信息。图 1-1 给出 了 MCV18E 器件的框图。引脚配置见表 1-1

1-1 MCV18E 框图

MCV18E
OSC1/CLKIN
OSC2/CLKOUT
程序总线
闪存
2K x 14
程序
存储器
14
指令寄存器
指令译码
和控制
时序发生
13
8
程序计数器
8 级堆栈
13 位)
直接地址
上电延时
定时器
振荡器
起振定时器
上电复位
看门狗 定时器
欠压复位
RAM 地址
7
3
8
数据总线
RAM
128 x 8
文件
寄存器
(1)
9
地址 MUX
8
FSR 寄存器
STATUS 寄存器
MUX
ALU
W 寄存器
8
间接 地址
PORTA
PORTB
RA0 RA11 RA2 RA3 RA4
RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7
MCLR
Timer0
增强型 CCP
ECCP
1: 高位来自于 STATUS 寄存器。
Timer1 Timer2
VDD,VSS
A/D
© 2009 Microchip Technology Inc. DS41399A_CN 第 7
MCV18E

1-1 MCV18E 引脚配置说明

名称 功能 输入类型 输出类型 说明
/VPP MCLR ST
MCLR
PP P—
V
OSC1/CLKIN OSC1 XTAL
CLKIN CMOS
CLKIN ST
OSC2/CLKOUT OSC2 XTAL
CLKOUT CMOS
RA0/AN0 RA0 TTL CMOS
AN0 AN
RA1/AN1 RA1 TTL CMOS
AN1 AN
RA2/AN2 RA2 TTL CMOS
AN2 AN
RA3/AN3/V
RA4/T0CKI RA4 ST OD
RB0/INT/ECCPAS2
RB1/T1OSO/T1CKI RB1 TTL CMOS
RB2/T1OSI RB2 TTL CMOS
RB3/CCP1/P1A RB3 TTL CMOS
RB4/ECCPAS0
RB5/P1B RB5 TTL CMOS
RB6/P1C RB6 TTL CMOS
RB7/P1D RB7 TTL CMOS
V
SS VSS P—
V
DD VDD P—
图注: I = 输入 AN = 模拟输入或输出 OD = 漏极开路
REF RA3 TTL CMOS
AN3 AN
V
REF AN
T0CKI ST
RB0 TTL CMOS
INT ST
ECCPAS2
T1OSO XTAL
T1CKI ST
T1OSI XTAL
CCP1 ST CMOS
P1A CMOS
RB4 TTL CMOS
ECCPAS0
P1B CMOS
P1C CMOS
P1D CMOS
O= 输出 TTL = TTL 兼容输入 ST = CMOS 电平的施密特触发器输入 P= 电源 XTAL = 晶振 CMOS = CMOS 兼容输入或输出
ST
ST
主复位输入。此引脚为低电平有效的器件复位输入端。
编程电压输入 晶振输入 外部时钟源输入 RC 振荡器模式 晶振输出。在晶振模式下,该引脚与晶振或谐振器相连。
RC 模式下, OSC2 引脚输出 CLKOUT 信号,其频率是 OSC1 引脚上信号频率的 1/4,该频率等于指令周期的倒数。
双向 I/O 模拟通道 0 输入 双向 I/O 模拟通道 1 输入 双向 I/O 模拟通道 2 输入 双向 I/O 模拟通道 3 输入 A/D 参考电压输入 双向 I/O。当配置为输出时为漏极开路。 Timer0 外部时钟输入 双向 I/O。可编程弱上拉。 外部中断 ECCP 自动关闭引脚 双向 I/O。可编程弱上拉。
Timer1 振荡器输出。在振荡器模式下,该引脚与晶振相连。 Timer1 外部时钟输入 双向 I/O。可编程弱上拉。 Timer1 振荡器输入。在振荡器模式下,该引脚与晶振相连。
双向 I/O。可编程弱上拉。 捕捉 1 输入 / 比较 1 输出 /PWM1 输出。 PWM P1A 输出 双向 I/O。可编程弱上拉。电平变化中断。
ECCP 自动关闭引脚
双向 I/O。可编程弱上拉。电平变化中断。 PWM P1B 输出 双向 I/O。可编程弱上拉。电平变化中断。用作 ICSP™ 编程
时钟时为 ST 输入。 PWM P1C 输出 双向 I/O。可编程弱上拉。电平变化中断。用作 ICSP™ 编程
数据时为 ST 输入。 PWM P1D 输出 逻辑和 I/O 引脚的参考地。 逻辑和 I/O 引脚的正电源。
DS41399A_CN 8 © 2009 Microchip Technology Inc.
MCV18E

2.0 存储器构成

MCV18E 器件中有两个存储块。每个存储块(程序存储 器和数据存储器)都有自己的总线,因此可以同时访问 它们。

2.1 程序存储器构成

MCV18E 器件具有一个 13 位程序计数器 (Program CounterPC),能够寻址 8K x 14 的程序存储空间。 MCV18E 器件具有 2K x 14 字的程序存储器。访问上述
物理实现地址之外的存储单元,将会导致循环返回到有 效地址空间。
复位向量位于 0000h,而中断向量位于 0004h
2-1 程序存储器映射和 MCV18E
器件的堆栈
PC<12:0>
CALL, RETURN RETFIE, RETLW
堆栈深度 1
堆栈深度 8
13

2.2 数据存储器构成

数据存储器被划分为多个存储区,每个存储区由通用寄 存器 (General Purpose RegisterGPR)和特殊功能 寄存器 (Special Function Register, SFR)组成。 STATUS 寄存器的 RP1 RP0 位是存储区选择位。
RP<1:0>
(状态位 <6:5>
1: 保持状态位 bit 6 清零以确保与未来产品向
2: 未实现。
每个存储区的容量扩展到 7Fh 128 字节)。每个存储 区的低地址单元保留为特殊功能寄存器。在特殊功能寄 存器之上为通用寄存器,以静态 RAM 的形式实现。所 有已实现的存储区均包含特殊功能寄存器。 Bank 1 GPR 空间的高 16 字节和一些使用频率较高的特殊功能 寄存器被映射到 Bank 0 中,以节省代码和提高访问速 度。
(1)
存储区
00 0
01 1
10 2
11 3
上兼容。
(2)
(2)
用户存储空间
复位向量
中断向量
片上程序
存储器
0000h
0004h 0005h
07FFh
0800h
1FFFh
© 2009 Microchip Technology Inc. DS41399A_CN 第 9
MCV18E

2.2.1 通用寄存器文件

寄存器文件可以直接访问,或通过文件选择寄存器
File Select RegisterFSR)间接访问(第 2.5 节“间
接寻址、 INDF FSR 寄存器”)。
2-2 寄存器文件映射
文件地址 文件地址
00h INDF
01h TMR0 OPTION_REG 81h
02h PCL PCL 82h
03h STATUS STATUS 83h
04h FSR FSR 84h
05h PORTA TRISA 85h
06h PORTB TRISB 86h
07h
08h
09h
0A h PCLAT H PCL ATH 8Ah
0Bh INTCON INTCON 8Bh
0Ch PIR1 PIE1 8Ch
0Dh
0Eh TMR1L PCON 8Eh
0Fh TMR1H
10h T1CON
11h TMR2
12h T2CON PR2 92h
13h
14h
15h CCPR1L
16h CCPR1H
17h CCP1CON
18h PWM1CON
19h ECCPAS
1Ah
1Bh
1Ch
1Dh
1Eh ADRES
1Fh ADCON0 ADCON1 9Fh
20h
6Fh EFh
70h 7Fh
未实现的数据存储单元,读为 0
1: 不是物理寄存器。
(1)
通用
寄存器
80 字节
16 字节 快速操作
Bank 0 Bank 1
INDF
通用
寄存器
32 字节
存储区
70-7Fh
(1)
80h
87h
88h
89h
8Dh
8Fh
90h
91h
93h
94h
95h
96h
97h
98h
99h
9Ah
9Bh
9Ch
9Dh
9Eh
A0h
BFh
C0h
F0h FFh
DS41399A_CN 10 © 2009 Microchip Technology Inc.
MCV18E

2.2.2 特殊功能寄存器

特殊功能寄存器是 CPU 和外设模块用来控制所需器件 操作的寄存器。这些寄存器以静态 RAM 的形式实现。 表 2-1 中列出了这些寄存器。
特殊功能寄存器可分为两组:内核(CPU)和外设。本 节详细说明与内核功能相关的特殊功能寄存器。与外设 功能操作相关的特殊功能寄存器将在相应的外设功能章 节中详细说明。
2-1 特殊功能寄存器汇总, BANK 0
地址 名称
00h INDF
01h TMR0
02h PCL
03h STATUS
04h FSR
05h PORTA
06h PORTB
07h-09h
0Ah PCLATH
0Bh INTCON
0Ch PIR1
0Dh
0Eh TMR1L
0Fh TMR1H
10h T1CON
11h TMR 2
12h T2CON
13h-14h
15h CCPR1L
16h CCPR1H
17h CCP1CON P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 52
18h PWM1CON PRSEN PDC6 PDC5 PDC4 PDC3 PDC2 PDC1 PDC0 0000 0000 64
19h ECCPAS ECCPASE ECCPAS2
1Ah-1Dh
1Eh ADRES
1Fh ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE
图注: x = 未知, u = 不变, q = 值取决于具体条件, – = 未实现 (读为 0)。阴影单元未实现,读为 0。 1: 可以从任何存储区访问这些寄存器。
(1)
(1)
(1)
(5,6)
(5,6)
2: 不能直接访问程序计数器的高字节。 PCLATH PC<12:8> 的保持寄存器,其内容被传送到程序计数器的高字节。 3: 其他 (非上电)复位包括:通过 MCLR 4IRP RP1 位保留。始终保持这两位清零。 5: 发生任何器件复位时,这些引脚都被配置为输入。 6: 这是将保存在端口输出锁存器中的值。 7: 保留位,不要使用。 8MCV18E 器件上不使用 ECCPAS1 位。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
通过用 FSR 的内容寻址这个存储单元来寻址数据存储器 (不是物理寄存器)
Timer0 模块寄存器
程序计数器 (PC)的最低有效字节
(1)
(1,2)
(1)
(4)
IRP
间接数据存储器地址指针
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xxxx 23
未实现
GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 15
—ADIF— CCP1IF TMR2IF TMR1IF -0-- -000 17
未实现
16 TMR1 寄存器最低有效字节的保持寄存器
16 TMR1 寄存器最高有效字节的保持寄存器
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 36
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 40
未实现
捕捉 / 比较 /PWM 寄存器 1 (LSB)
捕捉 / 比较 /PWM 寄存器 1 (MSB)
未实现
A/D 结果寄存器
RP1
(4)
RP0 TO PD ZDCC0001 1xxx 13
(7)
(8)
的外部复位和看门狗定时器复位。
RA4RA3RA2RA1RA0---x 0000 21
程序计数器高 5 位的写缓冲区
Timer2 模块寄存器
ECCPAS0 PSSAC1 PSSAC0 PSSBD1 PSSBD0 00-0 0000 61
(7)
ADON 0000 0000 45
POR/BOR
时的值
0000 0000 20
xxxx xxxx 29
0000 0000 19
xxxx xxxx 20
---0 0000 19
xxxx xxxx 33
xxxx xxxx 33
0000 0000 39
xxxx xxxx 52
xxxx xxxx 52
xxxx xxxx 41
所在页
© 2009 Microchip Technology Inc. DS41399A_CN 11
MCV18E
2-2 特殊功能寄存器汇总, BANK 1
地址 名称
80h INDF
81h OPTION_REG RBPU
82h PCL
83h STATUS
84h FSR
85h TRISA
86h TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 23
87h-89h
8Ah PCLATH
8Bh INTCON
8Ch PIE1
8Dh
8Eh PCON —PORBOR ---- --qq 16
8Fh-91h
92h PR2
93h-9Eh
9Fh ADCON1 PCFG2 PCFG1 PCFG0 ---- -000 46
图注: x = 未知, u = 不变, q = 值取决于具体条件, – = 未实现 (读为 0)。阴影单元未实现,读为 0。 1: 可以从任何存储区访问这些寄存器。
(1)
(1)
(1)
(1)
(1,2)
(1)
2: 不能直接访问程序计数器的高字节。 PCLATH PC<12:8> 的保持寄存器,其内容被传送到程序计数器的高字节。 3: 其他 (非上电)复位包括:通过 MCLR 4IRP RP1 位保留。始终保持这两位清零。 5: 发生任何器件复位时,这些引脚被配置为输入。 6: 这是将保存在端口输出锁存器中的值。 7: 保留位,不要使用。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
通过用 FSR 的内容寻址这个存储单元来寻址数据存储器 (不是物理寄存器)
INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 14
程序计数器 (PC)的最低有效字节
(4)
IRP
间接数据存储器地址指针
未实现
GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x 15
—ADIE — CCP1IE TMR2IE TMR1IE -0-- -000 16
未实现
未实现
Timer2 周期寄存器
未实现
RP1
(4)
RP0 TO PD ZDCC0001 1xxx 13
(7)
TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 ---1 1111 21
程序计数器高 5 位的写缓冲区
的外部复位和看门狗定时器复位。
POR/BOR
时的值
0000 0000 20
0000 0000 19
xxxx xxxx 20
---0 0000 19
1111 1111 39, 56
所在页
DS41399A_CN 12 © 2009 Microchip Technology Inc.
MCV18E
2.2.2.1 STATUS 寄存器
STATUS 寄存器 (如寄存器 2-1 所示)包含 ALU 的算
术运算状态、复位状态和数据存储器的存储区选择位。
和任何其他寄存器一样,STATUS 寄存器可以作为任何 指令的目标寄存器。如果一条影响 ZDC C 位的指 令以 STATUS 寄存器作为目标寄存器,那么对这三个位 的写操作将被禁止。这些位根据器件逻辑被置 1 或清 零。而且, TO 一条将 STATUS 寄存器作为目标寄存器的指令时,运行 结果可能会与预想的不同。
例如,CLRF STATUS 将会清零高 3 位,并将 Z 位置 1 这将使 STATUS 寄存器中的值成为 000u u1uu (其中 u = 不变)。
PD 位均为不可写位。因此,当执行
因此,建议仅使用 BCFBSFSWAPF MOVWF 指令 来更改 STATUS 寄存器,因为这些指令不会影响 STATUS 寄存器的 ZC DC 位。关于其他不会影响 任何状态位的指令,请参见 “指令集汇总”。
1MCV18E 器件不使用 STATUS 寄存器的
IRP RP1 位。保持这两位清零以确保与 未来产品向上兼容。
2: 在减法运算中, C DC 位分别作为借位
位和半借位位。
寄存器 2-1 STATUS:状态寄存器
保留 保留
IRP RP1 RP0 TO PD ZDCC
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
1: 对于借位
IRP:该位保留且应保持为 0 RP1:该位保留且应保持为 0 RP0:寄存器存储区选择位 (用于直接寻址)
1 = Bank 1 80h-FFh 0 = Bank 0 00h-7Fh
TO
1 = 在上电、执行 CLRWDT 指令或 SLEEP 指令后 0 = 产生了 WDT 超时
PD:掉电位
1 = 在上电或执行 CLRWDT 指令后 0 = 执行 SLEEP 指令
Z:全零位
1 = 算术运算或逻辑运算的结果为零 0 = 算术运算或逻辑运算的结果不为零
DC:半进位 / 借位位(ADDWFADDLWSUBLW SUBWF 指令),对于借位,极性是相反的。 1 = 结果的第 4 个低位发生了进位
0 = 结果的第 4 个低位未发生进位
C:进位 / 借位
1 = 结果的最高有效位发生了进位 0 = 结果的最高有效位未发生进位
RLF),此位来自源寄存器的最高位或最低位。
:超时位
(1)
ADDWFADDLWSUBLW SUBWF 指令)
,极性是相反的。减法是通过加上第二个操作数的二进制补码来执行的。对于移位指令 (RRF
© 2009 Microchip Technology Inc. DS41399A_CN 13
MCV18E
2.2.2.2 OPTION 寄存器
OPTION 寄存器是可读写的寄存器,它包含各种控制
位,用于配置 TMR0 预分频器 /WDT 后分频器 (单个 可分配的寄存器也称为预分频器) 、外部 INT 中断、 TMR0 以及 PORTB 上的弱上拉。
注: 要使 Timer0 寄存器获得 1:1 的预分频比,
可将预分频器分配给看门狗定时器。
寄存器 2-2 OPTION_REG:选项寄存器
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
RBPU
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2-0
INTEDG T0CS T0SE PSA PS2 PS1 PS0
RBPU
PORTB 上拉使能位
1 = 禁止 PORTB 上拉 0 = 根据各端口锁存值使能 PORTB 上拉
INTEDG:中断边沿选择位
1 = RB0/INT 引脚的上升沿触发中断 0 = RB0/INT 引脚的下降沿触发中断
T0CSTimer0 时钟源选择位
1 = RA4/T0CKI 引脚上的电平跳变 0 = 内部指令周期时钟 (F
OSC/4
T0SETimer0 时钟源边沿选择位
1 = RA4/T0CKI 引脚信号从高至低跳变时,递增计数 0 = RA4/T0CKI 引脚信号从低至高跳变时,递增计数
PSA:预分频器分配位
1 = 预分频器分配给 WDT 0 = 预分频器分配给 Timer0 模块
PS<2:0>:预分频比选择位
位值 Timer0 预分频比 WDT 预分频比
000 001 010 011 100 101 110 111
1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128 1 : 256
1 : 1 1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128
DS41399A_CN 14 © 2009 Microchip Technology Inc.
MCV18E
2.2.2.3 INTCON 寄存器
INTCON 寄存器是可读写的寄存器,它包含 TMR0 寄存
器上溢、RB 端口电平变化和外部 RB0/INT 引脚中断等 各种允许位和标志位。
注: 当中断条件发生时,无论相应的中断允许位
或在 INTCON 寄存器中的全局中断允许位 GIE 的状态如何,中断标志位都将被置 1。 用户软件应在允许一个中断前,先将相应的 中断标志位清零。
寄存器 2-3 INTCON:中断控制寄存器
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-x
GIE PEIE T0IE INTE RBIE
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
GIE:全局中断允许位
1 = 允许所有未被屏蔽的中断 0 = 禁止所有中断
PEIE:外设中断允许位
1 = 允许所有未被屏蔽的外设中断 0 = 禁止所有外设中断
T0IETimer0 上溢中断允许位
1 = 允许 Timer0 中断 0 = 禁止 Timer0 中断
INTERB0/INT 外部中断允许位
1 = 允许 RB0/INT 外部中断 0 = 禁止 RB0/INT 外部中断
RBIEPORTB 电平变化中断允许位
1 = 允许 PORTB 电平变化中断 0 = 禁止 PORTB 电平变化中断
T0IFTimer0 上溢中断标志位
1 = TMR0 寄存器已上溢 (必须用软件清零) 0 = TMR0 寄存器未上溢
INTFRB0/INT 外部中断标志位
1 = 发生了 RB0/INT 外部中断 (必须用软件清零) 0 = 未发生 RB0/INT 外部中断
RBIFPORTB 电平变化中断标志位
1 = PORTB 中至少有一个通用 I/O 引脚的状态发生了变化 (必须用软件清零) 0 = PORTB 通用 I/O 引脚状态均未发生变化
(1)
(2)
(1)
T0IF
(2)
INTF RBIF
1IOCB 寄存器也必须被使能。
2: 当 Timer0 计满返回时, T0IF 位将被置 1Timer0 计数值在复位时不变,而且应在清零 T0IF 位之前对其进
行初始化。
© 2009 Microchip Technology Inc. DS41399A_CN 15
MCV18E
2.2.2.4 PIE1 寄存器
该寄存器包含各外设中断的允许位。
注: 必须将 INTCON 寄存器的 PEIE 位置 1,以
允许任何外设中断。
寄存器 2-4 PIE1:外设中断允许寄存器 1
U-0 R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0
—ADIE— CCP1IE TMR2IE TMR1IE
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7
bit 6
bit 5-3
bit 2
bit 1
bit 0
未实现:读为 0 ADIEA/D 转换器 (ADC)中断允许位
1 = 允许 ADC 中断 0 = 禁止 ADC 中断
未实现:读为 0
CCP1IECCP1 中断允许位
1 = 允许 CCP1 中断 0 = 禁止 CCP1 中断
TMR2IETimer2 PR2 匹配中断允许位
1 = 允许 Timer2 PR2 匹配中断 0 = 禁止 Timer2 PR2 匹配中断
TMR1IETimer1 上溢中断允许位
1 = 允许 Timer1 上溢中断 0 = 禁止 Timer1 上溢中断
DS41399A_CN 16 © 2009 Microchip Technology Inc.
MCV18E
2.2.2.5 PIR1 寄存器
该寄存器包含各外设中断的标志位。
注: 当中断条件发生时,无论相应的中断允许位
或在 INTCON 寄存器中的全局中断允许位 GIE 状态如何,中断标志位都将被置 1。用 户软件应在允许一个中断前,先将相应的 中断标志位清零。
寄存器 2-5 PIR1:外设中断请求寄存器 1
U-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R/W-0
—ADIF— CCP1IF TMR2IF TMR1IF
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7
bit 6
bit 5-3
bit 2
bit 1
bit 0
未实现:读为 0 ADIF A/D 中断标志位
1 = A/D 转换完成 0 = A/D 转换未完成或尚未开始
未实现:读为 0
CCP1IFCCP1 中断标志位 捕捉模式
1 = 发生了 TMR1 寄存器捕捉 (必须用软件清零) 0 = 未发生 TMR1 寄存器捕捉
比较模式
1 = 发生了 TMR1 寄存器的比较匹配 (必须用软件清零) 0 = 未发生 TMR1 寄存器的比较匹配
模式
PWM
在此模式下未使用 TMR2IF Timer2 与 PR2 匹配中断标志位
1 = Timer2 PR2 发生匹配 (必须用软件清零) 0 = Timer2 PR2 未发生匹配
TMR1IF Timer1 上溢中断标志位
1 = Timer1 寄存器上溢 (必须用软件清零) 0 = Timer1 寄存器未上溢
© 2009 Microchip Technology Inc. DS41399A_CN 17
MCV18E
2.2.2.6 PCON 寄存器
电源控制 (PCON)寄存器包含一个标志位,用来区分 上电复位(POR)、外部 MCLR 些器件还包含一个额外的位来区分欠压复位条件和上电 复位条件。
复位或 WDT 复位。这
注: 如果 BOREN 配置位置 1,在发生上电复位时
BOR 1,在发生欠压条件时则复位为 0。随 后用户必须将 BOR 生时检查该位是否清零,清零则指示发生了 另一次欠压复位。
如果 BOREN 配置位清零,在发生上电复位 时 BOR
为未知状态。
1,并在后续的复位发
寄存器 2-6 PCON:电源控制寄存器
U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-x
—PORBOR
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7-2
bit 1
bit 0
未实现:读为 0
POR
:上电复位状态位
1 = 未发生上电复位 0 = 发生了上电复位 (发生上电复位后必须用软件置 1
BOR:欠压复位状态位
1 = 未发生欠压复位 0 = 发生了欠压复位 (发生欠压复位后必须用软件置 1
DS41399A_CN 18 © 2009 Microchip Technology Inc.
MCV18E

2.3 PCL PCLATH

程序计数器 (PC)为 13 位宽。其低字节来自可读写的 PCL 寄存器,高字节 (PC<12:8>)来自 PCLATH,不
能直接读写。只要发生复位,PC 就将被清零。图 2-3 显 示了装入 PC 值的两种情形。图 2-3 上方的示例说明在写 PCL 时(PCLATH<4:0> PCH)是如何装入 PC 的。2-3 下方的示例说明在执行 CALL GOTO 指令期间
PCLATH<4:3> PCH)是如何装入 PC 的。

2.3.1 修改 PCL

在执行以 PCL 寄存器作为目标寄存器的任何指令的同 时,也会使程序计数器的 PC<12:8> 位(PCH)被 PCLATH 寄存器的内容所代替。这使得可以通过将所需 的高 5 位写入PCLATH 寄存器来改变程序计数器的整个 内容。当将低 8 位写入 PCL 寄存器时,程序计数器的所 有 13 位都将变为 PCLATH 寄存器中和那些被写入 PCL 寄存器的值。
计算 GOTO 指令是通过向程序计数器加一个偏移量
ADDWF PCL)来实现的。当通过修改 PCL 寄存器跳
转到查找表或程序跳转表 (计算 GOTO)时,应特别注 意。假设 PCLATH 被设置为表起始地址,如果表长度大 于 255 条指令,或如果在表中间存储器地址的低 8 位从 0xFF 计满返回到 0x00,那么 PCLATH 必须为在表起始 和表中的目标存储单元之间发生计满返回的每个地址进 行递增。
更多信息,请参见应用笔记 AN556,“ Implementing a
Table Read”( DS00556)。

2.3.2 程序存储器分页

CALL GOTO 指令提供了地址的 11 位,允许在任意 2K 程序存储器页内跳转。当执行 CALL GOTO 指令时, 由 PCLATH<3>提供地址的高位。当执行 CALL GOTO 指令时,用户必须确保已对页选择位编程,以便寻址所 需的程序存储器页。如果执行了一条从 CALL 指令 (或 中断)返回的 RETURN 指令,则整个 13 PC 值从堆 栈弹出。因此,RETURN 指令 (该指令会使地址从堆栈 中弹出)无需对 PCLATH<3> 位进行操作。
2-3 不同情形下 PC 的装入
PCH
12 0
PCLATH<4:0>
5
PCLATH
PCH
12 1110
PCLATH<4:3>
2
PCLATH
87
8
PCL
PCL
7
8
ALU
0
11
操作码 <10:0>
PCL 为 目标寄存器 的指令
GOTO, CALL

2.4 堆栈

堆栈允许最多 8 次程序调用和中断的组合。堆栈包含了 在程序执行过程中该跳转的返回地址。
中档器件具有 8 级深 x 13 位宽的硬件堆栈。堆栈空间既 不占用程序存储空间,也不占用数据存储空间,而且堆 栈指针是不可读写的。当执行 CALL 指令或当中断导致 程序跳转时,PC 值将被压入堆栈。而在执行 RETURNRETLW RETFIE 指令时,将从堆栈中弹出 PC 值。当 压入或弹出堆栈时,不会修改 PCLATH
在压栈 8 次后,第 9 次压入堆栈的值将会覆盖第一次压 栈时所保存的值,而第 10 次压入堆栈的值将覆盖第二 次压栈时所保存的值 (依此类推)。
© 2009 Microchip Technology Inc. DS41399A_CN 19
MCV18E

2.5 间接寻址、 INDF FSR 寄存器

INDF 寄存器不是物理寄存器。寻址 INDF 实际上是对地 址包含在 FSR 寄存器中的寄存器进行寻址 (FSR 是一
指针
)。这就是间接寻址。

2-1 间接寻址

寄存器文件 05 包含值 10h
寄存器文件 06 包含值 0Ah
将值 05 装入 FSR 寄存器中
INDF 寄存器进行读操作将返回值 10h
FSR 寄存器的值递增 1 FSR = 06
现在对 INDF 寄存器进行读操作将返回值 0Ah
间接对 INDF 自身进行读操作(FSR = 0)将产生 00h。 间接对 INDF 寄存器进行写操作将导致空操作 (尽管可 能会影响状态位)。
2-2 给出了一个使用间接寻址将RAM地址单元20h-2Fh 清零的简单程序。

2-4:直/ 间接寻址

RP1:
(2)
RP0 6
来自操作码
0

2-2 如何使用间接寻址清零RAM

MOVLW 0x20 ;initialize pointer MOVWF FSR ;to RAM
NEXT CLRF INDF ;clear RAM & FSR
CONTINUE
通过将 8 FSR 寄存器与 STATUS 寄存器的 IRP 位进 行组合可得到一个有效的 9 位地址,如图 2-4 所示。但 是,在 MCV18E 器件中不使用 IRP
INCF FSR ;inc pointer BTFSS FSR,4 ;all done? GOTO NEXT ;no, clear next
: ;yes, continue
间接寻址直接寻址
IRP FSR 寄存器
(2)
7
0
存储区选择 存储单元选择
00 01 10 11
00h
数据
(1)
存储器
7Fh
Bank 0 Bank 1 Bank 2 Bank 3
1: 关于寄存器文件映射的详细信息,请参见图 2-2
2: 保持清零以与未来产品向上兼容。 3: 未实现。
80h
FFh
100h
(3) (3)
17Fh
180h
1FFh
存储区选择
存储单元选择
DS41399A_CN 20 © 2009 Microchip Technology Inc.
MCV18E

3.0 I/O 端口

I/O 端口的一些引脚与器件上外设功能复用。一般来说, 当某个外设被使能时,其相关引脚可能不能用作通用 I/O 引脚。

3.1 PORTA TRISA 寄存器

PORTA 是一个 5 位宽的双向端口。对应的数据方向寄 存器是 TRISA。将 TRISA 某位置 1 = 1)时,会将 PORTA 的相应引脚设为输入 (即,使相应的输出驱动 器处于高阻模式)。将 TRISA 某位清零 (= 0)时,会 将 PORTA 的相应引脚设为输出 (即,将输出锁存器中 的内容输出到选中引脚)。
读取 PORTA 寄存器将读出相应引脚的电平状态,而对 其进行写操作则是写入其端口锁存器。所有写操作都是 读 - 修改 - 写操作。因此,写一个端口就意味着读该端 口的引脚电平,修改读到的值,然后再将改好的值写入 端口数据锁存器。
RA4 引脚与 Timer0 模块的时钟输入复用,成为 RA4/ T0CKI 引脚。RA4/T0CKI 引脚是施密特触发器输入和漏
极开路输出。所有其他 RA 端口引脚都是 TTL 输入电平 和全 CMOS 输出驱动器。
PORTA 引脚 RA<3:0> 与模拟输入和模拟 V 用。每个引脚的操作通过清零 / 1 ADCON1 寄存器
A/D 控制寄存器 1)中的控制位进行选择。
注: 发生上电复位后,这些引脚被配置为模拟
输入且读为 0
TRISA 寄存器控制 RA 引脚的方向,即使它们用作模拟 输入引脚。当引脚用作模拟输入时,用户必须确保 TRISA 寄存器中的相应位保持置 1
注: 在处于模拟模式时将 RA3:0 设置为输出将
强制引脚输出数据锁存器的内容。
REF 输入复

3-1:初PORTA

BCF STATUS, RP0 ; CLRF PORTA ;Initialize PORTA by
;clearing output
;data latches BSF STATUS, RP0 ;Select Bank 1 MOVLW 0xEF ;Value used to
MOVWF TRISA ;Set RA<3:0> as inputs
BCF STATUS, RP0 ;Return to Bank 0
;initialize data
;direction
;RA<4> as outputs

3-1 RA<3:0> 框图

数据 总线
写 端口
TRIS
D
CK
数据锁存器
D
CK
TRIS 锁存器
Q
Q
Q
Q
TRIS
QD
EN
VDD
P
N
V
模拟 输入 模式
VDD
I/O 引脚
SS
VSS
TTL
输入 缓冲器
读端口
A/D 转换器
© 2009 Microchip Technology Inc. DS41399A_CN 21
MCV18E

3-2 RA4/T0CKI 引脚框图

数据 总线
写 端口
TRIS
读端口
Timer0 时钟输入
数据锁存器
Q
D
CK
Q
TRIS 锁存器
Q
D
CK
Q
TRIS
N
SS
V
VSS
施密特 触发器 输入 缓冲器
QD
EN
EN
RA4/T0CKI

3-1:与PORTA 相关的寄存器汇总

名称
PORTA
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
RA4 RA3 RA2 RA1 RA0 ---x 0000 ---u uuuu
POR/BOR
时的值
TRISA TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 ---1 1111 ---1 1111
ADCON1
PCFG2 PCFG1 PCFG0 ---- -000 ---- -000
图注: x = 未知, u = 不变, – = 未实现位 (读为 0)。 PORTA 不使用阴影单元。
所有其他
复位时的值
DS41399A_CN 22 © 2009 Microchip Technology Inc.
MCV18E

3.2 PORTB TRISB 寄存器

PORTB 是一个 8 位宽的双向端口。对应的数据方向寄 存器是 TRISB。将 TRISB 某位置 1 = 1)时,会将 PORTB 的相应引脚设为输入 (即,使相应的输出驱动 器处于高阻模式)。将 TRISB 某位清零 (= 0)时,会 将 PORTB 的相应引脚设为输出(即,将输出锁存器中 的内容输出到选中引脚)。

3-2:初PORTB

BCF STATUS, RP0 ;select Bank 0 CLRF PORTB ;Initialize PORTB by
;clearing output
;data latches BSF STATUS, RP0 ;Select Bank 1 MOVLW 0xCF ;Value used to
;initialize data
;direction MOVWF TRISB ;Set RB<3:0> as inputs
;RB<5:4> as outputs
;RB<7:6> as inputs
每个 PORTB 引脚都具有内部弱上拉。通过一个控制位 即可接通所有上拉。这是通过清零 OPTION 寄存器的 RBPU 位实现的。当端口引脚被配置为输出时,其弱上 拉会自动关闭。上电复位会禁止上拉功能。
当使能外设功能时,应小心定义每个 PORTB 引脚的 TRIS 位。有些外设会改写 TRIS 位的设置,将引脚重新 定义为输出引脚,而有些则重新定义为输入引脚。由于 TRIS位改写在外设使能时有效,应当避免使用将TRISB 用作目标寄存器的读 - 修改 - 写指令(例如,BSF、BCFXORWF) 。用户应查阅相应的外设章节来正确设置
TRIS 位。
PORTB 的 4 个引脚 RB<7:4> 具有电平变化中断功能。
仅当将这些引脚配置为输入时,才可引起此中断功能的 发生 (即当 RB<7:4> 中的任何一个引脚被配置为输出 时,该引脚将不再具有电平变化中断功能)。将输入引 脚 RB<7:4> 的电平与 PORTB 上次读入锁存器的旧值进 行比较。对 RB<7:4> 的 “不匹配”输出进行逻辑或运 算,产生 RB 端口电平变化中断,并将 INTCON 寄存器 的标志位 RBIF 1
该中断可将器件从休眠状态唤醒。用户可用以下方式在 中断服务程序中清除该中断:
1. 执行对 PORTB 的读操作以结束不匹配条件。
2. 清零标志位 RBIF
不匹配条件将继续把标志位 RBIF 1。读 PORTB 将 结束不匹配条件并允许将标志位 RBIF 清零。
建议使用电平变化中断功能实现按键唤醒操作,以及那 些仅用到 PORTB 的电平变化中断功能的操作。在使用 电平变化中断功能时,建议不要查询 PORTB 的状态。

3-3 RB0/INT/ECCPAS2 引脚框图

VDD
DD
EN
TTL
输入 缓冲器
V
P
弱 上拉
VSS
读端口
RB0/ INT/ ECCPAS2
(1)
RBPU
数据 总线
写 端口
TRIS
RB0/INT
ECCPAS2 :ECCP 自动关闭输入
1: 为使能弱上拉,需将相应的 TRIS 位置 1 并将 RBPU
数据锁存器
QD
CK
TRIS 锁存器
QD
CK
TRIS
QD
读端口
施密特触发器 缓冲器
OPTION 寄存器)清零。
© 2009 Microchip Technology Inc. DS41399A_CN 23
MCV18E

3-4 RB1/T1OSO/T1CKI 引脚框图

T1OSCEN
RBPU
DD
(1)
V
P
上拉
VDD
数据总线
PORTB
TRISB
TRISB
T1OSCEN
PORTB
T1OSI(来自 RB2)
Timer1 时钟输入
1: 为使能弱上拉,需将相应的 TRIS 位置 1 并将 RBPU 位(OPTION 寄存器)清零。
数据锁存器
QD
Q
CK
TRIS 锁存器
QD
Q
CK
VSS
TTL 缓冲器
D
Q
EN
TMR1 振荡器
ST 缓冲器
RB1/T1OSO/T1CKI

3-5 RB2/T1OSI 引脚框图

DD
(1)
T1OSCEN
数据总线
PORTB
TRISB
TRIS
T1OSCEN
PORTB
T1OSO(至 RB1)
1: 为使能弱上拉,需将相应的 TRIS 位置 1 并将 RBPU 位(OPTION 寄存器)清零。
数据锁存器
QD
Q
CK
TRIS 锁存器
QD
Q
CK
RBPU
TTL 缓冲器
DQ
EN
V
P
上拉
VDD
RB2/T1OSI
VSS
TMR1
振荡器
DS41399A_CN 24 © 2009 Microchip Technology Inc.

3-6 RB3/CCP1/P1A 引脚框图

[PWMA(P1A)/CCP1 比较 ] 输出使能
[PWMA(P1A)/CCP1 比较 ] 输出
PWMA(P1A)自动关闭三态
数据总线
PORTB
TRISB
数据锁存器
CK
TRIS 锁存器
CK
QD
1
0
Q
QD
Q
RBPU
MCV18E
DD
(1)
V
P
上拉
VDD
RB3/CCP1/P1A
VSS
TRIS
Q
D
EN
PORTB
CCP——捕捉输入
1: 为使能弱上拉,需将相应的 TRIS 位置 1 并将 RBPU 位(OPTION 寄存器)清零。
3-7 RB4/ECCPAS0
(1)
RBPU
数据总线
PORTB
TRISB
施密特触发器缓冲器
引脚框图
数据锁存器
QD
CK
TRIS 锁存器
QD
CK
TTL 缓冲器
V
P
TTL
缓冲器
DD
弱 上拉
缓冲器
VDD
RB4/ECCPAS0
VSS
ST
TRIS
RBIF 1
来自其他
RB<7:4> 引脚
ECCPAS0 :ECCP 自动关闭输入
读端口
锁存器
QD
EN
QD
EN
读端口
Q1
Q3
1: 为使能弱上拉,需将相应的
TRIS 位置 1 并将 RBPU
OPTION 寄存器)清零。
© 2009 Microchip Technology Inc. DS41399A_CN 25
MCV18E

3-8 RB5/P1B 引脚框图

PWMB(P1B)使 能 PWMB(P1B)数据输出
PWMB(P1B)自动关闭三态
数据总线
PORTB
TRISB
数据锁存器
QD
CK
TRIS 锁存器
QD
Q
CK
RBPU
DD
(1)
1
0
V
弱 上拉
TTL
缓冲器
VDD
RB5/P1B
VSS
P
TRISB
RBIF 1
来自其他 RB<7:4> 引脚
1: 为使能弱上拉,需将相应的 TRIS 位置 1 并将 RBPU
PORTB

3-9 RB6/P1C 引脚框图

PWMC(P1C)使 能 PWMC(P1C)数据输出
PWMC(P1C)自动关闭三态
数据总线
PORTB
TRISB
数据锁存器
QD
CK
TRIS 锁存器
QD
Q
CK
锁存器
QD
QD
EN
(1)
RBPU
1
0
EN
Q1
PORTB
Q3
位(OPTION 寄存器)清零。
ST
缓冲器
DD
V
弱 上拉
TTL
缓冲器
VDD
RB6/P1C
VSS
P
TRISB
RBIF 1
来自其他
RB<7:4> 引脚
ICSPC——在线串行编程时钟输入
1: 为使能弱上拉,需将相应的 TRIS 位置 1 并将 RBPU
PORTB
锁存器
QD
QD
EN
EN
位(OPTION 寄存器)清零。
Q1
PORTB
Q3
DS41399A_CN 26 © 2009 Microchip Technology Inc.

3-10 RB7/P1D 引脚框图

PWMD(P1D)使 能 PWMD(P1D)数据输出
PWMD(P1D)自动关闭三态
数据总线
PORTB
TRISB
数据锁存器
QD
CK
TRIS 锁存器
QD
Q
CK
RBPU
MCV18E
DD
(1)
1
0
ST
缓冲器
V
弱 上拉
TTL
缓冲器
VDD
RB7/P1D
VSS
P
TRISB
RBIF 1
来自其他
RB<7:4> 引脚
ICSPD——在线串行编程数据输入
PORTB
QD
锁存器
QD
EN
EN
PORTB
Q3
Q1
1: 为使能弱上拉,需将相应的
TRIS 位置 1 并将 RBPU
OPTION 寄存器)清零。

3-2:与PORTB 相关的寄存器汇总

名称
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
POR/BOR
时的值
PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xxxx uuuu uuuu
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
OPTION_REG RBPU
INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
图注: x = 未知, u = 不变。 PORTB 不使用阴影单元。
所有其他
复位时的值
© 2009 Microchip Technology Inc. DS41399A_CN 27
MCV18E
注:
DS41399A_CN 28 © 2009 Microchip Technology Inc.
MCV18E

4.0 TIMER0 模块

Timer0 模块是 8 位定时器 / 计数器,具有以下特性:
•8位定时器 / 计数器寄存器 (TMR0)
•8位预分频器 (与看门狗定时器共用)
可编程内部或外部时钟源
可编程外部时钟边沿选择
上溢时产生中断
4-1 给出了 Timer0 模块的框图。
4-1 TIMER0/WDT 预分频器的框图
FOSC/4
0
1
T0CKI
引脚
T0SE
T0CS
0
8
预分频器
1

4.1 Timer0 工作原理

当用作定时器时,Timer0 模块可被用作8 位定时器或 8 位 计数器。

4.1.1 8 位定时器模式

当用作定时器时, Timer0 模块将在每个指令周期递增
(不带预分频器)。通过清零 OPTION 寄存器的 T0CS
位选择定模式时器。
当写 TMR0 时,紧跟写操作之后的两个指令周期内禁止 TMR0 递增。
注: 当写 TMR0 时,考虑到存在两个指令周期
的延时,可以调整写入 TMR0 寄存器的值。

4.1.2 8 位计数器模式

当用作计数器时,Timer0 模块将在 T0CKI 引脚的每个上 升沿或下降沿递增。递增边沿由OPTION寄存器的T0SE 位决定。通过将 OPTION 寄存器的 T0CS 位设置为 1 选 择计数器模式。
数据总线
1
同步
2 TCY
0
PSA
8
TMR0
上溢时
将标志位 T0IF 1
PSA
WDTE
31 KHZ
INTOSC
1T0SET0CSPSA PS<2:0> OPTION 寄存器中的位。
2WDTE 位在配置字寄存器中。
看门狗 定时器
8
PS<2:0>
1
0
PSA
WDT
超时
© 2009 Microchip Technology Inc. DS41399A_CN 29
MCV18E

4.1.3 可软件编程的预分频器

有一个可软件编程的预分频器可供 Timer0 或看门狗定 时器 (WDT)使用,但不能同时使用。预分频器的分 配由 OPTION 寄存器的 PSA 位控制。要将预分频器分 配给 Timer0,必须将 PSA 位清零。
Timer0 模块有 8 个预分频比选项,范围从 1:2 1:256 预分频值可通过 OPTION 寄存器的 PS<2:0> 位进行选 择。为了让 Timer0 模块使用 1:1 预分频值,必须将预分 频器分配给 WDT 模块。
预分频器是不可读写的。将其分配给 Timer0 模块时,所 有写入 TMR0 寄存器的指令都会将预分频器清零。
将预分频器分配给 WDT 时, CLRWDT 指令会同时将预 分频器和 WDT 清零。
4.1.3.1 Timer0 WDT 模块之间切换预 分频器
由于将预分频器分配给 Timer0 WDT,在切换预分频 值时,可能会产生意外的器件复位。当将预分频器从 Timer0 模块分配给 WDT 模块时,必须执行如例 4-1 中 所示的指令序列。
4-1 改变预分频器的分配
TIMER0 WDT
BANKSEL TMR0 ; CLRWDT ;Clear WDT CLRF TMR0 ;Clear TMR0 and
;prescaler BANKSEL OPTION_REG ; BSF OPTION_REG,PSA ;Select WDT CLRWDT ;
; MOVLW b’11111000’ ;Mask prescaler ANDWF OPTION_REG,W ;bits IORLW b’00000101’ ;Set WDT prescaler MOVWF OPTION_REG ;to 1:32
当将预分频器从 WDT 模块分配给 Timer0 模块时,必须 执行以下指令序列 (见例 4-2)。
4-2 改变预分频器的分配
WDT TIMER0
CLRWDT ;Clear WDT and
;prescaler BANKSEL OPTION_REG ; MOVLW b’11110000’ ;Mask TMR0 select and ANDWF OPTION_REG,W ;prescaler bits IORLW b’00000011’ ;Set prescale to 1:16 MOVWF OPTION_REG ;

4.1.4 TIMER0 中断

TMR0 寄存器从 FFh 上溢到 00h 时,将产生 Timer0
断。每次 TMR0 寄存器上溢时都会将 INTCON 寄存器 的 T0IF 中断标志位置 1,这与是否允许 Timer0 中断无 关。 T0IF 位必须用软件清零。 Timer0 中断允许位是 INTCON 寄存器的 T0IE 位。
注: 由于定时器在休眠状态下是停止的,所以
Timer0中断无法将处理器从休眠状态唤醒。

4.1.5 TIMER0 与外部时钟配合使用

Timer0 处于计数器模式下时,通过对内部相位时钟 Q2 Q4 周期的预分频输出进行采样,可实现 T0CKI 输
入与 Timer0 寄存器的同步。因此,外部时钟源的高低电 平周期必须满足第 10.0 节 “电气特性”中所示的时序 要求。
DS41399A_CN 30 © 2009 Microchip Technology Inc.
4-1:与TIMER0 相关的寄存器汇总
MCV18E
名称
TMR0
INTCON GIE PEIE T0IE
OPTION_REG
TRISA
图注:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Timer0 模块寄存器
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 ---1 1111 ---1 1111
= 未实现位 (读为 0), u = 不变, x = 未知。 Timer0 模块不使用阴影单元。
POR/BOR
时的值
xxxx xxxx uuuu uuuu
INTE RBIE T0IF INTF RBIF 0000 000x 0000 000u
所有其他
复位时的值
© 2009 Microchip Technology Inc. DS41399A_CN 31
MCV18E
注:
DS41399A_CN 32 © 2009 Microchip Technology Inc.
MCV18E

5.0 带门控的 TIMER1 模块

Timer1 模块是 16 位定时器 / 计数器,具有以下特性:
•16位定时器 / 计数器寄存器对(TMR1H:TMR1L)
可编程内部或外部时钟源
•3位预分频器
可选的 LP 振荡器
同步或异步工作
上溢时产生中断
上溢触发唤醒 (仅限外部时钟,异步模式)
捕捉 / 比较功能的时基
特殊事件触发 (带 ECCP
5-1 给出了 Timer1 模块的框图。

5-1 TIMER1 框图

上溢时 将标志位 TMR1IF 1
(2)
TMR1
TMR1H
T1OSC
RB1/T1OSO/T1CKI
RB2/T1OSI
TMR1L
T1OSCEN
使能
(1)
振荡器

5.1 Timer1 工作原理

Timer1 模块是 16 位递增计数器,可通过 TMR1H:TMR1L 寄存器对访问。写 TMR1H TMR1L 会直接更新计数器。
当与内部时钟源一起使用时,模块用作定时器。当与外 部时钟源一起使用时,模块既可用作定时器,也可用作 计数器。

5.2 时钟源选择

T1CON 寄存器的 TMR1CS 位用于选择时钟源。当 TMR1CS = 0 时,时钟源的频率为 FOSC/4。当 TMR1CS = 1
时,时钟源由外部提供。
同步的
时钟输入
同步检测
休眠输入
TMR1ON
FOSC/4
内部时钟
/
0
1
T1SYNC
1
0
预分频器
1, 2, 4, 8
2
T1CKPS<1:0>
(3)
1: 当使用 LP 振荡器时, ST 缓冲器是低功耗型,或当使用 T1CKI 时, ST 缓冲器是高速型。
2Timer1 寄存器在上升沿递增。 3: 处于休眠模式时同步不工作。

5.2.1 内部时钟源

当选择内部时钟源时, TMR1H:TMR1L 寄存器对将在
CY 的整数倍 (由 Timer1 预分频器决定)处递增。
T

5.2.2 外部时钟源

当选择外部时钟源时,Timer1 模块可以作为定时器或计 数器工作。
计数时,Timer1 在外部时钟输入 T1CKI 的上升沿递增。 此外,计数器模式时钟可以与单片机系统时钟同步,也 可以异步工作。
在计数器模式下,发生以下一个或多个情况后,计数器 在首个上升沿递增前,必须先经过一个下降沿:
•Timer1在 POR 或 BOR 后被使能
写入 TMR1H TMR1L
Timer1 被禁止时,T1CKI为高电平;当 Timer1 重新使能时, T1CKI 为低电平。请参见图 5-2
© 2009 Microchip Technology Inc. DS41399A_CN 第 33
MCV18E

5.3 Timer1 预分频器

Timer1有 4 种预分频比选择,允许对时钟输入进行 1 24 8 分频。T1CON 寄存器的 T1CKPS 位控制预
分频器计数器。对预分频器计数器不能直接进行读写 操作;但是,通过写入 TMR1H TMR1L 可将预分 频器计数器清零。

5.4 Timer1 振荡器

在引脚 T1OSI (输入)和 T1OSO (输出)之间接有一 个内置低功耗 32.768 kHz 晶振。通过将 T1CON 寄存器 的 T1OSCEN 控制位置 1 可使能该振荡器。在休眠期 间,振荡器将继续工作。
Timer1 振荡器与系统 LP 振荡器共用。因此,只有当主 系统时钟来自于内部振荡器或工作在 LP 振荡器模式下 时,Timer1 才能使用该模式。用户必须提供软件延时以 确保振荡器的正常起振。
Timer1 振荡器被使能时,将 TRISB1 TRISB2 位置 1RB1和RB2位读为0,而TRISB1TRISB2位读为1
注: 振荡器在使用之前需要一定的起振和稳定
时间。因此,T1OSCEN 应置 1,且在使能 Timer1 之前确保有适当的延时。

5.5 异步计数器模式下的 Timer1 操作

如果 T1CON 寄存器的控制位 T1SYNC 1,外部时钟 输入将不同步。定时器继续异步于内部相位时钟进行递 增计数。在休眠模式下,定时器将继续递增,并在上溢 时产生中断以唤醒处理器。但是,用软件对定时器进行 读 / 写操作时,要特别当心 (见第 5.5.1 节 “在异步计 数器模式下读写 Timer1”)。
1: 当从同步切换到异步操作时,可能会跳过
一次递增。当从异步切换到同步操作时, 可能会产生一次额外递增。
2: 在异步计数器模式下, Timer1 不能用作
ECCP 模块的捕捉或比较模式的时基。

5.5.1 在异步计数器模式下读写 TIMER1

当定时器采用外部异步时钟工作时,对 TMR1H TMR1L 的读操作将确保为有效读 (由硬件实现)。但
是,用户应该注意的是,通过读两个 8 位值来读取 16 位定时器本身就会产生某些问题,这是因为定时器可能 在两次读操作之间产生上溢。
对于写操作,建议用户直接停止定时器,然后写入需要 的值。如果定时器寄存器正进行递增计数,对定时器寄 存器进行写操作,可能会导致写入竞争,从而可能在 TMR1H:TMR1L 寄存器对中产生不可预测的值。

5.6 Timer1 中断

Timer1 寄存器对 (TMR1H:TMR1L)递增到 FFFFh, 然后计满返回到 0000h。当 Timer1 计满返回时, PIR1 寄存器的 Timer1 中断标志位将置 1。为允许计满返回时 的中断,必须将以下位置 1
•PIE1寄存器的 Timer1 中断允许位
• INTCON 寄存器的 PEIE
• INTCON 寄存器的 GIE
在中断服务程序中将 TMR1IF 位清零将清除中断。
注: 在重新允许中断前,应将 TMR1H:TMR1L
寄存器对以及 TMR1IF 位清零。

5.7 休眠期间的 Timer1 操作

只有在设置为异步计数器模式时,Timer1 才能在休眠模 式下工作。在该模式下,可使用外部晶振或时钟源使计 数器递增计数。要设置定时器以唤醒器件:
必须将 T1CON 寄存器的 TMR1ON 位置 1
必须将 PIE1 寄存器的 TMR1IE 位置 1
必须将 INTCON 寄存器的 PEIE 位置 1
器件将在上溢时被唤醒并执行下一条指令。如果将 INTCON 寄存器的 GIE 位置 1,器件将调用中断服务程 序(0004h)。
DS41399A_CN 34 © 2009 Microchip Technology Inc.
MCV18E

5.8 ECCP 捕捉 / 比较时基

当工作在捕捉或比较模式下时, ECCP 模块使用 TMR1H:TMR1L 寄存器对作为时基。
在捕捉模式下,当发生配置的事件时,TMR1H:TMR1L 寄存器对中的值被复制到 CCPR1H:CCPR1L 寄存器 对中。
在比较模式下,当 CCPR1H:CCPR1L 寄存器对中的值 与 TMR1H:TMR1L 寄存器对中的值相匹配时触发事件。 该事件可以是特殊事件触发信号。
更多信息,请参见第 8.0 节 “增强型捕捉 / 比较 /PWM 模块”。

5-2 TIMER1 递增边沿

T1CKI = 1
TMR1 使能时
T1CKI = 0
TMR1 使能时

5.9 ECCP 特殊事件触发信号

当将 ECCP 配置为触发特殊事件时,触发信号将清零 TMR1H:TMR1L寄存器对。该特殊事件不会引起Timer1 中断。 ECCP 模块仍然可以配置为产生 ECCP 中断。
在该工作模式下, CCPR1H:CCPR1L 寄存器对实际上 变成 Timer1 的周期寄存器。
要利用特殊事件触发信号,应使 Timer1 F Timer1 的异步操作会导致错过特殊事件触发信号。
如果对 TMR1H TMR1L 的写操作和来自 ECCP 的特 殊事件触发信号同时发生,则写操作优先。
更多信息,请参见第 8.0 节 “增强型捕捉 / 比较 /PWM 模块”。
OSC 同步。
1: 箭头指示计数器递增。
2: 在计数器模式下,计数器在首个上升沿递增之前,必须先经过一个下降沿。
© 2009 Microchip Technology Inc. DS41399A_CN 35
MCV18E

5.10 Timer1 控制寄存器

Timer1 控制寄存器 (T1CON)(如寄存器 5-1 所示) 用于控制 Timer1 以及选择 Timer1 模块的各种特性。

寄存器 5-1 T1CONTIMER1 控制寄存器

U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
TMR1CS TMR1ON
bit 7-6
bit 5-4
bit 3
bit 2
bit 1
bit 0
未实现:读为 0 T1CKPS<1:0>Timer1 输入时钟预分频比选择位
11 = 1:8 预分频比 10 = 1:4 预分频比 01 = 1:2 预分频比 00 = 1:1 预分频比
T1OSCENTimer1 振荡器使能控制位
1 = 使能 Timer1 振荡器 0 = 禁止 Timer1 振荡器
T1SYNC
TMR1CS = 1 1 = 不同步外部时钟输入 0 = 同步外部时钟输入
TMR1CS = 0: 该位为无关位。 Timer1 使用内部时钟
TMR1CSTimer1 时钟源选择位
1 = 使用来自 T1CKI 引脚 (在上升沿)的外部时钟 0 = 内部时钟 (FOSC/4
TMR1ONTimer1 使能位
1 = 使能 Timer1 0 = 停止 Timer1
Timer1 外部时钟输入同步控制位
DS41399A_CN 36 © 2009 Microchip Technology Inc.

5-1:与TIMER1 相关的寄存器汇总

名称
INTCON GIE PEIE
PIE1
PIR1
TMR1H
TMR1L
T1CON
图注: x = 未知, u = 不变, – = 未实现 (读为 0)。 Timer1 模块不使用阴影单元。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000x
ADIE CCP1IE TMR2IE TMR1IE -0-- -000 -0-- -000
ADIF CCP1IF TMR2IF TMR1IF -0-- -000 -0-- -000
16 TMR1 寄存器最高有效字节的保持寄存器
16 TMR1 寄存器最低有效字节的保持寄存器
T1CKPS1 T1CKPS0 T1OSCEN T1SYNC
MCV18E
POR/BOR
时的值
xxxx xxxx uuuu uuuu
xxxx xxxx uuuu uuuu
TMR1CS TMR1ON --00 0000 --uu uuuu
所有其他
复位时的值
© 2009 Microchip Technology Inc. DS41399A_CN 37
MCV18E
注:
DS41399A_CN 38 © 2009 Microchip Technology Inc.
MCV18E

6.0 TIMER2 模块

Timer2 模块是一个 8 位定时器,具有以下特性:
•8位定时器寄存器 (TMR2)
•8位周期寄存器 (PR2)
•TMR2与 PR2 匹配时产生中断
可软件编程的预分频器(分频比为1:1、1:41:16
可软件编程的后分频器 (分频比为 1:1 1:16
Timer2 框图请参见图 6-1

6.1 Timer2 工作原理

Timer2 模块的时钟输入是系统指令时钟(FOSC/4)。时 钟送入 Timer2 预分频器, Timer2 预分频器提供 1:1、 1:4 1:16 三种预分频比选择。然后预分频器的输出用 于递增 TMR2 寄存器。
TMR2 的值与 PR2 的值不断进行比较以确定它们何时匹 配。 TMR2 将从 00h 开始递增,直到与 PR2 中的值匹 配。当匹配发生时,会发生以下两件事:
•TMR2在下一个递增周期复位为 00h
•Timer2后分频器递增
Timer2/PR2 比较器的匹配输出被送入 Timer2 后分频
器。后分频器具有 1:1 1:16 的后分频比选择。Timer2 后分频器的输出用于将 PIR2 寄存器中的 TMR2IF 中断 标志位置 1
TMR2 PR2 寄存器均可完全读写。在发生任何复位 时,TMR2 寄存器被设置为 00hPR2 寄存器被设置为 FFh
通过将 T2CON 寄存器中的 TMR2ON 位设置为 1 可开 启Timer2。通过将 TMR2ON 位设置为 0 可关闭 Timer2
Timer2 预分频器由 T2CON 寄存器中的 T2CKPS 位控 制。 Timer2 后分频器由 T2CON 寄存器中的 TOUTPS 位控制。发生以下事件时,预分频器和后分频器计数器 均会清零:
TMR2 进行写操作。
T2CON
进行写操作。
发生任何器件复位(上电复位、MCLR 复位、看门 狗定时器复位或欠压复位)。
注: T2CON TMR2 不会清零。

6-1 TIMER2 框图

F
OSC/4
预分频器
1:1, 1:4, 1:16
2
T2CKPS<1:0>
TMR2
比较器
PR2
相等
TMR2 输出
复位
后分频器
1:1 1:16
4
TOUTPS<3:0>
将标志位
TMR2IF 1
© 2009 Microchip Technology Inc. DS41399A_CN 39
MCV18E

寄存器 6-1 T2CONTIMER2 控制寄存器

U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7
bit 6-3
bit 2
bit 1-0
未实现:读为 0 TOUTPS<3:0>Timer2 输出后分频比选择位
0000 = 1:1 后分频比 0001 = 1:2 后分频比 0010 = 1:3 后分频比 0011 = 1:4 后分频比 0100 = 1:5 后分频比 0101 = 1:6 后分频比 0110 = 1:7 后分频比 0111 = 1:8 后分频比 1000 = 1:9 后分频比 1001 = 1:10 后分频比 1010 = 1:11 后分频比 1011 = 1:12 后分频比 1100 = 1:13 后分频比 1101 = 1:14 后分频比 1110 = 1:15 后分频比 1111 = 1:16 后分频比
TMR2ONTimer2 使能位
1 = 使能 Timer2 0 = 关闭 Timer2
T2CKPS<1:0>Timer2 时钟预分频比选择位
00 = 预分频比为 1 01 = 预分频比为
4
1x = 预分频比为 16

6-1:与TIMER2 相关的寄存器汇总

名称
INTCON GIE PEIE
PIE1
PIR1
PR2
TMR2
T2CON
图注: x = 未知, u = 不变, - = 未实现 (读为 0)。 Timer2 模块不使用阴影单元。
DS41399A_CN 40 © 2009 Microchip Technology Inc.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000x
ADIE CCP1IE TMR2IE TMR1IE -0-- -000 -0-- -000
ADIF CCP1IF TMR2IF TMR1IF -0-- -000 -0-- -000
Timer2 模块周期寄存器
8 TMR2 寄存器的保持寄存器
TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000
POR/BOR
时的值
1111 1111 1111 1111
0000 0000 0000 0000
所有其他
复位时的值
MCV18E

7.0 模数转换器 (ADC)模块

模数转换器(Analog-to-digital ConverterADC)可 将 模拟输入信号转换为信号的 8 位二进制表示。该模块使 用模拟输入,这些输入通过多路开关连接到同一个采样 和保持电路。采样和保持电路的输出与转换器的输入相 连接。转换器通过逐次逼近法产生 8 位二进制结果,并 将转换结果存储在 ADC 结果寄存器 (ADRES)中。

7-1 ADC 框图

VREF
RA0/AN0
RA1/AN1
RA2/AN2
RA3/VREF/AN3
000
001
010
011
CHS
VDD
GO/DONE
ADON
可通过软件选择 VDD 或施加在外部参考引脚上的电压作 为 ADC 参考电压。
ADC 可在转换完成时产生中断。该中断可用于将器件从 休眠状态唤醒。
7-1 给出了 ADC 的框图。
PFCG<2:0>
ADCON1 寄存器)
ADC
8
ADRES
V
SS
© 2009 Microchip Technology Inc. DS41399A_CN 第 41
MCV18E

7.1 ADC 配置

配置和使用 ADC 时必须考虑以下功能:
端口配置
通道选择
•ADC参考电压选择
•ADC转换时钟源
中断控制

7.1.1 端口配置

ADC 可用于转换模拟和数字信号。转换模拟信号时,应
通过设置相关的 TRIS ADCON1 位将 I/O 引脚配置为 模拟输入引脚。更多信息,请参见有关相应端口的章节。
注: 在任何定义为数字输入的引脚上施加模
拟电压可能导致输入缓冲器消耗的电流 过大。

7.1.3 ADC 参考电压

ADCON1寄存器的 PCFG 位用于独立控制正参考电压。 正参考电压可以是 V
DD 或外部电压源。

7.1.4 转换时钟

可通过软件设置 ADCON0 寄存器的 ADCS 位来选择转 换时钟源。有以下 4 种时钟频率可供选择:
•FOSC/2
OSC/8
•F
OSC/32
•F
•FRC (专用内部振荡器)
完成一个位转换所需的时间定义为 T 转换需要 9.5 TAD 周期。
为正确转换,必须满足合适的 T 参见第 10.0 节 “电气特性”中的 A/D 转换要求。表 7-1 给出了合适的 ADC 时钟选择的示例。

7.1.2 通道选择

ADCON0 寄存器的 CHS 位决定与采样和保持电路相连
接的通道。
注: 除非使用 FRC,否则系统时钟频率的任何
改变都会改变 ADC 时钟频率,这会影响 ADC 结果。
当改变通道时,在开始下一次转换前需要一段延时。更 多信息,请参见第 7.2 节“ADC 工作原理”。
7-1 不同器件工作频率下的 TAD
A/D 时钟源 (TAD 器件频率
工作条件
2T
OSC 00 100 ns
8TOSC 01 400 ns 32 TOSC 10 1.6 μs6.4μs 25.6 μs RC 11 2-6 μs
图注: 阴影单元表示超出了建议范围。 注 1RC 时钟源的典型 T
2: 这些值均违反了所需的最小 TAD 时间。 3: 为了加快转换速度,建议选用另一个时钟源。 4: 当器件频率高于 1 MHz 时,仅在休眠操作时才推荐使用 RC A/D 转换时钟源。
ADCS<1:0> 20 MHz 5 MHz 1.25 MHz 333.33 kHz
AD 时间为 4 μs。
(2)
(2)
(1), (4)
2-6 μs
(2)
400 ns
1.6 μs6μs
1.6 μs6.4μs 24 μs
(1), (4)
2-6 μs
AD。一次完整的 8
AD 规范。更多信息,请
(3)
(1), (4)
96 μs
2-6 μs
(3)
(3)
(1)
DS41399A_CN 42 © 2009 Microchip Technology Inc.

7.1.5 中断

ADC 模块可在模数转换完成时产生中断。 ADC 中断标 志位是 PIR1 寄存器中的 ADIF 位。 ADC 中断允许位是 PIE1 寄存器中的 ADIE 位。 ADIF 位必须用软件清零。
注: ADIF 位在每次转换完成时置 1,与是否允
ADC 中断无关。
器件工作或休眠时都可产生该中断。如果器件处于休 眠状态,该中断会唤醒器件。从休眠状态唤醒时,总是 执行紧跟 SLEEP 指令后的下一条指令。如果用户试图 从休眠状态唤醒器件并恢复主代码执行,必须禁止全 局中断。如果允许了全局中断,执行将切换到中断服务 程序。
更多信息,请参见第 7.1.5 节 “中断”。
MCV18E
© 2009 Microchip Technology Inc. DS41399A_CN 43
MCV18E

7.2 ADC 工作原理

7.2.1 启动转换

要使能 ADC 模块,ADCON0 寄存器的 ADON 位必须设 置为 1。将 ADCON0 寄存器的 GO/DONE 位设置为 1 将启动模数转换。
注: 不应在启动 ADC 的同一条指令中将 GO/
DONE 位置 1。请参见第 7.2.6 节“A/D 换步骤”。

7.2.2 转换完成

转换完成时, ADC 模块将:
清零 GO/DONE
ADIF 标志位置 1
用新的转换结果更新 ADRES 寄存器

7.2.3 终止转换

如果必须在转换完成前终止转换,可用软件将 GO/ DONE 位清零。部分完成的模数转换结果将不会更新 ADRES 寄存器。相反, ADRES 寄存器仍然保留前一
次转换的值。此外,必须经过 2TAD 的延时后才能开始 下一次采集。延时结束后,将自动开始对选定通道的输 入进行采集。
注: 器件复位将强制所有寄存器进入复位状

7.2.4 休眠期间的 ADC 操作

ADC 模块可以在休眠模式下工作。这需要将 ADC 时钟
源设置为 F 待一个额外的指令周期后才能启动转换。这使得可以执 行 SLEEP 指令,这将降低转换期间的系统噪声。如果允 许了 ADC 中断,转换完成时器件将从休眠状态唤醒。如 果禁止了 ADC 中断,尽管 ADON 位仍保持置 1,转换 完成后 ADC 模块将关闭。
ADC 时钟源不是 F SLEEP 指令会导致当前转换中止, ADC 模块关闭。
态。因此, ADC 模块被关闭,任何在进行 中的转换操作被终止。
RC 选项。当选择 FRC 时钟源时, ADC 需等
RC 时,尽管 ADON 位仍保持置 1,

7.2.5 特殊事件触发器

ECCP 特殊事件触发器允许定期 ADC 测量而无需软件 干预。当出现触发信号时, GO/DONE Timer1 计数器复位为零。
使用特殊事件触发器不能确保正确的 ADC 时序。用户 需负责确保满足 ADC 时序要求。
更多信息,请参见第 8.0 节 “增强型捕捉 / 比较 /PWM 模块”。
位由硬件置 1

7.2.6 A/D 转换步骤

以下是使用 ADC 执行模数转换的示例步骤:
1. 配置端口:
禁止引脚输出驱动器 (见 TRIS 寄存器)
将引脚配置为模拟输入
2. 配置 ADC 模块:
选择 ADC 转换时钟
配置参考电压
选择 ADC 输入通道
选择结果格式
开启 ADC 模块
3. 配置 ADC 中断 (可选):
清零 ADC 中断标志
允许 ADC 中断
允许外设中断
允许全局中断
4. 等待所需采集时间
5. 通过将 GO/DONE
6. 通过以下方式之一等待 ADC 转换完成:
查询 GO/DONE
等待 ADC 中断 (已允许中断)
7. 读取 ADC 结果
8. 清零 ADC 中断标志(如果已允许中断则需要)。
1: 如果用户试图从休眠状态唤醒器件并恢复
主代码执行,必须禁止全局中断。
2: 请参见第 7.3 节“A/D 采集要求”。
(1)
(2)
位置 1 启动转换。
DS41399A_CN 44 © 2009 Microchip Technology Inc.
MCV18E

7.2.7 ADC 寄存器定义

以下寄存器用于控制 ADC 的操作。
寄存器 7-1 ADCON0A/D 控制寄存器 0
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0
ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
ADON
bit 7-6
bit 5-3
bit 2
bit 1
bit 0
ADCS<1:0>A/D 转换时钟选择位 00 = F
OSC/2 OSC/8
01 = F 10 = FOSC/32
11 = F
RC (由内部 ADC RC 振荡器产生的时钟)
CHS<2:0>:模拟通道选择位
000 = AN0 001 = AN1 010 = AN2 011 = AN3
100 = 保留,不要使用 101 = 保留,不要使用 110 = 保留,不要使用 111 = 保留,不要使用
GO/DONE
1 = A/D 转换正在进行。将该位置 1 可启动 A/D 转换周期。 A/D 转换完成后,该位由硬件自动清零。
0 = A/D 转换已完成 / 未进行 未实现:读为 0 ADON ADC 使能位
1 = 使能 ADC 0 = 禁止 ADC,不消耗工作电流
A/D 转换状态位
© 2009 Microchip Technology Inc. DS41399A_CN 45
MCV18E
寄存器 7-2 ADCON1A/D 控制寄存器 1
U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0
PCFG2 PCFG1 PCFG0
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7-3
bit 2-0
未实现:读为 0 PCFG<2:0>A/D 端口配置控制位
下表例举了各种配置的效果:
PCFG<2:0>
0x0 AAA AVDD
0x1 VREF AA ARA3
100 ADA AV
101 VREF DA ARA3
11x DDD DV
图注: A = 模拟输入, D = 数字 I/O
AN3/
RA3
AN2/
RA2
AN2/ RA1
AN0/
RA0
V
REF
DD
DD
DS41399A_CN 46 © 2009 Microchip Technology Inc.
MCV18E

7.3 A/D 采集要求

为了使 ADC 达到规定的精度,必须使充电保持电容
HOLD)完全充电至输入通道的电平。模拟输入模型
C
如图 7-2 所示。模拟信号源阻抗(RS)和内部采样开关 阻抗(RSS)直接影响电容 CHOLD 的充电时间。采样开 关阻抗 (RSS)随器件电压 (VDD)的变化而变化,请 参见图 7-2。模拟信号源的最大阻抗建议值为 10 kΩ。 采集时间可能随着源阻抗的降低而缩短。在选择 (或改 变)模拟输入通道后,必须在开始转换前完成 A/D 采集。

公式 7-1 采集时间示例

假设: 温度
T
C
值可以用以下公式近似计算:
= 50°C
TACQ
TAMP TC T COFF++=
VAPPLIED 1
VAPPLIED 1e
,外部阻抗
放大器稳定时间 保持电容充电时间 温度系数
= 2
μ
s + Tc + [(
⎛⎞
------------
⎝⎠
2047
⎛⎞ ⎜⎟
---------­RC
10 k
Ω
5.0V VDD
++=
温度
– 25°C)(0.05 μs/°C)]
1
TC
VCHOLD=
VCHOLD=
⎝⎠
Tc
---------
⎛⎞
VAPPLIED 1e
RC
⎜⎟
VAPPLIED 1
=
⎝⎠
可以使用公式 7-1 来计算最小采集时间。该公式假设误差 为 1/2 LSb1/2 LSb 误差是 ADC 达到规定分辨率所允许 的最大误差。
;[1]
充电到
;[2]
响应
1
-----------­2047
;
结合
⎛⎞ ⎝⎠
VCHOLD(1/2 LSb
VAPPLIED
[1]和[2]
充电到
误差范围)
VCHOLD
求解
TC
TC CHOLD RIC RSS R S++() ln(1/2047)=
Ω
7kΩ10k
10pF 1k
μ
= 1.37
s
++() ln(0.0004885)=
因此:
T
ACQ = 2
1: 因为参考电压 (VREF)自行抵消,因此它对该公式没有影响。
2: 充电保持电容 (C 3: 模拟信号源的最大阻抗建议值为 10 kΩ。此要求是为了符合引脚泄漏电流规范。
© 2009 Microchip Technology Inc. DS41399A_CN 47
μ
s + 1.37 μs + [(50°C – 25°C)(0.05 μs/°C)]
= 4.67
μ
s
HOLD)在每次转换后不会放电。
Ω
MCV18E

7-2 模拟输入模型

ANx
Rs
V
DD
VT = 0.6V
RIC 1k
采样开关
SS
Rss
VA
图注CPIN
VT I LEAKAGE RIC SS
C
HOLD
1: 请参见第 10.0 节 “电气特性”。
= 输入电容 = 门限电压
= 由各连接点在引脚上产生的泄漏电流 = 片内走线等效电阻 = 采样开关 = 采样 / 保持电容
CPIN 5 pF

7-3 ADC 传递函数

FFh
FEh
FDh
FCh
FBh
V
T = 0.6V
满量程
LEAKAGE
I
(1)
6V 5V
DD
4V
V
3V 2V
1 LSB 理想状况
HOLD = 10 pF
C
V
SS
Rss
567891011
采样开关
kΩ
满量程
04h
ADC 输出码
03h
02h
01h
00h
1 LSB 理想状况
SS
V
DS41399A_CN 48 © 2009 Microchip Technology Inc.
零量程 跳变
DD/VREF+
V
跳变
模拟输入电压

7-2:与ADC 相关的寄存器汇总

名称
ADCON0
ADCON1
ADRES
INTCON GIE PEIE
PIE1
PIR1
PORTA
TRISA
图注: x = 未知, u = 不变, = 未实现 (读为 0)。 ADC 模块不使用阴影单元。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE
PCFG2 PCFG1 PCFG0 ---- -000 ---- -000
A/D 结果寄存器
T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000x
—ADIE— CCP1IE TMR2IE TMR1IE -0-- -000 -0-- -000
—ADIF— CCP1IF TMR2IF TMR1IF -0-- -000 -0-- -000
RA4 RA3 RA2 RA1 RA0 --xx xxxx --uu uuuu
TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 --11 1111 --11 1111
POR/BOR
—ADON
0000 0000 0000 0000
xxxx xxxx uuuu uuuu
MCV18E
时的值
所有其他
复位时的值
© 2009 Microchip Technology Inc. DS41399A_CN 49
MCV18E
注:
DS41399A_CN 50 © 2009 Microchip Technology Inc.
MCV18E

8.0 增强型捕捉 / 比较 /PWM 模块

增强型捕捉 / 比较 /PWM 模块是允许用户计时和控制不 同事件的外设。在捕捉模式下,外设允许对事件的持续 时间进行计时。当超过预先确定的时间后,比较模式允 许用户触发一个外部事件。 PWM 模式可以产生不同频 率和占空比的脉宽调制信号。
8-1 给出了 ECCP 模块所需的定时器资源。

寄存器 8-1 CCP1CON:增强型 CCP1 控制寄存器

R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
注: 本文档中的CCPR1CCP1分别指CCPR1
CCPR2,以及 CCP1 CCP2
8-1 ECCP 模式——所需的定时器资源
ECCP 模式 定时器资源
捕捉 比较
PWM Timer2
Timer1
Timer1
bit 7-6
bit 5-4
bit 3-0
P1M<1:0>PWM 输出配置位 如果
CCP1M<3:2> = 00、 01 10
xx = P1A 配置为捕捉 / 比较输入; P1BP1C P1D 配置为端口引脚
CCP1M<3:2> = 11
如果
00 = 单输出; P1A 被调制; P1BP1C P1D 配置为端口引脚 01 = 全桥正向输出; P1D 被调制; P1A 有效; P1B P1C 无效 10 = 半桥输出; P1A P1B 被调制,带有死区控制; P1C P1D 配置为端口引脚 11 = 全桥反向输出; P1B 被调制; P1C 有效; P1A P1D 无效
DC1B<1:0>PWM 占空比最低有效位 捕捉模式:
未使用。 比较模式: 未使用。
模式:
PWM 这些位是 PWM 占空比的低 2 位。高 8 位在 CCPR1L 中。
CCP1M<3:0>ECCP 模式选择位
0000 = 捕捉 / 比较 /PWM 关闭 (复位 ECCP 模块) 0001 = 未使用 (保留) 0010 = 比较模式,匹配时输出电平翻转 (CCP1IF 位置 1 0011 = 未使用 (保留) 0100 = 捕捉模式,每个下降沿 0101 = 捕捉模式,每个上升沿 0110 = 捕捉模式,每 4 个上升沿 0111 = 捕捉模式,每 16 个上升沿 1000 = 比较模式,匹配时输出电平置 1 CCP1IF 位置 1 1001 = 比较模式,匹配时输出电平清零 (CCP1IF 位置 1 1010 = 比较模式,匹配时产生软件中断 (CCP1IF 位置 1CCP1 引脚不受影响) 1011 = 比较模式,特殊事件触发信号 (CCP1IF 位置 1 CCP1 复位 TMR1 TMR2 1100 = PWM 模式; P1A P1C 高电平有效; P1B P1D 高电平有效 1101 = PWM 模式; P1A P1C 高电平有效; P1B P1D 低电平有效 1110 = PWM 模式; P1A P1C 低电平有效; P1B P1D 高电平有效 1111 = PWM 模式; P1A P1C 低电平有效; P1B P1D 低电平有效
© 2009 Microchip Technology Inc. DS41399A_CN 51
MCV18E

8.1 捕捉模式

在捕捉模式下,当在 CCP1 引脚上发生事件时, CCPR1H:CCPR1L 捕捉 TMR1 寄存器的 16 位值。这些
事件如下所示,可由 CCP1CON 寄存器的 CCP1M<3:0> 位进行配置:
每个下降沿
每个上升沿
4 个上升沿
16 个上升沿
进行捕捉后,PIR1 寄存器的中断请求标志位 CCP1IF 被1。该中断标志必须用软件清零。如果在读出CCPR1HCCPR1L 寄存器对中的值之前又发生另一次捕捉,那 么原来的捕捉值会被新捕捉值覆盖 (见图 8-1)。

8.1.1 CCP1 引脚配置

在捕捉模式下,应通过将相关的 TRIS 控制位置 1 将 CCP1 引脚配置为输入。
注: 如果 CCP1 引脚被配置为输出,则写端口
将产生一次捕捉条件。
8-1 捕捉模式工作原理框图
将标志位 CCP1IF 1
PIR1 寄存器)
CCP1CON<3:0>
OSC
CCPR1H CCPR1L
捕捉 使能
TMR1H TMR1L
CCP1
引脚
预分频器
÷ 1, 4, 16
边沿检测
系统时钟(F

8.1.2 TIMER1 模式选择

为使 CCP 模块使用捕捉特性, Timer1 必须运行在定时 器模式或同步计数器模式下。在异步计数器模式下,可 能无法进行捕捉操作。

8.1.3 软件中断

当捕捉模式改变时,可能会产生错误的捕捉中断。用户 应保持 PIE1 寄存器的 CCP1IE 中断允许位清零以避免 发生错误中断。此外,用户应在工作模式的任何改变之 后清零 PIR1 寄存器的 CCP1IF 中断标志位。

8.1.4 CCP 预分频器

CCP1CON 寄存器的CCP1M<3:0> 位指定4种预分频比设
置。每当关闭 CCP 模块,或者 CCP 模块不在捕捉模式下 时,预分频器计数器就会被清零。任何复位都会将预分频 器计数器清零。
从一个捕捉预分频比切换到另一个捕捉预分频比不会清 零预分频器,而且可能产生一次错误中断。为避免此意 外操作,可在改变预分频比前通过清零 CCP1CON 寄存 器来关闭模块 (见例 8-1)。
8-1 改变捕捉预分频比
BANKSEL CCP1CON ;Set Bank bits to point
;to CCP1CON CLRF CCP1CON ;Turn CCP module off MOVLW NEW_CAPT_PS;Load the W reg with
; the new prescaler
; move value and CCP ON MOVWF CCP1CON ;Load CCP1CON with this
; value
DS41399A_CN 52 © 2009 Microchip Technology Inc.
MCV18E
8-2 与捕捉相关的寄存器
名称
CCPR1L
CCPR1H
CCP1CON P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 0000 0000
INTCON GIE PEIE
PIE1
PIR1
PR2
TMR1L
TMR1H
TMR2
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
捕捉 / 比较 /PWM 寄存器 1 (LSB)
捕捉 / 比较 /PWM 寄存器 1 (MSB)
T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000x
ADIE CCP1IE TMR2IE TMR1IE -0-- -000 -0-- -000
ADIF CCP1IF TMR2IF TMR1IF -0-- -000 -0-- -000
Timer2 周期寄存器
16 TMR1 寄存器最低有效字节的保持寄存器
16 TMR1 寄存器最高有效字节的保持寄存器
Timer2 模块寄存器
POR/BOR
时的值
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
1111 1111 1111 1111
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
0000 0000 0000 0000
图注: – = 未实现位 (读为 0), u = 不变, x = 未知。捕捉不使用阴影单元。
所有其他
复位时的值
© 2009 Microchip Technology Inc. DS41399A_CN 53
MCV18E

8.2 比较模式

在比较模式下,16 位 CCPR1 寄存器的值不断与 TMR1 寄 存器对的值作比较。当二者匹配时, CCP1 模块可能会:
翻转 CCP1 输出。
CCP1 输出置 1
CCP1 输出清零。
产生特殊事件触发信号。
产生软件中断。
引脚的动作由 CCP1CON 寄存器的 CCP1M<3:0> 控制 位的值决定。
所有比较模式都能产生中断。

8-2 比较模式工作原理框图

CCP1CON<3:0>
模式选择
CCP1IF 中断标志位置 1
PIR1
CCP1
引脚
QS
TRIS
输出使能
特殊事件触发信号
特殊事件触发信号将:
清零 TMR1H TMR1L 寄存器。
不会将 PIR1 寄存器的中断标志位 TMR1IF 1
GO/DONE
位置 1 以启动 ADC 转换。
4
输出 逻辑
R
CCPR1H CCPR1L
匹配
TMR1H TMR1L
比较器

8.2.2 TIMER1 模式选择

在比较模式下,Timer1 必须运行在定时器模式或同步计 数器模式下。在异步计数器模式下,可能无法进行比较 操作。

8.2.3 软件中断模式

当选择产生软件中断模式(CCP1M<3:0> = 1010)时 , CCP1 模块不会对 CCP1 引脚进行控制(见 CCP1CON 寄存器)。

8.2.4 特殊事件触发器

当选择特殊事件触发器模式 (CCP1M<3:0> = 1011) 时, CCP1 模块将进行以下操作:
复位 Timer1
如果 ADC 被使能,则启动 ADC 转换
在该模式下, CCP1 模块不会对 CCP1 引脚进行控制
(见 CCP1CON 寄存器)。
一旦TMR1HTMR1L寄存器对与CCPR1HCCPR1L 寄存器对之间发生匹配,便会发生 CCP 的特殊事件触 发输出。TMR1H TMR1L 寄存器对在 Timer1 时钟的 下一个上升沿到来之前不会复位。这使 CCPR1H CCPR1L 寄存器对可作为 Timer1 16 位可编程周期寄 存器。
1CCP模块的特殊事件触发信号不会将PIR1
寄存器的中断标志位 TMRxIF 1
2: 通过在产生特殊事件触发信号的时钟边沿
和使 Timer1 复位的时钟边沿之间更改 CCPR1H CCPR1L 寄存器对的内容来 移除匹配条件,可以避免复位发生。

8.2.1 CCP1 引脚配置

用户必须通过将相关的 TRIS 位清零将 CCP1 引脚配置 为输出。
注: 清零 CCP1CON 寄存器将强制CCP1 比较输
出锁存器为默认的低电平。这不是端口 I/O 数据锁存器。
DS41399A_CN 54 © 2009 Microchip Technology Inc.
MCV18E
8-3 与比较相关的寄存器
名称
CCPR1L
CCPR1H
CCP1CON P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 0000 0000
INTCON GIE PEIE
PIE1
PIR1
PR2
TMR1L
TMR1H
TMR2
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
捕捉 / 比较 /PWM 寄存器 1 (LSB)
捕捉 / 比较 /PWM 寄存器 1 (MSB)
T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000x
ADIE CCP1IE TMR2IE TMR1IE -0-- -000 -0-- -000
ADIF CCP1IF TMR2IF TMR1IF -0-- -000 -0-- -000
Timer2 周期寄存器
16 TMR1 寄存器最低有效字节的保持寄存器
16 TMR1 寄存器最高有效字节的保持寄存器
Timer2 模块寄存器
POR/BOR
时的值
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
1111 1111 1111 1111
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
0000 0000 0000 0000
图注: – = 未实现位 (读为 0), u = 不变, x = 未知。比较不使用阴影单元。
所有其他
复位时的值
© 2009 Microchip Technology Inc. DS41399A_CN 55
MCV18E

8.3 PWM 模式

PWM 模式在 CCP1 引脚上产生脉宽调制信号。占空比、 周期和分辨率由以下寄存器决定:
•PR2
•T2CON
• CCPR1L
• CCP1CON
在脉宽调制(Pulse-Width ModulationPWM)模式下, CCP 模块会在 CCP1 引脚上产生高达 10 位分辨率的 PWM 输出信号。由于 CCP1 引脚与端口数据锁存器复
用,必须清零相应的 TRIS 位以使能 CCP1 引脚输出驱 动器。
注: 清零 CCP1CON 寄存器将放弃对 CCP1
脚的 CCP1 控制。
8-3 给出了 PWM 工作原理的简化框图。
8-4 给出了 PWM 信号的典型波形。
关于如何设置用于 PWM 操作的 CCP 模块的详细步骤, 请参见第 8.3.7 节“设置PWM 操作”。

8-3:简PWM 框图

占空比寄存器
CCPR1L
CCP1CON<5:4>
PWM 输出 (图 8-4)有一个时基 (周期)和一段输出
保持为高电平的时间 (占空比)。

8-4 CCP PWM 输出

周期
脉冲宽度
TMR2 = 0
TMR2 = PR2
TMR2 = CCPR1L:CCP1CON<5:4>
(2)
CCPR1H
18 位定时器 TMR2 寄存器与 2 位内部系统时钟
2: 在 PWM 模式下, CCPR1H 是只读寄存器。
(从)
比较器
TMR2
比较器
PR2
F
(1)
清零 TIM ER2 , 翻转 CCP1 引脚并 锁存占空比
OSC)或预分频器的2 位一起构成10位时基。
RQ
S
CCP1
TRIS
DS41399A_CN 56 © 2009 Microchip Technology Inc.
MCV18E

8.3.1 PWM 周期

PWM 周期可通过 Timer2 PR2 寄存器来指定。PWM
周期可由公式 8-1 计算。
公式 8-1 PWM 周期
PWM
周期
TMR2 中的值与 PR2 中的值相等时,在下一个递增 周期将发生以下 3 个事件:
•TMR2被清零
• CCP1 引脚被置 1。(例外情况:如果 PWM 占空比 =0%,引脚将不会被置 1。)
•PWM占空比从 CCPR1L 锁存到 CCPR1H。
注: 在确定 PWM 频率时不会用到 Timer2 后分
频比 (见第 6.0 节“Timer2 模块”)。
PR2()1+[]4T
=
TMR2
预分频值)
OSC

8.3.2 PWM 占空比

通过将 10 位值写入多个寄存器来指定 PWM 占空比: CCPR1L 寄存器和 CCP1CON 寄存器的 DC1B<1:0> 位。 CCPR1L 包含高 8 位,而 CCP1CON 寄存器的
DC1B<1:0> 位包含低 2 位。可以在任何时候写入 CCPR1L CCP1CON 寄存器的 DC1B<1:0> 位。在周
期结束 (即 PR2 TMR2 寄存器发生匹配)前占空比 值不会被锁存到 CCPR1H 中。使用 PWM 时,CCPR1H 寄存器是只读的。
公式 8-2 用于计算 PWM 脉冲宽度。
公式 8-3 用于计算 PWM 占空比。
公式 8-2 脉冲宽度
脉冲宽度
CCPR1L:CCP1CON<5:4>()
=
TOSC
TMR2
预分频值)
公式 8-3:占
CCPR1L:CCP1CON<5:4>()
占空比
CCPR1H 寄存器和一个 2 位的内部锁存器用于为 PWM 占空比提供双重缓冲。这种双重缓冲结构对避免在
PWM 操作中产生毛刺非常重要。
8 位定时器 TMR2 寄存器与 2 位内部系统时钟(F
或预分频器的 2 位一起构成 10 位时基。如果 Timer2 预 分频比设置为 1:1,则使用系统时钟。
10 位时基与 CCPR1H 2 位锁存值匹配时,CCP1 引脚被清零 (见图 8-3)。
-----------------------------------------------------------------------
=
4PR2 1+()
OSC
© 2009 Microchip Technology Inc. DS41399A_CN 第 57
MCV18E

8.3.3 PWM 分辨率

分辨率决定给定周期的可用占空比数。例如,10 位分辨 率将可得到 1024 个不连续的占空比,而 8 位分辨率将可 得到 256 个不连续的占空比。
PR2 255 时, PWM 最大分辨率为 10 位。分辨率 是 PR2 寄存器值的函数,如公式 8-4 所示。
8-4 PWM 频率和分辨率示例 (F
PWM 频率
定时器预分频值 (14 16PR2 值 最大分辨率 (位)
1.22 kHz 4.88 kHz 19.53 kHz 78.12 kHz 156.3 kHz 208.3 kHz
16 4 1 1 1 1
0xFF 0xFF 0xFF 0x3F 0x1F 0x17
10 10 10 8 7 6.6
8-5 PWM 频率和分辨率示例 (F
PWM 频率
定时器预分频值 (14 16 PR2
最大分辨率 (位)
1.22 kHz 4.90 kHz 19.61 kHz 76.92 kHz 153.85 kHz 200.0 kHz
16 4 1 1 1 1
0x65 0x65 0x65 0x19 0x0C 0x09
88 8 6 55
OSC = 20 MHz
OSC = 8 MHz
公式 8-4 PWM 分辨率
4 PR2 1+()[]log
分辨率
注: 如果脉冲宽度值比周期长,则指定的 PWM
引脚将保持不变。
------------------------------------------
=
2()log
DS41399A_CN 58 © 2009 Microchip Technology Inc.
MCV18E

8.3.4 休眠模式下的操作

在休眠模式下,TMR2 寄存器将不会递增,模块状态也 不会改变。如果 CCP1 引脚正在驱动一个值,则会继续 驱动该值。当器件被唤醒时,TMR2将从先前状态继续。

8.3.5 改变系统时钟频率

PWM 频率是由系统时钟频率得到的。系统时钟频率的 任何改变将导致 PWM 频率的改变。

8.3.6 复位的影响

任何复位都将强制所有端口为输入模式,并强制 CCP 寄 存器为其复位状态。

8.3.7 设置 PWM 操作

当配置 CCP 模块的 PWM 操作时,可采用以下步骤:
1. 通过将相关的 TRIS 位置 1,禁止 PWM 引脚 (CCP1)输出驱动器。
2. 通过装入 PR2 寄存器设置 PWM 周期。
3. 通过将适当的值装入CCP1CON寄存器,将CCP
模块配置为 PWM 模式。
4. 通过装入 CCPR1L 寄存器和 CCP1CON 寄存器
DC1B 位,设置 PWM 占空比。
5. 配置和启动 Timer2
清零 PIR1 寄存器的 TMR2IF 中断标志位。
通过装入 T2CON 寄存器的 T2CKPS 位设置 Timer2 预分频值。
通过将 T2CON 寄存器的 TMR2ON 位置 1使能 Timer2
6. 在新的 PWM 周期开始后使能 PWM 输出:
等待直到Timer2上溢(PIR1寄存器的TMR2IF 位置 1)。
通过清零相关的 TRIS 位使能 CCP1 引脚输出
驱动器。
© 2009 Microchip Technology Inc. DS41399A_CN 59
MCV18E

8.3.8 增强型 PWM 自动关闭模式

PWM模式支持自动关闭模式,当外部关闭事件发生时将
禁止 PWM 输出。自动关闭模式将 PWM 输出引脚置于 预先确定的状态。该模式用于防止过大的 PWM 脉冲损 坏应用。
通过使用 ECCPAS 寄存器的 ECCPASx 位来选择自动关 闭源。关闭事件由以下条件产生:
•INT引脚上的逻辑 0
用固件将 ECCPASE 位置 1
关闭条件由 ECCPAS 寄存器的 ECCPASE (自动关闭 事件状态)位指示。如果该位为 0PWM 引脚正常工 作。如果该位为 1PWM 输出处于关闭状态。请参见 图 8-5
8-5 自动关闭框图
ECCPAS<2:0>
111
110
101
100
INT
来自比较器 C2
来自比较器 C1
011
010
001
000
PRSEN
当关闭事件发生时,会发生以下两个事件:
ECCPASE 位被设置为 1。 ECCPASE 将保持置 1 直到 由固件清零或发生自动重启 (见第 8.3.9 节 “自动重启 模式”)。
使能的 PWM 引脚被陆续置为其关闭状态。PWM 输出引 脚被分组为 [P1A/P1C] [P1B/P1D]。每对引脚的状态 由 ECCPAS 寄存器的 PSSAC 和 PSSBD 位决定。每对 引脚可以设置为以下 3 种状态之一:
驱动逻辑 1
驱动逻辑 0
三态 (高阻态)
PSSAC<0>
P1A_DRV
PSSAC<1>
TRISx
PSSBD<0>
P1B_DRV
1
0
P1A
1
0
来自数据总线
写入 ECCPASE
R
S
DQ
ECCPASE
PSSBD<1>
PSSAC<0>
P1C_DRV
PSSAC<1>
PSSBD<0>
P1D_DRV
PSSBD<1>
TRISx
TRISx
TRISx
P1B
1
0
P1C
1
0
P1D
DS41399A_CN 60 © 2009 Microchip Technology Inc.
MCV18E
寄存器 8-2 ECCPAS:增强型捕捉 / 比较 /PWM 自动关闭控制寄存器
R/W-0 R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
ECCPASE ECCPAS2
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
ECCPAS0 PSSAC1 PSSAC0 PSSBD1 PSSBD0
bit 7
bit 6
bit 5
bit 4
bit 3-2
bit 1-0
1: 自动关闭条件是基于电平的信号,而不是
ECCPASEECCP 自动关闭事件状态位
1 = 发生了关闭事件; ECCP 输出为关闭状态 0 = ECCP 输出正常工作
ECCPAS2ECCP 自动关闭位 2
1 = RB0 INT)引脚低电平 (0)导致关闭 0 = RB0 INT)引脚对 ECCP 没有作用
未实现:读为 0 ECCPAS0ECCP 自动关闭位 0 1 = RB4 引脚低电平 (0)导致关闭
0 = RB4 引脚对 ECCP 没有作用
PSSACn:引脚 P1A P1C 关闭状态控制位
00 = 驱动引脚 P1A P1C 为 0 01 = 驱动引脚 P1A P1C 为 1 1x = 引脚 P1A
PSSBDn:引脚 P1B P1D 关闭状态控制位
00 = 驱动引脚 P1B P1D 为 0 01 = 驱动引脚 P1B P1D 为 1 1x = 引脚 P1B P1D 为三态
基于边沿的信号。只要电平存在,自动关 闭就将持续。
2: 当自动关闭条件保持时,禁止写
ECCPASE 位。
3: 一旦自动关闭条件被移除并且 PWM 重启
(通过固件或自动重启),PWM 信号将总
是在下一个 PWM 周期重启。
P1C 为三态
© 2009 Microchip Technology Inc. DS41399A_CN 61
MCV18E
8-6 PWM 自动关闭,可用固件重启 (PRSEN = 0
关闭事件
ECCPASE
PWM 活动
PWM 周期
开始
PWM 周期
关闭
事件发生
关闭
事件清除

8.3.9 自动重启模式

一旦自动关闭条件被移除,增强型 PWM 可被配置为自 动重启 PWM 信号。通过将 PWM1CON 寄存器中的 PRSEN 位置 1 使能自动重启。
如果使能了自动重启,只要自动关闭条件有效,
ECCPASE 位将保持置 1。当自动关闭条件被移除时, ECCPASE 位将由硬件清零并恢复正常工作。
8-7 PWM 自动关闭,可使能自动重启 (PRSEN = 1
关闭事件
ECCPASE
PWM 活动
PWM 周期
开始
PWM 周期
关闭
事件发生
关闭
事件清除
ECCPASE
由固件清零
PWM
恢复工作
PWM
恢复工作
DS41399A_CN 62 © 2009 Microchip Technology Inc.
MCV18E

8.3.10 可编程死区延时模式

在所有功率开关都以 PWM 频率调制的半桥应用中,功 率开关关断通常比导通需要更多的时间。如果上下两个 功率开关在同一时间开关 (一个导通,另一个关断), 那么在一段很短的时间里,两个开关可能同时导通,直 到一个开关完全关断为止。在这短暂的时间间隔中,两 个功率开关中将流过很高的电流 (直通电流),致使桥 式供电电路短路。为避免开关过程中可能会出现的破坏 性直通电流,通常需要延迟功率开关的导通,保证在一 个开关完全关断之后,再导通另一个功率开关。
在半桥模式下,可采用数字可编程死区延时来避免出现 破坏桥式功率开关的直通电流。在信号从无效状态切换 到有效状态时发生延时。请参见图 8-8。相关的 PWM1CON 寄存器 (寄存器 8-3)的低 7 位根据单片机指令周期
CY 或 4 TOSC)为单位设置延时。
T
8-9 半桥应用示例
标准半桥电路(“推挽式”)
P1A
FET
驱动器
8-8:半PWM 输出示例
周期
脉冲宽度
(2)
P1A
td
(2)
P1B
(1)
td = 死区延时
1: 此时 TMR2 寄存器和 PR2 寄存器的值相等。
2: 图中输出信号为高电平有效。
V+
td
(1) (1)
+ V
-
周期
P1B
FET
驱动器
负载
+ V
-
V-
© 2009 Microchip Technology Inc. DS41399A_CN 第 63
MCV18E
寄存器 8-3 PWM1CON:增强型 PWM 控制寄存器
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
PRSEN PDC6 PDC5 PDC4 PDC3 PDC2 PDC1 PDC0
bit 7 bit 0
图注:
R = 可读位 W = 可写位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 7
PRSENPWM 重启使能位
1 = 自动关闭时,一旦关闭事件消失, ECCPASE 位自动清零; PWM 自动重启 0 = 自动关闭时, ECCPASE 必须用软件清零以重启 PWM
bit 6-0
PDC<6:0>PWM 延时计数位 PDCn = 在 PWM 信号应该转换为有效的预定时间和转换为有效的实际时间之间的 F
OSC/4 (4 * TOSC)
周期数
8-6:与PWM 相关的寄存器
名称
CCPR1L
CCPR1H
CCP1CON P1M1 P1M0 DC1B1 DC1B0 CCP1M3 CCP1M2 CCP1M1 CCP1M0 0000 0000 0000 0000
ECCPAS ECCPASE ECCPAS2
INTCON GIE PEIE
PIE1
PIR1
PR2
PWM1CON PRSEN PDC6 PDC5 PDC4 PDC3 PDC2 PDC1 PDC0 0000 0000 0000 0000
TMR1L
TMR1H
TMR2
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
图注: – = 未实现位 (读为 0), u = 不变, x = 未知。 PWM 不使用阴影单元。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
捕捉 / 比较 /PWM 寄存器 1 (LSB)
捕捉 / 比较 /PWM 寄存器 1 (MSB)
ECCPAS0 PSSAC1 PSSAC0 PSSBD1 PSSBD0 00-0 0000 00-0 0000
T0IE INTE RBIE T0IF INTF RBIF 0000 000x 0000 000x
ADIE CCP1IE TMR2IE TMR1IE -0-- -000 -0-- -000
ADIF CCP1IF TMR2IF TMR1IF -0-- 0000 -0-- -000
Timer2 周期寄存器
16 TMR1 寄存器最低有效字节的保持寄存器
16 TMR1 寄存器最高有效字节的保持寄存器
Timer2 模块寄存器
POR/BOR
时的值
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
1111 1111 1111 1111
xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx
0000 0000 0000 0000
所有其他
复位时的值
DS41399A_CN 64 © 2009 Microchip Technology Inc.
MCV18E

9.0 CPU 的特殊功能

MCV18E 器件有许多功能,旨在最大限度地提高系统可 靠性,通过减少外部元件的使用将成本降至最低,并提 供节能工作模式和代码保护功能。这些功能包括:
振荡器选择
复位
- 上电复位 (POR
- 上电延时定时器 (PWRT
- 振荡器起振定时器 (OST
- 欠压复位 (Brown-out ResetBOR
中断
看门狗定时器 (WDT
休眠
代码保护
•ID存储单元
在线串行编程 (ICSP™
MCV18E 器件具有一个看门狗定时器,该定时器只能通
过配置位关闭。它依靠自身的 RC 振荡器运行,以便提 升可靠性。还有两个定时器提供了必要的上电延时。一 个是振荡器起振定时器 (OST),旨在确保芯片在晶振 达到稳定之前始终处于复位状态。另一个是上电延时定 时器 (PWRT),仅在上电时提供固定的延时,用来在 电源稳定过程中使器件保持在复位状态。有了这两个片 上定时器,大多数应用不再需要外部复位电路。
休眠模式旨在提供极低电流的掉电模式。通过外部复 位、看门狗定时器唤醒或中断,用户可将器件从休眠状 态唤醒。还有几种振荡器模式可供选择,以使器件适应 各种应用。RC 振荡器选项可节省系统成本,而 LP 晶振 选项可节省功耗。有一组配置位用于选择各种选项。

9.1 配置位

可以通过对配置位编程 (读为 0)或不编程 (读为 1) 来选择不同的器件配置。这些位被映射到程序存储单元 2007h 中。
用户会注意到地址 2007h 超出了用户程序存储空间范 围。事实上,它属于特殊配置存储空间(2000h- 3FFFh),只能在编程时对其进行访问。
© 2009 Microchip Technology Inc. DS41399A_CN 65
MCV18E

寄存器 9-1 CONFIG:配置字寄存器

bit 15 bit 8
BORV BOREN
bit 7 bit 0
图注:
R = 可读位 W = 可写位 P = 可编程位 U = 未实现位,读为 0
-n = POR 时的值 1 = 10 = 清零 x = 未知
bit 15-14
bit 13
bit 12-8
bit 7
bit 6
bit 5-4
bit 3
bit 2
bit 1-0
未实现:读为 1
CP
1 = 禁止程序存储器代码保护 0 = 使能程序存储器代码保护
未实现:读为 1
BORV:欠压复位电压位
1 = VBOR 设置为 4.0V 0 = VBOR 设置为 2.5V
BOREN:欠压复位选择位
1 = 使能 BOR 0 = 禁止 BOR
未实现:读为 1
PWRTE
1 = 禁止 PWRT 0 = 使能 PWRT
WDTE:看门狗定时器使能位
1 = 使能 WDT 0 = 禁止 WDT
FOSC<2:0>:振荡器选择位
11 = RC 振荡器 10 = HS 振荡器 01 = XT 振荡器 00 = LP 振荡器
(1)
:代码保护位
:上电延时定时器使能位
(2)
CP
—PWRTEWDTE FOSC1 FOSC0
(2)
(1)
(1)
1: 使能欠压复位并不会自动使能上电延时定时器。
2: 当关闭代码保护时,将擦除整个程序存储器的内容。
DS41399A_CN 66 © 2009 Microchip Technology Inc.
MCV18E

9.2 振荡器配置

9.2.1 振荡器类型

MCV18E 器件可以在 4 种不同的振荡器模式下工作。用
户可以对两个配置位(FOSC1 FOSC0)进行编程来 选择以下 4 种模式之一:
•LP——低功耗晶振
•XT——晶振 / 谐振器
•HS——高速晶振 / 谐振器
•RC——电阻 / 电容

9.2.2 晶振 / 陶瓷谐振器

XTLPHS模式下,晶振或陶瓷谐振器连接到OSC1/ CLKIN OSC2/CLKOUT 引脚,以产生振荡(图 9-1)。 MCV18E 振荡器的设计要求使用平行切割的晶体。使用
顺序切割的晶体,可能会使振荡器产生的频率超出晶体 制造厂商所给的规范。在 XTLP HS 模式下,器件可 以使用外部时钟源来驱动 OSC1/CLKIN 引脚(图 9-2)。
9-1:晶/ 陶瓷谐振器工作原理
HSXT 或 LP 振荡器配置)
(1)
C1
(1)
C2
1: 关于 C1 C2 的建议值,请参见表 9-1
2: 可能需要一个串联电阻 (RS)。 3RF 随所选择的晶振而变化。
9-2 外部时钟输入工作原理
OSC1
XTAL
OSC2
(2)
RS
和表 9-2
HSXT 或 LP 振荡器配置)
(3)
RF
MCV18E
休眠
至内部
逻辑
9-1 陶瓷谐振器
测试的范围:
模式 频率 OSC1 C1OSC2 C2
XT 455 kHz
2.0 MHz
HS 4.0 MHz
8.0 MHz
16.0 MHz
1: 这些值仅供设计参考。请参见本页下方
的“注”。
68-100 pF
15-68 pF 10-68 pF
15-68 pF 10-22 pF
68-100 pF
15-68 pF 10-68 pF
15-68 pF 10-22 pF
9-2 晶振的电容选择
振荡器类型 晶振频率 电容范围 C1 电容范围 C2
LP 32 kHz 15-33 pF 15-33 pF
200 kHz 5-10 pF 5-10 pF
XT 200 kHz 47-68 pF 47-68 pF
1 MHz 15-33 pF 15-33 pF
4 MHz 15-33 pF 15-33 pF
HS 4 MHz 15-33 pF 15-33 pF
8 MHz 15-33 pF 15-33 pF
20 MHz 15-33 pF 15-33 pF
1: 这些值仅供设计参考。请参见本页下方
的“注”。
1: 电容越大,振荡器越稳定,但起振时间越长。
2: 因为每种谐振器 / 晶振都有其自身特性,
用户应当向谐振器 / 晶振制造厂商咨询外 部元件的适当值。
3: 可能需要使用电阻 RS 以避免对低驱动规
格的晶体造成过驱动。
4: 当将外部时钟用于 OSC1 输入时,必须通
过将 OSC2 引脚保持为断开连接状态,从 而使 OSC2 引脚的负载保持最小。
来自外部
系统的时钟
开路
© 2009 Microchip Technology Inc. DS41399A_CN 第 67
OSC1
MCV18E
OSC2
MCV18E

9.2.3 RC 振荡器

对于对时序不敏感的应用,选择 RC 器件选项能更好地 节约成本。 RC 振荡器频率是供电电压、电阻(R
EXT
和电容(CEXT)值以及工作温度的函数。除此之外,由 于正常的工艺参数差异,每个振荡器的振荡频率会各不 相同。而且,各种封装类型的引线电容的不同也会影响 振荡频率,特别是 C
EXT 值较低时。用户还应考虑因所
使用的外部 R C 元件的容差而导致的差异。图 9-3 所 示为 R/C 元件组合是如何连接到 MCV18E 器件的。
9-3 RC 振荡器模式
VDD
REXT
CEXT
VSS
建议值:
3kΩ ≤ R 10 kΩ ≤ R
C
EXT > 20 pF
OSC1
OSC2/CLKOUT
OSC/4
F
EXT 100 kΩ VDD 3.0V
EXT 100 kΩ VDD 3.0V
内部时钟
MCV18E

9.3 复位

9-5 给出了片上复位电路的简化框图。
®
单片机在 MCLR 复位路径中有一个 MCLR 噪声滤
PIC
波器。该滤波器检测并滤除小脉冲。
应该注意,WDT 复位不会将 MCLR
引脚驱动为低电平。

9.4 上电复位 (POR

当检测到 VDD 上升时,会产生片上上电复位脉冲。为了 利用 POR,只需将 MCLR 引脚直接(或通过一个电阻) 连接到 VDD。这样就可无需使用通常用于产生上电复位 所需的外接 RC 元件。VDD 的最大上升时间已指定(参 数 D004)。对于上升时间缓慢的情况,请参见图 9-4
当器件开始正常工作时 (退出复位状态),器件的工作 参数 (电压、频率和温度等)必须得到满足,以确保其 正常工作。如果不满足这些条件,那么器件必须保持在 复位状态,直到满足工作条件为止。欠压复位可用于满 足启动条件。
9-4 外部上电复位电路
V
DD 缓慢上电的情况)
DD
V
VDD
R
R1
MCLR
C
MCV18E
MCV18E 器件有以下几种不同的复位方式:
上电复位 (POR
正常工作期间的 MCLR
休眠期间的 MCLR
复位
复位
•WDT复位 (正常工作期间)
•WDT唤醒 (休眠期间)
欠压复位 (BOR
有些寄存器不会以任何方式复位;它们在 POR 时处于 未知状态,在任何其他复位时状态不变。在发生上电复 位(POR)、 MCLR
WDT 复位、休眠期间的 MCLR 复位以及欠压复位(BOR)时,大部分其他寄存器都复 位为 “复位状态”。它们不受 WDT 唤醒的影响,因为 这被视为对正常工作的恢复。 TO
PD 位在不同的复 位情形下,它们置 1 或清零的情况将不同,如表 9-4 中 所示。可在软件中使用这些位判断复位的性质。关于所 有寄存器的复位状态的完整说明,请参见表 9-6
1: 仅当 VDD 上电速率过慢时才需要外部上电复位
电路。二极管 D 有助于在 V 速放电。
2: 建议 R < 40 kΩ,确保电阻 R 两端压降符合器
件的电气规范。
DD 掉电时使电容迅
3R1 = 100Ω 至 1kΩ 将限制任何电流从外部
电容 C 流入 MCLRElectrostatic DischargeESD)或电过载 (Electrical OverstressEOS)导 致 MCLR
PP 引脚损坏。
V
,以避免由于静电放电
/
DS41399A_CN 68 © 2009 Microchip Technology Inc.
MCV18E

9.5 上电延时定时器 (PWRT

上电延时定时器用于对 POR 产生固定的标称延时 (仅 在上电时产生)。上电延时定时器采用内部 RC 振荡器 工作。只要 PWRT 处于活动状态,芯片就保持在复位状 态。PWRT 的延时使 V 时定时器使能配置位 PWRTE,用于使能 / 禁止 PWRT
DD、温度和工艺的不同,不同芯片的上电延时定
由于 V 时器的延时也各不相同。详情请参见交流参数。
DD 能上升到所需的电平。上电延

9.6 振荡器起振定时器 (OST

PWRT 延时结束以后,由振荡器起振定时器(OST) 提供一个 1024 振荡周期 (来自 OSC1 输入)的延时, 从而确保晶振或谐振器的起振和稳定工作。详情请参见 交流参数。
只有在 XTLP HS 模式下,并且仅当发生上电复位 或从休眠状态唤醒时,才启动 OST 延时。

9.7 可编程欠压复位 (PBOR

MCV18E 器件具有片上欠压复位电路。配置位 BOREN 可禁止 (如果清零 / 编程)或使能 (如果置 1)欠压复 位电路。
BORV 配置位用于选择可编程的欠压复位门限电压
BOR)。如果 BORV 为 1,则 VBOR 为 4.0V。如果
V
BORV 0,则 VBOR 2.5V
DD 下降到VBOR 以下且持续时间大于参数值 TBOR
如果 V
(见表 10-4) ,则会发生欠压复位。如果 VDD 下降到
BOR 以下且持续时间少于参数值 TBOR,则不一定会发
V
生欠压复位。
发生任何复位 (上电、欠压和看门狗等)都会使芯片保 持复位状态,直到 V 存器中的上电延时定时器使能位设置为 0(PWRTE = 0 时,才会调用上电延时定时器,使芯片另外再保持 72 ms 的复位状态。
如果使能了上电延时定时器,且在上电延时定时器运行 过程中,V 复位状态并且上电延时定时器重新被初始化。一旦 VDD 上升到 VBOR 以上,上电延时定时器将执行为时 72 ms 的复位。请参见图 9-6
如果所需的欠压电压不是 4.0V 2.5V,则必须使用外 部欠压电路。图 9-8、图 9-9 和图 9-10 给出了外部欠压 保护电路的示例。
DD 下降到 VBOR 以下,芯片将重新回到欠压
DD 上升到 VBOR 以上。只有配置寄
© 2009 Microchip Technology Inc. DS41399A_CN 第 69
MCV18E

9-5 片上复位电路的简化框图

外部复位
MCLR
Sleep
模块
检测
欠压 复位
WDT
超时复位
上电复位
BOREN
OST
10 位脉动计数器
PWRT
10 位脉动计数器
VDD
OSC1
WDT
V
DD 上升
OST/PWRT
(1)
片上
RC OSC
S
Chip_Reset
R
Q
1: 这是一个独立于 CLKIN 引脚上 RC 振荡器的振荡器。
9-6:欠PWRTE
VDD
内部复位
VDD
内部复位
VDD
= 0)
使能 OST
72 ms
<72 ms
72 ms
PWRTE 延时情形请参见表 9-3
V
BOR
VBOR
V
BOR
内部复位
DS41399A_CN 70 © 2009 Microchip Technology Inc.
72 ms
MCV18E

9-7 外部欠压保护电路 1

VDD
33k
10k
1: 当 VDD 低于 (Vz + 0.7V)时,该电路将启动复
位,其中 Vz = 齐纳电压。
2: 使用该电路时,应禁止内部欠压复位电路。
Q1
40k
V
DD
MCLR
MCV18E

9-8 外部欠压保护电路 2

VDD
R1
R2
Q1
40k
V
DD
MCLR
MCV18E

9-9 外部欠压保护电路 3

VDD
MCP809
Vss
RST
1: 该欠压保护电路采用了Microchip Technology
旁路电容
VDD
MCP809 单片机监控器。MCP8XX MCP1XX
系列监控器提供推挽式输出和集电极开路输 出,并同时带有高电平和低电平有效的复位引 脚。共有 7 种不同的跳变点选择,可适应 5V
3V 系统。
DD
V
MCLR
MCV18E
1: 虽然该欠压电路的精度较低,但成本也较低。当
V
DD 低于特定电平,如是以下值时,晶体管 Q1
会被禁止:
V
DD x
2: 使用该电路时,应禁止内部欠压复位。 3: 应调整电阻的阻值,以满足晶体管的特性。
R1
R1 + R2
= 0.7 V
© 2009 Microchip Technology Inc. DS41399A_CN 第 71
MCV18E

9.8 延时时序

上电延时时序如下:在 POR 延时结束后,施加第一次 PWRT 延时。然后,OST 被激活。总延迟时间取决于振
荡器配置和 PWRT 的状态。例如,在 RC 模式且 PWRT 被禁止的情况下,根本不会出现延时。图 9-10、图 9-11 和图 9-12 描绘了上电时的延时时序。
由于延时是由 POR 脉冲触发的,因此如果 MCLR 足够长时间的低电平,所有延时都将结束。将 MCLR 平拉高后,器件将立即开始执行代码(见图 9-12)。这 对于测试或同步多个并行工作的MCV18E器件是非常有 用的。
9-5 给出了一些特殊寄存器的复位条件,而表 9-6 给 出了所有寄存器的复位条件。
保持

9.9 电源控制 /STATUS 寄存器(PCON

电源控制 /STATUS 寄存器 PCON 有两个位。
bit 0 是欠压复位状态位 BOR 在发生上电复位时 BOR 1,在发生欠压条件时则复 位为 0。随后用户必须将 B 生时检查该位是否清零,清零则指示发生了另一次欠压 复位。
如果 BOREN 配置位清零,在发生上电复位时 BOR 未知状态。
bit 1 POR 清零,其他情况下不受影响。用户必须在上电复位后将 该位置 1
(上电复位状态位)。在上电复位时它被
。如果 BOREN 配置位置 1,
OR 1,并在后续的复位发

9-3 各种情形下的延时

振荡器配置
XTHS LP RC 72 ms
PWRTE
72 ms + 1024 TOSC 1024 TOSC 1024 TOSC
上电或欠压
= 0 PWRTE = 1
从休眠状态唤醒

9-4 状态位及其含义

POR BOR TO PD
0x11
0111
0x0x
0xx0
1011
1101
1100
11uu
1110
上电复位 (BOREN = 0) 上电复位 (BOREN = 1)
非法的, POR
非法的, POR 欠压复位
WDT 复位 WDT 唤醒
正常工作期间的 MCLR
休眠期间的 MCLR
TO 被置 1
PD 被置 1
复位
复位或被中断从休眠状态唤醒
DS41399A_CN 72 © 2009 Microchip Technology Inc.

9-5 特殊寄存器的复位条件

条件 程序计数器 STATUS 寄存器 PCON 寄存器
上电复位 (BOREN = 0)
上电复位 (BOREN = 1)
正常工作期间的 MCLR
休眠期间的 MCLR
WDT 复位
WDT 唤醒
欠压复位
被中断从休眠状态唤醒
复位
复位
图注: u = 不变, x = 未知, - = 未实现位 (读为 0)。
1: 当器件被中断唤醒且 GIE 位被置 1 时, PC 装入中断向量 (0004h)。
000h 0001 1xxx ---- --0x
000h 0001 1xxx ---- --01
000h 000u uuuu ---- --uu
000h 0001 0uuu ---- --uu
000h 0000 1uuu ---- --uu
PC + 1 uuu0 0uuu ---- --uu
000h 0001 1uuu ---- --u0
(1)
PC + 1
uuu1 0uuu ---- --uu
MCV18E
© 2009 Microchip Technology Inc. DS41399A_CN 73
MCV18E

9-6 MCV18E 器件的所有寄存器的初始化状态

寄存器
W xxxx xxxx uuuu uuuu uuuu uuuu
INDF N/A N/A N/A
TMR0 xxxx xxxx uuuu uuuu uuuu uuuu
PCL 0000h 0000h PC + 1
STATUS 0001 1xxx 000q quuu
FSR xxxx xxxx uuuu uuuu uuuu uuuu
PORTA
PORTB
PCLATH ---0 0000 ---0 0000 ---u uuuu
INTCON 0000 -00x 0000 -00u uuuu -uuu
PIR1 -0-- -000 -0-- -000 -u-- -uuu
TMR1L xxxx xxxx uuuu uuuu uuuu uuuu
TMR1H xxxx xxxx uuuu uuuu uuuu uuuu
T1CON --00 0000 --uu uuuu --uu uuuu
TMR2 0000 0000 0000 0000 uuuu uuuu
T2CON -000 0000 -000 0000 -uuu uuuu
CCPR1L xxxx xxxx uuuu uuuu uuuu uuuu
CCPR1H xxxx xxxx uuuu uuuu uuuu uuuu
CCP1CON 0000 0000 0000 0000 uuuu uuuu
PWM1CON 0000 0000 0000 0000 uuuu uuuu
ECCPAS 00-0 0000 00-0 0000 u-uu uuuu
ADRES xxxx xxxx uuuu uuuu uuuu uuuu
ADCON0 0000 0000 0000 0000 uuuu uuuu
OPTION_REG 1111 1111 1111 1111 uuuu uuuu
TRISA --11 1111 --11 1111 --uu uuuu
TRISB 1111 1111 1111 1111 uuuu uuuu
PIE1 -0-- -000 -0-- -000 -u-- -uuu
PCON ---- --qq ---- --uu ---- --uu
PR2 1111 1111 1111 1111 uuuu uuuu
ADCON1 ---- -000 ---- -000 ---- -uuu
图注: u = 不变, x = 未知, - = 未实现位 (读为 0), q = 值取决于具体条件 1INTCON / PIR1 中的一位或多位会受到影响 (引起唤醒)。
(4), (5), (6)
(4), (5)
2: 当器件被中断唤醒且 GIE 位被置 1 时, PC 装入中断向量 (0004h)。 3: 具体条件下的复位值,请参见表 9-5 4: 发生任何器件复位时,这些引脚都被配置为输入。 5: 这是将保存在端口输出锁存器中的值。 6: 输出锁存值未知或不变。模拟输入默认为模拟且读为 0
上电复位,
欠压复位
--xx 0000 --xx 0000 --uu uuuu
xxxx xxxx uuuu uuuu uuuu uuuu
复位
MCLR
WDT 复位
(3)
通过 WDT
中断唤醒器件
uuuq quuu
(2)
(3)
(1)
(1)
DS41399A_CN 74 © 2009 Microchip Technology Inc.

9-10 上电延时时序 (MCLR 连接到 VDD

VDD
MCLR
内部 POR
TPWRT
PWRT
延时
OST 延时
内部复位
MCV18E
TOST
9-11 上电延时时序 (MCLR
VDD
MCLR
内部 POR
PWRT
延时
OST 延时
内部复位
9-12 上电延时时序 (MCLR
VDD
MCLR
内部 POR
未连接到 VDD): 情 形 1
TPWRT
TOST
未连接到 VDD): 情 形 2
TPWRT
PWRT
延时
OST 延时
内部复位
© 2009 Microchip Technology Inc. DS41399A_CN 第 75
TOST
MCV18E

9.10 中断

MCV18E 器件最多具有 7 个中断源。中断控制寄存器
INTCON)用标志位记录各种中断请求。同时还包括
各个中断允许位和全局中断允许位。
注: 各中断标志位的置 1 不受相应的屏蔽位或
GIE 位状态的影响。
INTCON 寄存器的全局中断允许位 GIE 在置 1 时允许所
有未被屏蔽的中断,在清零时禁止所有中断。使能 GIE 位时,如果某个中断的标志位和屏蔽位均置 1,则中断 将立即跳转到相应的中断服务程序。也可以通过设置各 寄存器中相应的中断允许位来禁止单个中断。各中断位 的置 1 不受 GIE 位状态的影响。GIE 位在复位时和发生 中断跳转时清零。
执行“从中断返回”指令 RETFIE 退出中断服务程序并 将 GIE 位置 1,从而重新允许中断。
RB0/INT 引脚中断、RB 端口电平变化中断和 TMR0 上 溢中断标志包含在 INTCON 寄存器中。

9-13 中断逻辑

ADIF ADIE
外设中断标志包含在特殊功能寄存器 PIR1 PIR2 中。 相应的中断允许位包含在特殊功能寄存器 PIE1 PIE2 中,外设中断允许位包含在特殊功能寄存器 INTCON 中。
在响应某个中断时,GIE 位会清零,以禁止其他中断; 返回地址会被压入堆栈, PC 中会装入 0004h。只要在 中断服务程序中,就可以通过查询中断标志位来确定中 断源。在重新允许中断前,必须用软件将中断标志位清 零,以避免中断递归。
对于外部中断事件,例如 INT 引脚或 PORTB 电平变化中 断,中断响应延时将会是 3 或 4 个指令周期。确切的延 时时间取决于发生中断事件的时间。对于单周期或双周 期指令,中断响应延时完全相同。各中断标志位的置 1 不 受相应的屏蔽位或 GIE 位状态的影响。
T0IF T0IE
INTF INTE
RBIF RBIE
唤醒(如果处于休眠模式)
CPU 的中断
TMR1IF TMR1IE
TMR2IF TMR2IE
CCP1IF CCP1IE
PEIE
GIE
DS41399A_CN 76 © 2009 Microchip Technology Inc.
MCV18E

9.10.1 INT 中断

RB0/INT 引脚上的外部中断采用边沿触发方式,如果 OPTION 寄存器的 INTEDG 位置 1,则在上升沿触发;
如果 INTEDG 位清零,则在下降沿触发。当 RB0/INT 引 脚上出现有效边沿时,INTCON 寄存器的 INTF 位置 1 可以通过将 INTCON 寄存器的允许位 INTE 清零来禁止 该中断。在重新允许该中断前,必须在中断服务程序中 先用软件将 INTF 标志位清零。如果 INTE 位在进入休眠 状态前被置1,则INT 中断能将处理器从休眠状态唤醒。 全局中断允许 (GIE)位的状态决定处理器是否在唤醒 后跳转到中断向量。关于休眠模式的详细信息,请参见 第 9.13 节 “掉电模式 (休眠)”。

9.10.2 TMR0 中断

TMR0 寄存器上溢 (FFh 00h)会将 INTCON 寄存
器的标志位 T0IF 1。可以通过置 1/ 清零 INTCON 寄 存器的允许位 T0IE 来允许 / 禁止该中断。(第 4.0
Timer0 模块”)。

9.11 中断期间的现场保护

在中断期间,仅将返回的 PC 值保存在堆栈。通常情况 下,用户可能希望在中断期间保存关键寄存器(如, W 寄存器和 STATUS 寄存器)。这必须在固件中实现。
9-1 说明了如何存储和恢复 WSTATUS、PCLATHFSR 寄存器。现场存储寄存器 W_TEMPSTATUS_TEMPPCLATH_TEMP 和 FSR_TEMP 必须 在公共 RAM 中定义,即 Bank 0 70h-7Fh 之间的地 址,以及 Bank 1 F0h-FFh 之间的地址。
示例:
a) 保存 W 寄存器。 b) 保存 Bank 0 中的 STATUS 寄存器。 c) 保存 PCLATH 寄存器。 d) 保存 FSR 寄存器。 e) 执行中断服务程序代码 (由用户编写)。 f) 按照与保存寄存器时相反的顺序,恢复所有已保
存的寄存器。

9.10.3 PORTB INTCON 电平变化

PORTB<7:4> 上的输入电平变化会将 INTCON 寄存器
的标志位 RBIF 1。可以通过置 1/ 清零 INTCON 寄存 器的允许位 RBIE 来允许 / 禁止该中断。(第 3.2
PORTB TRISB 寄存器”)。

9-1:在RAM 中保存 STATUS、 W 和 PCLATH 寄存器

MOVWF W_TEMP ;Copy W to TEMP register, could be bank one or zero SWAPF STATUS,W ;Swap status to be saved into W MOVWF STATUS_TEMP ;Save status to bank zero STATUS_TEMP register MOVF PCLATH, W ;Only required if using pages 1, 2 and/or 3 MOVWF PCLATH_TEMP ;Save PCLATH into W CLRF PCLATH ;Page zero, regardless of current page BCF STATUS, IRP ;Return to Bank 0 MOVF FSR, W ;Copy FSR to W MOVWF FSR_TEMP ;Copy FSR from W to FSR_TEMP : :(ISR) : MOVF FSR_TEMP,W ;Restore FSR MOVWF FSR ;Move W into FSR MOVF PCLATH_TEMP, W ;Restore PCLATH MOVWF PCLATH ;Move W into PCLATH SWAPF STATUS_TEMP,W ;Swap STATUS_TEMP register into W MOVWF STATUS ;Move W into STATUS register SWAPF W_TEMP,F ;Swap W_TEMP SWAPF W_TEMP,W ;Swap W_TEMP into W RETFIE ;Return from interrupt and enable GIE
© 2009 Microchip Technology Inc. DS41399A_CN 77
MCV18E

9.12 看门狗定时器 (WDT

看门狗定时器是自由运行的片上 RC 振荡器,不需要外 部元件。该 RC 振荡器独立于 OSC1/CLKIN 引脚的 RC 振荡器。这意味着即使器件的 OSC1/CLKIN OSC2/ CLKOUT 引脚上的时钟已停止(例如,执行一条 SLEEP 指令时), WDT 也会运行。
在正常工作期间, WDT 超时会产生器件复位 (看门狗 定时器复位)。如果器件处于休眠模式,WDT 超时会将 器件唤醒并使其继续正常操作 (看门狗定时器唤醒) 。 一旦看门狗定时器超时, STATUS 寄存器中的 TO 会被清零。
可以通过清零配置位 WDTE 永久禁止 WDT (第 9.1
“配置位”)。

9-14 看门狗定时器框图

来自 TMR0 时钟源 (图 4-1
WDT
定时器
WDT
使能位
位就
0
M
1
U X
PSA
WDT 超时周期值可以在“电气规范”章节的 T
WDT (参
31)下找到。 WDT 预分频器 (实际上是一个后分频 器,但它 与 Timer0 预分频器共用)的值可以使用 OPTION 寄存器指定。
注: 如果将后分频器分配给 WDTCLRWDT
SLEEP 指令会清零 WDT 和后分频器,并 防止其超时以及产生器件复位条件。
注: 执行 CLRWDT 指令时,如果预分频器分配
WDT,则预分频器计数将清零,但预分 频器的分配情况不会改变。
后分频器
8
8 1 多路开关
MUX
PS2:PS0
TMR0 (图 4-1
0
MUX
WDT 超时
注: PSA PS2:PS0 OPTION 寄存器中的位。

9-7 与看门狗定时器相关的寄存器汇总

名称
CONFIG1
OPTION_REG
图注: x = 未知, u = 不变, - = 未实现位 (读为 0)。看门狗定时器不使用阴影单元。 1: 请参见配置字寄存器 (寄存器 9-1)了解所有寄存器位的操作。
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
(1)
BORV BOREN PWRTE WDTE FOSC1 FOSC0
RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
1
PSA
POR/BOR
时的值
所有其他
复位时的值
DS41399A_CN 78 © 2009 Microchip Technology Inc.
MCV18E

9.13 掉电模式 (休眠)

通过执行 SLEEP 指令可进入掉电模式。
如果使能了看门狗定时器,该定时器将被清零但保持运 行,STATUS 寄存器的 PD
位被置 1,振荡器驱动器被关闭。I/O 端口保持它
TO 们在执行 SLEEP 指令之前所具有的状态 (驱动为高电 平、低电平或高阻态)。
要在该模式下实现最低的电流消耗,应将所有 I/O 引脚
DD 或 VSS,确保没有外部电路从 I/O 引脚消耗电
置于 V 流,关闭 A/D 的电源并禁止外部时钟。为了避免输入引 脚悬空而引起开关电流,应在外部将高阻态输入的所有
I/O引脚拉为高电平或低电平。为使电流消耗降至最低, T0CKI 输入也应为 V
上拉的影响。
引脚必须处于逻辑高电平 (参数 D042)。
MCLR

9.13.1 从休眠状态唤醒

发生以下任一事件将器件从休眠状态唤醒:
1. MCLR 引脚上的外部复位输入。
2. 看门狗定时器唤醒 (如果使能了 WDT)。
3. INT 引脚中断、RB 端口电平变化中断或某些外设
中断。
外部 MCLR 为程序执行的继续,引起“唤醒”。 STATUS 寄存器中TO PD 位用于确定器件复位的原因。 PD 位在上 电时被置 1,而在执行 SLEEP 指令时被清零。如果发生 WDT 超时 (并引起唤醒), TO
复位会引起器件复位。所有其他事件都被视
位被清零,STATUS 寄存器
DD 或 VSS。还应考虑 PORTB 片上
位被清零。
以下外设中断可以将器件从休眠状态唤醒:
1. TMR1 中断。 Timer1 必须用作异步计数器。
2. ECCP 捕捉模式中断。
3. ADC 运行在 ADRC 模式下。
由于在休眠期间没有片上时钟处于工作状态,因此其他 外设不能产生中断。
当执行 SLEEP 指令时,下一条指令 (PC + 1)被预先 取出。如果希望通过中断事件唤醒器件,则必须将相应 的中断允许位置 1(允许)。唤 醒 与 GIE 位的状态无关。 如果 GIE 位被清零(禁止),器件将继续执行 SLEEP 指 令之后的指令。如果 GIE 位被置 1 (允许),器件执行 SLEEP 指令之后的指令,然后跳转到中断地址(0004h 处执行代码。如果不希望执行 SLEEP 指令之后的指令, 用户应在 SLEEP 指令后面放置一条 NOP 指令。

9.13.2 使用中断唤醒

当禁止全局中断 (GIE 被清零)时,并且任一中断源的 中断允许位和中断标志位都置 1,将会发生下列事件之 一:
如果在执行SLEEP指令之前产生了中断,那么SLEEP 指令将被作为一条 NOP 指令执行。因此, WDT
WDT 后分频器将不会被清零, TO PD 位不会被清零。
如果在执行 SLEEP 指令期间或之后产生了中断,那
么器件将被立即从休眠状态唤醒。SLEEP 指令将在 唤醒之前执行完毕。因此,WDT 和 WDT 后分频器 将被清零, TO
即使在执行 SLEEP 指令之前检查到标志位为 0,这些标 志位也有可能在 SLEEP 指令执行完毕之前被置 1。要确 定是否执行了 SLEEP 指令,可测试 PD1,则说明 SLEEP 指令被当作一条 NOP 指令执行了。
在执行 SLEEP 指令之前,必须先执行一条 CLRWDT 指 令,以确保将 WDT 清零。
位将被置 1PD 位将被清零。
位不会被置 1,
位。如果 PD
© 2009 Microchip Technology Inc. DS41399A_CN 79
MCV18E
9-15 通过中断将器件从休眠状态唤醒
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
T
CLKOUT(4)
INT 引脚
INTF 标志
INTCON 寄存器)
GIE
INTCON 寄存器)
指令流
PC
取出的指令
执行的指令
1: 假设为 XTHS LP 振荡器模式。
2T 3: 假设 GIE = 1。在这种情况下,处理器被唤醒后,将跳转到中断程序。如果 GIE = 0,程序将继续执行。 4: 在这些振荡器模式下 CLKOUT 不可用,但显示在此用于时序参考。
PC PC + 1 PC + 2
Inst(PC) = Sleep
Inst(PC - 1)
OST = 1024TOSC (图中未按比例绘制)。对于 RC 振荡器模式,不存在该延时。
Inst(PC + 1)
Sleep
处理器处于
休眠状态
OST(2)
PC + 2
Inst(PC + 2)
Inst(PC + 1)
中断延时
(注 3
PC + 2 0004h 0005h
空周期
Inst(0004h)
空周期
Inst(0005h)
Inst(0004h)

9.14 程序校验和代码保护

如果代码保护位未编程,则可以读取片上程序存储器以 进行校验。

9.15 ID 存储单元

4 个存储单元 (2000h-2003h)被指定为 ID 存储单 元,供用户存储校验和或其他代码标识号。在正常执行 过程中不能访问这些存储单元,但在编程 / 校验期间可 对它们进行读写。建议仅使用 ID 存储单元的低 4 位。

9.16 在线串行编程

可以在最终的应用电路中对MCV18E单片机进行串行编 程。只需要 2 根线用作时钟线和数据线,其余 3 根分别 是电源线、接地线和编程电压线。这允许用户在生产电 路板时使用未编程器件,仅在产品交付之前才对单片机 进行编程,从而可以使用最新版本的固件或者定制固件 进行编程。
关于串行编程的完整信息,请参见 In-Circuit Serial
Programming (ICSP) Specification (DS40245)。
DS41399A_CN 80 © 2009 Microchip Technology Inc.
MCV18E

10.0 电气特性

绝对最大值
偏置时的环境温度 ..................................................................................................................................-40°C 至 +85°C
储存温度...............................................................................................................................................-65°C 至 +150°C
任一引脚 (V
DD 引脚相对于 VSS 的电压 ....................................................................................................................-0.3V +7.5V
V
MCLR
RA4 引脚相对于 Vss 的电压........................................................................................................................0V +8.5V
总功耗 (注 1)(PDIP SOIC..........................................................................................................................1.0W
SS 引脚的最大输出电流....................................................................................................................................300 mA
V
DD 引脚的最大输入电流 ...................................................................................................................................250 mA
V
输入钳位电流 I
输出钳位电流 I
任一 I/O 引脚的最大输出灌电流 ...........................................................................................................................25 mA
任一 I/O 引脚的最大输出拉电流 ...........................................................................................................................25 mA
PORTA PORTB (组合)的最大灌电流 ........................................................................................................200 mA
PORTA PORTB (组合)的最大拉电流 ........................................................................................................200 mA
1: 功耗按如下公式计算:Pdis = V
注:如果器件工作条件超过上述“绝对最大值”,可能会对器件造成永久性损坏。上述值仅为运行条件极大值,我们
建议不要使器件在该规范规定的范围以外运行。器件长时间工作在最大值条件下,其稳定性会受到影响。
(†)
DDMCLR RA4 除外)相对于 VSS 的电压 ...................................................-0.3V 至(VDD + 0.3V
引脚相对于 VSS 的电压 (注 2..................................................................................................0V 至 +13.25V
IK (VI < 0 或 VI > VDD..........................................................................................................................±20 mA
OK (VO < 0 或 VO > VDD.....................................................................................................................±20 mA
DD x {IDD - ∑ IOH} + {(VDD-VOH) x IOH} + ∑(VOl x IOL)
2MCLR
/VPP 引脚上若出现低于 VSS 的尖峰电压,感应电流超过 80 mA,可能导致锁死。因此,当把一个“低”
电平加到 MCLR/VPP 引脚上时,应串联一个 50-100Ω 的电阻,而不要将该引脚直接接到 VSS
© 2009 Microchip Technology Inc. DS41399A_CN 81
MCV18E
10-1 MCV18E 电压-频率关系图, -40°C < TA < +85°C
6.0
5.5
5.0
4.5
V
DD
V
4.0
3.5
3.0
2.4
0
410
1: 阴影区域表示允许的电压频率组合。
频率(MHz
(1)
20
25

10.1 直流特性: MCV18E (工业级)

直流特性
参数 编号
符号 特性 最小值 典型值 最大值 单位 条件
DD
V
供电电压
D001 D001A
D002* V
D003 V
DR
RAM 数据保持电压
POR
VDD 启动电压,确保能够产生
(1)
内部上电复位信号
D004* S
VDD
VDD 上升速率,确保能够产生 内部上电复位信号
D005 V
BOR
欠压复位电压跳变点
* 这些参数为特性值,未经测试。除非另外声明,否则“典型值”栏中的数据均为 5V 和 25°C 条件下的值。这些参数仅供设计参考,未经测试。
1: 这是在不丢失 RAM 数据的前提下, V
标准工作条件 (除非另外声明) 工作温度 -40°C T
2.4 5.5 V
—1.5*—V
—Vss—V
0.05 V/ms
—4.0—V
—2.5—V
DD 的下限值。
A +85°C (工业级)
工业级
详情请参见 “上电复位”章节
PWRT 使能 (PWRTE
BOREN 位置 1, BOR = 1
BOREN 位置 1, BOR = 0
位清零)
DS41399A_CN 82 © 2009 Microchip Technology Inc.

10.2 直流特性: MCV18E (工业级)

MCV18E
直流特性
参数 编号
符号 特性 最小值 典型值 最大值 单位
DD
V
供电电压
标准工作条件 (除非另外声明) 工作温度 -40°C T
A +85°C
DD
V
条件
D001 2.4 5.5 V
IDD
D010
D011 180 250 μA3.0F
D012 350 470 μA3.0F
D013 2.1 2.9 mA 4.5 F
I
D020
D021 2 3.5 μA3.0
PD
供电电流
掉电基本电流
外设模块电流
(1)
—2328μA3.0F —4563.7μA5.0
290 370 μA5.0
600 780 μA5.0
—2.53.3mA5.0
0.1 0.85 μA3.0 —0.22.7μA5.0
OSC = 32 kHz
LP 振荡器模式
OSC = 1 MHz
XT 振荡器模式
OSC = 4 MHz
XT 振荡器模式
OSC = 20 MHz
HS 振荡器模式
WDTBOR T1OSC
禁止
WDT 电流
—913.5μA5.0
D022 37 50 μA3.0
BOR 电流
—4055μA4.5 —4560μA5.0
D025 2.6 7.5 μA3.0
T1
OSC 电流
—3.0 9μA5.0
除非另外声明,否则“典型值”栏中的数据均为 5V 和25°C 条件下的值。这些参数仅供设计参考,未经测试。
1: 外设电流为基本I
DD 或IPD 与该外设使能时所额外消耗的电流之和。可通过从该极限值中减去基本 IDD 或IPD
电流,以确定外设 Δ 电流。
© 2009 Microchip Technology Inc. DS41399A_CN 83
MCV18E

10.3 直流特性: MCV18E (工业级)

标准工作条件 (除非另外声明)
直流特性
工作温度 -40°C T 工作电压 V10.3 节 “直流特性: MCV18E (工业级)”中的直流规范所述。
参数 编号
符号 特性 最小值 典型值
输入低电压
V
IL
D030 D030A D031
D032 D033
I/O 端口
TTL 缓冲器
带施密特触发器缓冲器
OSC1 (在 RC 模式下)
MCLR OSC1 (在 HS 模式下)
OSC1 (在 XT LP 模式下)
V
SS
VSS
SS 0.2 VDD V
V
SS 0.2 VDD V
V V
SS
VSS
输入高电压
IH
V D040 D040A 0.25 V
I/O 端口 TTL 缓冲器
2.4 V
DD
+ 0.8V
D041
带施密特触发器缓冲器
D042 MCLR D042A
D043
OSC1 XTHS LP 模式) OSC1 (在 RC 模式下)
输入泄漏电流
D060 IIL
I/O 端口
(2), (3)
0.8 V
DD —VDD V
0.8 VDD —VDD V
0.7 V
DD —VDD V
0.9 V
DD —VDD V
— —
D061
MCLR
RA4/T0CKI
—— ±5 μAVss ≤ V
D063 OSC1/CLKIN ±5 μA
D070 I
PURB
PORTB 弱上拉电流
50 250 400 μA
输出低电压
D080 V
D083
OL
I/O 端口
OSC2/CLKOUT RC 振荡器模式)
——0.6V
——0.6V
输出高电压
D090 V
D092
D150* V
OH
I/O 端口
OSC2/CLKOUT RC 振荡器模式)
OD
漏极开路高电压
(3)
VDD-0.7 V
V
DD-0.7 V
——8.5V
输出引脚上的容性负载规范
D100 COSC2
D101 C
IO
OSC2/CLKOUT 引脚
所有 I/O 引脚和 OSC2 (在 RC 模式下)
15 pF
50 pF
* 这些参数为特性值,未经测试。除非另外声明,否则 “典型值”栏中的数据均为 5V 25°C 条件下的值。这些参数仅供设计参考,未经测试。
1: 在 RC 振荡器模式下, OSC1/CLKIN 引脚被配置为施密特触发器输入。在 RC 模式下,建议不要使用外部时钟驱动 PIC
器件。
2MCLR
/VPP 引脚上的泄漏电流主要由施加在该引脚上的电平决定。规定电平为正常工作条件下的电平。在不同的输入电压
下可测得更高的泄漏电流。
3: 负电流定义为引脚的拉电流。
A +85°C (工业级)
DD 范围如第 10.1 节 “直流特性: MCV18E (工业级)”和
最大值 单位 条件
— —
——0.3 VDD
—VDD V
— —
0.8
0.15 V
0.6
DD V4.5V ≤ VDD ≤ 5.5V
VV4.5V VDD 5.5V
DD
V
其他情况
(注 1
V
其他情况
整个 V
DD 范围
(注 1
±1
±500μAnA
Vss ≤ VPIN ≤ VDD,引脚处于高阻态
PIN VDD,引脚配置为模拟
Vss V
输入
PIN VDD
Vss ≤ V
PIN VDD, XT、 HS 和 LP
振荡器模式
VDD = 5VVPIN = VSS
IOL = 8.5 mAVDD = 4.5V-40°C +85°C
I
OL = 1.6 mAVDD = 4.5V, -40°C
+85°C
I
OH = -3.0 mAVDD = 4.5V,-40°C
+85°C
I
OH = -1.3 mAVDD = 4.5V,-40°C
+85°C RA4 引脚
当外部时钟用于驱动 OSC1 时、处 于 XTHS LP 模式下。
®
DS41399A_CN 84 © 2009 Microchip Technology Inc.

10.4 交流 (时序)特性

10.4.1 时序参数符号体系

可根据以下一种格式来创建时序参数符号:
1. TppS2ppS
2. TppS
T
F 频率 T 时间 小写字母 (pp)及其含义:
pp
cc CCP1 osc OSC1 ck CLKOUT rd RD cs CS di SDI sc SCK do SDO ss SS
dt 数据输入
io I/O 端口 mc MCLR wr WR
大写字母及其含义:
S
F 下降 P 周期 H R 上升 I 无效 (高阻) V 有效 L Z 高阻
rw RD WR
t0 T0CKI t1 T1CKI
MCV18E
© 2009 Microchip Technology Inc. DS41399A_CN 85
MCV18E

10.4.2 时序条件

10-1 中指定的温度和电压适用于所有的时序规范(除 非另外声明)。图 10-2 规定了时序规范的负载条件。
10-1 温度和电压规范——交流
标准工作条件 (除非另外声明)
交流特性
工作温度 -40°C T 工作电压 VDD 范围如第 10.1 节 “直流特性: MCV18E (工业级)”和第 10.3 节“直流 特性: MCV18E (工业级)”中的直流规范所述。 LC 部件仅在商业级 / 工业级温度下。
10-2 器件时序规范的负载条件
负载条件 1 负载条件 2
VDD/2
A +85°C (工业级)
引脚

10.4.3 时序图和规范

10-3 外部时钟时序
Q4
OSC1
CLKOUT
Rl
Cl
V
SS
Q1 Q2 Q3 Q4
1
图注:
RL =464Ω
CL = 50 pF 对于除 OSC2/CLKOUT 外的所有引脚
15 pF 对于 OSC2 输出
引脚
VSS
3
2
3
Cl
Q1
4
4
DS41399A_CN 86 © 2009 Microchip Technology Inc.
10-2 外部时钟时序要求
参数 编号
1A F
1T
2Tcy 3*
4*
1: 指令周期 (T
符号 特性 最小值 典型值 最大值 单位 条件
OSC
外部时钟输入频率
(1)
(1)
(1)
(1)
OSC
To sL To sH
To sR To sF
振荡器频率
外部 CLKIN 周期
振荡器周期
指令周期时间 外部时钟输入 (OSC1)的
高电平或低电平时间
外部时钟输入 (OSC1)的 上升或下降时间
* 这些参数为特性值,未经测试。除非另外声明,否则“典型值”栏中的数据均为 5V 和 25°C 条件下的值。这些参数仅供设计参考,未经测试。
CY)等于输入振荡器时基周期的四倍。所有规定值均为基于针对特定振荡器类型,器件在标准
工作条件下执行代码时的特性数据。超出这些规定的限定值,可能导致振荡器运行不稳定和 / 或导致电流消 耗超出预期值。所有器件在测试 “最小”值时,都在 OSC1/CLKIN 引脚连接了外部时钟。 当使用了外部时钟输入时,所有器件的 “最大”周期时间限制为 “DC”(无时钟)。
(1)
MCV18E
DC 4 MHz DC 20 MHz DC 200 kHz DC 4 MHz
0.1 4 MHz 4—20MHz 5—200kHz
250 ns
50 ns
5——μs
250 ns 250 10,000 ns
50 250 ns
5——μs
RC XT 振荡器模式 HS 振荡器模式 LP 振荡器模式 RC 振荡器模式 XT 振荡器模式 HS 振荡器模式 LP 振荡器模式 RC XT 振荡器模式 HS 振荡器模式 LP 振荡器模式 RC 振荡器模式 XT 振荡器模式 HS 振荡器模式 LP 振荡器模式
200 — DC ns TCY = 4/FOSC 100 ns
2.5 μs
15 ns — 25 ns — 50 ns — 15 ns
XT 振荡器 LP 振荡器 HS 振荡器 XT 振荡器 LP 振荡器 HS 振荡器
© 2009 Microchip Technology Inc. DS41399A_CN 第 87
MCV18E
10-4 CLKOUT I/O 时序
Q4
OSC1
Q1
Q2 Q3
10
CLKOUT
I/O 引脚
(输入)
I/O 引脚
(输出)
13
14
17
旧值
20, 21
19
1: 负载条件请参见图 10-2
10-3 CLKOUT I/O 时序要求
参数 编号
10* T
11* T
12* TCKR
13* T
14* T
15* TIOV2CKH
16* T
17* TOSH2IOV
18* T
19* T
20* T
21* T
22††* TINP
23††* TRBP
1: 测量是在 RC 模式下进行的,其中 CLKOUT 输出为 4 x T
符号 特性 最小值 典型值 最大值 单位 条件
OSH2CKL
OSH2CKH
OSC1CLKOUT的时间 OSC1CLKOUT的时间 CLKOUT 上升时间
CKF
CKL2IOV
CLKOUT 下降时间 CLKOUT 到端口输出有效的时间 CLKOUT 之前端口输入有效的时间
CKH2IOI
CLKOUT 之后端口输入保持的时间 OSC1Q1 周期)到端口输出有效的时间
OSH2IOI
OSC1Q2 周期)到端口输入无效的时间
I/O 输入保持时间)
IOV2OSH
端口输入有效到 OSC1的时间 (I/O 输入 建立时间)
IOR
IOF
端口输出上升时间 端口输出下降时间
INT 引脚高电平或低电平时间 RB<7:4> 电平变化中断 INT 高电平或低电平
时间
* 这些参数为特性值,未经测试。除非另外声明,否则“典型值”栏中的数据均为 5V 和 25°C 条件下的值。这些参数仅供设计参考,未经测试。
†† 这些参数是与任何内部时钟边沿无关的异步事件。
11
18
15
12
16
新值
75 200 ns
75 200 ns
35 100 ns
35 100 ns
20 ns
TOSC +
——ns
200
0——ns
50 150 ns
100 ns
0——ns
—10 40ns
—10 40ns
Tc y ns
Tc y ns
OSC
(注 1) (注 1) (注 1) (注 1) (注 1) (注 1
(注 1
DS41399A_CN 88 © 2009 Microchip Technology Inc.
MCV18E
10-5 复位、看门狗定时器、振荡器起振定时器和上电延时定时器时序
VDD
MCLR
34
30
31
内部
POR
PWRT
延时
OSC
延时
内部复位
看门狗
定时器
复位
I/O 引脚
33
32
1: 负载条件请参见图 10-2
(1)
34
10-6 欠压复位时序
VDD
BVDD
35
10-4 复位、看门狗定时器、振荡器起振定时器、上电延时定时器和欠压复位要求
参数 编号
30 T
31* T
32 T
33* T
34 T
35 T
符号 特性 最小值 典型值 最大值 单位 条件
MCL
MCLR 脉冲宽度 (低电平)
WDT
看门狗定时器超时周期 (无预分
2——μs
71833ms
VDD = 5V-40°C +85°C VDD = 5V-40°C +85°C
频器)
OST
PWRT
IOZ
振荡器起振定时器周期 上电延时定时器周期
MCLR
低电平或 WDT 复位起
1024 T
28 72 132 ms ——2.1μs
OSC ——
T VDD = 5V-40°C +85°C
OSC = OSC1 周期
I/O 处于高阻态的时间
BOR
欠压复位脉冲宽度
100 μs
VDD BVDD D005
* 这些参数为特性值,未经测试。除非另外声明,否则“典型值”栏中的数据均为 5V 和 25°C 条件下的值。这些参数仅供设计参考,未经测试。
© 2009 Microchip Technology Inc. DS41399A_CN 第 89
MCV18E
10-7 TIMER0 TIMER1 外部时钟时序
T0CKI
40
T1OSO/T1CKI
T1OSO/T1CKI
45
TMR0 TMR1
1: 负载条件请参见图 10-2
10-5 TIMER0 TIMER1 外部时钟要求
参数 编号
40* Tt0H
41* Tt0L
42* Tt0P
45* Tt1H
46* Tt1L
47* Tt1P
48* TCKEZtmr1
符号 特性 最小值 典型值
T0CKI 高电平脉冲宽度 无预分频器
带预分频器
T0CKI 低电平脉冲宽度 无预分频器
带预分频器
T0CKI 周期 无预分频器
带预分频器 取如下二者中
T1CKI 高电平时间 同步,预分频比 = 1
同步,预分频 比 = 24 8
异步 标准
T1CKI 低电平时间 同步,预分频比 = 1
同步,预分频 比 = 24 8 异步 标准
T1CKI 输入周期 同步 标准 取如下二者中
Ft1
* 这些参数为特性值,未经测试。除非另外声明,否则 “典型值”栏中的数据均为 5V 25°C 条件下的值。这些参数仅供设计参考,未经测试。
Timer1 振荡器输入频率范围
(通过将 T1OSCEN 位置 1,使能振荡器)
从外部时钟边沿到定时器递增的延时
异步 标准
标准
标准
(1)
41
42
46
47
0.5T
CY + 20 ns
10 ns
CY + 20 ns
0.5T 10 ns
CY + 40 ns
T
——ns
较大值:
20 或 T
CY + 40
N
0.5T
CY + 20 ns
15 ns
30 ns
0.5T
CY + 20 ns
15 ns
30 ns
——ns
较大值:
30 Tc y
+ 40
N
60 ns
32.768 32.768 kHz
2Tosc 7Tosc
48
最大值 单位 条件
也必须满足参数 42
也必须满足参数 42
N = 预分频值
2, 4,..., 256
也必须满足参数 47
也必须满足参数 47
N = 预分频值
1, 2, 4, 8
DS41399A_CN 90 © 2009 Microchip Technology Inc.
MCV18E
10-8:捕/ 比较 /PWM 时序
CCP1
(捕捉模式)
(比较或 PWM 模式)
1: 负载条件请参见图 10-2
CCP1
10-6:捕/ 比较 /PWM 要求
参数 编号
50* TccL
51* TccH
52* TccP
53* TccR
54* TccF
符号 特性 最小值 典型值 最大值 单位 条件
CCP1 输入低电平时间无预分频器
带预分频器
CCP1 输入高电平时间无预分频器
带预分频器
CCP1 输入周期
CCP1 输出上升时间
CCP1 输出下降时间
* 这些参数为特性值,未经测试。除非另外声明,否则“典型值”栏中的数据均为 5V 和 25°C 条件下的值。这些参数仅供设计参考,未经测试。
(1)
53
50 51
52
54
CY + 20 ns
0.5T
10 ns
CY + 20 ns
0.5T
10 ns
CY + 40
3T
N
—1040ns
—1040ns
——ns
N = 预分频值
14 16
© 2009 Microchip Technology Inc. DS41399A_CN 第 91
MCV18E
10-7 A/D 转换器特性:MCV18E (工业级)
参数 编号
A00 V
A01 N
A03 EIL
A04 EDL
A05 EFS
A06 EOFF
A20 VREF
A25 V
A30 Z
A40 IAD
A50 IREF
1: 当 A/D 关闭时,它除了消耗很少的泄漏电流外,不消耗任何其他电流。
符号 特性 最小值 典型值 最大值 单位 条件
DD
VDD 工作电压
R
分辨率
积分线性误差
微分线性误差
满量程误差
失调误差
参考电压
AIN
模拟输入电压
AIN
模拟电压源的建议阻抗 A/D 转换电流
标准
2.4 5.5 V
——
——< ± 1.5LSb
-1.0 1.7 LSb
——< ± 1.5LSb
——< ± 1.5LSb
2.5V V
SS - 0.3 VREF + 0.3 V
V
DD + 0.3 V
——10.0kΩ —180 —μA
VDD
VREF 输入电流
(2)
10
1000
* 这些参数为特性值,未经测试。除非另外声明,否则“典型值”栏中的数据均为 5V 和 25°C 条件下的值。这些参数仅供设计参考,未经测试。
掉电电流规范中包括来自 A/D 模块的任何泄漏电流。
REF 电流来自被选择作为参考输入的 RA3 引脚或 VDD 引脚。
2V
8 位位VREF = VDD = 5.12V
SS VAIN VREF
V
VREF = VDD = 5.12V
SS VAIN VREF
V
VREF = VDD = 5.12V V
SS VAIN VREF
VREF = VDD= 5.12V
SS VAIN VREF
V
VREF = VDD = 5.12V
SS VAIN VREF
V
A/D 开启时的平均 电流消耗。
μA
在采集 V
(1)
AIN 期间。
基于 VHOLD VAIN 的 微分为 CHOLD 充电, 请参见第 10.1 节“直 流特性: MCV18E(工 业级)”。
10
μA
A/D 转换周期期间
DS41399A_CN 92 © 2009 Microchip Technology Inc.
10-9 A/D 转换时序
MCV18E
BSF ADCON0, GO
134
Q4
A/D 时钟
A/D 数据
ADRES
ADIF
采样
1: 如果选择 RC 作为 A/D 转换的时钟源,在 A/D 时钟启动前要加上一个 T
132
GO
T
(1)
OSC/2
7 6543210
旧数据
10-8 A/D 转换要求
参数
符号 特性 最小值 典型值
编号
130 T
131 T
132 TACQ
AD
A/D 时钟周期 工业级
工业级
CNV
转换时间 (不包括采样 / 保持时间)
(1)
采集时间 (注 2
1.6 μs
1.6 4.0 6.0 μs
9.5 9.5 TAD
1 TCY
131
130
采样已停止
CY 时间,用以执行 SLEEP 指令。
最大值 单位 条件
基于 TOSCVREF 3.0V A/D RC 模式
20
μs
新数据
DONE
5*
μs
最小时间为放大器稳定时间。如果
“新的”输入电压相对于上次采样电
压(如C1 LSb(即 5.12V 时为20.0 mV), 便可使用此时间。
134 T
GO
Q4 A/D 时钟启动的时间
OSC/2 **
—T
如果选择 RC 作为 A/D 转换的时钟 源,在 A/D 时钟启动前要加上一个
T
CY 时间,用以执行 SLEEP 指令。
135 T
SWC
转换 采样的切换时间
1.5 ** T
AD
* 这些参数为特性值,未经测试。 ** 这是设计规范值。除非另外声明,否则 “典型值”栏中的数据均为 5V 25°C 条件下的值。这些参数仅供设计参考,未经测试。
1ADRES 寄存器可在下一个 T
CY 周期被读取。
2: 最小条件请参见第 10.1 节 “直流特性: MCV18E (工业级)”。
HOLD 中所述)的变化不超
© 2009 Microchip Technology Inc. DS41399A_CN 第 93
MCV18E
注:
DS41399A_CN 94 © 2009 Microchip Technology Inc.

11.0 封装信息

11.1 封装标识信息

MCV18E
18 引脚 PDIP
XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX
YYWWNNN
18 引脚 SOIC(7.50 mm)
XXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXX
YYWWNNN
示例
示例
MCV18I-P
MCV18I-
3
e
0610017
0610017
SO
3
e
图注: XX...X 客户指定信息
Y 年份代码 (日历年的最后一位数字) YY 年份代码 (日历年的最后两位数字) WW 星期代码 (一月一日的星期代码为 “01”) NNN 以字母数字排序的追踪代码
3
e
雾锡 (Matte TinSn)的 JEDEC 无铅标志
* 本封装为无铅封装。 JEDEC 无铅标志 ( )标示于此种封装的
外包装上。
注: Microchip 元器件编号如果无法在同一行内完整标注,将换行标出,因此会限制
表示客户指定信息的字符数。
* 标准 PIC®器件标识包括 Microchip 器件编号、年份代码、星期代码和追踪代码。若 PIC®器件标识超出上
述内容,需支付一定的附加费用。请向当地的 Microchip 销售办事处了解确认。对于 QTP 器件,任何特殊 标记的费用都已包含在 QTP 价格中。
© 2009 Microchip Technology Inc. DS41399A_CN 95
3
e
MCV18E
ᓩ㛮ลᇕঠ߫Ⳉᦦᓣᇕ㺙˄3˅üüЏԧ

11.2 封装详细信息

以下部分将介绍各种封装的技术细节。

⊼˖⊼˖᳔ᮄᇕ㺙೒䇋㟇KWWSZZZPLFURFKLSFRPSDFNDJLQJᶹⳟ0LFURFKLSᇕ㺙㾘㣗DŽ
127(
$
$
1

E
PLO>3',3@
(
'
(
$
/
F
E
$IMENS ION,IMITS -). ./ - -!8
.UMBEROF 0INS . 
0 ITCH E  "3 #
4OPTO3 EATING0LANE ! n n  
-OLDED0 ACKAGE 4 HICKNES S !    
" ASET O3EAT ING0 LANE !   n n
3 HOULDERTO3 HOULDER 7 IDTH %      
-OLDED0 ACKAGE 7 IDTH %     
/VERAL L,ENGT H $    
4IPTO3EAT ING0 LANE ,   
,EAD4 HICKNESS C    
5PPER ,EAD 7 IDTH B     
,OWER ,EAD 7IDTH B   
/VERAL L2OW 3 PACING e E" n n 
.O TES
 0IN VIS UALINDEX FEATURE MAY VAR YBUTMUST BE LOCATEDWITHINTHEHATCHED AREA  e3 IGNIFICANT#HAR ACTERIS TIC  $IMENS IONS $ AND % DONOTINCLUDE MOLDFLAS HOR PROTRUSIONS -OLDFLASH ORPROTRUS IONS SHALLNOT EX CEED PER SIDE  $IMENS IONINGAND TOLERANC INGPER!3 -% 9  -
"3 # " A SIC $IMENSION 4 HEORET ICALLYE XACTVALUESHOW NWITHOUTTOLERANC ES
H
5NITS ).#(% 3
-ICROCHIP 4ECHNOLOGY $RA WING # "
H%
DS41399A_CN 96 © 2009 Microchip Technology Inc.
MCV18E
ᓩ㛮ลᇕᆑᴵᇣ໪ᔶᇕ㺙˄SO˅üüЏԧ
⊼˖
18ᓩ㛮ลᇕᆑᴵᇣ໪ᔶᇕ㺙˄
᳔ᮄᇕ㺙೒䇋㟇http://www.microchip.com/packagingᶹⳟMicrochipᇕ㺙㾘㣗DŽ
N
NOTE 1
1
23
A
A1
7.50 mm [SOIC]
D
E
E1
e
b
a
h
f
A2
L
h
c
ß
L1
Units MILLIMETERS
Dimension Limits MIN NOM MAX
Number of Pins N 18
Pitch e 1.27 BSC
Overall Height A 2.65
Molded Package Thickness A2 2.05
Standoff § A1 0.10 0.30
Overall Width E 10.30 BSC
Molded Package Width E1 7.50 BSC
Overall Length D 11.55 BSC
Chamfer (optional) h 0.25 0.75
Foot Length L 0.40 1.27
Footprint L1 1.40 REF
Foot Angle f
Lead Thickness c 0.20 0.33
Lead Width b 0.31 0.51
Mold Draft Angle Top a 15˚
Mold Draft Angle Bottom ß 15˚
Notes:
1. Pin 1 visual index feature may vary, but must be located within the hatched area.
2. § Significant Characteristic.
3. Dimensions D and E1 do not include mold flash or protrusions. Mold flash or protrusions shall not exceed 0.15 mm per side.
4. Dimensioning and tolerancing per ASME Y14.5M. BSC: Basic Dimension. Theoretically exact value shown without tolerances. REF: Reference Dimension, usually without tolerance, for information purposes only.
Microchip Technology Drawing C04-051B
© 2009 Microchip Technology Inc. DS41399A_CN 97
⊼˖
MCV18E
18ᓩ㛮ลᇕᆑᴵᇣ໪ᔶᇕ㺙˄SO˅üüЏԧ 7.50 mm [SOIC]
᳔ᮄᇕ㺙೒䇋㟇http://www.microchip.com/packagingᶹⳟMicrochipᇕ㺙㾘㣗DŽ
DS41399A_CN 98 © 2009 Microchip Technology Inc.

附录 A 版本历史

版本 A 2009 10 月)

本数据手册的初始版本。
MCV18E
© 2009 Microchip Technology Inc. DS41399A_CN 99
MCV18E
注:
DS41399A_CN 100 © 2009 Microchip Technology Inc.
Loading...