注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络计算机组织与体系结构PIC微控制器技术及应用

PIC微控制器技术及应用

PIC微控制器技术及应用

定 价:¥88.00

作 者: (美)加西奥 等著,姜宁康,朱安定 译
出版社: 电子工业出版社
丛编项: 嵌入式技术与应用丛书
标 签: 计算机体系结构

购买这本书可以去


ISBN: 9787121083730 出版时间: 2009-04-01 包装: 平装
开本: 16开 页数: 616 字数:  

内容简介

  本书是一本PIC微控制器开发应用的Af]/提高级指导教材,它以美国Microchip(微芯)公司的PIC微控制器为例,详细介绍了PIC微控制器基础知识、基本应用开发,以及高级应用开发。全书共分为六部分。第一部分:PIC微控制器的历史背景、主要的产品系列、控制器内部架构、常用硬件电路的设计思想和方法。第二部分:PIC微控制器的汇编语言程序设计,如嵌入式系统开发的基本知识、汇编语言语法、仿真器的使用、硬件电路设计等。结合案例和典型PIC微控制器型号,详细介绍了嵌入式系统开发的常用技术要点。第三部分:PicBasic语言、PicBasic Pr0语言及针对PIC微控制器的程序设计。以循序渐进的方式逐渐引入PicBasic的语法、开发环境,借助大量的案例介绍了一些应用场景,如LED显不、LCD显示、电机驱动等。第四部分:如何利用MBasic来对PIC微控制器编程,着重介绍了MBasic编译器内部结构和一些实用性较强的技术,如系统引导原理、软,硬件消除开关抖动技术、光电隔离技术、步进电机和传感器控制技术、红外远程控制等。第五部分:如何利用最流行的C语言来开发较大型的嵌入式系统。同时,介绍了如何利用仿真逻辑分析仪进行时序分析、性能评估。另外,也介绍了代码检查、优化等实用技术。第六部分给出了本书涉及的案例项目的源代码。

作者简介

暂缺《PIC微控制器技术及应用》作者简介

图书目录

