Microchip PIC系列单片机原理、应用与开发[按需印刷]
内容简介
书籍 计算机书籍
本书介绍了美国Microchip公司的PIC系列微控制器(单片机)的开发应用概况及其源程序的建立和汇编过程,并以PIC16C系列产品为主介绍了芯片的系统结构及其工作原理;片内各种丰富的部件和资源的使用方法;芯片的指令系统和汇编语言程序设计技术及实例;提供了常用的运算子程序。
本书内容全面而实用,语言逻辑性强,通俗流畅,易学易懂,是单片机开发者和初步具备电子技术基础和计算机知识基础的初学者的很好的参考书,也可作为大学相关专业研究生、本科、专科、中专各种单片机应用毕业设计的参考用书以及培训班的教材。
目录
第1章 PIC系列微控制器系统结构和工作原理
1.1 概述
1.1.1 PIC系列微控制器硬件结构特点
1.1.2 PIC系列微控制器技术性能特点
1.1.3 PIC系列微控制器系统结构
1.1.4 特殊功能部件
1.1.5 振荡器配置方法
1.2 PIC系列微控制器
1.2.1 型号选择指南
1.2.2 PIC 12C5XX/12CE5XX8微控制器简介
1.2.3 PIC16C5X8位微控制器简介
1.2.4 PIC16F8X8位微控制器简介
1.2.5 PIC16CXX中级8位微控制器简介
1.2.6 PIC17CXX高级8位微控制器简介
第2章 PIC系列微控制器指令系统
2.1 概述
2.1.1 PIC源程序的格式和建立
2.1.2 寻址方式
2.2 PIC系列微控制器的指令系统
2.2.1 PIC汇编语言指令格式
2.2.2 清零指令
2.2.3 面向字节、常数与控制操作的指令
2.2.4 直观助记符
第3章 PIC12CSXX系列微控制器
3.1 PIC12C5XX功能原理
3.1.1 功能特点
3.1.2 型号及引脚介绍
3.1.3 PIC12C5XX内部结构
3.1.4 指令周期和流水作业
3.1.5 程序存储器和堆栈
3.1.6 数据存储器
3.1.7 I/O口
3.1.8 定时器/计数器TIMERO
3.1.9 预分频器
3.1.10 看门狗WDT
3.1.11 振荡
3.1.12 复位
3.2 PIC12C5XX 指令集及程序设计技巧
3.2.1 PIC12C5XX指令概述
3.2.2 PIC12C5XX指令寻址方式
3.2.3 面向字节操作类指令
3.2.4 面向位操作类指令
3.2.5 常数和控制操作类指令
3.2.6 PIC12C5XX程序设计基础
第4章 PIC16C5X系列微控制器
4.1 PICl6C5X 硬件结构
4.1.1 PIC16C5X主要功能特点
4.1.2 PIC16C5X型号及引脚介绍
4.1.3 PIC16C5X内部结构
4.1.4 程序存储器及堆栈
4.1.5 数据存储器
4.1.6 预分频器
4.1.7 看门狗WDT
4.1.8 I/O口结构
4.1.9 振荡电路
4.1.10 复位
4.1.11 低功耗模式
4.1.12 系统定义字
4.2 PIC16C5X指令集及程序设计技巧
4.2.1 PIC165X指令概述
4.2.2 PIC16C5X指令寻址方式
4.2.3 面向字节操作类指令
4.2.4 面向位操作指令
4.2.5 常数和控制操作类指令
4.2.6 特殊指令助记符
4.2.7 PIC16C5X程序设计基础
第5章 PIC16C6X系列微控制器
5.1 主要功能特点
5.1.1 高性能RISC结构CPU
5.1.2 功能部件特性
5.1.3 微控制器特性
5.1.4 CMOS工艺特性
5.2 芯片类型
5.3 引脚介绍
5.4 内部结构
5.5 指令时序和流水作业
5.6 程序存储器和堆栈
5.7 数据寄存器
5.7.1 通用数据寄存器
5.7.2 专用功能寄存器
5.8 I/O口
5.8.1 PORTA和TRISA
5.8.2 PORTB和TRISB
5.8.3 PORTC和TRISC
5.8.4 PORTD和TRISD
5.8.5 PORTE和TRISE
5.8.6 I/O编程注意事项
5.8.7 并行口
5.9 定时器/计数器
5.9.1 TIMER0定时器/计数器
5.9.2 TIMER1定时器/计数器
5.9.3 TIMER2定时器
5.10 CCP模块
5.10.1 捕捉模式
5.10.2 比较模式
5.10.3 脉宽调制模式
5.11 同步串行口模块
5.11.1 SPI模式
5.11.2 I C模式
5.12 串行通信接口(SCI)模块
5.12.1 SCI波特率产生器
5.12.2 采样
5.12.3 SCI异步方式
5.12.4 SCI同步主控模式
5.12.5 SCI同步从属模式
5.13 CPU的特性
5.13.1 系统定义字
5.13.2 振荡
5.13.3 复位
5.13.4 中断
5.13.5 看门狗
5.13.6 睡眠
5.13.7 程序保密位
5.13.8 用户识别码
第6章 PIC16C7X微控制器
6.1 主要功能特点
6.1.1 高性能RISC结构CPU
6.1.2 功能部件特性
6.1.3 微控制器特性
6.1.4 CMOS工艺特性
6.2 引脚介绍
6.3 内部结构及指令时序
6.4 程序存储器和堆栈
6.5 数据寄存器
6.5.1 寄存器结构
6.5.2 中断控制寄存器INTCON
6.5.3 寄存器PIE1
6.5.4 寄存器PIR1
6.5.5 寄存器PCON
6.5.6 寄存器PIE2和PIR2
6.6 I/O口
6.6.1 PORTA和TRISA寄存器
6.6.2 PORTE和TRISE
6.7 定时器/计数器及看门狗WDT
6.8 CCP模块
6.9 同步串行口模块及串行通信接口
6.10 A/D转换
6.10.1 A/D采样
6.10.2 A/D转换时钟
6.10.3 设置A/D口
6.10.4 A/D转换例程
6.10.5 睡眠中的A/D转换
6.10.6 A/D精度和误差
6.10.7 复位对A/D的影响
6.10.8 CCP模块触发A/D转换
6.10.9 A/D电路连接
6.10.10 A/D传递函数及A/D转换流程
6.11 CPU特性
第7章 PIC16C8X微控制器
7.1 主要功能特点
7.1.1 高性能RISC结构CPU
7.1.2 功能部件
7.1.3 微控制器特性
7.1.4 CMOS工艺特性
7.2 芯片类型
7.3 引脚介绍
7.4 内部结构
7.5 指令时序
7.6 程序存储器和堆栈
7.7 数据存储器
7.8 E PROM数据存储器
7.8.1 数据寄存器EEDATA
7.8.2 地址寄存器EEADR
7.8.3 控制寄存器EECON1和EECON2
7.8.4 E PROM读操作
7.8.5 E PROM写操作
7.8.6 E PROM操作功耗
7.9 I/O口
7.10 定时器/计数器
7.11 中断
7.12 CPU特性
第8章 PIC16F8X微控制器
8.1 概述
8.1.1 高性能RISC结构CPU
8.1. 2 功能部件
8.1. 3 微控制器特性
8.1.4 CMOS工艺特性
8.2 时钟和指令周期
8.3 存储器的结构
8.3.1 程序存储器的结构
8.3.2 数据存储器的结构
8.4 PCL和PCLATH
8.4.1 程序计数器
8.4.2 程序存储器的页
8.4.3 间接寻址INDF和FSR的作用
8.5 I/O端口
8.5.1 PORTA和TRISA寄存器
8.5.2 PORTB和TRISB寄存器
8.5.3 I/O编程的考虑
8.6 堆栈
8.7 计时器
8.8 数据E PROM存储器
8.9 CPU专门的特征
8.9.1 配置位
8.9.2 中断
8.9.3 复位
8.9.4 监视定时器WDT
第9章 PIC17CXX微控制器
9.1 PIC17CXX
9.1.1 性能特点
9.1.2 典型芯片
9.2 PIC17C7XX
9.2.1 高性能RISC结构CPU
9.2.2 功能部件特性
9.2.3 微控制器特性
9.2.4 CMOS工艺特性
第10章 PIC16CXX指令系统
10.1 PIC16CXX指令寻址方式
10.1.1 寄存器间接寻址
10.1.2 立即数寻址
10.1.3 直接寻址
10.1.4 位寻址
10.2 PIC16CXX指令详细介绍
10.3 特殊指令助记符
第11章 PIC16CXX程序设计范例
11.1 程序的基本格式
11.2 开发步骤流程
11.3 设计实例
11.3.1 RB口电平变化中断的几种情况
11.3.2 利用按键来唤醒CPU
11.3.3 A/D转换
11.3.4 4路A/D转换、4×4键盘矩阵、4位7段数码显示的电路
11.3.5 16CXX和24LC01的连接
11.3.6 16CXX和24LC65的连接
11.3.7 16CXX和93LC46的连接
11.3.8 16CXX SPI接口和93LCXX的连接
11.3.9 8位并行口的使用
11.3.10 CPP模式的应用例程
11.3.11 TMR1异步时钟方式下的应用
11.3.12 PIC16C84内部数据E PROM使用例程
第12章 PIC单片机常用运算子程序
12.1 定点算术运算程序
12.1.1 8×8位无符号数乘法
12.1.2 16×16位数加法和减法
12.1.3 16×16位数乘法
12.1.4 16/16位除法
12.2 浮点算术运算程序
12.2.1 浮点数表示方法
12.2.2 浮点数运算程序
12.3 BCD码转换和运算程序
12.3.1 BCD码到二进制数转换
12.3.2 二进制数到BCD码转换
12.3.3 BCD码加法和减法程序
12.4 开平方根程序
12.5 测试程序
12.5.1 8×8位无符号数乘法的测试程序
12.5.2 16×16位数加法和减法的测试程序
12.5.3 16×16位数乘法的测试程序
12.5.4 16/16位除法测试程序
12.5.5 浮点数运算程序测试程序
12.5.6 BCD码到二进制数转换测试程序
12.5.7 二进制数到BCD码转换测试程序
12.5.8 BCD码加法和减法程序测试程序
12.5.9 开平方根算法测试程序
12.6 PIC的4×4键盘子程序
第13章 宏汇编器MPASM
13.1 单片机开发中的基本问题
13.2 MPASM的特性及安装启动和运行操作
13.2.1 特性
13.2.2 安装
13.2.3 运行
13.2.4 基于Windows和MPLAB的MPASM汇编
13.2.5 设置MPLAB以运行MPASM
13.2.6 生成输出文件
13.2.7 疑难解答
13.3 汇编语言格式
13.3.1 标号
13.3.2 指令助记符
13.3.3 操作数
13.3.4 注释
13.4 宏指令
13.4.1 宏定义
13.4.2 宏调用
13.4.3 局部符号LOCAL
13.4.4 伪操作
13.5 伪指令
13.5.1 数据伪指令
13.5.2 列表伪指令
13.5.3 控制伪指令
13.5.4 宏定义伪指令
13.6 错误/警告信息
13.6.1 错误信息
13.6.2 警告信息
13.7 使用MPASM来汇编PIC12C5XX的问题
13.8 MPALC到MPASM的转换
13.9 标准头文件示例
13.9.1 PIC16C74的标准头文件
13.9.2 PIC17C42的标准头文件
第14章 Windows下微控制器源程序汇编和固化
14.1 Windows下PIC集成开发软件MPLAB
14.1.1 MPLAB的特性与安装运行
14.1.2 MPLAB的桌面与菜单命令
14.2 在MPLAB中建立PIC微控制器源程序
14.3 MPLAB中源程序文件被存入到指定的目录和装载
14.4 在MPLAB中创建项目
14.5 在MPLAB中PIC源程序的汇编
14.6 PIC微控制器源程序的固化和编程器
14.7 设置MPLAB以便使用MPLINK
14.8 PIC 16F84(或16C8C)实验板
参考文献
前言
在美国通常把能独立运行、具有完整计算机功能面向控制的芯片称作微控制器,Intel公司在其手册中则称作嵌入式控制器,而在我国习惯上称为单片机。据统计,相对于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。
在这众多的五彩缤纷的微控制器中,美国Microchip技术公司的PIC系列微控制器异军突起,独树一帜。它率先推出采用精简指令集计算机RISC(Reduced Instruction Set Computer)、哈佛(Harvard)双总线和两级指令流水线结构的高性能价格比的8位嵌入式控制器(Embedded Controller)。Microchip公司单片机的主要产品是PIC16C系列和PIC17C系列8位单片机,CPU采用RISC结构,分别仅有33、35、58条指令,采用Harvard双总线结构,2级流水线取指令方式,适用于用量大,档次低,价格敏感的产品。在办公自动化设备、消费电子产品、电讯通信、智能仪器仪表、汽车电子、金融电子、工业控制等不同领域都有广泛的应用,PIC系列单片机在世界单片机市场份额排名中逐年提高,发展非常迅速。之所以这样,是由于PIC具备如下优点:
(1)PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。
(2)精简指令使其运行速度快(每条指令最快可达160 ns),执行效率大为提高。
(3)价格低,小体积(8引脚),产品上市零等待(Zero time to market)。
(4)PIC有优越开发环境,低工作电压(最低工作电压可为3 V),低功耗(3V,32 kHz时15us),较大的输入输出直接驱动LED能力(灌电流可达25 mA)。
(5)其引脚具有抗瞬态变化能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。
(6)一次可编程OTP(One Time Programmable),安全的保密性。
(7)自带看门狗定时器,可以用来提高程序运行的可靠性。
(8)睡眠和低功耗模式。
Microchip公司推出了3个不同层次系列、几十种型号的产品来满足不同的产品设计需求,这3个系列微控制器的每一种型号的芯片都含有片内程序存储器,而且它们的指令系统向上兼容,用户可以根据需要选择具有各种不同外围接口功能、不同封装形式和不同电压范围的芯片;该公司还可以提供完整的可兼容的开发工具套件和世界范围的现场应用支持。所以这个系列的微控制器在市场上极具强劲的竞争力,在全球都可以看到PIC
微控制器从办公自动化设备、消费电子产品、电讯通信、智能仪器仪表到汽车电子、金融电子、工业控制等不同领域的广泛应用。
本书内容以Microchip公司采用精简指令集、哈佛双总线及两极指令流水线结构的产品PICl6C系列为主,以单片机的各种功能模块为线索,由浅入深逐步介绍了PIC16C系列单片机源程序的建立和汇编及其仿真调试技术与开发应用设计等内容,并且对PIC16F、PIC17C系列单片机也作了简明扼要的讲解。希望通过本书能为国内广大从事单片机开发和应用的工程技术人员的学习以及进一步提高提供一些帮助。
限于编者的水平,书中难免存在错误和不当之处,恳请读者批评指正。
作 者
2003年10月