标题：PIC单片机入门与实战
基本信息
作者： 张明峰 [作译者介绍]  出版社：北京航空航天大学出版社
ISBN：7810775081
上架时间：2004-9-6
出版日期：2004 年9月
开本：16开
页码：428
版次：1-1
内容简介
从pic中档系列单片机的结构介绍人手，系统阐述pic单片机开发过程的最基本步骤；通过引入设计实例，深入浅出地介绍pic单片机的各主要功能模块。书中介绍的代码实例将以汇编指令为主，最后专门介绍pic单片机的c语言编程。读者对象主要是对pic单片机感兴趣的初学者或准备用pic单片机进行产品开发的工程师，对已经熟悉pic单片机开发的工程师也可以作为设计时的参考。
作者简介
张明峰 1989年毕业于原上海科技大学并获得电子工程学士学位。于1999年6月加入美国微芯科技股份有限公司后，一直从事现场技术指导和支持工作，现任主任工程师一职。在此之前主要在工业自动化控制领域从事软/硬件和系统方面的设计和项目管理。有近15年的嵌入式系统设计经验，从事或接触了大量不同领域的产品或系统设计。他还经常为一些杂志和专业技术研讨会撰写并发表文章。
目录
第1章 pic单片机的结构和指令系统
1．1 microchip单片机产品概述
1．2 pic中档单片机的基本特性
1．2．1 内核结构简述
1．2．2 指令流水线概念
1．2．3 寄存器文档概念
1．2．4 单字指令概念
1．3 pic中档系列单片机的指令集
1．3．1 字节操作指令详述
1．3．2 位操作指令详述
1．3．3 立即数操作指令详述
1．3．4 控制指令详述
1．4 pic单片机数据寄存器的寻址
1. 4．1 数据寄存器直接寻址
1．4．2 数据寄存器间接寻址
1．5 pic单片机程序空间的寻址问题
1．5．1 pic单片机程序空间的直接跳转
1．5．2 pic单片机程序空间的间接跳转
1．6 pic中档系列单片机的中断机制
1．6．1 中断响应时的人口地址(中断向量) 
第2章 PIC单片机的特色2.1 PIC单片机的工作时钟模式2.1.1 石英晶体或陶瓷谐振器振荡2.1.2 外部时钟2.1.3 外部RC振荡2.1.4 内部RC振荡2.1.5 振荡模式的确定2.2 PIC单片机的复位过程2.2.1 上电复位（POR）2.2.2 低电压检测复位（BOR或BOD）2.2.3 外部复位2.2.4 看门狗复位2.2.5 判别复位情形2.3 PIC单片机的低功耗休眠2.4 PIC单片机在线串行编程2.5 PIC单片机的芯片配置字第3章 PIC单片机的开发环境3.1 MPLAB?IDE的功能组成3.1.1 MPLAB?IDE综述3.1.2 MPLAB?IDE的安装3.1.3 MPLAB?IDE项目管理3.1.4 MPLAB?IDE源程序编辑3.2 汇编编译器MPASMTM及其汇编程序编写的基本规则3.2.1 汇编编译器MPASM简介3.2.2 MPASM的语法简要说明3.2.3 MPASM的伪指令3.2.4 MPASM内的直接运算符3.2.5 MPASM的宏指令3.2.6 程序模板3.2.7 IDE内MPASM编译环境的设定第4章 PIC单片机的开发工具4.1 软件模拟器MPLAB?SIM4.1.1 软件模拟器的安装和启动4.1.2 软件模拟器的程序运行控制方式4.1.3 断点的设定和取消4.1.4 光标控制程序运行4.1.5 软件模拟器的跑表功能4.1.6 运行结果的观察窗口4.1.7 模拟器的信号激励功能4.1.8 软件模拟器的局限4.2 在线调试器MPLAB?ICD24.2.1 ICD2的基本功能及其优缺点4.2.2 ICD2与计算机的连接方式4.2.3 ICD2与目标板的连线方式 4.2.4 ICD2和目标板的供电问题4.2.5 MPLAB?IDE环境下ICD2的启用4.2.6 用ICD2进行系统调试4.2.7 ICD2的辅助信息4.2.8 用ICD2让芯片独立工作4.3 硬件仿真器 MPLAB?ICE20004.3.1 ICE2000的基本功能4.3.2 ICE2000与计算机的连接4.3.3 ICE2000与目标板的连接4.3.4 启动ICE2000仿真器 4.3.5 ICE2000的基本调试功能4.3.6 ICE2000对代码执行的跟踪功能4.3.7 ICE2000高级触发功能4.3.8 ICE2000触发输入/输出同步功能4.3.9 ICE2000代码执行覆盖检查功能4.3.10 关于ICE2000的其他有用信息4.4 芯片编程烧写工具PICSTART?Plus和PROMATE?II4.4.1 PICSTART?Plus4.4.2 PROMATE?II4.5 第三方开发工具4.5.1 第三方仿真工具4.5.2 第三方编程工具第5章 PIC单片机的I/O口及其灵活应用5.1 PIC单片机I/O口的基本特性5.1.1 完全双向的I/O引脚5.1.2 端口输入/输出设定5.1.3 端口的读和写5.1.4 端口的输出驱动能力5.1.5 端口的“读—修改—写”问题5.1.6 引脚端口的ESD保护5.2 PIC单片机I/O口的设定方法5.3 PIC单片机PORTA端口5.3.1 PORTA的特点5.3.2 RA4的特殊性5.4 PIC单片机PORTB端口5.4.1 PORTB综述5.4.2 RB0/INT引脚的中断功能5.4.3 PORTB的RB7～RB4引脚状态变化中断5.5 PIC单片机PORTC端口5.6 PIC单片机PORTD和PORTE端口5.7 PIC单片机I/O引脚的应用技巧5.7.1 输入输出分时复用5.7.2 普通I/O引脚测电压值5.7.3 普通I/O引脚测电阻值 5.7.4 普通I/O引脚进行超限电压检测第6章 PIC单片机的定时器资源及其应用6.1 定时器TMR06.1.1 TMR0综述6.1.2 与TMR0相关的控制寄存器6.1.3 TMR0的运作6.1.4 TMR0中断6.1.5 TMR0用于外部脉冲计数6.1.6 TMR0的预分频器6.1.7 TMR0应用注意事项6.2 定时器TMR16.2.1 TMR1综述6.2.2 与TMR1相关的控制寄存器6.2.3 TMR1作为定时器6.2.4 TMR1作为同步计数器6.2.5 TMR1作为异步计数器6.2.6 TMR1的内部振荡器6.2.7 TMR1与CCP模块配合6.2.8 TMR1的具体应用6.3 定时器TMR26.3.1 TMR2综述6.3.2 与TMR2相关的控制寄存器6.3.3 TMR2的工作方式6.3.4 TMR2的应用第7章 PIC单片机的模/数转换模块及其使用7.1 PIC单片机片上ADC模块综述7.2 ADC相关控制寄存器介绍7.2.1 ADCON0控制寄存器7.2.2 ADCON1控制寄存器7.2.3 ADRES结果寄存器7.2.4 A/D转换中断相关的寄存器7.3 设定模拟信号输入引脚7.4 A/D转换过程说明7.5 被测输入信号的参数要求7.5.1 输入电压信号的幅度7.5.2 输入电压信号的内阻7.5.3 输入信号的抗混叠滤波7.6 输入信号的采样过程7.7 AD转换时钟的选择 7.8 参考电压的选取 7.9 休眠时进行A/D转换7.10 特殊事件触发进行A/D转换7.11 10/12位分辨率的ADC模块7.11.1 10/12位分辨率A/D模块的工作原理7.11.2 ADCON1寄存器的内容扩充7.11.3 A/D转换结果的格式问题7.11.4 参考电压的考虑7.11.5 采样时间的考虑7.12 8/14引脚单片机上的A/D模块7.12.1 8/14引脚单片机A/D模块综述7.12.2 ADCON0寄存器的变化7.12.3 ADCON1寄存器的变化7.12.4 ANSEL寄存器的引入7.12.5 其他注意事项7.13 A/D模块的应用技巧7.13.1 模拟/数字引脚分配时的问题7.13.2 合理实现采样时间7.13.3 转换结果的软件数字滤波方法第8章 PIC单片机的USART通信模块及其使用8.1 USART简介8.2 USART模块关键寄存器介绍8.2.1 TXSTA数据发送控制及状态寄存器8.2.2 RCSTA数据接收控制及状态寄存器8.2.3 SPBRG波特率控制寄存器8.2.4 相关的中断控制寄存器8.2.5 TXREG和RCREG寄存器8.3 USART波特率设定8.3.1 异步通信时的波特率设定8.3.2 同步通信时的波特率设定8.3.3 SPBRG寄存器的写效应8.4 USART模块的异步通信8.4.1 异步通信数据格式8.4.2 异步通信数据发送过程8.4.3 异步通信数据接收过程8.4.4 常用的异步通信的协议8.5 USART模块同步通信主模式8.5.1 同步通信主模式发送8.5.2 同步通信主模式接收8.6 USART模块同步通信从模式8.6.1 同步从模式数据发送8.6.2 同步从模式数据接收8.7 通信时的数据缓冲技巧8.7.1 接收环形FIFO缓冲队列8.7.2 发送缓冲队列8.8 通信数据的校验方法8.8.1 奇偶位校验8.8.2 累加和校验8.8.3 循环冗余校验（CRC）8.9 报文通信时的简单协议8.10 异步串行通信的波特率自适应技术探讨 8.10.1 标准波特率穷举法8.10.2 码元宽度实时检测法8.11 多机通信的寻址方式8.11.1 9位数据传输8.11.2 数据包传输8.12 软件实现异步串行通信8.12.1 三倍速采样法8.12.2 起始位中断捕捉定时采样法第9章 PIC单片机同步串行接口及其应用9.1 同步串行接口简介9.2 SSP接口模块控制寄存器9.2.1 SSPSTAT同步接口状态和控制寄存器9.2.2 SSPCON同步接口控制寄存器9.2.3 SSPBUF数据寄存器9.2.4 SSPADD地址寄存器9.2.5 SSPCON2同步接口控制寄存器29.2.6 与SSP相关的中断控制寄存器9.3 SSP模块的SPI通信方式9.3.1 使用SPI通信接口9.3.2 SPI通信引脚设置9.3.3 SPI通信时的连接方式9.3.4 SPI主模式通信9.3.5 SPI从模式通信9.3.6 SPI从模式选择控制通信9.3.7 SPI应用实例介绍9.4 SSP和MSSP模块的I2C模式9.4.1 I2C从模式9.4.2 MSSP模块的I2C主模式9.4.3 I2C通信程序范例9.4.4 I2C总线硬件处理9.5 软件实现同步串行通信9.5.1 软件实现SPI主模式通信9.5.2 软件实现I2C主模式通信第10章 PIC单片机的CCP模块及其应用10.1 CCP模块简介10.2 与CCP模块相关的控制寄存器10.3 CCP模块的输入捕捉模式10.3.1 CCPx引脚配置10.3.2 改变不同的捕捉模式10.3.3 脉冲沿捕捉时的预分频10.3.4 休眠时进行捕捉10.3.5 复位时的情形10.3.6 捕捉模式应用实例介绍10.4 CCP模块的比较输出模式10.4.1 比较模式下的CCPx引脚10.4.2 软件中断模式10.4.3 特殊事件触发10.4.4 休眠时的比较输出状态10.4.5 比较输出模式应用实例10.5 CCP模块的PWM模式10.5.1 PWM周期10.5.2 PWM占空比（高电平持续宽度）10.5.3 占空比调整的绝对分辨率10.5.4 PWM工作模式设定10.5.5 PWM应用实例第11章 PIC单片机的C语言编程11.1 PIC单片机C语言编程简介11.2 Hitech?PICC编译器11.3 MPLAB?IDE内挂接PICC11.4 PIC单片机的C语言源程序基本框架11.5 PICC中的变量定义11.5.1 PICC中的基本变量类型11.5.2 PICC中的高级变量11.5.3 PICC对数据寄存器bank的管理11.5.4 PICC中的局部变量11.5.5 PICC中的位变量11.5.6 PICC中的浮点数11.5.7 PICC中变量的绝对定位11.5.8 PICC的其他变量修饰关键词11.5.9 PICC中的指针11.6 PICC中的子程序和函数11.6.1 函数的代码长度限制11.6.2 调用层次的控制11.6.3 函数类型声明11.6.4 中断函数的实现11.6.5 标准库函数11.7 PICC定义特殊区域值11.7.1 定义工作配置字11.7.2 定义芯片标记单元11.8 MPLAB?IDE中实现PICC的编译选项设置11.8.1 选择单片机型号11.8.2 PICC普通编译选项（General）设定11.8.3 PICC全局选项设定（PICC Global）11.8.4 C编译器选项设定（PICC Compiler）11.8.5 连接器选项设定（PICC Linker）11.8.6 汇编器选项设定（PICC Assembler）11.9 C和汇编混合编程11.9.1 嵌入行内汇编的方法11.9.2 汇编指令寻址C语言定义的全局变量11.9.3 汇编指令寻址C函数的局部变量11.9.4 混合编程的一些经验后记参考文献