电子工程师自学成才手册 精通篇
作者:蔡杏山 主编
出版时间:2019年版
内容简介
《电子工程师自学成才手册》分为基础篇、提高篇、精通篇三册。本书为精通篇,主要包括单片机快速入门、51单片机的硬件系统、STC89C5x系列单片机介绍、51单片机编程软件的使用、单片机驱动LED的电路及编程、单片机驱动LED数码管的电路及编程、中断与中断编程、定时器/计数器的使用及编程、按键电路及编程、点阵和液晶显示屏的使用及编程、步进电动机的使用及编程、串行通信的使用及编程、I2C总线通信的使用及编程、A/D与D/A转换电路及编程、电路绘图设计软件入门、设计电路原理图、制作新元件、手工设计PCB图、自动设计PCB图、制作新元件封装等内容。本书具有基础起点低、内容由浅入深、语言通俗易懂、结构安排符合学习认知规律的特点,适合作为电子工程师入门的自学图书,也适合作为职业学校和社会培训机构的电子技术入门教材。
目录
第1章 单片机快速入门 1
1.1 单片机简介 1
1.1.1 什么是单片机 1
1.1.2 单片机应用系统的组成及工作过程 2
1.1.3 单片机的分类 3
1.1.4 单片机的应用领域 4
1.2 单片机应用系统的开发过程 5
1.2.1 明确控制要求并选择合适型号的单片机 5
1.2.2 设计单片机电路原理图 5
1.2.3 制作单片机电路 6
1.2.4 用Keil软件编写单片机控制程序 7
1.2.5 计算机、下载(烧录)器和单片机的连接 10
1.2.6 用烧录软件将程序写入单片机 13
1.2.7 单片机电路的供电与测试 15
1.3 C51语言基础 17
1.3.1 常量 17
1.3.2 变量 19
1.3.3 运算符 19
1.3.4 关键字 22
1.3.5 数组 23
1.3.6 循环语句 24
1.3.7 选择语句 26
第2章 51单片机的硬件系统 28
2.1 8051单片机的引脚功能与内部结构 28
2.1.1 引脚功能说明 28
2.1.2 单片机与片外存储器的连接与控制 31
2.1.3 内部结构说明 32
2.2 8051单片机I/O端口的结构与工作原理 35
2.2.1 P0端口 35
2.2.2 P1端口 37
2.2.3 P2端口 38
2.2.4 P3端口 38
2.3 8051单片机的存储器 40
2.3.1 存储器的存储单位与编址 40
2.3.2 片内、片外程序存储器的使用与编址 41
2.3.3 片内、片外数据存储器的使用与编址 41
2.3.4 数据存储器的分区 42
2.3.5 特殊功能寄存器(SFR) 44
第3章 STC89C5x系列单片机介绍 49
3.1 概述 49
3.1.1 两种版本与封装形式 49
3.1.2 引脚功能说明 50
3.1.3 STC89C5x系列单片机的型号命名规则 52
3.1.4 STC89C5x系列单片机常用型号的主要参数 52
3.2 STC89C5x系列单片机的I/O端口 53
3.2.1 I/O端口上电复位状态与灌电流、拉电流 53
3.2.2 P4端口的使用 54
3.2.3 I/O端口与外部电路的连接 55
3.3 STC89C5x系列单片机的存储器 57
3.3.1 程序存储器 57
3.3.2 数据存储器 57
3.3.3 特殊功能寄存器 58
第4章 51单片机编程软件的使用 61
4.1 Keil C51软件的基本操作 61
4.1.1 Keil C51软件的版本及获取 61
4.1.2 Keil C51软件的安装 61
4.2 程序的编写与编译 63
4.2.1 启动Keil C51软件并新建工程文件 63
4.2.2 新建源程序文件 65
4.2.3 编写程序 66
4.2.4 编译程序 67
4.3 程序的仿真与调试 69
4.3.1 软件仿真设置 70
4.3.2 编译程序 71
4.3.3 仿真、调试程序 71
第5章 单片机驱动LED的电路及编程 75
5.1 LED(发光二极管)介绍 75
5.1.1 外形与符号 75
5.1.2 性质 75
5.1.3 检测 76
5.1.4 限流电阻 76
5.2 点亮单个LED的电路与程序详解 77
5.2.1 点亮单个LED的电路 77
5.2.2 采用位操作方式点亮单个LED的程序详解 77
5.2.3 采用字节操作方式点亮单个LED的程序详解 79
5.2.4 单个LED以固定频率闪烁发光的程序详解 80
5.2.5 单个LED以不同频率闪烁发光的程序详解 81
5.3 点亮多个LED的电路与程序详解 82
5.3.1 点亮多个LED的电路 82
5.3.2 采用位操作方式点亮多个LED的程序详解 83
5.3.3 采用字节操作方式点亮多个LED的程序详解 83
5.3.4 多个LED以不同频率闪烁发光的程序详解 84
5.3.5 多个LED左移和右移的程序详解 85
5.3.6 LED循环左移和右移的程序详解 86
5.3.7 LED左右移动并闪烁发光的程序详解 88
5.3.8 采用查表方式控制LED多种形式发光的程序详解 89
5.3.9 LED花样发光的程序详解 90
5.4 采用PWM方式调节LED亮度的原理与程序详解 91
5.4.1 采用PWM方式调节LED亮度的原理 91
5.4.2 采用PWM方式调节LED亮度的程序详解 91
第6章 单片机驱动LED数码管的电路及编程 94
6.1 单片机驱动1位LED数码管的电路与程序详解 94
6.1.1 1位LED数码管的结构与检测 94
6.1.2 单片机驱动1位LED数码管的电路 96
6.1.3 单个数码管静态显示1个字符的程序详解 96
6.1.4 单个数码管动态显示多个字符的程序详解 97
6.1.5 单个数码管环形转圈显示的程序详解 98
6.1.6 单个数码管显示逻辑电平的程序详解 98
6.2 单片机驱动8位LED数码管的电路与程序详解 99
6.2.1 多位LED数码管的结构与检测 99
6.2.2 单片机连接8位共阴极数码管的电路 100
6.2.3 8位数码管显示1个字符的程序详解 102
6.2.4 8位数码管逐位显示8个字符的程序详解 103
6.2.5 8位数码管同时显示8个字符的程序及详解 104
6.2.6 8位数码管动态显示8个以上字符的程序及详解 104
第7章 中断与中断编程 106
7.1 中断的基本概念与处理过程 106
7.1.1 中断的基本概念 106
7.1.2 中断的处理过程 106
7.2 中断的系统结构与控制寄存器 107
7.2.1 中断的系统结构 107
7.2.2 中断源寄存器 108
7.2.3 中断允许寄存器IE 109
7.2.4 中断优先级控制寄存器IP 110
7.3 中断编程 111
7.3.1 外部中断0以低电平方式触发中断的程序详解 111
7.3.2 外部中断1以下降沿方式触发中断的程序详解 112
第8章 定时器/计数器的使用及编程 115
8.1 定时器/计数器的定时与计数功能 115
8.1.1 定时器/计数器的定时功能 115
8.1.2 定时器/计数器的计数功能 116
8.2 定时器/计数器的结构和工作原理 116
8.2.1 定时器/计数器的结构 116
8.2.2 定时器/计数器的工作原理 117
8.3 与定时器/计数器相关的控制寄存器 118
8.3.1 TCON寄存器 118
8.3.2 TMOD寄存器 119
8.4 定时器/计数器的工作方式 120
8.5 定时器/计数器的应用及编程 124
8.5.1 产生1kHz方波信号的程序详解 124
8.5.2 产生50kHz方波信号的程序详解 125
8.5.3 产生周期为1s方波信号的程序详解 126
第9章 按键电路及编程 128
9.1 独立按键输入电路与程序详解 128
9.1.1 开关输入抖动及解决方法 128
9.1.2 连接8个独立按键和8个LED的单片机电路 129
9.1.3 一个按键点动控制一个LED亮灭的程序详解 130
9.1.4 一个按键锁定控制一个LED亮灭的程序详解 130
9.1.5 4路抢答器的程序详解 131
9.1.6 独立按键控制LED和LED数码管的单片机电路 132
9.1.7 两个按键控制1位数字增、减并用8位数码管显示的程序详解 133
9.1.8 两个按键控制多位数字增、减并用8位数码管显示的程序详解 135
9.1.9 按键长按与短按产生不同控制效果的程序详解 137
9.1.10 8个独立按键控制LED和LED数码管显示的程序详解 139
9.2 矩阵键盘输入电路与程序详解 141
9.2.1 单片机16键矩阵键盘和8位数码管的电路 141
9.2.2 矩阵键盘行列扫描方式输入及显示的程序详解 143
9.2.3 采用中断方式的矩阵键盘行列扫描输入的电路及程序详解 146
9.2.4 矩阵键盘密码锁的程序详解 150
第10章 点阵和液晶显示屏的使用及编程 155
10.1 双色LED点阵的使用及编程 155
10.1.1 双色LED点阵的基础知识 155
10.1.2 单片机配合74HC595芯片驱动双色LED点阵的电路 162
10.1.3 双色点阵显示一种颜色字符的程序详解 163
10.1.4 双色点阵交替显示两种颜色字符的程序详解 166
10.1.5 字符“0”~“9”移入和移出双色点阵的程序详解 168
10.2 1602字符型液晶显示屏的使用及编程 171
10.2.1 1602字符型液晶显示屏的基础介绍 171
10.2.2 单片机驱动1602字符型液晶显示屏的电路 176
10.2.3 1602字符型液晶显示屏静态显示字符的程序详解 177
10.2.4 1602字符型液晶显示屏逐个显示字符的程序详解 179
10.2.5 1602字符型液晶显示屏字符滚动显示的程序详解 180
10.2.6 矩阵键盘输入与1602字符型液晶显示屏显示的电路及程序详解 181
第11章 步进电动机的使用及编程 186
11.1 步进电动机与驱动芯片介绍 186
11.1.1 步进电动机 186
11.1.2 驱动芯片 189
11.1.3 五线四相步进电动机 191
11.2 单片机驱动步进电动机的电路及编程 192
11.2.1 单片机驱动步进电动机的电路 192
11.2.2 用单四拍方式驱动步进电动机正转的程序详解 193
11.2.3 用双四拍方式驱动步进电动机自动正反转的程序详解 194
11.2.4 用外部中断控制步进电动机正反转的程序详解 195
11.2.5 用按键控制步进电动机启动、加速、减速、停止的程序详解 197
第12章 串行通信的使用及编程 202
12.1 串行通信的基础知识 202
12.1.1 并行通信和串行通信 202
12.1.2 串行通信的两种方式 202
12.1.3 串行通信的数据传送方向 204
12.2 串行通信口的结构与原理 205
12.2.1 串行通信口的结构 205
12.2.2 串行通信口的工作原理 206
12.3 串行通信口的控制寄存器 206
12.3.1 串行控制寄存器 206
12.3.2 电源控制寄存器 207
12.4 4种工作方式与波特率 208
12.4.1 方式0 208
12.4.2 方式1 209
12.4.3 方式2 210
12.4.4 方式3 210
12.4.5 波特率 210
12.5 串行通信的应用编程 212
12.5.1 利用方式0实现产品计数显示的电路及编程 212
12.5.2 利用方式1实现双机通信的电路及编程 214
第13章 I2C总线通信的使用及编程 217
13.1 I2C总线的基础知识 217
13.1.1 I2C总线的通信协议 217
13.1.2 I2C总线的数据传送格式 218
13.2 I2C总线存储器24C02 219
13.2.1 外形与引脚功能 219
13.2.2 器件地址 220
13.2.3 读/写操作 220
13.3 单片机与24C02的I2C总线通信电路及编程 223
13.3.1 模拟I2C总线通信的程序详解 223
13.3.2 利用I2C总线从24C02读写一个数据的电路及程序详解 226
13.3.3 利用I2C总线从24C02读写多个数据的电路及程序详解 228
13.3.4 利用24C02存储按键操作信息的电路及程序详解 229
第14章 A/D(模/数)与D/A(数/模)转换电路及编程 233
14.1 A/D与D/A转换 233
14.1.1 A/D转换 233
14.1.2 D/A转换 235
14.2 A/D与D/A转换芯片 235
14.2.1 外形与引脚功能说明 236
14.2.2 器件地址和器件功能设置 236
14.2.3 单端输入与差分输入 237
14.3 A/D和D/A转换电路及编程 238
14.3.1 单片机、PCF8591芯片与8位数码管构成的A/D和D/A转换及显示电路 238
14.3.2 A/D转换输出显示的程序详解 239
14.3.3 4路电压测量显示的程序详解 241
14.3.4 D/A转换输出显示的程序详解 244
第15章 电路绘图设计软件入门 247
15.1 概述 247
15.2 Protel 99 SE基础知识 247
15.2.1 Protel 99 SE的组成 247
15.2.2 Protel 99 SE的设计电路流程 248
15.3 Protel 99 SE使用入门 248
15.3.1 数据库文件的创建、关闭与打开 248
15.3.2 Protel 99 SE的设计界面 251
15.3.3 文件的管理 251
15.3.4 系统参数的设置 256
第16章 设计电路原理图 258
16.1 电路原理图编辑器概述 258
16.1.1 电路原理图编辑器的界面介绍 258
16.1.2 设置图纸大小 262
16.1.3 设置图纸方向、标题栏、边框和颜色 263
16.1.4 设置图纸网格 265
16.1.5 设置图纸文件信息 265
16.1.6 设置光标与网格形状 265
16.1.7 设置系统字体 266
16.2 电路原理图的设计 267
16.2.1 操作元件库 268
16.2.2 查找元件 269
16.2.3 放置元件 270
16.2.4 编辑元件 272
16.2.5 绘制导线、节点和总线 281
16.2.6 放置电源符号 288
16.2.7 放置输入/输出端口 289
16.2.8 查找、替换与重排元件标号 291
16.3 图形的绘制 294
16.3.1 绘制直线 294
16.3.2 绘制矩形 294
16.3.3 绘制多边形 295
16.3.4 绘制椭圆弧线 296
16.3.5 绘制椭圆 297
16.3.6 绘制扇形 298
16.3.7 绘制曲线 299
16.4 文本、图片的应用 300
16.4.1 插入与设置文本 300
16.4.2 插入与设置图片 301
16.5 层次原理图的设计 302
16.5.1 层次原理图的设计思路 303
16.5.2 由上向下设计层次原理图 305
16.5.3 由下向上设计层次原理图 310
第17章 制作新元件 311
17.1 元件库编辑器概述 311
17.2 新元件的制作与使用 313
17.2.1 绘制新元件 313
17.2.2 修改已有元件 316
17.2.3 绘制复式元件 319
17.2.4 使用新元件 321
17.3 报表的生成与元件库的管理 322
17.3.1 生成报表 322
17.3.2 管理元件库 324
第18章 手工设计PCB图 327
18.1 PCB设计基础 327
18.1.1 PCB的基础知识 327
18.1.2 PCB的设计过程 330
18.1.3 PCB设计编辑器的操作 330
18.1.4 PCB的工作层设置 332
18.1.5 PCB设计编辑器的参数设置 336
18.2 开始手工设计PCB图 341
18.2.1 放置对象 341
18.2.2 手工布局 354
18.2.3 手工布线 361
第19章 自动设计PCB图 363
19.1 基础知识 363
19.1.1 PCB图的自动设计流程 363
19.1.2 利用电路原理图生成网络表 364
19.2 开始自动设计PCB图 364
19.2.1 自动规划PCB图 364
19.2.2 装载元件封装库和网络表 368
19.2.3 自动布局元件 372
19.2.4 手工调整元件布局 373
19.2.5 自动布线 374
19.2.6 手工调整布线 379
19.3 显示PCB图 384
19.3.1 单层显示模式 384
19.3.2 三维显示模式 385
第20章 制作新元件封装 387
20.1 启动元件封装库编辑器 387
20.2 制作元件封装 388
20.2.1 利用手工制作元件封装 388
20.2.2 利用向导制作元件封装 391
20.3 管理元件封装 393