书籍详情
微控制器原理与应用
作者:(加)斯帕索夫(Spasov, P.)著;李小洪译
出版社:清华大学出版社
出版时间:2006-01-01
ISBN:9787302118008
定价:¥68.00
购买这本书可以去
内容简介
本书着重介绍微控制器的原理及其应用。全书共5部分。第1部分概述微控制器技术,第2部分介绍如何从编程者的角度进行开发。第3部分着重介绍总线概念和操作模式、硬件和时钟操作。第4部分侧重于几个主题:接口连接的概念、并行输入/输出、串行子系统、可编程定时器操作和模拟转换子系统。第5部分概述微控制器的应用控制软件、具体应用以及8位微控制器系列产品。最后提供8个很有参考价值的附录。 本书是为高等院校本科生、研究生编写的教材,同时也可供从事微控制器产品开发的工程技术人员和业余爱好者自学参考。
作者简介
Peter Spasov,加拿大安大略省弗来明大学应用计算和工程科学系教授。他具有丰富的教学和实践经验。多年来一直担任该校Applied Projects的协调人。他的主持并领导着CFI/OIT Applied Technologies for Healthy Aging Researdch和CITO Ubiquitous Location Tracking 项目。著作有Microcntroller Technology:The 68HC11和Programming for Technology Students Using Visual Basic。在进入大学任职之前,他是Gulf Canada公司的仪表工程师。Spasov教授喜欢徒步旅行、越野滑雪和划皮划艇。
目录
第1部分 介绍微控制器技术
第1章 微控制器原理
1.1 微控制器是什么,有什么用处
1.1.1 概况
1.1.2 术语和惯例
1.1.3 技术视角
1.1.4 特定视角
1.2 历史
1.2.1 早期的计算机
1.2.2 数字计算机
1.2.3 微处理器
1.2.4 微控制器
1.2.5 摩托罗拉MC68HCll
1.3 自上而下看微控制器系统
1.3.1 微控制器系
1.3.2 微控制器单元(MCU)
1.3.3 中央处理单元(CPU)
1.4 存储器概念
1.4.1 结构
1.4.2 半导体存储器
1.5 微控制器存储器分配图
第2部分 软件
第2章 编程
2.1 汇编语言和其他编程语言
2.2 源代码、目标代码和汇编编译器
2.2.1 机器语言
2.2.2 汇编语言
2.2.3 例子
2.2.4 手工汇编
2.2.5 仿真器
2.3 使用高级语言
2.3.1 一般概念
2.3.2 微控制器的c语言
2.4 中央处理单元(cPU)的读取/执行操作
2.5 指令集和寻址模式
2.5.1 指令集参考
2.5.2 指令的类型
2.5.3 寻址模式
2.5.4 前缀字节
2.5.5 固有寻址模式
2.5.6 列表和执行惯例
2.5.7 停止程序的执行
2.5.8 立即寻址模式
2.5.9 直接寻址和扩展寻址模式
2.5.10 变址寻址模式
2.5.11 存储器堆惯例
2.5.12 寻址模式复习
2.6 基本操作
2.6.1 数据处理
2.6.2 算术
2.6.3 逻辑
2.6.4 其他操作
2.6.5 C中的基本算术和逻辑操作
2.7 微控制器算术和条件代码寄存器
2.7.1 2的补码和符号位
2.7.2 进位、溢出、零和半进位
2.7.3 二进制编码的十进制数(BCD)算术
2.7.4 乘法
2.7.5 整数除法
2.7.6 小数除法
2.7.7 浮点数
2.8 用循环和分支控制程序流程
2.8.1 流程控制
2.8.2 条件分支
2.8.3 相对寻址
2.8.4 二级存储器访问指令
2.8.5 跳转指令
2.8.6 浮动程序
2.9 总结
练习题
第3章 堆栈、子程序、中断和复位
3.1 堆栈介绍
3.2 使用堆栈保存数据
3.3 使用子程序
3.4 利用子程序进行模块化编程
3.4.1 自上而下解决问题
3.4.2 子程序库
3.4.3 文件和使用子程序
3.4.4 简单的参数传递
3.5 子程序操作
3.5.1 子程序对堆栈的使用
3.5.2 嵌套子程序说明
3.6 中断概念
3.6.1 复位
3.6.2 中断
3.7 中断矢量
3.8 中断操作
3.8.1 中断屏蔽和使能
3.8.2 寄存器入栈
3.8.3 中断优先级和中断嵌套
3.9 硬件中断和复位
3.9.1 加电和外部复位
3.9.2 其他处理器复位
3.9.3 非法操作码陷阱
3.9.4 不可屏蔽中断(XIRQ)
3.9.5 中断请求(IRQ)
3.9.6 中断设置
3.9.7 中断查询
3.10 软件和CPU控制中断
3.10.1 软件中断(SWI)
3.10.2 CPU控制和监视
3.11 死神之吻:堆栈溢出
3.12 总结
练习题
第4章 交叉汇编和程序开发
4.1 程序开发介绍
4.2 源代码的格式
4.3 代码和数据段
4.4 伪操作
4.5 分两步汇编的过程
4.6 汇编选项和预处理命令
4.7 十六进制和二进制文件
4.8 文档文件
4.9 模拟
4.10 仿真板和仿真
4.11 总结
练习题
第3部分 硬件
第5章 总线概念和操作模式
5.1 引言 一
5.2 总线
5.3 三态
5.4 地址译码
5.4.1 地址译码电路
5.4.2 一个地址译码设计的例子
5.4.3 局部和全部译码系统
5.5 操作模式
5.6 单芯片操作模式
5.7 扩展复用操作模式
5.8 特殊启动模式
5.9 特殊测试操作模式
5.10 系统电路
5.1l 总结
练习题
第6章 硬件
6.1 半导体技术
6.1.1 集成电路
6.1.2 晶体管的原理
6.1.3 生产和设计硬件
6.1.4 HCMOS和其他的逻辑系列
6.1.5 CMOS和HCMOS防护
6.2 芯片指标
6.2.1 数据手册
6.2.2 最大额定值
6.2.3 建议的工作条件
6.2.4 直流(dc)电特性
6.2.5 交流(ac)电特性
6.3 存储器技术
6.3.1 回顾和概览
6.3.2 只读存储器(ROM)
6.3.3 随机访问存储器(RAM)
6.4 可擦除可编程只读存储器(EPROM)
6.5 闪存
6.6 电可擦除可编程只读擦除器(EEPROM)
6.6.1 起源和应用
6.6.2 寄存器块
6.6.3 EEPROM操作和指标
6.6.4 修改EEPROM的编程向导
6.7 配置控制寄存器(CONFIG)
6.8 RAM和I/O映射寄存器(INIT)
6.9 总结
练习题
第7章 时钟操作
7.1 时序图
7.2 系统时钟
7.3 总线操作
7.4 周期操作
7.5 示波器测试循环
7.6 逻辑分析仪
7.7 传输线的影响
7.8 总结
练习题
第4部分 接口连接
第8章 接口连接的概念
8.1 介绍
8.2 输A./输出子系统和寄存器
8.2.1 不同的子系统
8.2.2 I/O寄存器
8.2.3 L/O端口
8.2.4 端口替换单元
8.3 存储器或输A./输出映射
8.4 用轮询或中断接口
8.4.1 轮询I/O
8.4.2 中断1I/O
8.5 并行I/O子系统
8.6 串行系统
8.6.1 同步串行I/O系统
8.6.2 异步串行I/O子系统
8.7 可编程计时器I/O子系统
8.8 模拟数字I/O子系统
8.9 I/O子系统寄存器
8.9.1 控制寄存器和系统配置
8.9.2 状态寄存器
8.9.3 数据寄存器
8.10 接口标准
8.1l总结
练习题
第9章 并行输入/输出
9.1 子系统的介绍
9.2 7段(LED)显示输出
9.2.1 7段显示
9.2.2 7段代码
9.2.3 驱动7段显示器
9.2.4 软件查找7段代码
9.2.5 硬件解码器
9.2.6 多路复用显示器
9.3 液晶显示器(LCD)
9.3.1 操作
9.3.2 7段LCD
9.3.3 点阵LCD
9.3.4 LCD激励波形
9.4 键盘接口
9.4.1 矩阵键盘
9.4.2 7 选2键盘解码
9.4.3 去抖动
9.4.4 矩阵键盘的软件驱动程序
9.4.5 使用硬件解码芯片
9.5 其他使用输-V输出的设备
9.6 选通输入/输出
9.6.1 输入选通
9.6.2 输出选通
9.6.3 配置
9.7 完整的握手输.K/输出
9.7.1 输入握手
9.7.2 输出握手
9.8 并行接口标准
9.8.1 Centronies并行接口
9.8.2 IEEE-488通用仪器总线
9.8.3 小型计算机系统接口(SCSI)
9.9 总结
9.9.1 并行I/O子系统总结
9.9.2 并行I/O应用总结
练习题
第10章 串行子系统
10.1 异步通信系统
10.1.1 串行通信的第一步
10.1.2 协议和流控制
10.1.3 通信通道操作
10.1.4 modelTl
10.2 串行通信接口(SCI)
10.2.1 68HCll中的SCI子系统
10.2.2 发送操作
10.2.3 接收操作
10.2.4 SCI软件
10.3 SCI寄存器
10.3.1 串行通信数据寄存器(SCDR)
10.3.2 波特率寄存器(BAUD)
10.3.3 串行通信控制寄存器1(SCCRl)
10.3.4 串行通信控制寄存器2.(SCCR2)
10.3.5 串行通信状态寄存器(SCSR)
10.3.6 接收错误
10.4 同步串行输.K/输出
10.5 串行外围接口(SPI)
10.6 SPI拓扑结构和应用
10.6.1 总线拓扑
10.6.2 使用总线拓扑的微控制器I/O
lO.6.3 级联拓扑
10.6.4 使用级联拓扑的微控制器I/O
10.6.5 SPI数据传输操作总结
10.7 SPI软件
10.7.1 配置和寄存器
10.7.2 主机SPI操作
10.7.3 从机SPI操作
10.7.4 采样驱动程序
10.7.5 把字长度为奇数的数据传输到外围设备
10.8 SPI错误处理
10.9 网络通信
10.9.1 物理层和数据链路层
10.9.2 互连网络和以太网
10.9.3 68HCll 1)~太网接口
10.10 总结
10.10.1 异步通信
10.10.2 串行通信接口(scI)
10.10.3 同步串行系统
10.10.4 串行外围接口(SPI)
练习题
第1l章 可编程定时器操作
11.1 概述
11.2 输出比较器
11.2.1 操作顺序
11.2.2 单个脉冲的例子
11.2.3 方波和脉宽调制(PWM)输出
11.2.4 步进马达输出
11.3 输入捕捉
11.3.1 操作顺序 ·
11.3.2 脉冲宽度的例子
11.3.3 周期(频率、速度)测量
11.3.4 长周期测量
11.4 脉冲累加器
11.4.1 功能描述
11.4.2 事件计数
11.4.3 门控时间累加器
11.5 实时中断
11.6 总结
练习题
第12章 模拟转换器子系统
12.1 概念和术语
12.2 变换器
12.2.1传感器
12.2.2 信号调节
12.2.3 激励器
12.3’ 数模转换器
12.4 模数转换器
12.5 内嵌A/D子系统
12.6 总结
练习题
第5部 分微控制器世界
第13章 应用控制软件
13.1 布尔逻辑控制
13.2 序列发生器
13.3 序列机
13.4 模拟反馈控制
13.5 数字信号处理器
13.6 使用C语言
13.6.1 为什么使用c
13.6.2 控制例子
13.6.3 使用C语言的PID控制器
13.6.4 C函数库
13.6.5 用户自定义函数
13.6.6 幕后:使用堆栈
13.6.7 指针
13.6.8 中断编程
13.6.9 其他变量类型和特性
13.7 多任务
13.8 模糊逻辑
13.8.1 为什么要用它,它是什么
13.8.2 概述
13.8.3 建立一个知识库
13.8.4 模糊逻辑推理
13.8.5 开发以及其他
13.8.6 MC68HCl2支持的模糊逻辑
13.9 总结
练习题
第14章 应用
14.1 汽车发动机控制
14.2 消费类电子:自动照相机
14.3 计算机外围设备:点阵打印机
14.4 社会和微控制器技术
第15章 8位微控制器系列
15.1 微控制器和半导体行业
15.2 摩托罗拉系列
15.2.1 68HCll系列
15.2.2 68HC05系列
15.2.3 68HCl6系列
15.2.4 68HC08系列
15.2.5 68HCl2系列
15.3 摩托罗拉的HCSl2系列
15.4 其他系列的说明
15.5 选择微控制器
15.6 总结
附录A指令集摘要
附录B快速参考
附录C更多的信息
附录D惯例
附录E头和库文件源程序清单
附录F数字逻辑和二进制代码
附录G基础波形
附录H因特网和网站资源
术语表
缩写词
第1章 微控制器原理
1.1 微控制器是什么,有什么用处
1.1.1 概况
1.1.2 术语和惯例
1.1.3 技术视角
1.1.4 特定视角
1.2 历史
1.2.1 早期的计算机
1.2.2 数字计算机
1.2.3 微处理器
1.2.4 微控制器
1.2.5 摩托罗拉MC68HCll
1.3 自上而下看微控制器系统
1.3.1 微控制器系
1.3.2 微控制器单元(MCU)
1.3.3 中央处理单元(CPU)
1.4 存储器概念
1.4.1 结构
1.4.2 半导体存储器
1.5 微控制器存储器分配图
第2部分 软件
第2章 编程
2.1 汇编语言和其他编程语言
2.2 源代码、目标代码和汇编编译器
2.2.1 机器语言
2.2.2 汇编语言
2.2.3 例子
2.2.4 手工汇编
2.2.5 仿真器
2.3 使用高级语言
2.3.1 一般概念
2.3.2 微控制器的c语言
2.4 中央处理单元(cPU)的读取/执行操作
2.5 指令集和寻址模式
2.5.1 指令集参考
2.5.2 指令的类型
2.5.3 寻址模式
2.5.4 前缀字节
2.5.5 固有寻址模式
2.5.6 列表和执行惯例
2.5.7 停止程序的执行
2.5.8 立即寻址模式
2.5.9 直接寻址和扩展寻址模式
2.5.10 变址寻址模式
2.5.11 存储器堆惯例
2.5.12 寻址模式复习
2.6 基本操作
2.6.1 数据处理
2.6.2 算术
2.6.3 逻辑
2.6.4 其他操作
2.6.5 C中的基本算术和逻辑操作
2.7 微控制器算术和条件代码寄存器
2.7.1 2的补码和符号位
2.7.2 进位、溢出、零和半进位
2.7.3 二进制编码的十进制数(BCD)算术
2.7.4 乘法
2.7.5 整数除法
2.7.6 小数除法
2.7.7 浮点数
2.8 用循环和分支控制程序流程
2.8.1 流程控制
2.8.2 条件分支
2.8.3 相对寻址
2.8.4 二级存储器访问指令
2.8.5 跳转指令
2.8.6 浮动程序
2.9 总结
练习题
第3章 堆栈、子程序、中断和复位
3.1 堆栈介绍
3.2 使用堆栈保存数据
3.3 使用子程序
3.4 利用子程序进行模块化编程
3.4.1 自上而下解决问题
3.4.2 子程序库
3.4.3 文件和使用子程序
3.4.4 简单的参数传递
3.5 子程序操作
3.5.1 子程序对堆栈的使用
3.5.2 嵌套子程序说明
3.6 中断概念
3.6.1 复位
3.6.2 中断
3.7 中断矢量
3.8 中断操作
3.8.1 中断屏蔽和使能
3.8.2 寄存器入栈
3.8.3 中断优先级和中断嵌套
3.9 硬件中断和复位
3.9.1 加电和外部复位
3.9.2 其他处理器复位
3.9.3 非法操作码陷阱
3.9.4 不可屏蔽中断(XIRQ)
3.9.5 中断请求(IRQ)
3.9.6 中断设置
3.9.7 中断查询
3.10 软件和CPU控制中断
3.10.1 软件中断(SWI)
3.10.2 CPU控制和监视
3.11 死神之吻:堆栈溢出
3.12 总结
练习题
第4章 交叉汇编和程序开发
4.1 程序开发介绍
4.2 源代码的格式
4.3 代码和数据段
4.4 伪操作
4.5 分两步汇编的过程
4.6 汇编选项和预处理命令
4.7 十六进制和二进制文件
4.8 文档文件
4.9 模拟
4.10 仿真板和仿真
4.11 总结
练习题
第3部分 硬件
第5章 总线概念和操作模式
5.1 引言 一
5.2 总线
5.3 三态
5.4 地址译码
5.4.1 地址译码电路
5.4.2 一个地址译码设计的例子
5.4.3 局部和全部译码系统
5.5 操作模式
5.6 单芯片操作模式
5.7 扩展复用操作模式
5.8 特殊启动模式
5.9 特殊测试操作模式
5.10 系统电路
5.1l 总结
练习题
第6章 硬件
6.1 半导体技术
6.1.1 集成电路
6.1.2 晶体管的原理
6.1.3 生产和设计硬件
6.1.4 HCMOS和其他的逻辑系列
6.1.5 CMOS和HCMOS防护
6.2 芯片指标
6.2.1 数据手册
6.2.2 最大额定值
6.2.3 建议的工作条件
6.2.4 直流(dc)电特性
6.2.5 交流(ac)电特性
6.3 存储器技术
6.3.1 回顾和概览
6.3.2 只读存储器(ROM)
6.3.3 随机访问存储器(RAM)
6.4 可擦除可编程只读存储器(EPROM)
6.5 闪存
6.6 电可擦除可编程只读擦除器(EEPROM)
6.6.1 起源和应用
6.6.2 寄存器块
6.6.3 EEPROM操作和指标
6.6.4 修改EEPROM的编程向导
6.7 配置控制寄存器(CONFIG)
6.8 RAM和I/O映射寄存器(INIT)
6.9 总结
练习题
第7章 时钟操作
7.1 时序图
7.2 系统时钟
7.3 总线操作
7.4 周期操作
7.5 示波器测试循环
7.6 逻辑分析仪
7.7 传输线的影响
7.8 总结
练习题
第4部分 接口连接
第8章 接口连接的概念
8.1 介绍
8.2 输A./输出子系统和寄存器
8.2.1 不同的子系统
8.2.2 I/O寄存器
8.2.3 L/O端口
8.2.4 端口替换单元
8.3 存储器或输A./输出映射
8.4 用轮询或中断接口
8.4.1 轮询I/O
8.4.2 中断1I/O
8.5 并行I/O子系统
8.6 串行系统
8.6.1 同步串行I/O系统
8.6.2 异步串行I/O子系统
8.7 可编程计时器I/O子系统
8.8 模拟数字I/O子系统
8.9 I/O子系统寄存器
8.9.1 控制寄存器和系统配置
8.9.2 状态寄存器
8.9.3 数据寄存器
8.10 接口标准
8.1l总结
练习题
第9章 并行输入/输出
9.1 子系统的介绍
9.2 7段(LED)显示输出
9.2.1 7段显示
9.2.2 7段代码
9.2.3 驱动7段显示器
9.2.4 软件查找7段代码
9.2.5 硬件解码器
9.2.6 多路复用显示器
9.3 液晶显示器(LCD)
9.3.1 操作
9.3.2 7段LCD
9.3.3 点阵LCD
9.3.4 LCD激励波形
9.4 键盘接口
9.4.1 矩阵键盘
9.4.2 7 选2键盘解码
9.4.3 去抖动
9.4.4 矩阵键盘的软件驱动程序
9.4.5 使用硬件解码芯片
9.5 其他使用输-V输出的设备
9.6 选通输入/输出
9.6.1 输入选通
9.6.2 输出选通
9.6.3 配置
9.7 完整的握手输.K/输出
9.7.1 输入握手
9.7.2 输出握手
9.8 并行接口标准
9.8.1 Centronies并行接口
9.8.2 IEEE-488通用仪器总线
9.8.3 小型计算机系统接口(SCSI)
9.9 总结
9.9.1 并行I/O子系统总结
9.9.2 并行I/O应用总结
练习题
第10章 串行子系统
10.1 异步通信系统
10.1.1 串行通信的第一步
10.1.2 协议和流控制
10.1.3 通信通道操作
10.1.4 modelTl
10.2 串行通信接口(SCI)
10.2.1 68HCll中的SCI子系统
10.2.2 发送操作
10.2.3 接收操作
10.2.4 SCI软件
10.3 SCI寄存器
10.3.1 串行通信数据寄存器(SCDR)
10.3.2 波特率寄存器(BAUD)
10.3.3 串行通信控制寄存器1(SCCRl)
10.3.4 串行通信控制寄存器2.(SCCR2)
10.3.5 串行通信状态寄存器(SCSR)
10.3.6 接收错误
10.4 同步串行输.K/输出
10.5 串行外围接口(SPI)
10.6 SPI拓扑结构和应用
10.6.1 总线拓扑
10.6.2 使用总线拓扑的微控制器I/O
lO.6.3 级联拓扑
10.6.4 使用级联拓扑的微控制器I/O
10.6.5 SPI数据传输操作总结
10.7 SPI软件
10.7.1 配置和寄存器
10.7.2 主机SPI操作
10.7.3 从机SPI操作
10.7.4 采样驱动程序
10.7.5 把字长度为奇数的数据传输到外围设备
10.8 SPI错误处理
10.9 网络通信
10.9.1 物理层和数据链路层
10.9.2 互连网络和以太网
10.9.3 68HCll 1)~太网接口
10.10 总结
10.10.1 异步通信
10.10.2 串行通信接口(scI)
10.10.3 同步串行系统
10.10.4 串行外围接口(SPI)
练习题
第1l章 可编程定时器操作
11.1 概述
11.2 输出比较器
11.2.1 操作顺序
11.2.2 单个脉冲的例子
11.2.3 方波和脉宽调制(PWM)输出
11.2.4 步进马达输出
11.3 输入捕捉
11.3.1 操作顺序 ·
11.3.2 脉冲宽度的例子
11.3.3 周期(频率、速度)测量
11.3.4 长周期测量
11.4 脉冲累加器
11.4.1 功能描述
11.4.2 事件计数
11.4.3 门控时间累加器
11.5 实时中断
11.6 总结
练习题
第12章 模拟转换器子系统
12.1 概念和术语
12.2 变换器
12.2.1传感器
12.2.2 信号调节
12.2.3 激励器
12.3’ 数模转换器
12.4 模数转换器
12.5 内嵌A/D子系统
12.6 总结
练习题
第5部 分微控制器世界
第13章 应用控制软件
13.1 布尔逻辑控制
13.2 序列发生器
13.3 序列机
13.4 模拟反馈控制
13.5 数字信号处理器
13.6 使用C语言
13.6.1 为什么使用c
13.6.2 控制例子
13.6.3 使用C语言的PID控制器
13.6.4 C函数库
13.6.5 用户自定义函数
13.6.6 幕后:使用堆栈
13.6.7 指针
13.6.8 中断编程
13.6.9 其他变量类型和特性
13.7 多任务
13.8 模糊逻辑
13.8.1 为什么要用它,它是什么
13.8.2 概述
13.8.3 建立一个知识库
13.8.4 模糊逻辑推理
13.8.5 开发以及其他
13.8.6 MC68HCl2支持的模糊逻辑
13.9 总结
练习题
第14章 应用
14.1 汽车发动机控制
14.2 消费类电子:自动照相机
14.3 计算机外围设备:点阵打印机
14.4 社会和微控制器技术
第15章 8位微控制器系列
15.1 微控制器和半导体行业
15.2 摩托罗拉系列
15.2.1 68HCll系列
15.2.2 68HC05系列
15.2.3 68HCl6系列
15.2.4 68HC08系列
15.2.5 68HCl2系列
15.3 摩托罗拉的HCSl2系列
15.4 其他系列的说明
15.5 选择微控制器
15.6 总结
附录A指令集摘要
附录B快速参考
附录C更多的信息
附录D惯例
附录E头和库文件源程序清单
附录F数字逻辑和二进制代码
附录G基础波形
附录H因特网和网站资源
术语表
缩写词
猜您喜欢