第1章 单片机基础知识 1
1.1 概述 1
1.1.1 单片机发展历程 1
1.1.2 几种常见的单片机 1
1.1.3 单片机的结构及组成 2
1.2 数的进制及位和字节的含义 3
1.2.1 数制及其转换 3
1.2.2 数和物理现象的关系 6
1.2.3 位和字节的含义 6
1.3 51单片机基本硬件结构 6
1.3.1 硬件结构 6
1.3.2 端口结构分析 7
1.4 单片机存储器知识介绍 16
1.4.1 概述 16
1.4.2 程序存储器 19
1.4.3 数据存储器 19
1.4.4 单片机存储模式 21
1.5 单片机CPU的时序 21
1.5.1 单片机的时序 21
1.5.2 单片机的时钟电路 22
1.6 单片机的外部接口及其扩展 23
1.6.1 中断系统 23
1.6.2 定时器/计数器 24
1.6.3 串口 25
1.6.4 特有寄存器 25
第2章 单片机总线概述 28
2.1 总线的基本概念 28
2.1.1 总线的定义 28
2.1.2 总线的分类 28
2.1.3 总线的主要技术指标 31
2.1.4 总线驱动 33
2.1.5 总线的标准 33
2.1.6 总线的优缺点 33
2.2 计算机中的总线 34
2.3 单片机中的总线 37
第3章 Proteus设计与仿真开发 39
3.1 Proteus 7简介 39
3.2 Proteus 7功能 40
3.2.1 Proteus的资源库和仿真工具 40
3.2.2 Proteus 7 ISIS界面介绍 43
3.2.3 Proteus 7 ISIS仿真方式与虚拟仪器 47
3.2.4 Proteus与Keil联调 49
3.3 Proteus设计与仿真基础 50
3.3.1 单片机系统的Proteus设计与仿真开发过程 50
3.3.2 ISIS鼠标使用规则 51
3.3.3 Proteus文件类型 51
3.3.4 单片机系统的Proteus设计与仿真实例 51
3.3.5 单片机系统的Proteus源代码级调试 60
3.4 Proteus设计及仿真应用与提高 63
3.4.1 Proteus与第三方集成开发环境的联合仿真 63
3.4.2 Proteus的一些其他常用设计操作指南 66
第4章 单片机并行总线开发原理 72
4.1 概述 72
4.2 时序分析 72
4.3 三总线的扩展设计方法 75
4.3.1 基本思路 75
4.3.2 如何构造系统的三总线 75
4.4 地址分配和译码 77
4.4.1 地址译码概述 77
4.4.2 常用地址译码芯片 77
4.4.3 地址译码设计方法 79
4.5 地址锁存 84
4.5.1 地址锁存概述 84
4.5.2 常用地址锁存芯片 84
4.5.3 两种地址锁存法 86
4.6 如何在程序中编写程序控制总线 88
4.6.1 存储类型声明 88
4.6.2 变量或数据类型 88
4.6.3 绝对地址访问 89
第5章 小型PLD设计及其在Proteus中的仿真应用 90
5.1 利用Protel进行PLD设计 90
5.1.1 PLD的设计 91
5.1.2 Proteus对PLD的仿真 93
5.2 利用WinCupl进行PLD设计 96
5.2.1 PLD编程软件WinCupl简介 96
5.2.2 编译WinCupl源文件 96
5.2.3 PLD在Proteus中的仿真 99
第6章 存储器并行总线开发 103
6.1 数据存储器的并行总线开发 103
6.1.1 常用静态数据存储器介绍 103
6.1.2 外部数据存储器设计原理 104
6.1.3 外部数据存储器设计实例 106
6.2 程序存储器的并行总线开发 115
6.2.1 常用程序存储器介绍 116
6.2.2 程序存储器设计原理 118
6.2.3 程序存储器设计实例 120
第7章 开关量并行总线开发 123
7.1 概述 123
7.2 开关量输入设计 124
7.2.1 缓冲器设计法 125
7.2.2 边沿触发型锁存器设计法 127
7.3 开关量输出设计 129
7.3.1 缓冲器设计法 129
7.3.2 边沿触发型锁存器设计法 129
7.3.3 数码管并行总线设计 131
7.4 输入/输出联合设计 134
7.4.1 硬件电路及连线说明 135
7.4.2 地址分析 135
7.4.3 测试程序与仿真 135
第8章 键盘并行总线开发 137
8.1 概述 137
8.1.1 键盘的种类 137
8.1.2 键盘接口方式 138
8.1.3 键盘去抖动原则和方法 140
8.1.4 键盘扫描程序流程 141
8.2 键盘的并行总线设计 142
8.2.1 独立按键式键盘并行总线设计法 142
8.2.2 矩阵键盘并行总线设计法 144
第9章 液晶并行总线开发 150
9.1 常见字符式液晶的接口设计 150
9.1.1 字符式液晶LCD1602介绍 150
9.1.2 字符式液晶LCD1602模拟I/O口设计法 151
9.1.3 字符式液晶LCD1602并行总线设计法 153
9.2 常见图像液晶的接口设计 158
9.2.1 图像液晶LCD12864介绍 158
9.2.2 图像液晶LCD12864模拟I/O口设计法 159
9.2.3 图像液晶LCD12864并行总线设计法 160
第10章 A/D和D/A转换并行总线开发 166
10.1 A/D转换的并行接口设计 166
10.1.1 常用并行A/D转换芯片介绍 167
10.1.2 A/D转换的模拟I/O口设计法 170
10.1.3 A/D转换的并行总线设计法 173
10.2 D/A转换的并行接口设计 176
10.2.1 常用并行D/A转换芯片介绍 176
10.2.2 D/A转换的模拟I/O口设计法 178
10.2.3 D/A转换的并行总线设计法 181
第11章 实时时钟并行总线开发 184
11.1 带并行总线的常用时钟芯片介绍 184
11.2 DS12C887模拟I/O口设计法 189
11.2.1 硬件电路及连线说明 189
11.2.2 测试程序及仿真 189
11.3 DS12C887并行总线设计法 193
11.3.1 硬件电路及连线说明 193
11.3.2 地址分析 194
11.3.3 测试程序及仿真 194
第12章 可编程通用并行接口芯片 198
12.1 8255A芯片简介 198
12.2 8255A工作方式详解 200
12.3 仿真示例 204
12.3.1 硬件电路及连线说明 204
12.3.2 测试程序与仿真 205
第13章 AVR单片机并行总线开发 206
13.1 硬件电路及连线说明 206
13.2 扩展存储器部分 207
13.3 输入/输出部分 208