
微信扫一扫,移动浏览光盘
简介
本书系统介绍PIC系列单片机、汇编和C语言编程方法以及项目开发应用过程,以应用实验和具体项目开发的方式全面阐述应用程序的编制过程。首先介绍了PIC系列单片机的分类、硬件结构、引脚定义和指令系统,以C18, PICC(包括PICCl8)编译器语法和应用为重点并通过应用实验方式详细地说明了C语言编译器的使用;然后阐述PIC10F,PICl2F系列单片机编程以及 PIC16F,PICl8F系列单片机中断、内核和外围模块编程并给出了相应的应用实验程序;最后以开发氮控仪表的硬件电路和相应软件为重点,具体说明项目的开发应用方法。
本书提供的实验电路和编程实例简洁、实用、易懂,读者可在工程实践中直接引用和扩展使用。本书所有源程序均在作者制作的实验板上调试通过,源程序见本书所附光盘。
本书通俗易懂,有非常强的实用性,以培养读者实际动手编程和开发应用能力,可供PIC单片机爱好者、高等院校相关专业师生以及从事PIC单片机项目开发制作的工程技术人员阅读和参考。本书系统介绍PIC系列单片机、汇编和C语言编程方法以及项目开发应用过程,以应用实验和具体项目开发的方式全面阐述应用程序的编制过程。首先介绍了PIC系列单片机的分类、硬件结构、引脚定义和指令系统,以C18, PICC(包括PICCl8)编译器语法和应用为重点并通过应用实验方式详细地说明了C语言编译器的使用;然后阐述PIC10F,PICl2F系列单片机编程以及 PIC16F,PICl8F系列单片机中断、内核和外围模块编程并给出了相应的应用实验程序;最后以开发氮控仪表的硬件电路和相应软件为重点,具体说明项目的开发应用方法。
本书提供的实验电路和编程实例简洁、实用、易懂,读者可在工程实践中直接引用和扩展使用。本书所有源程序均在作者制作的实验板上调试通过,源程序见本书所附光盘。
本书通俗易懂,有非常强的实用性,以培养读者实际动手编程和开发应用能力,可供PIC单片机爱好者、高等院校相关专业师生以及从事PIC单片机项目开发制作的工程技术人员阅读和参考。
目录
书名页
版权页
前言页
目录页
第1章 PIC系列单片机的硬件结构及其指令系统
1.1 PIC系列单片机概述
1.1.1 PIC10F系列单片机
1.1.2 PIC12F系列单片机
1.1.3 PIC16F系列单片机
1.1.4 PIC18F系列单片机
1.1.5 PIC24F,PIC24H系列单片机
1.1.6 dsPIC30F,dsPIC33F系列数字信号控制器
1.2 PIC系列单片机的硬件结构和引脚定义
1.2.1 PIC10F系列单片机的硬件结构
1.2.2 PIC10F系列单片机的引脚定义
1.2.3 PIC12F系列单片机的硬件结构
1.2.4 PIC12F系列单片机的引脚定义
1.2.5 PIC16F系列单片机的硬件结构
1.2.6 PIC16F系列单片机的引脚定义
1.2.7 PIC18F系列单片机的硬件结构
1.2.8 PIC18F系列单片机的引脚定义
1.2.9 PIC24F,PIC24H系列单片机的硬件结构
1.2.10 PIC24F,PIC24H系列单片机的引脚定义
1.3 PIC系列单片机的指令系统
1.3.1 基本级指令系统
1.3.2 中级指令系统
1.3.3 高级指令系统
1.4 PIC系列单片机的汇编器MPASM
1.4.1 MPASM的安装与运行
1.4.2 MPASM的语法和运算符
1.4.3 MPASM的伪指令
1.4.4 MPASM的宏指令
1.4.5 汇编语言程序模板
第2章 C18编译器的语法
2.1 概述
2.2 数据类型及数值范围
2.2.1 整型
2.2.2 浮点型
2.3 存储类别和存储限定符
2.3.1 存储类别
2.3.2 存储限定符
2.4 包含文件搜索路径和预定义宏名
2.4.1 包含文件搜索路径
2.4.2 预定义宏名
2.5 C18与ISO的差异
2.6 匿名结构和行内汇编
2.6.1 匿名结构
2.6.2 行内汇编
2.7 pragma伪指令
2.7.1 #pragma sectiontype伪指令
2.7.2 #pragma interruptlow fname和#pragma interrt fname伪指令
2.7.3 #pragma varlocate bank variable-name和#praamavarlocate“section—name”variable name伪指令
2.7.4 #pragma romdata config配置位定义伪指令
2.8 处理器的标志头文件
2.9 寄存器定义文件
第3章 C18编译器的运行原理和优化
3.1 存储模型
3.2 调用约定
3.2.1 返回值
3.2.2 管理软件堆栈
3.2.3 C语言与汇编语言混合编程
3.3 启动代码
3.3.1 默认操作
3.3.2 定制
3.4 编译器管理的资源
3.5 编译器优化
3.5.1 合并相同的字符串优化(-命令行选项:-Om+/-Om-)
3.5.2 转移优化(-命令行选项:-Ob+/-Ob-)
3.5.3 存储区选择优化(-命令行选项:-On+/-On-)
3.5.4 W寄存器内容跟踪优化(-命令行选项:-Ow+/-Ow-)
3.5.5 代码排序优化(-命令行选项:-Os+/-Os-)
3.5.6 尾部合并优化(-命令行选项:-Ot+/-Ot-)
3.5.7 删除执行不到的代码优化(-命令行选项:-Ou+/-Ou-)
3.5.8 复制传递优化(-命令行选项:-Op+/-Op-)
3.5.9 冗余存储删除优化(-命令行选项:-Or+/-Or-)
3.5.10 删除死代码优化(-命令行选项:-Od+/-Od-)
3.5.11 过程抽象优化(-命令行选项:-Opa+/-Opa-)
第4章 PICC,PICC18编译器的语法
4.1 数据类型
4.1.1 数的进制及常数
4.1.2 位数据类型
4.1.3 可位寻址寄存器
4.1.4 整型数据
4.1.5 浮点数
4.2 位指令
4.3 绝对变量
4.4 结构体和联合体
4.4.1 结构体
4.4.2 联合体
4.5 字符串
4.6 常数和可变类型变量
4.7 局部变量和全局变量
4.7.1 自动变量
4.7.2 静态变量
4.7.3 全局变量
4.8 特殊类型限定词
4.8.1 persistent类型限定词
4.8.2 bank1,bank2,bank3类型限定词
4.9 指针
4.9.1 常数指针
4.9.2 基本级系列单片机指针
4.9.3 中级、高级系列单片机指针
4.9.4 类型限定词和指针的结合
4.10 函数
4.10.1 函数参数传递
4.10.2 函数返回值
4.10.3 函数调用规则
4.10.4 库函数
4.11 C中断函数
4.11.1 中级系列单片机C中断函数
4.11.2 高级系列单片机C中断函数
4.11.3 中断现场保护和恢复
4.11.4 中断等级
4.11.5 中断使能
4.12 pragma伪指令
4.12.1 #pragma jis,#pragma nojis和Printf_chec伪指令
4.12.2 #pragma psect伪指令
4.12.3 #pragma regsused伪指令
4.13 C语言和汇编语言混合编程
4.13.1 外部汇编函数
4.13.2 在汇编语言程序内访问C变量
4.13.3 #asm,#endasm,asm(“”)指令
4.14 特殊区域值
4.14.1 定义工作配置字
4.14.2 定义芯片标记单元
4.15 程序链接
第5章 PIC10F系列单片机的程序设计
5.1 程序存储器
5.2 数据存储器
5.2.1 通用寄存器文件
5.2.2 特殊功能寄存器
5.2.3 状态寄存器
5.2.4 OPTION寄存器
5.2.5 OSCCAL寄存器
5.3 程序计数器和堆栈
5.4 寻址方式
5.5 I/O端口
5.6 TIMER0定时器模块
5.7 比较器模块
5.8 CPU特性
5.9 PIC10F系列单片机的程序模板和编程
第6章 PIC12F系列单片机的程序设计
6.1 程序存储器
6.2 数据存储器
6.2.1 状态寄存器
6.2.2 OPTION寄存器
6.2.3 INTCON寄存器
6.2.4 PIE1寄存器
6.2.5 PIR1寄存器
6.2.6 PCON寄存器
6.2.7 OSCCAL寄存器
6.3 PCL和PCLATH
6.4 寻址方式
6.5 I/O端口
6.6 TIMER0定时器模块
6.7 TIMER1定时器模块
6.8 比较器模块
6.9 模数转换器
6.10 EEPROM数据存储器
6.11 CPU特性
6.12 中断
6.13 PIC12F系列单片机的程序模板和编程
第7章 PIC16F系列单片机中断系统编程
7.1 外部引脚沿跳变和电平变化中断编程
7.1.1 外部引脚沿跳变中断
7.1.2 外部引脚电平变化中断
7.2 定时器计数溢出中断编程
7.2.1 TMR0计数溢出中断编程
7.2.2 TMR1计数溢出中断编程
7.2.3 TMR2计数溢出中断编程
7.3 CCP模块中断编程
7.3.1 CCP模块捕捉中断
7.3.2 CCP模块比较中断
7.4 A/D转换中断编程
7.5 异步串行通信接收发送中断编程
7.5.1 接收中断
7.5.2 发送中断
7.6 EEPROM写入完成中断编程
第8章 PIC16F系列单片机内核和外围模块编程
8.1 CPU特殊功能编程
8.2 低电压检测编程
8.3 输入/输出端口编程
8.3.1 RA口
8.3.2 RB,RC,RD和RE端口
8.4 定时器编程
8.4.1 TMR0
8.4.2 TMR1
8.4.3 TMR2
8.5 CCP模块编程
8.5.1 捕捉
8.5.2 比较
8.5.3 PWM
8.6 主同步串行口和异步串行口通信编程
8.6.1 主同步串行口
8.6.2 异步串行口通信
8.7 A/D转换编程
第9章 PIC18F系列单片机中断系统编程
9.1 外部引脚沿跳变和电平变化中断编程
9.1.1 外部引脚沿跳变中断
9.1.2 外部引脚电平变化中断
9.2 定时器计数溢出中断
9.2.1 TMR0计数溢出中断
9.2.2 TMR1计数溢出中断
9.2.3 TMR2计数溢出中断
9.2.4 TMR3计数溢出中断
9.3 CCP模块中断编程
9.3.1 CCP模块捕捉中断
9.3.2 CCP模块比较中断
9.3.3 增强型CCP模块捕捉/比较中断
9.4 A/D转换中断编程
9.5 异步串行通信接收发送中断编程
9.5.1 接收中断
9.5.2 发送中断
9.6 EEPROM写入完成中断编程
第10章 PIC18F系列单片机内核和外围模块编程
10.1 CPU特殊功能编程
10.2 低电压检测编程
10.3 输入输出端口编程
10.3.1 RA端口
10.3.2 RB端口、RC端口、RD端口
10.3.3 其他端口
10.4 定时器编程
10.4.1 TMR
10.4.2 TMR1
10.4.3 TMR2
10.4.4 TMR3
10.5 CCP模块编程
10.5.1 捕捉
10.5.2 比较
10.5.3 PWM
10.5.4 增强型CCP模块
10.6 主同步串行口和异步串行口通信编程
10.6.1 主同步串行口
10.6.2 异步串行口通信
10.7 A/D转换编程
10.8 液晶显示器编程
第11章 氮控仪的硬件组成和电路原理
11.1 渗氮工艺过程概述
11.1.1 渗氮工艺过程
11.1.2 系统功能
11.1.3 系统结构框图
11.2 氮控仪
11.2.1 氮控仪的功能和技术数据
11.2.2 氮控仪结构特点
11.2.3 硬件电路组成及工作原理
11.2.4 主要元器件选择和样机制作
11.2.5 氮控仪原理图
第12章 氮控仪的软件设计
12.1 主程序的功能和流程图
12.1.1 主程序框图
12.1.2 主程序
12.2 主要功能函数
12.2.1 键盘扫描函数
12.2.2 液晶显示函数
12.2.3 24C01读写函数
12.2.4 A/D转换和标度转换函数
12.2.5 通信函数
12.2.6 其他实用程序
12.3 完整的按键扫描、显示和EEPROM读写程序
附录A PIC系列单片机开发工具
附录B 实验板电路图
附录C 配套光盘内容简介
参考文献
版权页
前言页
目录页
第1章 PIC系列单片机的硬件结构及其指令系统
1.1 PIC系列单片机概述
1.1.1 PIC10F系列单片机
1.1.2 PIC12F系列单片机
1.1.3 PIC16F系列单片机
1.1.4 PIC18F系列单片机
1.1.5 PIC24F,PIC24H系列单片机
1.1.6 dsPIC30F,dsPIC33F系列数字信号控制器
1.2 PIC系列单片机的硬件结构和引脚定义
1.2.1 PIC10F系列单片机的硬件结构
1.2.2 PIC10F系列单片机的引脚定义
1.2.3 PIC12F系列单片机的硬件结构
1.2.4 PIC12F系列单片机的引脚定义
1.2.5 PIC16F系列单片机的硬件结构
1.2.6 PIC16F系列单片机的引脚定义
1.2.7 PIC18F系列单片机的硬件结构
1.2.8 PIC18F系列单片机的引脚定义
1.2.9 PIC24F,PIC24H系列单片机的硬件结构
1.2.10 PIC24F,PIC24H系列单片机的引脚定义
1.3 PIC系列单片机的指令系统
1.3.1 基本级指令系统
1.3.2 中级指令系统
1.3.3 高级指令系统
1.4 PIC系列单片机的汇编器MPASM
1.4.1 MPASM的安装与运行
1.4.2 MPASM的语法和运算符
1.4.3 MPASM的伪指令
1.4.4 MPASM的宏指令
1.4.5 汇编语言程序模板
第2章 C18编译器的语法
2.1 概述
2.2 数据类型及数值范围
2.2.1 整型
2.2.2 浮点型
2.3 存储类别和存储限定符
2.3.1 存储类别
2.3.2 存储限定符
2.4 包含文件搜索路径和预定义宏名
2.4.1 包含文件搜索路径
2.4.2 预定义宏名
2.5 C18与ISO的差异
2.6 匿名结构和行内汇编
2.6.1 匿名结构
2.6.2 行内汇编
2.7 pragma伪指令
2.7.1 #pragma sectiontype伪指令
2.7.2 #pragma interruptlow fname和#pragma interrt fname伪指令
2.7.3 #pragma varlocate bank variable-name和#praamavarlocate“section—name”variable name伪指令
2.7.4 #pragma romdata config配置位定义伪指令
2.8 处理器的标志头文件
2.9 寄存器定义文件
第3章 C18编译器的运行原理和优化
3.1 存储模型
3.2 调用约定
3.2.1 返回值
3.2.2 管理软件堆栈
3.2.3 C语言与汇编语言混合编程
3.3 启动代码
3.3.1 默认操作
3.3.2 定制
3.4 编译器管理的资源
3.5 编译器优化
3.5.1 合并相同的字符串优化(-命令行选项:-Om+/-Om-)
3.5.2 转移优化(-命令行选项:-Ob+/-Ob-)
3.5.3 存储区选择优化(-命令行选项:-On+/-On-)
3.5.4 W寄存器内容跟踪优化(-命令行选项:-Ow+/-Ow-)
3.5.5 代码排序优化(-命令行选项:-Os+/-Os-)
3.5.6 尾部合并优化(-命令行选项:-Ot+/-Ot-)
3.5.7 删除执行不到的代码优化(-命令行选项:-Ou+/-Ou-)
3.5.8 复制传递优化(-命令行选项:-Op+/-Op-)
3.5.9 冗余存储删除优化(-命令行选项:-Or+/-Or-)
3.5.10 删除死代码优化(-命令行选项:-Od+/-Od-)
3.5.11 过程抽象优化(-命令行选项:-Opa+/-Opa-)
第4章 PICC,PICC18编译器的语法
4.1 数据类型
4.1.1 数的进制及常数
4.1.2 位数据类型
4.1.3 可位寻址寄存器
4.1.4 整型数据
4.1.5 浮点数
4.2 位指令
4.3 绝对变量
4.4 结构体和联合体
4.4.1 结构体
4.4.2 联合体
4.5 字符串
4.6 常数和可变类型变量
4.7 局部变量和全局变量
4.7.1 自动变量
4.7.2 静态变量
4.7.3 全局变量
4.8 特殊类型限定词
4.8.1 persistent类型限定词
4.8.2 bank1,bank2,bank3类型限定词
4.9 指针
4.9.1 常数指针
4.9.2 基本级系列单片机指针
4.9.3 中级、高级系列单片机指针
4.9.4 类型限定词和指针的结合
4.10 函数
4.10.1 函数参数传递
4.10.2 函数返回值
4.10.3 函数调用规则
4.10.4 库函数
4.11 C中断函数
4.11.1 中级系列单片机C中断函数
4.11.2 高级系列单片机C中断函数
4.11.3 中断现场保护和恢复
4.11.4 中断等级
4.11.5 中断使能
4.12 pragma伪指令
4.12.1 #pragma jis,#pragma nojis和Printf_chec伪指令
4.12.2 #pragma psect伪指令
4.12.3 #pragma regsused伪指令
4.13 C语言和汇编语言混合编程
4.13.1 外部汇编函数
4.13.2 在汇编语言程序内访问C变量
4.13.3 #asm,#endasm,asm(“”)指令
4.14 特殊区域值
4.14.1 定义工作配置字
4.14.2 定义芯片标记单元
4.15 程序链接
第5章 PIC10F系列单片机的程序设计
5.1 程序存储器
5.2 数据存储器
5.2.1 通用寄存器文件
5.2.2 特殊功能寄存器
5.2.3 状态寄存器
5.2.4 OPTION寄存器
5.2.5 OSCCAL寄存器
5.3 程序计数器和堆栈
5.4 寻址方式
5.5 I/O端口
5.6 TIMER0定时器模块
5.7 比较器模块
5.8 CPU特性
5.9 PIC10F系列单片机的程序模板和编程
第6章 PIC12F系列单片机的程序设计
6.1 程序存储器
6.2 数据存储器
6.2.1 状态寄存器
6.2.2 OPTION寄存器
6.2.3 INTCON寄存器
6.2.4 PIE1寄存器
6.2.5 PIR1寄存器
6.2.6 PCON寄存器
6.2.7 OSCCAL寄存器
6.3 PCL和PCLATH
6.4 寻址方式
6.5 I/O端口
6.6 TIMER0定时器模块
6.7 TIMER1定时器模块
6.8 比较器模块
6.9 模数转换器
6.10 EEPROM数据存储器
6.11 CPU特性
6.12 中断
6.13 PIC12F系列单片机的程序模板和编程
第7章 PIC16F系列单片机中断系统编程
7.1 外部引脚沿跳变和电平变化中断编程
7.1.1 外部引脚沿跳变中断
7.1.2 外部引脚电平变化中断
7.2 定时器计数溢出中断编程
7.2.1 TMR0计数溢出中断编程
7.2.2 TMR1计数溢出中断编程
7.2.3 TMR2计数溢出中断编程
7.3 CCP模块中断编程
7.3.1 CCP模块捕捉中断
7.3.2 CCP模块比较中断
7.4 A/D转换中断编程
7.5 异步串行通信接收发送中断编程
7.5.1 接收中断
7.5.2 发送中断
7.6 EEPROM写入完成中断编程
第8章 PIC16F系列单片机内核和外围模块编程
8.1 CPU特殊功能编程
8.2 低电压检测编程
8.3 输入/输出端口编程
8.3.1 RA口
8.3.2 RB,RC,RD和RE端口
8.4 定时器编程
8.4.1 TMR0
8.4.2 TMR1
8.4.3 TMR2
8.5 CCP模块编程
8.5.1 捕捉
8.5.2 比较
8.5.3 PWM
8.6 主同步串行口和异步串行口通信编程
8.6.1 主同步串行口
8.6.2 异步串行口通信
8.7 A/D转换编程
第9章 PIC18F系列单片机中断系统编程
9.1 外部引脚沿跳变和电平变化中断编程
9.1.1 外部引脚沿跳变中断
9.1.2 外部引脚电平变化中断
9.2 定时器计数溢出中断
9.2.1 TMR0计数溢出中断
9.2.2 TMR1计数溢出中断
9.2.3 TMR2计数溢出中断
9.2.4 TMR3计数溢出中断
9.3 CCP模块中断编程
9.3.1 CCP模块捕捉中断
9.3.2 CCP模块比较中断
9.3.3 增强型CCP模块捕捉/比较中断
9.4 A/D转换中断编程
9.5 异步串行通信接收发送中断编程
9.5.1 接收中断
9.5.2 发送中断
9.6 EEPROM写入完成中断编程
第10章 PIC18F系列单片机内核和外围模块编程
10.1 CPU特殊功能编程
10.2 低电压检测编程
10.3 输入输出端口编程
10.3.1 RA端口
10.3.2 RB端口、RC端口、RD端口
10.3.3 其他端口
10.4 定时器编程
10.4.1 TMR
10.4.2 TMR1
10.4.3 TMR2
10.4.4 TMR3
10.5 CCP模块编程
10.5.1 捕捉
10.5.2 比较
10.5.3 PWM
10.5.4 增强型CCP模块
10.6 主同步串行口和异步串行口通信编程
10.6.1 主同步串行口
10.6.2 异步串行口通信
10.7 A/D转换编程
10.8 液晶显示器编程
第11章 氮控仪的硬件组成和电路原理
11.1 渗氮工艺过程概述
11.1.1 渗氮工艺过程
11.1.2 系统功能
11.1.3 系统结构框图
11.2 氮控仪
11.2.1 氮控仪的功能和技术数据
11.2.2 氮控仪结构特点
11.2.3 硬件电路组成及工作原理
11.2.4 主要元器件选择和样机制作
11.2.5 氮控仪原理图
第12章 氮控仪的软件设计
12.1 主程序的功能和流程图
12.1.1 主程序框图
12.1.2 主程序
12.2 主要功能函数
12.2.1 键盘扫描函数
12.2.2 液晶显示函数
12.2.3 24C01读写函数
12.2.4 A/D转换和标度转换函数
12.2.5 通信函数
12.2.6 其他实用程序
12.3 完整的按键扫描、显示和EEPROM读写程序
附录A PIC系列单片机开发工具
附录B 实验板电路图
附录C 配套光盘内容简介
参考文献
PIC系列单片机程序设计与开发应用
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!
