第1章 单片机入门 1
1.1概述 1
1.1.1什么是单片机 1
1.1.2单片机应用系统的结构与工作过程 2
1.1.3单片机的开发过程 2
1.1.4单片机的应用 3
1.2单片机基础知识 3
1.2.1单片机基础电路 3
1.2.2数制与数制的转换 8
1.2.3单片机中数的表示及运算 11
第2章 单片机硬件原理 14
2.1单片机的结构 14
2.1.1 CPU 14
2.1.2时钟振荡器 14
2.1.3中断控制器 15
2.1.4 ROM 15
2.1.5 RAM 15
2.1.6定时器/计数器 15
2.1.7串行通信口 16
2.1.8 I/O接口 16
2.1.9总线控制器 16
2.2 MCS-51系列单片机的引脚功能 16
2.2.1基本工作条件引脚 16
2.2.2输入/输出引脚 17
2.2.3控制引脚 18
2.3单片机的基本工作条件与工作时序 19
2.3.1基本工作条件 19
2.3.2工作时序 20
2.4单片机的I/O接口 20
2.4.1 P0端口 21
2.4.2 P1端口 22
2.4.3 P2端口 22
2.4.4 P3端口 23
2.5单片机的存储器 24
2.5.1存储器基础知识 24
2.5.2程序存储器 27
2.5.3数据存储器 28
第3章 单片机的开发过程 33
3.1单片机的硬件开发过程 33
3.1.1明确单片机应用系统要实现的功能 33
3.1.2选择单片机型号 33
3.1.3设计单片机外围电路 34
3.2单片机的软件开发过程 35
3.2.1编写程序 35
3.2.2编译或汇编程序 40
3.2.3仿真、调试程序 42
3.2.4用编程器将程序写入单片机 52
第4章 单片机编程 56
4.1编程基础知识 56
4.1.1指令和程序 56
4.1.2编程语言 56
4.1.3汇编语言指令格式 57
4.1.4从实例了解单片机编程 57
4.2寻址方式 59
4.2.1立即寻址 59
4.2.2直接寻址 60
4.2.3寄存器寻址 60
4.2.4寄存器间接寻址 60
4.2.5变址寻址 61
4.2.6相对寻址 61
4.2.7位寻址 62
4.3指令系统 63
4.3.1数据传送类指令 63
4.3.2算术运算类指令 68
4.3.3逻辑运算类指令 72
4.3.4程序控制类指令 76
4.3.5位操作类指令 83
4.4伪指令 84
4.4.1汇编起始指令(Origin) 84
4.4.2定义字节指令(Define Byte) 85
4.4.3定义字指令(Define Word) 85
4.4.4定义预留存储单元指令(Define Space) 85
4.4.5等值指令(Equate) 85
4.4.6数据地址赋值指令 86
4.4.7位地址符号赋值指令 86
4.4.8汇编结束指令 86
第5章 中断技术 87
5.1概述 87
5.1.1什么是中断 87
5.1.2中断的有关概念 87
5.1.3中断的处理过程 88
5.2中断系统的结构 88
5.2.1中断源寄存器 89
5.2.2中断允许寄存器IE 90
5.2.3中断优先级控制寄存器IP 90
5.3中断程序的编写 91
5.3.1从实例了解中断程序的编写 91
5.3.2中断程序的编写方法 93
第6章 定时器/计数器 94
6.1概述 94
6.1.1定时器 94
6.1.2计数器 95
6.2定时器/计数器的结构与工作原理 95
6.2.1定时器/计数器的结构 95
6.2.2定时器/计数器的工作原理 96
6.3定时器/计数器的控制 97
6.3.1定时器/计数器控制寄存器TCON 97
6.3.2工作方式控制寄存器TMOD 97
6.3.3定时器/计数器的工作方式 98
6.4定时器/计数器的应用 102
6.4.1利用定时器/计数器控制发光二极管的发光时间 102
6.4.2利用定时器/计数器产生脉冲信号 103
第7章 串行通信技术 105
7.1概述 105
7.1.1串行通信方式 105
7.1.2串行通信的数据传送方向 107
7.2串行通信口的结构与工作原理 108
7.2.1串行通信口的结构 108
7.2.2串行通信口的工作原理 108
7.3串行通信口的控制 109
7.3.1串行控制寄存器SCON 109
7.3.2电源控制寄存器PCON 110
7.4 4种工作方式与波特率的设置 110
7.4.1方式0 110
7.4.2方式1 112
7.4.3方式2 112
7.4.4方式3 113
7.4.5波特率的设置 113
7.5串行通信口的应用 115
7.5.1单工通信 115
7.5.2双工通信 116
第8章 接口技术 118
8.1输入接口 118
8.1.1开关量输入接口 118
8.1.2键盘输入接口 120
8.1.3模拟量输入接口 122
8.2输出接口 127
8.2.1开关量输出接口 127
8.2.2数字量输出接口 128
8.2.3显示输出接口 132
第9章 Protel软件入门 136
9.1概述 136
9.2 Protel99 SE基础知识 137
9.2.1 Protel 99 SE的运行环境 137
9.2.2 Protel 99 SE的组成 137
9.2.3 Protel 99 SE设计电路的流程 137
9.3 Protel99 SE使用入门 138
9.3.1设计数据库文件的建立、关闭与打开 138
9.3.2 Protel99 SE设计界面的介绍 140
9.3.3文件管理 141
9.3.4系统参数的设置 148
第10章 设计电路原理图 150
10.1电路原理图编辑器 150
10.1.1电路原理图编辑器界面介绍 150
10.1.2图纸大小的设置 154
10.1.3图纸的方向、标题栏、边框和颜色的设置 156
10.1.4图纸网格的设置 157
10.1.5图纸文件信息的设置 157
10.1.6光标与网格形状和颜色的设置 158
10.1.7系统字体的设置 159
10.2电路原理图的设计 159
10.2.1装载元件库 160
10.2.2查找元件 161
10.2.3放置元件 162
10.2.4元件的编辑 165
10.2.5绘制导线和节点 174
10.2.6电源和接地符号的放置 180
10.2.7输入/输出端口的放置 181
10.2.8元件标号的查找、替换与重排 184
10.3图形的绘制和文本、图片的编辑 187
10.3.1直线的绘制 187
10.3.2矩形的绘制 188
10.3.3多边形的绘制 188
10.3.4椭圆弧线的绘制 189
10.3.5椭圆的绘制 191
10.3.6扇形的绘制 192
10.3.7曲线的绘制 193
10.3.8文本的插入与设置 194
10.3.9图片的插入与设置 196
10.4层次原理图的设计 197
10.4.1主电路与子电路 198
10.4.2由上向下设计层次原理图 200
10.4.3由下向上设计层次原理图 204
10.5原理图报表的生成 205
10.5.1 ERC报表的生成 205
10.5.2网络表的生成 207
10.5.3元件清单表的生成 209
10.5.4交叉参考元件表的生成 211
10.5.5层次项目组织表的生成 212
10.5.6原理图的打印输出 213
第11章 制作新元件 214
11.1元件库编辑器 214
11.1.1元件库编辑器的启动 214
11.1.2元件库编辑器介绍 215
11.2新元件的制作与使用 217
11.2.1绘制新元件 217
11.2.2修改已有的元件 219
11.2.3绘制复合元件 223
11.2.4新元件的使用 225
11.3元件报表的生成与元件库的管理 226
11.3.1元件报表的生成 226
11.3.2元件库的管理 228
第12章 手工设计PCB 231
12.1 PCB设计基础 231
12.1.1 PCB的基础知识 231
12.1.2 PCB的设计过程 234
12.1.3 PCB编辑器 235
12.1.4 PCB设计前的设置 237
12.1.5 PCB编辑器参数设置 242
12.2手工设计PCB的具体方法 248
12.2.1放置对象 248
12.2.2手工布局 262
12.2.3手工布线 270
第13章 自动设计PCB 272
13.1基础知识 272
13.1.1 PCB的自动设计流程 272
13.1.3利用原理图生成网络表 273
13.2自动设计PCB的具体方法 274
13.2.1自动规划PCB 274
13.2.2装载元件封装和网络表 279
13.2.3自动布局元件 283
13.2.4手工调整布局 285
13.2.5自动布线 286
13.2.6手工调整布线 292
13.3 PCB的显示 298
13.3.1单层显示模式 298
13.3.2三维显示模式 299
13.4 PCB报表的生成及PCB的打印 300
13.4.1引脚报表的生成 300
13.4.2电路板信息报表的生成 301
13.4.3网络状态报表的生成 302
13.4.4设计层次报表的生成 302
13.4.5 NC钻孔报表的生成 302
13.4.6元件报表的生成 305
13.4.7电路特性报表的生成 306
13.4.8元件位置报表的生成 307
13.4.9 PCB的打印 309
第14章 制作新元件封装 312
14.1元件封装库编辑器 312
14.1.1元件封装库编辑器的启动 312
14.1.2元件封装库编辑器介绍 313
14.2制作新元件封装的方法 313
14.2.1手工制作新元件封装 314
14.2.2利用向导制作新元件封装 317
14.3元件封装的管理 319
14.3.1查找元件封装 319
14.3.2更改元件封装名称 319
14.3.3放置元件封装 319
14.3.4删除元件封装 320
14.3.5编辑元件封装引脚焊盘 320