第1章 PIC18Fxxx单片机概述 第2章 振荡器结构 2.1 振荡器类型 2.2 晶体/陶瓷振荡器方式 2.3 RC振荡器 2.4 外部时钟输入 2.5 HS4(PLL)方式 2.6 振荡器转换特性 2.6.1 系统时钟的转换 2.6.2 振荡器的转换 2.7 片内振荡器休眠模式的影响 2.8 上电延时 第3章 复位 3.1 上电复位 3.2 MCLR 3.3 上电延时定时器 3.4 起振定时器 3.5 PLL锁相延时 3.6 掉电锁定复位 3.7 上电复位延时时序图 第4章 存储器结构 4.1 程序存储器结构 4.2 返回地址堆栈 4.2.1 堆栈顶层的访问 4.2.2 堆栈指针的返回 4.2.3 压栈和弹栈指令 4.2.4 堆栈满/下溢出复位 4.3 快速寄存器堆栈 4.4 PCL,PCLATH和PCLATU 4.5 时钟划分/指令周期 4.6 指令流程/流水线 4.7 程序存储器中的指令 4.8 查询表 4.8.1 计算后执行GOTO指令 4.8.2 读表和写表 4.9 数据存储器结构 4.9.1 通用寄存器 4.9.2 特殊功能寄存器 4.10 全局存储区 4.11 存储区选择寄存器 4.12 间接寻址、INDF和FSR寄存器 4.13 状态寄存器STATUS 4.14 复位控制寄存器RCON 第5章 数据存储器EEPROM 5.1 EEADR寄存器 5.2 EECON1和EECON2寄存器 5.3 读数据存储器EEPROM 5.4 写数据存储器EEPROM 5.5 写校验 5.6 误写操作保护 5.7 代码保护情况下的操作 5.8 数据存储器EEPROM的使用 第6章 程序存储器FLASH 6.1 读表和写表操作 6.2 控制寄存器 6.2.1 EECON1和EECON2寄存器 6.2.2 表锁存寄存器TABLAT 6.2.3 表指针寄存器TBLPTR 6.2.4 表指针边界 6.3 读程序存储器FLASH 6.4 擦除程序存储器FLASH 6.5 写程序存储器FLASH 6.5.1 程序存储器写序列 6.5.2 写校验 6.5.3 不可预料的写操作意外中止 6.5.4 误写操作保护 6.6 代码保护情况下的程序存储器操作 第7章 8×8硬件乘法器 7.1 引言 7.2 操作 第8章 中断 8.1 中断控制寄存器INTCON 8.2 PIR寄存器组 8.3 PIE寄存器组 8.4 IPR寄存器组 8.5 RCON寄存器 8.6 INT中断 8.7 TMR0中断 8.8 PORTB端口电平变化中断 8.9 中断现场保护 8.10 用PORTB端口电平变化中断构成的键盘接口硬件电路 8.11 用PORTB端口电平变化中断构成键盘的汇编语言编程 8.12 PORTB端口电平变化中断构成的键盘C语言编程 第9章 I/O端口 9.1 PORTA,TRISA和LATA寄存器 9.2 PORTB,TRISB和LATB寄存器 9.3 PORTC,TRISC和LATC寄存器 9.4 PORTD,TRISD和LATD寄存器 9.5 PORTE,TRISE和LATE寄存器 9.6 开关量输入/输出汇编语言编程 9.7 开关量输入/输出C语言编程 9.8 PORTD端口输出开关量汇编语言编程 9.9 PORTD端口输出开关量C语言编程 第10章 并行从动端口 第11章 定时器/计数器TMR0模块 11.1 TMR0操作 11.2 前分频器 11.3 TMR0中断 11.4 16位方式的定时器读/写 11.5 用定时器TMR0构成秒表的汇编语言编程 11.6 用定时器TMR0构成秒表的C语言编程 第12章 定时器/计数器TMR1模块 12.1 TMR1操作 12.2 TMR1振荡器 12.3 TMR1中断 12.4 用CCP触发输出来复位TMR1 12.5 TMR1 16位读/写方式 第13章 定时器/计数器TMR2模块 13.1 TMR2操作 13.2 TMR2中断 13.3 TMR2的输出 第14章 定时器/计数器TMR3模块 14.1 TMR3操作 14.2 TMR1振荡器 14.3 TMR3中断 14.4 用CCP触发输出来复位TMR1 第15章 捕捉/比较/PWM(CCP)模块 15.1 CCP1模块 15.2 捕捉工作方式 15.2.1 CCP引脚设定 15.2.2 TMR1/TMR3工作方式选择 15.2.3 软件中断 15.2.4 CCP1前分频器 15.2.5 CAN通信信息的时间标记 15.3 比较工作方式 15.3.1 CCP1引脚设定 15.3.2 TMR1/TMR3工作方式选择 15.3.3 软件中断方式 15.3.4 特殊事件触发方式 15.4 PWM工作方式 15.4.1 PWM周期 15.4.2 PWM工作循环周期 15.4.3 PWM操作配置 15.5 PWM(CCP)模块接口硬件电路 15.6 PWM(CCP)模块汇编语言编程 15.7 PWM(CCP)模块C语言编程 第16章 增强型捕捉/比较/PWM(ECCP)模块 16.1 ECCP1模块 16.2 捕捉工作方式 16.3 比较工作方式 16.4 标准PWM工作方式 16.5 增强型PWM工作方式 16.5.1 PWM输出操作配置 16.5.2 半桥输出方式 16.5.3 全桥输出方式 16.5.4 可编程死区延时 16.5.5 系统执行 16.5.6 PWM启动条件 16.5.7 输出极性配置 16.5.8 PWM操作的配置 16.6 增强型CCP的自动关闭功能 第17章 主同步串行端口 17.1 主同步串行模块概述 17.2 控制寄存器组 17.3 SPI方式 17.3.1 寄存器组 17.3.2 运行 17.3.3 使能SPI 17.3.4 典型连接 17.3.5 主控方式 17.3.6 从动方式 17.3.7 同步从动方式选择 17.3.8 休眠方式 17.3.9 复位的影响 17.3.10 总线工作方式的兼容性 17.4 I2C模式 17.4.1 I2C的寄存器组 17.4.2 操作方式 17.4.3 从动方式 17.4.4 时钟延伸 17.4.5 支持通用地址寻址 17.4.6 主控方式 17.4.7 波特率发生器 17.4.8 I2C主控工作方式时的启动状态时序图 17.4.9 I2C主控方式时的重启动状态时序图 17.4.10 I2C主控发送方式 17.4.11 I2C主控接收方式 17.4.12 应答信号位时序图 17.4.13 停止状态位时序图 17.4.14 休眠工作方式 17.4.15 复位影响 17.4.16 多主机方式 17.4.17 多主机通信、总线冲突和总线仲裁 17.5 SPI总线应用的开关量输入接口硬件电路 17.6 SPI总线应用开关量输入汇编语言编程 17.7 SPI总线应用开关量输入C语言编程 17.8 SPI总线应用的开关量输出接口硬件电路 17.9 SPI总线应用开关量输出汇编语言编程 17.10 SPI总线应用的开关量输出C语言编程 第18章 可寻址的通用同步/异步收发器 18.1 USART波特率发生器 18.2 USART的异步工作方式 18.2.1 USART异步发送器 18.2.2 USART异步接收器 18.2.3 带地址检测的9位异步接收方式 18.3 USART同步主控方式 18.3.1 USART同步主控发送 18.3.2 USART同步主控接收 18.4 USART同步从动方式 18.4.1 USART同步从动发送 18.4.2 USART同步从动接收 18.5 USART接口硬件电路 18.6 USART汇编语言编程 18.7 USART C语言编程 第19章 CAN控制器模块 19.1 概述 19.1.1 CAN模块概述 19.1.2 发送/接收缓冲器 19.2 CAN控制寄存器 19.2.1 CAN控制与状态寄存器 19.2.2 CAN发送缓冲寄存器 19.2.3 CAN接收缓冲寄存器 19.2.4 CAN波特率寄存器 19.2.5 CAN模块输入/输出控制寄存器 19.2.6 CAN中断寄存器 19.3 CAN工作方式 19.3.1 配置方式 19.3.2 关闭方式 19.3.3 正常工作方式 19.3.4 监听方式 19.3.5 自检方式 19.3.6 错误识别方式 19.4 CAN信息发送 19.4.1 发送缓冲器 19.4.2 发送优先级 19.4.3 启动发送 19.4.4 中止发送 19.5 信息接收 19.5.1 信息接收缓冲器 19.5.2 接收缓冲器 19.5.3 接收优先级 19.5.4 时间标记 19.6 信息接收过滤器与屏蔽器 19.7 波特率设定 19.7.1 时间当量 19.7.2 同步时间段 19.7.3 传输时间段 19.7.4 相位缓冲时间段 19.7.5 采样点 19.7.6 信息处理时间 19.8 同步 19.8.1 硬同步 19.8.2 重同步 19.8.3 同步规则 19.9 时间段编程 19.10 振荡器误差 19.11 位时间配置寄存器 19.11.1 BRGCON1 19.11.2 BRGCON2 19.11.3 BRGCON3 19.12 错误检 19.12.1 CRC错误 19.12.2 应答错误 19.12.3 格式错误 19.12.4 位错误 19.12.5 填充位错误 19.12.6 错误状4 19.12.7 错误方式和错误计数器 19.13 CAN中断 19.13.1 中断编码位 19.13.2 发送中断 19.13.3 接收中断 19.13.4 信息错误中断 19.13.5 总线活动唤醒中断 19.13.6 错误中断 19.13.7 中断应答 19.14 CAN总线应用接口硬件电路 19.15 CAN总线应用汇编语言编程 19.16 CAN总线应用C语言编程 第20章 10位A/D转换器模块 20.1 对A/D数据采集的要求 20.2 A/D转换时钟的选择 20.3 模拟通道输入引脚的配置 20.4 A/D转换 20.5 ECCP触发器的使用 20.6 A/D转换器应用接口硬件电路 20.7 A/D转换器应用的汇编语言编程 20.8 A/D转换器应用的C语言编程 第21章 比较模块 21.1 比较器的配置 21.2 比较器的工作 21.3 比较器的参考 21.3.1 外部参考信号 21.3.2 内部参考信号 21.4 比较器的响应时间 21.5 比较器的输出 21.6 比较器的中断 21.7 休眠期间比较器的运行 21.8 复位的影响 21.9 模拟输入接入的注意事项 第22章 比较器参考电压源 22.1 比较器参考电压源的配置 22.2 参考电压源的准确度和误差 22.3 休眠期间的运行 22.4 复位的影响 22.5 引脚对外连接的注意事项 第23章 低电压检测 23.1 控制寄存器 23.2 工作 23.2.1 参考电压设置点 23.2.2 电流消耗 23.3 休眠期间的工作 23.4 复位的影响 第24章 CPU的特殊功能 24.1 配置位 24.2 监视定时器(WDT) 24.2.1 WDTCON控制寄存器 24.2.2 WDT后分频器 24.3 休眠方式 24.3.1 从休眠状态到唤醒状态 24.3.2 中断唤醒应用 24.4 程序校验和代码保护 24.4.1 程序存储器代码保护 24.4.2 数据存储器EEPROM的代码保护 24.4.3 系统配置寄存器的保护 24.5 标识码存储单元 24.6 在线串行编程 24.7 在线调试器 24.8 低电压ICSP编程 24.9 程序监视定时器汇编语言编程 24.10 程序监视定时器C语言编程 24.11 休眠唤醒功能汇编语言编程 24.12 休眠唤醒功能C语言编程 第25章 指令系统概述 25.1 读—修改—写操作 25.2 指令说明 第26章 PIC18Fxx8单片机实验板介绍 26.1 模板功能介绍 26.1.1 A/D转换功能 26.1.2 键盘 26.1.3 LED显示 26.1.4 液晶显示器(LCD)显示 26.1.5 8路开关量输入和8路开关量输出 26.1.6 D/A输出 26.1.7 串行通信接口SCI 26.1.8 主/从单片机多机并行通信 26.1.9 捕捉方式和PWM方式 26.1.10 多种复位方式 26.1.11 时钟信号 26.1.12 其他功能 26.2 实验板的硬件布局 26.3 测试点及主要器件介绍 第27章 液晶显示器应用编程 27.1 PIC18Fxx8与MCG12864A83的硬件接口电路 27.1.1 MCG12864A83的结构特点 27.1.2 MCG12864A83模块的引脚说明 27.1.3 PIC18F458与MGLS12864模块的接口电路 27.2 液晶显示程序清单 27.2.1 液晶显示器汇编语言接口程序 27.2.2 液晶显示器C语言接口程 附录
|