高性能RISC CPU:
灵活的振荡器结构:
模拟特性:
采用 XLP的超低功耗管理 PIC18(L)F2X/4XK22:
单片机特性:
外设特点:
引脚图 (28引脚)
引脚图(40引脚)
引脚图(44引脚)
表1: PIC18(L)F2XK22引脚汇总
表2: PIC18(L)F4XK22引脚汇总
目录
最新数据手册
勘误表
客户通知系统
1.0 器件概述
1.1 新的内核特性
1.1.1 XLP技术
1.1.2 多种振荡器选项和特性
1.2 其他特殊功能
1.3 系列中各产品的详细说明
表1-1: 器件特性
图1-1: PIC18(L)F2X/4XK22系列框图
表1-2: PIC18(L)F2XK22 I/O引脚说明
表1-3: PIC18(L)F4XK22 I/O引脚说明
2.0 振荡器模块(带故障保护时钟监视器)
2.1 概述
图2-1: 简化的振荡器系统框图
2.2 振荡器控制
2.2.1 主系统时钟选择
2.2.2 内部频率选择
2.2.3 低频选择
2.2.4 功耗管理
图2-2: 内部振荡器多路开关框图
图2-3: PLL选择框图
表2-1: PLL选择真值表
图2-4: 辅助振荡器和外部时钟输入
2.3 寄存器定义:振荡器控制
寄存器2-1: OSCCON:振荡器控制寄存器
寄存器2-2: OSCCON2:振荡器控制寄存器2
2.4 时钟源模式
2.5 外部时钟模式
2.5.1 振荡器起振定时器(OST)
表2-2: 振荡器延时示例
2.5.2 EC模式
图2-5: 外部时钟(EC)模式的工作原理
2.5.3 LP、XT和HS模式
图2-6: 石英晶振的工作原理 (LP、XT或HS模式)
图2-7: 陶瓷谐振器的工作原理 (XT或HS模式)
2.5.4 外部RC模式
图2-8: 外部RC模式
2.6 内部时钟模式
2.6.1 INTOSC与I/O或时钟输出
2.7 寄存器定义:振荡器调节
寄存器2-3: OSCTUNE:振荡器调节寄存器
2.7.1 LFINTOSC
2.7.2 频率选择位(IRCF)
2.7.3 INTOSC频率漂移
2.8 PLL倍频器
2.8.1 外部振荡器模式下的PLL
2.8.2 HFINTOSC模式下的PLL
2.9 功耗管理模式对各种时钟源的影响
2.10 上电延时
表2-3: 休眠模式下OSC1和OSC2引脚的状态
2.11 时钟切换
2.11.1 系统时钟选择(SCS<1:0>)位
2.11.2 振荡器起振延时状态(OSTS)位
2.11.3 时钟切换时序
2.12 双速时钟启动模式
2.12.1 双速启动模式配置
2.12.2 双速启动序列
2.12.3 检查双速时钟状态
图2-9: 时钟切换时序
2.13 故障保护时钟监视器
图2-10: FSCM框图
2.13.1 故障保护检测
2.13.2 故障保护操作
2.13.3 故障保护条件清除
2.13.4 复位或从休眠中唤醒
图2-11: FSCM时序图
表2-4: 与时钟源相关的寄存器
表2-5: 与时钟源相关的配置寄存器
3.0 功耗管理模式
3.1 选择功耗管理模式
3.1.1 时钟源
3.1.2 进入功耗管理模式
表3-1: 功耗管理模式
3.1.3 Sleep命令的多种功能
3.2 运行模式
3.2.1 PRI_RUN模式
3.2.2 SEC_RUN模式
3.2.3 RC_RUN模式
图3-1: 进入SEC_RUN模式的转换时序
图3-2: 从SEC_RUN模式切换到PRI_RUN模式的转换时序(HSPLL)
表3-2: 内部振荡器频率稳定位
图3-3: 从RC_RUN模式切换到PRI_RUN模式的转换时序
3.3 休眠模式
3.4 空闲模式
图3-4: 进入休眠模式的转换时序
图3-5: 从休眠模式唤醒的转换时序(HSPLL)
3.4.1 PRI_IDLE模式
3.4.2 SEC_IDLE模式
图3-6: 进入空闲模式的转换时序
图3-7: 从空闲模式唤醒进入运行模式的转换时序
3.4.3 RC_IDLE模式
3.5 退出空闲和休眠模式
3.5.1 通过中断退出
3.5.2 通过WDT超时退出
3.5.3 通过复位退出
3.5.4 在没有振荡器起振延时的情况下退出
3.6 选择性外设模块控制
3.7 寄存器定义:外设模块禁止
寄存器3-1: PMD0:外设模块禁止寄存器0
寄存器3-2: PMD1:外设模块禁止寄存器1
寄存器3-3: PMD2:外设模块禁止寄存器2
4.0 复位
4.1 RCON寄存器
图4-1: 片上复位电路的简化框图
4.2 寄存器定义:复位控制
寄存器4-1: RCON:复位控制寄存器
4.3 主复位(MCLR)
4.4 上电复位(POR)
图4-2: 外部上电复位电路 (Vdd缓慢上电的情况)
4.5 欠压复位(BOR)
4.5.1 检测BOR
4.5.2 用软件使能BOR
4.5.3 在休眠模式下禁止BOR
4.5.4 最小BOR使能时间
表4-1: BOR配置
4.6 器件复位定时器
4.6.1 上电延时定时器(PWRT)
4.6.2 振荡器起振定时器(OST)
4.6.3 PLL锁定延时定时器
4.6.4 延时时序
表4-2: 各种情形下的延时
图4-3: 上电延时时序(MCLR连接到Vdd,Vdd电压上升时间 < Tpwrt)
图4-4: 上电延时时序(MCLR未连接到Vdd):情形1
图4-5: 上电延时时序(MCLR未连接到Vdd):情形2
图4-6: 缓慢上升时间(MCLR连接到Vdd,Vdd电压上升时间 > Tpwrt)
图4-7: 在PLL使能时POR 的延时时序(MCLR连接到Vdd)
4.7 寄存器的复位状态
表4-3: RCON寄存器的状态位、含义以及初始化状态
表4-4: 与复位相关的寄存器
表4-5: 与复位相关的配置寄存器
5.0 存储器构成
5.1 程序存储器构成
图5-1: PIC18(L)F2X/4XK22器件的程序存储器映射和堆栈
5.1.1 程序计数器
5.1.2 返回地址堆栈
图5-2: 返回地址堆栈和相关的寄存器
5.2 寄存器定义:协议栈指针
寄存器5-1: STKPTR:堆栈指针寄存器
5.2.1 快速寄存器堆栈
例5-1: 快速寄存器堆栈代码示例
5.2.2 程序存储器中的查找表
例5-2: 使用偏移量值的计算GOTO
5.3 PIC18指令周期
5.3.1 时钟机制
5.3.2 指令流/流水线
图5-3: 时钟/指令周期
例5-3: 指令流水线流程
5.3.3 程序存储器中的指令
图5-4: 程序存储器中的指令
5.3.4 双字指令
例5-4: 双字指令
5.4 数据存储器构成
5.4.1 存储区选择寄存器(BSR)
图5-5: PIC18(L)F23K22和PIC18(L)F43K22器件的数据存储器映射
图5-6: PIC18(L)F24K22和PIC18(L)F44K22器件的数据存储器映射
图5-7: PIC18(L)F25K22和PIC18(L)F45K22器件的数据存储器映射
图5-8: PIC18(L)F26K22和PIC18(L)F46K22器件的数据存储器映射
图5-9: 使用存储区选择寄存器(直接寻址)
5.4.2 快速操作存储区
5.4.3 通用寄存器文件
5.4.4 特殊功能寄存器
表5-1: PIC18(L)F2X/4XK22器件的特殊功能寄存器映射
表5-2: PIC18(L)F2X/4XK22器件的寄存器文件汇总
5.4.5 STATUS寄存器
5.5 寄存器定义:状态
寄存器5-2: STATUS:状态寄存器
5.6 数据寻址模式
5.6.1 固有寻址和立即数寻址
5.6.2 直接寻址
5.6.3 间接寻址
例5-5: 如何使用间接寻址清零RAM (Bank 1)
图5-10: 间接寻址
5.7 数据存储器和扩展指令集
5.7.1 使用立即数偏移量进行变址寻址
5.7.2 受立即数变址寻址模式影响的指令
图5-11: 针对位和针对字节的指令的寻址模式对比(使能了扩展指令集)
5.7.3 在立即数变址模式下映射快速操作存储区
5.8 PIC18指令的执行和扩展指令集
图5-12: 使用立即数变址寻址模式重映射快速操作存储区
6.0 闪存程序存储器
6.1 表读与表写
图6-1: 表读操作
图6-2: 表写操作
6.2 控制寄存器
6.2.1 EECON1和EECON2寄存器
6.3 寄存器定义:存储器控制
寄存器6-1: EECON1:数据EEPROM控制1寄存器
6.3.1 TABLAT——表锁存寄存器
6.3.2 TBLPTR——表指针寄存器
6.3.3 表指针边界
表6-1: 执行TBLRD和TBLWT指令的表指针操作
图6-3: 基于操作的表指针边界
6.4 读闪存程序存储器
图6-4: 读闪存程序存储器
例6-1: 读闪存程序存储器的一个字
6.5 擦除闪存程序存储器
6.5.1 闪存程序存储器擦除序列
例6-2: 擦除闪存程序存储器块
6.6 写闪存程序存储器
图6-5: 对闪存程序存储器的表写操作
6.6.1 闪存程序存储器写序列
例6-3: 写闪存程序存储器
6.6.2 写校验
6.6.3 意外终止写操作
6.6.4 防止误写操作的保护措施
6.7 代码保护期间闪存程序存储器的操作
表6-2: 与闪存程序存储器相关的寄存器
7.0 数据EEPROM存储器
7.1 EEADR和EEADRH寄存器
7.2 EECON1和EECON2寄存器
寄存器7-1: EECON1:数据EEPROM控制1寄存器
7.3 读数据EEPROM存储器
7.4 写数据EEPROM存储器
7.5 写校验
例7-1: 读数据EEPROM
例7-2: 写数据EEPROM
7.6 代码保护期间的操作
7.7 防止误写操作的保护措施
7.8 使用数据EEPROM
例7-3: 数据EEPROM刷新程序
表7-1: 与数据EEPROM存储器相关的寄存器
8.0 8 X 8硬件乘法器
8.1 简介
8.2 工作原理
例8-1: 8 x 8无符号乘法程序
例8-2: 8 x 8有符号乘法程序
表8-1: 各种乘法运算的性能比较
公式8-1: 16 x 16无符号乘法算法
例8-3: 16 x 16无符号乘法程序
公式8-2: 16 x 16有符号乘法算法
例8-4: 16 x 16有符号乘法程序
9.0 中断
9.1 与中档器件的兼容性
9.2 中断优先级
9.3 中断响应
图9-1: PIC18中断逻辑
9.4 INTCON寄存器
9.5 PIR寄存器
9.6 PIE寄存器
9.7 IPR寄存器
9.8 寄存器定义:中断控制
寄存器9-1: INTCON:中断控制寄存器
寄存器9-2: INTCON2:中断控制2寄存器
寄存器9-3: INTCON3:中断控制3寄存器
寄存器9-4: PIR1:外设中断请求(标志)寄存器1
寄存器9-5: PIR2:外设中断请求(标志)寄存器2
寄存器9-6: PIR3:外设中断(标志)寄存器3
寄存器9-7: PIR4:外设中断(标志)寄存器4
寄存器9-8: PIR5:外设中断(标志)寄存器5
寄存器9-9: PIE1:外设中断允许(标志)寄存器1
寄存器9-10: PIE2:外设中断允许(标志)寄存器2
寄存器9-11: PIE3:外设中断允许(标志)寄存器3
寄存器9-12: PIE4:外设中断允许(标志)寄存器4
寄存器9-13: PIE5:外设中断允许(标志)寄存器5
寄存器9-14: IPR1:外设中断优先级寄存器1
寄存器9-15: IPR2:外设中断优先级寄存器2
寄存器9-16: IPR3:外设中断优先级寄存器3
寄存器9-17: IPR4:外设中断优先级寄存器4
寄存器9-18: IPR5:外设中断优先级寄存器5
9.9 INTn引脚中断
9.10 TMR0中断
9.11 PORTB电平变化中断
9.12 中断现场保护
例9-1: 将STATUS、WREG和BSR寄存器的值保存在RAM中
表9-1: 与中断相关的寄存器
表9-2: 与中断相关的配置寄存器
10.0 I/O端口
图10-1: 通用I/O端口的工作原理
10.1 PORTA寄存器
例10-1: 初始化PORTA
表10-1: PORTA I/O汇总
表10-2: 与PORTA相关的寄存器
表10-3: 与PORTA相关的配置寄存器
10.1.1 PORTA输出优先级
表10-4: 端口引脚功能优先级
10.2 PORTB寄存器
例10-2: 初始化PORTB
10.2.1 PORTB输出优先级
10.3 PORTB引脚的其他功能
10.3.1 弱上拉
10.3.2 电平变化中断
10.3.3 备用功能
表10-5: PORTB I/O汇总
表10-6: 与PORTB相关的寄存器
表10-7: 与PORTB相关的配置寄存器
10.4 PORTC寄存器
例10-3: 初始化PORTC
10.4.1 PORTC输出优先级
表10-8: PORTC I/O汇总
表10-9: 与PORTC相关的寄存器
表10-10: 与PORTC相关的配置寄存器
10.5 PORTD寄存器
例10-4: 初始化PORTD
10.5.1 PORTD输出优先级
表10-11: PORTD I/O汇总
表10-12: 与PORTD相关的寄存器
表10-13: 与PORTD相关的配置寄存器
10.6 PORTE寄存器
10.6.1 40/44引脚器件上的PORTE
例10-5: 初始化PORTE
10.6.2 28引脚器件上的PORTE
10.6.3 RE3弱上拉
10.6.4 PORTE输出优先级
表10-14: PORTE I/O汇总
表10-15: 与PORTE相关的寄存器
表10-16: 与PORTE相关的配置寄存器
10.7 端口模拟控制
10.8 端口压摆率控制
10.9 寄存器定义:端口控制
寄存器10-1: PORTx(1):PORTx寄存器
寄存器10-2: PORTE:PORTE寄存器
寄存器10-3: ANSELA:PORTA模拟选择寄存器
寄存器10-4: ANSELB:PORTB模拟选择寄存器
寄存器10-5: ANSELC:PORTC模拟选择寄存器
寄存器10-6: ANSELD:PORTD模拟选择寄存器
寄存器10-7: ANSELE:PORTE模拟选择寄存器
寄存器10-8: TRISx:PORTx三态寄存器(1)
寄存器10-9: TRISE:PORTE三态寄存器
寄存器10-10: LATx:PORTx输出锁存寄存器(1)
寄存器10-11: LATE:PORTE输出锁存寄存器(1)
寄存器10-12: WPUB:弱上拉PORTB寄存器
寄存器10-13: IOCB:电平变化中断PORTB控制寄存器
寄存器10-14: SLRCON:压摆率控制寄存器
11.0 Timer0模块
11.1 寄存器定义:Timer0控制
寄存器11-1: T0CON:Timer0控制寄存器
11.2 Timer0工作原理
11.3 16位模式下Timer0的读写操作
图11-1: Timer0框图(8位模式)
图11-2: Timer0框图(16位模式)
11.4 预分频器
11.4.1 切换预分频器的分配
11.5 Timer0中断
表11-1: 与Timer0相关的寄存器
12.0 带门控控制的Timer1/3/5模块
图12-1: Timer1/3/5框图
12.1 Timer1/3/5工作原理
表12-1: Timer1/3/5使能选择
12.2 时钟源选择
12.2.1 内部时钟源
12.2.2 外部时钟源
表12-2: 时钟源选择
12.3 Timer1/3/5预分频器
12.4 辅助振荡器
12.5 异步计数器模式下的Timer1/3/5操作
12.5.1 在异步计数器模式下读写Timer1/3/5
12.6 Timer1/3/5的16位读/写模式
图12-2: Timer1/3/5的16位读/写模式框图
12.7 Timer1/3/5门控
12.7.1 Timer1/3/5门控使能
表12-3: Timer1/3/5门控使能选择
12.7.2 Timer1/3/5门控源选择
表12-4: Timer1/3/5门控源
表12-5: Timer2/4/6匹配PR2/4/6的门控资源
12.7.3 Timer1/3/5门控翻转模式
12.7.4 Timer1/3/5门控单脉冲模式
12.7.5 Timer1/3/5门控值状态
12.7.6 Timer1/3/5门控事件中断
12.8 Timer1/3/5中断
12.9 休眠期间的Timer1/3/5操作
12.10 ECCP/CCP捕捉/比较时基
12.11 ECCP/CCP特殊事件触发信号
图12-3: Timer1/3/5递增边沿
图12-4: Timer1/3/5门控使能模式
图12-5: Timer1/3/5门控翻转模式
图12-6: Timer1/3/5门控单脉冲模式
图12-7: Timer1/3/5门控单脉冲和翻转组合模式
12.12 外设模块禁止
12.13 寄存器定义:Timer1/3/5控制寄存器
寄存器12-1: TxCON:Timer1/3/5控制寄存器
寄存器12-2: TxGCON:Timer1/3/5门控控制寄存器
表12-6: 与Timer1/3/5作为定时器/计数器相关的寄存器
表12-7: 与TIMER1/3/5相关的配置寄存器
13.0 Timer2/4/6模块
图13-1: Timer2/4/6框图
13.1 Timer2/4/6工作原理
13.2 Timer2/4/6中断
13.3 Timer2/4/6输出
13.4 休眠期间的Timer2/4/6操作
13.5 外设模块禁止
13.6 寄存器定义:Timer2/4/6控制
寄存器13-1: TxCON:Timer2/Timer4/Timer6控制寄存器
表13-1: 与Timer2/4/6相关的寄存器汇总
14.0 捕捉/比较/PWM模块
表14-1: PWM资源
14.1 捕捉模式
图14-1: 捕捉模式工作原理框图
14.1.1 CCP引脚配置
表14-2: CCP引脚复用
14.1.2 Timer1模式资源
14.1.3 软件中断模式
14.1.4 CCP预分频器
例14-1: 改变捕捉预分频比
14.1.5 休眠期间的捕捉操作
表14-3: 与捕捉相关的寄存器
表14-4: 与捕捉相关的配置寄存器
14.2 比较模式
图14-2: 比较模式工作原理框图
14.2.1 CCP引脚配置
14.2.2 TimerX模式资源
14.2.3 软件中断模式
14.2.4 特殊事件触发器
14.2.5 休眠期间的比较操作
表14-5: 与比较相关的寄存器
表14-6: 与比较相关的配置寄存器
14.3 PWM概述
14.3.1 标准PWM操作
图14-3: CCP PWM输出信号
图14-4: 简化的PWM框图
14.3.2 设置PWM操作
14.3.3 PWM定时器资源
14.3.4 PWM周期
公式14-1: PWM周期
14.3.5 PWM占空比
公式14-2: 脉冲宽度
公式14-3: 占空比
14.3.6 PWM分辨率
公式14-4: PWM分辨率
表14-7: PWM频率和分辨率示例(Fosc = 32 MHz)
表14-8: PWM频率和分辨率示例(Fosc = 20 MHz)
表14-9: PWM频率和分辨率示例(Fosc = 8 MHz)
14.3.7 休眠模式下的操作
14.3.8 改变系统时钟频率
14.3.9 复位的影响
表14-10: 与标准PWM相关的寄存器
表14-11: 与标准PWM相关的配置寄存器
14.4 PWM(增强型模式)
图14-5: 增强型PWM模式的简化框图示例
表14-12: 各种PWM增强型模式的引脚分配示例
图14-6: PWM(增强型模式)输出关系示例(高电平有效状态)
图14-7: 增强型PWM输出关系示例(低电平有效状态)
14.4.1 半桥模式
图14-8: 半桥PWM输出示例
图14-9: 半桥应用示例
14.4.2 全桥模式
图14-10: 全桥应用示例
图14-11: 全桥PWM输出示例
图14-12: PWM方向改变的示例
图14-13: 在占空比接近100%时改变PWM方向的示例
14.4.3 增强型PWM自动关闭模式
图14-14: PWM自动关闭,可通过固件重启(PxRSEN = 0)
14.4.4 自动重启模式
图14-15: PWM自动关闭,可自动重启(PxRSEN = 1)
14.4.5 可编程死区延时模式
图14-16: 半桥PWM输出示例
图14-17: 半桥应用示例
14.4.6 PWM转向模式
图14-18: 转向简化框图
14.4.7 启动注意事项
图14-19: 指令结束时发生的转向事件的示例(STRxSYNC = 0)
图14-20: 指令开始时发生的转向事件的示例(STRxSYNC = 1)
14.4.8 使用ECCP1和TIMER2实现ECCP PWM操作的设置步骤
表14-13: 与增强型PWM相关的寄存器
表14-14: 与增强型PWM相关的配置寄存器
寄存器14-1: CCPXCON:标准CCPx控制寄存器
寄存器14-2: CCPxCON:增强型CCPx控制寄存器
寄存器14-3: CCPTMRS0:PWM定时器选择控制寄存器0
寄存器14-4: CCPTMRS1:PWM定时器选择控制寄存器1
寄存器14-5: ECCPxAS:CCPx自动关闭控制寄存器
寄存器14-6: PWMxCON:增强型PWM控制寄存器
寄存器14-7: PSTRxCON:PWM转向控制寄存器(1)
14.5 寄存器定义:ECCP控制
15.0 主同步串行口(MSSP1和 MSSP2)模块
15.1 主SSPx(MSSPx)模块概述
图15-1: MSSPx框图(SPI模式)
图15-2: MSSPx框图(I2C™主模式)
图15-3: MSSPx框图(I2C™从模式)
15.2 SPI模式概述
图15-4: SPI主器件和多个从器件连接
15.2.1 SPI模式寄存器
15.2.2 SPI模式操作
图15-5: SPI主/从器件连接
15.2.3 SPI主模式
图15-6: SPI模式波形图(主模式)
15.2.4 SPI从模式
15.2.5 从选择同步
图15-7: SPI菊花链连接
图15-8: 从选择同步波形图
图15-9: SPI模式波形图(从模式,CKE = 0)
图15-10: SPI模式波形图(从模式,CKE = 1)
15.2.6 休眠模式下的SPI操作
表15-1: 与SPI操作相关的寄存器
15.3 I2C模式概述
图15-11: I2C™主/从器件连接
15.3.1 时钟延长
15.3.2 仲裁
15.4 I2C模式操作
15.4.1 字节格式
15.4.2 I2C术语的定义
15.4.3 SDAx和SCLx引脚
15.4.4 SDAx保持时间
表15-2: I2C™总线术语
15.4.5 启动条件
15.4.6 停止条件
15.4.7 重复启动条件
15.4.8 启动/停止条件中断屏蔽
图15-12: I2C™启动和停止条件
图15-13: I2C™重复启动条件
15.4.9 应答序列
15.5 I2C从模式操作
15.5.1 从模式地址
15.5.2 从接收
图15-14: I2C从模式,7位地址,接收(SEN = 0,AHEN = 0,DHEN = 0)
图15-15: I2C从模式,7位地址,接收(SEN = 1,AHEN = 0,DHEN = 0)
图15-16: I2C从模式,7位地址,接收(SEN = 0,AHEN = 1,DHEN = 1)
图15-17: I2C从模式,7位地址,接收(SEN = 1,AHEN = 1,DHEN = 1)
15.5.3 从发送
图15-18: I2C从模式,7位地址,发送(AHEN = 0)
图15-19: I2C从模式,7位地址,发送(AHEN = 1)
15.5.4 从模式10位地址接收
15.5.5 带地址或数据保持的10位寻址
图15-20: I2C从模式,10位地址,接收(SEN = 1,AHEN = 0,DHEN = 0)
图15-21: I2C从模式,10位地址,接收(SEN = 0,AHEN = 1,DHEN = 0)
图15-22: I2C从模式,10位地址,发送(SEN = 0,AHEN = 0,DHEN = 0)
15.5.6 时钟延长
15.5.7 时钟同步和CKP位
图15-23: 时钟同步时序
15.5.8 广播呼叫地址支持
图15-24: 从模式广播呼叫地址序列
15.5.9 SSPx掩码寄存器
15.6 I2C主模式
15.6.1 I2C主模式操作
15.6.2 时钟仲裁
图15-25: 带有时钟仲裁的波特率发生器时序
15.6.3 WCOL状态标志
15.6.4 I2C主模式启动条件时序
图15-26: 第一个启动位时序
15.6.5 I2C主模式重复启动条件时序
图15-27: 重复启动条件波形图
15.6.6 I2C主模式发送
图15-28: I2C主模式波形图(发送,7位或10位地址)
15.6.7 I2C主模式接收
图15-29: I2C™主模式波形图(接收,7位地址)
15.6.8 应答序列时序
15.6.9 停止条件时序
图15-30: 应答序列波形图
图15-31: 停止条件接收或发送模式
15.6.10 休眠模式下的操作
15.6.11 复位的影响
15.6.12 多主器件模式
15.6.13 多主器件通信、总线冲突和总线仲裁
图15-32: 发送和应答时的总线冲突时序
图15-33: 启动条件期间的总线冲突(仅用于SDAx)
图15-34: 启动条件期间的总线冲突(SCLx = 0)
图15-35: 启动条件期间由SDA仲裁引起的BRG复位
图15-36: 重复启动条件期间的总线冲突(情形1)
图15-37: 重复启动条件期间的总线冲突(情形2)
图15-38: 停止条件期间的总线冲突(情形1)
图15-39: 停止条件期间的总线冲突(情形2)
表15-3: 与I2C™操作相关的寄存器
15.7 波特率发生器
图15-40: 波特率发生器框图
表15-4: 使用BRG的MSSPx时钟速率
15.8 寄存器定义:MSSP控制
寄存器15-1: SSPxSTAT:SSPx状态寄存器
寄存器15-2: SSPxCON1:SSPx控制寄存器1
寄存器15-3: SSPxCON2:SSPx控制寄存器2
寄存器15-4: SSPxCON3:SSPx控制寄存器3
寄存器15-5: SSPxMSK:SSPx掩码寄存器
寄存器15-6: SSPxADD:MSSPx地址和波特率寄存器(I2C模式)
16.0 增强型通用同步/异步收发器 (EUSART)
图16-1: EUSART发送框图
图16-2: EUSART接收框图
16.1 EUSART异步模式
16.1.1 EUSART异步发送器
图16-3: 异步发送
图16-4: 异步发送(背对背)
表16-1: 与异步发送相关的寄存器
16.1.2 EUSART异步接收器
图16-5: 异步接收
表16-2: 与异步接收相关的寄存器
16.2 异步操作的时钟精确性
16.3 寄存器定义:EUSART控制
寄存器16-1: TXSTAx:发送状态和控制寄存器
寄存器16-2: RCSTAx:接收状态和控制寄存器
寄存器16-3: BAUDCONx:波特率控制寄存器
16.4 EUSART波特率发生器(BRG)
例16-1: 计算波特率误差
表16-3: 波特率公式
表16-4: 与波特率发生器相关的寄存器
表16-5: 异步模式下的波特率
16.4.1 自动波特率检测
表16-6: BRG计数器时钟速率
图16-6: 自动波特率校准
16.4.2 自动波特率溢出
16.4.3 接收到间隔字符时自动唤醒
图16-7: 正常操作时的自动唤醒位(WUE)时序
图16-8: 休眠时的自动唤醒位(WUE)时序
16.4.4 间隔字符序列
16.4.5 接收间隔字符
图16-9: 发送间隔字符序列
16.5 EUSART同步模式
16.5.1 同步主模式
图16-10: 同步发送
图16-11: 同步发送(由TXEN位控制)
表16-7: 与同步主发送相关的寄存器
图16-12: 同步接收(主模式,SREN)
表16-8: 与同步主接收相关的寄存器
16.5.2 同步从模式
表16-9: 与同步从发送相关的寄存器
表16-10: 与同步从接收相关的寄存器
17.0 模数转换器(ADC)模块
图17-1: ADC框图
17.1 ADC配置
17.1.1 端口配置
17.1.2 通道选择
17.1.3 ADC参考电压
17.1.4 选择和配置采集时间
17.1.5 转换时钟
17.1.6 中断
表17-1: ADC时钟周期(Tad)与器件工作频率关系表
17.1.7 结果格式
图17-2: 10位A/D转换结果格式
17.2 ADC工作原理
17.2.1 启动转换
图17-3: A/D转换Tad周期(ACQT<2:0> = 000,TACQ = 0)
图17-4: A/D转换Tad周期(ACQT<2:0> = 010,TACQ = 4 TAD)
17.2.2 转换完成
17.2.3 放电
17.2.4 终止转换
17.2.5 转换之间的延时
17.2.6 在功耗管理模式下的ADC操作
17.2.7 休眠期间的ADC操作
17.2.8 特殊事件触发器
17.2.9 外设模块禁止
17.2.10 A/D转换步骤
例17-1: A/D转换
17.3 寄存器定义:ADC控制
寄存器17-1: ADCON0:A/D控制寄存器0
寄存器17-2: ADCON1:A/D控制寄存器1
寄存器17-3: ADCON2:A/D控制寄存器2
寄存器17-4: ADRESH:ADC结果寄存器的高字节(ADRESH)ADFM = 0
寄存器17-5: ADRESL:ADC结果寄存器的低字节(ADRESL)ADFM = 0
寄存器17-6: ADRESH:ADC结果寄存器的高字节(ADRESH)ADFM = 1
寄存器17-7: ADRESL:ADC结果寄存器的低字节(ADRESL)ADFM = 1
17.4 A/D采集要求
公式17-1: 采集时间示例
图17-5: 模拟输入模型
图17-6: ADC传递函数
表17-2: 与A/D操作相关的寄存器
表17-3: 与ADC模块相关的配置寄存器
18.0 比较器模块
18.1 比较器概述
图18-1: 单比较器
图18-2: 比较器C1/C2的简化框图
18.2 比较器控制
18.2.1 比较器使能
18.2.2 比较器输入选择
18.2.3 比较器参考电压选择
18.2.4 比较器输出选择
18.2.5 比较器输出极性
表18-1: 比较器输出状态与输入条件
18.2.6 比较器速度选择
18.3 比较器响应时间
18.4 比较器中断操作
18.4.1 预设不匹配锁存器
图18-3: 比较器中断时序 (不带CMxCON0读取)
图18-4: 比较器中断时序 (带CMxCON0读取)
18.5 休眠期间的操作
18.6 复位的影响
18.7 模拟输入连接注意事项
图18-5: 模拟输入模型
18.8 其他比较器特性
18.8.1 比较器输出的同时读取
18.8.2 内部参考电压选择
18.8.3 比较器滞回电压
18.8.4 使比较器的输出与Timer1同步
18.9 寄存器定义:比较器控制
寄存器 18-1: CMxCON0:比较器x控制寄存器
寄存器18-2: CM2CON1:比较器1和2控制寄存器
表18-2: 与比较器模块相关的寄存器
19.0 充电时间测量单元(CTMU)
图19-1: CTMU框图
19.1 CTMU工作原理
19.1.1 工作原理
19.1.2 电流源
19.1.3 边沿选择和控制
19.1.4 边沿状态
19.1.5 中断
19.2 CTMU模块初始化
19.3 校准CTMU模块
19.3.1 电流源校准
图19-2: CTMU电流源校准电路
例19-1: CTMU校准设置程序
例19-2: 电流校准程序
19.3.2 电容校准
例19-3: 电容校准程序
19.4 使用CTMU测量电容
19.4.1 绝对电容测量
19.4.2 相对电荷测量
例19-4: 用于电容式触摸开关的程序
19.5 使用CTMU模块测量时间
图19-3: 时间测量的典型连接和内部配置
19.6 使用CTMU模块产生延时
图19-4: 产生脉冲延时的典型连接和内部配置
19.7 休眠/空闲模式期间的操作
19.7.1 休眠模式和深度休眠模式
19.7.2 空闲模式
19.8 CTMU外设模块禁止(PMD)
19.9 复位对CTMU的影响
19.10 寄存器
19.11 寄存器定义:CTMU控制
寄存器19-1: CTMUCONH:CTMU控制寄存器0
寄存器19-2: CTMUCONL:CTMU控制寄存器1
寄存器19-3: CTMUICON:CTMU电流控制寄存器
表19-1: 与CTMU模块相关的寄存器
20.0 SR锁存器
20.1 锁存器操作
20.2 锁存器输出
20.3 DIVSRCLK时钟产生
20.4 复位的影响
图20-1: DIVSRCLK框图
图20-2: SR锁存器简化框图
表20-1: DIVSRCLK频率表
20.5 寄存器定义:SR锁存器控制
寄存器20-1: SRCON0:SR锁存器控制寄存器0
寄存器20-2: SRCON1:SR锁存器控制寄存器1
表20-2: 与SR锁存器相关的寄存器
21.0 固定参考电压(FVR)
21.1 独立的增益放大器
21.2 FVR稳定周期
图21-1: 参考电压框图
21.3 寄存器定义:FVR控制
寄存器21-1: VREFCON0:固定参考电压控制寄存器
表21-1: 与固定参考电压相关的寄存器汇总
22.0 数模转换器(DAC)模块
22.1 输出电压选择
公式22-1: DAC输出电压
22.2 比例输出电压
22.3 低功耗电压状态
22.4 输出钳位至正电压源
22.5 输出钳位至负电压源
22.6 DAC参考电压输出
图22-1: 数模转换器框图
图22-2: 参考电压输出缓冲示例
22.7 休眠期间的操作
22.8 复位的影响
22.9 寄存器定义:DAC控制
寄存器22-1: VREFCON1:参考电压控制寄存器0
寄存器22-2: VREFCON2:参考电压控制寄存器1
表22-1: 与DAC模块相关的寄存器
23.0 高/低压检测(HLVD)
23.1 寄存器定义: HLVD控制
寄存器23-1: HLVDCON:高/低压检测控制寄存器
23.2 工作原理
图23-1: HLVD模块框图(带外部输入)
23.3 HLVD设置
23.4 电流消耗
23.5 HLVD启动时间
图23-2: 低压检测工作原理(VDIRMAG = 0)
图23-3: 高压检测工作原理(VDIRMAG = 1)
23.6 应用
图23-4: 典型低压检测应用
23.7 休眠期间的操作
23.8 复位的影响
表23-1: 与高/低压检测模块相关的寄存器
24.0 CPU的特殊功能
24.1 配置位
表24-1: 配置位和器件ID
24.2 寄存器定义:配置字
寄存器24-1: CONFIG1H:配置寄存器1的高字节
寄存器24-2: CONFIG2L:配置寄存器2的低字节
寄存器24-3: CONFIG2H:配置寄存器2的高字节
寄存器24-4: CONFIG3H:配置寄存器3的高字节
寄存器24-5: CONFIG4L:配置寄存器4的低字节
寄存器24-6: CONFIG5L:配置寄存器5的低字节
寄存器24-7: CONFIG5H:配置寄存器5的高字节
寄存器24-8: CONFIG6L:配置寄存器6的低字节
寄存器24-9: CONFIG6H:配置寄存器6的高字节
寄存器24-10: CONFIG7L:配置寄存器7的低字节
寄存器24-11: CONFIG7H:配置寄存器7的高字节
寄存器24-12: DEVID1:器件ID寄存器1
寄存器24-13: DEVID2:器件ID寄存器2
表24-2: PIC18(L)F2X/4XK22系列的器件ID表
24.3 看门狗定时器(WDT)
图24-1: WDT框图
24.3.1 控制寄存器
24.4 寄存器定义:WDT控制
寄存器24-14: WDTCON:看门狗定时器控制寄存器
表24-3: 与看门狗定时器相关的寄存器
表24-4: 与看门狗定时器相关的配置寄存器
24.5 程序校验和代码保护
图24-2: PIC18(L)F2X/4XK22的受代码保护的程序存储器
表24-5: 与代码保护相关的配置寄存器
24.5.1 程序存储器代码保护
图24-3: 不允许表写(WRTn)
图24-4: 不允许外部存储块的表读(EBTRn)
图24-5: 允许外部存储块的表读(EBTRn)
24.5.2 数据EEPROM代码保护
24.5.3 配置寄存器保护
24.6 ID存储单元
24.7 在线串行编程
24.8 在线调试器
表24-6: 调试器资源
24.9 单电源ICSP编程
25.0 指令集汇总
25.1 标准指令集
表25-1: 操作码字段说明
图25-1: 指令的通用格式
表25-2: PIC18(L)F2X/4XK22指令集
25.1.1 标准指令集
25.2 扩展指令集
25.2.1 扩展指令的语法
表25-3: PIC18指令集的扩展
25.2.2 扩展指令集
25.2.3 立即数变址寻址模式中针对字节和针对位的指令
25.2.4 使能扩展指令集时的注意事项
25.2.5 使用Microchip MPLAB. IDE工具的主意事项
26.0 开发支持
26.1 MPLAB集成开发环境软件
26.2 适用于各种器件系列的MPLAB C 编译器
26.3 适用于各种器件系列的HI-TECH C 编译器
26.4 MPASM汇编器
26.5 MPLINK目标链接器/ MPLIB目标库管理器
26.6 适用于各种器件系列的MPLAB汇编器、链接器和库管理器
26.7 MPLAB SIM软件模拟器
26.8 MPLAB REAL ICE在线仿真器系统
26.9 MPLAB ICD 3在线调试器系统
26.10 PICkit 3在线调试器/编程器及 PICkit 3 Debug Express
26.11 PICkit 2开发编程器/调试器及 PICkit 2 Debug Express
26.12 MPLAB PM3器件编程器
26.13 演示/开发板、评估工具包及入门工具包
27.0 电气特性
绝对最大值(†)
图27-1: PIC18LF2X/4XK22系列电压-频率关系图(工业级温度)
图27-2: PIC18LF2X/4XK22系列电压-频率关系图(扩展级温度)
图27-3: PIC18F2X/4XK22 系列电压-频率关系图(工业级温度)
图27-4: PIC18F2X/4XK22 系列电压-频率关系图(扩展级温度)
27.1 直流特性:供电电压,PIC18(L)F2X/4XK22
27.2 直流特性:掉电电流,PIC18(L)F2X/4XK22
27.3 直流特性: RC运行供电电流,PIC18(L)F2X/4XK22
27.4 直流特性: RC空闲供电电流,PIC18(L)F2X/4XK22
27.5 直流特性: 主运行供电电流,PIC18(L)F2X/4XK22
27.6 直流特性: 主空闲供电电流,PIC18(L)F2X/4XK22
27.7 直流特性: 辅助振荡器供电电流,PIC18(L)F2X/4XK22
27.8 直流特性: 输入/输出特性,PIC18(L)F2X/4XK22
27.9 存储器编程要求
27.10 模拟特性
表27-1: 比较器规范
表27-2: 数模转换器(DAC)规范
表27-3: 固定参考电压(FVR)规范
表27-4: 充电时间测量单元(CTMU)规范
图27-5: 高/低压检测特性
表27-5: 高/低压检测特性
27.11 交流(时序)特性
27.11.1 时序参数符号体系
27.11.2 时序条件
表27-6: 温度和电压规范——交流
图27-6: 器件时序规范的负载条件
27.11.3 时序图和规范
图27-7: 外部时钟时序(除PLL外的所有模式)
表27-7: 外部时钟时序要求
表27-8: PLL时钟时序规范(Vdd = 1.8V至5.5V)
表27-9: 交流特性:内部振荡器精度( PIC18(L)F46K22)
图27-8: CLKOUT和I/O时序
表27-10: CLKOUT和I/O时序要求
图27-9: 复位、看门狗定时器、振荡器起振定时器和上电延时定时器时序
图27-10: 欠压复位时序
表27-11: 复位、看门狗定时器、振荡器起振定时器、上电延时定时器和欠压复位要求
图27-11: Timer0和Timer1外部时钟时序
表27-12: Timer0和Timer1/3/5外部时钟要求
图27-12: 捕捉/比较/PWM时序(所有CCP模块)
表27-13: 捕捉/比较/PWM要求(所有CCP模块)
图27-13: SPI主模式时序示例(CKE = 0)
表27-14: SPI模式要求示例(主模式,CKE = 0或1)
图27-14: SPI主模式时序示例(CKE = 1)
图27-15: SPI从模式时序示例(CKE = 0)
表27-15: SPI模式要求示例(从模式时序,CKE = 0或1)
图27-16: SPI从模式时序示例(CKE = 1)
图27-17: I2C™总线启动位/停止位时序
表27-16: I2C™总线启动位/停止位要求(从模式)
图27-18: I2C™总线数据时序
表27-17: I2C™总线数据要求(从模式)
图27-19: 主SSP I2C™总线启动位/停止位时序波形
表27-18: 主SSP I2C™总线启动位/停止位要求
图27-20: 主SSP I2C™总线数据时序
表27-19: 主SSP I2C™总线数据要求
图27-21: EUSART同步发送(主/从)时序
表27-20: EUSART同步发送要求
图27-22: EUSART同步接收(主/从)时序
表27-21: EUSART同步接收要求
表27-22: A/D转换器特性: PIC18(L)F2X/4XK22
图27-23: A/D转换时序
表27-23: A/D转换要求(PIC18(L)F2X/4XK22)
28.0 直流和交流特性图表
29.0 封装信息
29.1 封装标识信息
29.2 封装详细信息
附录A: 版本历史
版本A(2010年2月)
版本B(2010年4月)
版本C(2010年7月)
版本D(2010年11月)
版本E(2012年1月)
版本F(2012年5月)
附录B: 器件差异
表B-1: 器件差异
索引
Microchip网站
变更通知客户服务
客户支持
读者反馈表
产品标识体系
全球销售及服务网点