第1部分 PIC微控制器引言
第1章 PIC微控制器族
1.1 12位指令字长微控制器
1.2 14位指令字长微控制器
1.3 16位指令字长微控制器
1.4 PIC微控制器内部结构
1.4.1 程序存储器(闪存)
1.4.2 数据存储器(RAM)
1.4.3 寄存器文件映射和特殊功能寄存器
1.4.4 振荡器电路
1.4.5 复位电路
1.4.6 中断
1.4.7 配置字
1.4.8 I/O接口
第2章 16系列PIC微控制器和16F84A介绍
2.1 PIC16系列概述
2.1.1 引言
2.1.2 16F84A
2.1.3 升级注意
2.2 16F84A架构概览
2.2.1 状态寄存器
2.3 存储器技术回顾
2.3.1 静态RAM(SRAM)
2.3.2 EPROM(可擦除可编程只读存储器)
2.3.3 EEPROM(电可擦除可编程只读存储器)
2.3.4 闪存(Flash)
2.4 16F84A的存储器
2.4.1 16F84A的程序存储器
2.4.2 16F84A数据和特殊功能寄存器存储器(“RAM”)
2.4.3 配置字
2.4.4 EEPROM
2.5 时序相关的概念
2.5.1 时钟振荡器和指令周期
2.5.2 流水线
2.6 上电和复位
2.7 与AtmelAT89C2051比较
2.8 16F84A片内复位电路详述
2.9 小结
参考文献
第3章 并行端口、供电电源和时钟振荡器
3.1 并行输入/输出的目的
3.2 并行输入/输出的技术挑战
3.2.1 构建并行端口
3.2.2 端口电气特性
3.2.3 一些典型实例
3.3 连接到并行端口
3.3.1 开关
3.3.2 发光二极管LED
3.4 PIC16F84A的并行端口
3.4.1 16F84A的端口B
3.4.2 16F84A的端口A
3.4.3 端口输出特性
3.5 时钟振荡器
3.5.1 时钟振荡器种类
3.5.2 实际振荡器考虑
3.5.3 16F84A的时钟振荡器
3.6 供电
3.6.1 供电需求和供电源
3.6.2 16F84A工作条件
3.7 电子“Ping-Pong”游戏的硬件设计
3.8 小结
参考文献
第2部分 使用汇编语言对PIC微控制器编程
第4章 汇编语言引言
4.1 计算机程序能做什么、如何开发程序
4.1.1 编程的问题和汇编程序折中方案
4.1.2 汇编语言的编程过程
4.1.3 程序开发过程
4.2 PIC16系列指令集
4.2.1 PIC16系列ALU
4.2.2 PIC16系列指令集简介
4.3 汇编编译器和汇编程序格式
4.3.1 汇编编译器和Microchip公司的MPASMTM编译器介绍
4.3.2 汇编程序格式
4.3.3 汇编程序的伪指令
4.3.4 数制
4.4 创建简单的程序
4.4.1 一个简单的数据传输程序
4.5 选择开发环境
4.5.1 MPLAB介绍
4.5.2 MPLAB的组件
4.5.3 MPLAB文件结构
4.6 MPLAB开发环境介绍
4.6.1 创建一个项目
4.6.2 输入源代码
4.6.3 编译项目
4.7 仿真技术介绍
4.7.1 开始
4.7.2 生成端口输入信号
4.7.3 观察微控制器的特征
4.7.4 程序复位和运行
4.8 下载程序到微控制器
4.9 简单比较CISC指令集和RISC指令集
4.1 016系列指令集格式详述
4.1 1小结
参考文献
第5章 构建汇编语言程序
5.1 结构化程序设计的主要概念
5.1.1 流程图
5.1.2 状态图
5.2 流程控制——分支和子程序
5.2.1 条件分支和位操作
5.2.2 子程序和堆栈
5.3 产生时延和间隔
5.4 数据处理
5.4.1 间接寻址和文件选择寄存器(FileSelectRegister)
5.4.2 查找表(Look-UpTable)
5.4.3 有延时和查找表的程序示例
5.5 逻辑运算指令
5.6 算术运算指令和进位标志
5.6.1 使用add指令
5.6.2 使用subtract指令
5.6.3 一个算术运算程序例子
5.6.4 用间接寻址来保存斐波纳契数列
5.7 降低汇编程序的复杂度
5.7.1 包含文件
5.7.2 宏
5.7.3 MPLAB特殊指令
5.8 MPLAB仿真器的进一步使用
5.8.1 断点
5.8.2 跑表(Stopwatch)
5.8.3 跟踪(Trace)
5.9 “Ping-Pong”游戏程序
5.9.1 “Ping-Pong”游戏程序的结构
5.9.2 探索“Ping-Pong”游戏程序代码
5.1 0“Ping-Pong”游戏程序的仿真运行
5.1 0.1 定义输入触发
5.1 0.2 设置一个Watch窗口
5.1 0.3 单步执行
5.1 0.4 模拟(Animate)模式
5.1 0.5 执行(Run)
5.1 0.6 断点
5.1 0.7 跑表(Stopwatch)
5.1 0.8 跟踪(Trace)
5.1 0.9 调试整个程序
5.1 1其他图形化仿真器
5.1 2小结
参考文献
第6章 编程技术进阶
6.1 程序时序
6.1.1 流水线技术
6.1.2 执行时间
6.2 硬件计数器/定时器
6.2.1 使用TMR
6.2.2 计数器模式
6.2.3 定时器模式
6.2.4 TIM1定时器程序示例
6.2.5 时序问题
6.2.6 定时器进阶
6.3 中断
6.3.1 设置中断
6.3.2 中断执行
6.3.3 INT1中断程序
6.3.4 中断进阶
6.4 寄存器操作进阶
6.4.1 数据目的地
6.4.2 寄存器组的选择
6.4.3 文件寄存器间接寻址
6.4.4 EEPROM存储器
6.4.5 程序计数器高位寄存器,PCLATH
6.5 特殊功能
6.5.1 振荡器类型
6.5.2 上电定时器
6.5.3 看门狗定时器(WDT)
6.5.4 休眠模式
6.5.5 在线编程和调试
6.5.6 代码保护
6.5.7 配置字
6.6 程序数据表
6.7 汇编语言伪指令
6.7.1 控制处理器的伪指令
6.7.2 条件伪指令
6.7.3 列表伪指令
6.7.4 数据伪指令
6.7.5 宏指令
6.8 特殊指令
6.9 数字类型
6.10小结
第7章 硬件原型
7.1 硬件设计
7.2 硬件构建
7.2.1 印制电路板PCB
7.2.2 无焊面包板(Breadboard)
7.2.3 条状铜箔面包板(Stripboard)
7.3 演示试验板
7.3.1 硬件规格说明
7.3.2 硬件实现
7.3.3 实现
7.4 试验板上的应用程序
7.4.1 程序BUZZ
7.4.2 程序DICE
7.4.3 SCALE1程序
7.4.4 DIZI应用程序概述
7.5 小结
第8章 更多PIC应用和芯片
8.1 16F877应用
8.1.1 温度控制器系统
8.1.2 I/O分配
8.1.3 温度控制器电路图说明
8.1.4 硬件开发
8.1.5 温度控制器测试程序
8.1.6 修改应用
8.2 16F818应用
8.3 12F675应用
8.4 18F452应用
8.4.1 PICC语言编程
8.4.2 C语言编程的优点
8.5 小结
第9章 PIC12F50×系列(8引脚PIC微控制器)
9.1 与PIC16F54的差异
9.1.1 STATUS寄存器
9.1.2 OSCCAL寄存器
9.1.3 输入和输出
9.1.4 OPTION寄存器
9.1.5 TRIS寄存器
9.1.6 通用目的文件寄存器
9.1.7
9.1.8 配置位
9.2 项目案例——PIC骰子
9.2.1 随机数漫谈
第10章 以PIC12F675示例中级操作
10.1 内在差异
10.1.1 OPTION和WPU寄存器
10.1.2 TRISIO寄存器
10.1.3 校准内部振荡器
10.1.4 PCLATH——程序计数器的高位
10.1.5 其他的差异
10.2 中断
10.2.1 INTCON
10.2.2 中断服务程序
10.2.3 休眠状态下的中断
10.2.4 维护STATUS现场
10.2.5 新的程序模板
10.2.6 项目案例——问答比赛控制器
10.3 EEPROM
10.3.1 EECON
10.3.2 从EEPROM中读取数据
10.3.3 向EEPROM中写入数据
10.3.4 项目案例——电话卡
10.3.5 深入的EEPROM例子——音乐制造器
10.3.6 电源监视器
10.4 模拟-数字转换
10.4.1 ADCON
10.4.2 模拟选择寄存器ANSEL
10.4.3 A/D转换中断
10.4.4 项目案例——浴室监控
10.5 比较器模块
10.5.1 参考电压
10.5.2 比较器中断
10.5.3 比较器案例——太阳跟踪器
10.5.4 比较器案例——从一个引脚读多个按钮
10.6 本章 案例——智能花园灯
第11章 输入端口的使用
11.1 开关流程图
11.2 程序开发
11.2.1 程序是怎样执行的
11.2.2 程序执行的解释
11.3 扫描(多个输入端口)
11.4 开关扫描
11.5 控制应用——热电吹风控制器
第12章 键盘扫描
12.1 键盘处理案例
12.1.1 程序执行过程分析
12.1.2 扫描子程序
12.1.3 安全码
12.1.4 程序执行分析
12.1.5 消除抖动程序
12.1.6 扫描子程序
12.1.7 存储安全码
12.1.8 校验安全码
第13章 案例程序集
13.1 事件计数
13.1.1 计数电路的程序
13.1.2 执行过程分析
13.2 查找表
13.3 7段显示器
13.3.1 查找表工作原理
13.3.2 程序流程分析
13.3.3 测试
13.3.4 程序执行解释
13.4 数字大于255的处理
13.4.1 流程图说明
13.4.2 程序代码
13.4.3 程序执行分析
13.5 长时间间隔
13.5.1 流程图说明
13.5.2 5min延时代码
13.6 1小时的时延
13.6.1 延时1小时程序代码
第3部分 用PicBasic对PIC微控制器编程
第14章 PicBasic和PicBasicPro程序设计
14.1 PicBasic语言
14.1.1 PicBasic变量
14.1.2 PicBasic算术运算和逻辑运算
14.1.3 PicBasic程序流程控制命令
14.1.4 其他PicBasic命令
14.1.5 推荐的PicBasic程序结构
14.2 PicBasicPro语言
14.2.1 PicBasicPro变量
14.2.2 常量
14.2.3 注释
14.2.4 多语句行
14.2.5 包含Include
14.2.6 定义Define
14.2.7 行扩展
14.2.8 在PicBasicPro语言中访问端口和其他寄存器
14.2.9 算术运算符
14.2.1 0PicBasicPro命令
14.3 液晶显示器(LCD)接口和命令
14.3.1 并行接口LCD模块
14.3.2 串行接口LCD模块
14.4 中断
14.5 推荐的PicBasicPro程序结构
14.6 步进电机的应用
14.7 伺服电机的应用
第15章 简单的PIC项目
15.1 项目1——使一个LED闪烁
15.1.1 PBC代码
15.1.2 PBPro代码
15.1.3 小结
15.2 项目2——滚动点亮多个LED
15.2.1 PBC代码
15.2.2 PBPro代码
15.2.3 小结
15.3 项目3——驱动一个7段LED显示器
15.3.1 PBC代码
15.3.2 PBPro代码
15.3.3 小结
第16章 基于16F876的项目
16.1 项目4——访问PORTA(I/O)
16.1.1 PBC代码
16.1.2 PBPro代码
16.1.3 小结
16.2 项目5——模拟-数字转换
16.2.1 PBC代码
16.2.2 PBPro代码
16.2.3 小结
16.3 项目6——驱动一个伺服电机
16.3.1 PBC代码
16.3.2 PBPro代码
16.3.3 小结
第17章 通信
17.1 项目7——驱动LCD模块
17.1.1 PBC代码
17.1.2 PBPro代码
17.1.3 小结
17.2 项目8——串口通信
17.2.1 PBPro代码
17.2.2 小结
17.3 项目9——通过串口驱动LCD
17.3.1 PBC代码
17.3.2 PBPro代码
17.3.3 小结
第4部分 用MBasic对PIC微控制器编程
第18章 MBasic编译器和开发试验板
18.1 编译器软件包
18.1.1 编译器版本介绍
18.1.2 MBasic编译器
18.2 BASIC及其要点
18.3 开发用的试验板
18.4 程序设计风格
18.4.1 标准程序设计风格
18.4.2 常量、变量和子程序名称
18.5 电路的搭建及标准配置
18.5.1 PIC的选择
18.6 引脚、端口和I/O
18.6.1 输出模式
18.6.2 输入模式
18.6.3 引脚变量和地址
18.6.4 运行时和编程时的引脚定义
18.6.5 LVP编程引脚选择
18.6.6 弱上拉
18.7 伪代码和程序规划
18.8 编译器内部架构
18.8.1 编译器与解释器
参考文献
第19章 PIC引脚输出电气特性
19.1 PIC引脚内部架构
19.2 LED指示器
19.3 电感负载的开/关
19.4 低端开关
19.4.1 小型NPN开关
19.4.2 小型N-沟道MOSFET开关
19.4.3 大功率双极低端开关
19.4.4 大功率MOSFET低端开关
19.4.5 高端开关
19.4.6 大功率高端开关
19.5 隔离开关
19.5.1 继电器开关
19.5.2 4N25光隔离NPN开关
19.5.3 PS710A-1AAD/DC光隔离MOSFET管开关
19.6 高速开关——由PIC产生声音信号
参考文献
第20章 PIC引脚输入电气特性
20.1 引言
20.2 开关抖动和保持电流
20.3 硬件方法消除抖动
20.4 软件方法消除抖动
20.5 隔离开关
20.6 键盘矩阵信号读取
参考文献
第21章 步进电机
21.1 步进电机基础知识
21.1.1 简介
21.1.2 操作
21.1.3 单极与双极
21.1.4 步进电机的分类
21.1.5 识别步进电机
21.1.6 阅读一个步进电机的规格说明
21.1.7 运行模式
21.2 程序
参考文献
第22章 数字温度传感器和实时时钟
22.1 DS18B20温度传感器
22.1.1 “1-Wire”协议
22.1.2 读取一个“1-Wire”芯片的序列号
22.1.3 读取温度
22.2 读取同一“1-Wire”总线上多个传感器信号
22.3 DS1302实时时钟
22.4 日期、时间和温度控制的综合应用
22.4.1 上升沿还是下降沿
22.4.2 数据位的顺序
22.4.3 阅读数据手册
22.5 修改程序及电路的思考
参考文献
第23章 红外远程控制
23.1 通用编码标准
23.2 IR接收器
23.3 宽/窄脉冲的特性
23.4 REC-80控制器的解码
23.5 修改程序及电路的思考
参考文献
第5部分使用C语言对PIC微控制器编程
第24章 准备知识
24.1 内容计划
24.2 开发环境准备
24.3 编码
24.3.1 编译和链接
24.3.2 生成第一个项目
24.3.3 端口初始化
24.3.4 重新测试PORTA
24.3.5 测试PORTB
24.4 回顾
24.4.1 给汇编专家的提示
24.4.2 给PICMCU专家的提示
24.4.3 给C语言专家的提示
24.4.4 提示和技巧
参考书
参考资料链接
第25章 程序循环
25.1 内容计划
25.2 开发环境准备
25.3 编码
25.3.1 while循环
25.3.2 动态仿真
25.4 使用逻辑分析仪
25.5 项目评审
25.5.1 给汇编专家的提示
25.5.2 给PIC微控制器专家的提示
25.5.3 给C语言专家的提示
25.5.4 提示和技巧
参考书
参考资料链接
第26章 更多模式、更多程序循环技术
26.1 内容计划
26.2 开发环境准备
26.3 编码
26.3.1 do循环
26.3.2 变量声明
26.3.3 for循环
26.3.4 更多的循环示例
26.3.5 数组
26.3.6 一个新的示例
26.4 利用仿真逻辑分析仪进行测试
26.5 使用Explorer16试验板
26.6 项目评审
26.6.1 给汇编专家的提示
26.6.2 给C语言专家的提示
26.6.3 提示和技巧
参考书
参考资料链接
第27章 “NUMB3RS”
27.1 内容计划
27.2 开发环境准备
27.3 编码
27.3.1 优化
27.3.2 测试
27.3.3 分析long型数据
27.3.4 long整型数乘法注意事项
27.3.5 longlong类型数乘法
27.3.6 浮点型
27.4 给C语言编程专家的提示
27.5 性能分析
27.6 项目评审
27.6.1 给汇编专家的提示
27.6.2 给PIC微控制器专家的提示
27.6.3 提示和技巧
参考资料链接
第28章 中断
28.1 内容计划
28.2 开发环境准备
28.3 编码
28.3.1 中断嵌套
28.3.2 陷阱
28.3.3 一个中断程序模板与一个Timer1中断的子例程
28.3.4 一个使用Timer1的实际例子
28.3.5 测试Timer1中断
28.3.6 第二振荡器
28.3.7 实时时钟日历(RTCC)
28.4 多个中断源的管理
28.5 项目评审
28.5.1 给C语言专家的提示
28.5.2 给汇编语言专家的提示
28.5.3 给PIC微控制器专家的提示
28.5.4 技巧与提示
参考书
参考资料链接
第29章 浏览技术内幕
29.1 内容计划
29.2 开发环境准备
29.3 编码
29.3.1 内存空间分配
29.3.2 程序空间可见性
29.3.3 研究存储空间分配
29.3.4 查看MAP文件
29.3.5 指针
29.3.6 堆
29.3.7 MPLABC30存储器模型
29.4 回顾
29.4.1 给C语言专家的提示
29.4.2 给汇编语言专家的提示
29.4.3 给PIC微控制器专家的提示
29.4.4 提示和技巧
参考书
参考资料链接
第6部分附录
附录APIC16系列微控制器指令集
附录B电子“Ping-Pong”游戏的源代码
附录CDIZI-2试验板和“LOCK”应用程序
附录D程序M代码
附录E程序N代码
附录F程序O代码
附录G程序P代码
附录H程序Q代码
附录IPIC参考数据
附录J缩略字与词汇表

本目录推荐