从简单的LED单灯闪烁开始讲解单片机的硬件系统结构及编译环境(包括伟福和Keil),包括C51的介绍,通过交通灯系统讲解LED数码管得驱动及编程,通过电子钟设计讲解定时器及中断的功能与编程,通过数字频率计讲解定时器的应用;通过数字电压表设计讲解并口与串口AD转换;通过波形发生器讲解并口DA转换;通过数字温度计讲解DS18B20单总线的结构与编程;矩阵键盘接口设计;LCD1602,LCD12864接口显示设计;IIC总线的24C16读写访问设计;SPI总线X5045读写设计。
理实一体
《单片机技术与项目实践》主要介绍了以MCS-51 单片机为控制核心的应用案例和项目的设计原理及设计过程, 详细介绍了MCS-51 单片机的功能与结构, 以及MCS-51 单片机编程的常用方法和设计功能应用。
目前单片机的种类繁多, 功能多样。但MCS-51 单片机的设计结构与功能具有代表性。
读者学会了MCS-51 单片机的设计与编程, 学习其他类型的单片机也会比较容易。学好MCS-51 单片机可以为深入学习嵌入式产品设计开发打好坚实的基础。
本书具有以下特点。
1) 以单片机设计项目为载体, “教、学、做” 过程为一体, 理实一体。
2) 每个案例项目的讲解包括了硬件结构介绍、设计功能分析、设计功能实现三个环节, 符合学习的认知过程。
3) 硬件电路的设计结合了Proteus 仿真与实物电路设计, 能够方便地实现程序在仿真设计与实物设计的程序移植。
4) 单片机案例项目的功能程序采用模块化设计方法编写, 能够方便实现程序移植和设计功能的升级。
5) 《单片机技术与项目实践》的教学案例项目内容由浅入深, 案例难度逐渐提高, 逐步提高读者的设计能力。
《单片机技术与项目实践》共分为10 章, 主要内容包括发光二极管的单灯闪烁设计、跑马灯的设计、交通灯系统设计、电子钟的设计、基于单片机的频率计设计、串口通信功能设计、数字电压表设计、数字温度计设计、正弦波信号发生器设计、单片机常用人机接口设计。包含了单片机的内部基本结构、存储器结构、I/ O 端口功能、复位及时钟功能、定时器及中断功能、串口通信结构与功能、并行AD0809 与串行AD0831 接口功能、并行DAC0832 接口功能, 数字温度传感器DS18B20 的功能与应用、I/ O 键盘与矩阵键盘的功能与应用、LCD1602 的功能与应用。
课程安排上建议安排在“C 程序设计” “电工基础” “模拟电路” “数字电路” 之后讲授。
《单片机技术与项目实践》由王恩亮、陈洁任主编, 张建蓉任副主编, 戴红霞参编。第1 章由戴红霞编写, 第2 章、第3 章、第4 章由张建蓉编写, 第5 章、第10 章由陈洁编写, 第6 章、第7 章、第8章、第9 章由王恩亮编写。
由于编者的经验和水平有限, 书中难免有不足和缺漏之处, 恳请专家、读者批评指正。
编 者
出版说明
前言
第1 章 发光二极管的单灯闪烁设计 1
1. 1 单片机概述 1
1. 1. 1 单片机的发展 2
1. 1. 2 单片机的应用 2
1. 1. 3 单片机的分类 3
1. 2 MCS-51 单片机的基本结构与功能 4
1. 2. 1 MCS-51 单片机的基本组成结构 4
1. 2. 2 单片机引脚排列及功能 5
1. 2. 3 单片机存储器、寄存器结构 6
1. 2. 4 单片机I/ O 端口 10
1. 2. 5 单片机时钟结构 12
1. 2. 6 单片机复位结构 13
1. 3 发光二极管闪烁设计 14
1. 3. 1 单片机控制的发光二极管闪烁
电路结构 14
1. 3. 2 伟福编译系统编译单片机程序 15
1. 4 习题 22
第2 章 跑马灯的设计 23
2. 1 跑马灯电路介绍 23
2. 2 C51 功能介绍 26
2. 2. 1 C51 编程优点 26
2. 2. 2 C51 与标准C 区别 27
2. 3 C51 数据变量类型与存储器结构 27
2. 3. 1 bit 类型 27
2. 3. 2 特殊功能寄存器类型 28
2. 3. 3 数据的存储区结构 29
2. 4 C51 基本语句 33
2. 5 C51 常用运算符 34
2. 6 C51 设置循环延时子程序 36
2. 7 流水灯的设计 37
2. 8 习题 42
第3 章 交通灯系统设计 43
3. 1 交通灯系统功能 43
3. 1. 1 基本交通灯硬件电路设计 43
3. 1. 2 基本交通灯功能 44
3. 1. 3 基本交通灯程序设计 46
3. 2 数码管介绍 47
3. 2. 1 数码管结构与工作原理 47
3. 2. 2 数码管显示方式 50
3. 3 数码管显示倒计时功能设计 51
3. 3. 1 倒计时系统硬件设计 51
3. 3. 2 倒计时系统程序设计 52
3. 4 带倒计时显示的交通灯系统设计 60
3. 5 习题 63
第4 章 电子钟的设计 64
4. 1 电子钟功能介绍 64
4. 2 定时器功能介绍 65
4. 2. 1 定时器/计数器结构 65
4. 2. 2 定时器/计数器的工作原理 66
4. 2. 3 定时/计数器的控制寄存器功能 66
4. 3 中断功能介绍 69
4. 3. 1 中断概述 69
4. 3. 2 中断源和中断控制寄存器 69
4. 4 定时器/计数器中断响应程序设计 71
4. 5 T0 中断响应设计秒、分、时时间
单位 75
4. 6 T1 中断响应设计显示秒、分、时
时间单位 76
4. 7 基本电子钟程序设计 77
4. 8 具备按键功能的电子钟程序设计 82
4. 9 键盘调整运行时间功能程序设计 85
4. 10 习题 89
第5 章 基于单片机的频率计设计 90
5. 1 频率计功能简介 90
5. 2 数字频率计仿真电路设计 91
5. 3 频率计程序设计 92
5. 3. 1 修改系统提供的头文件 92
5. 3. 2 频率计设计程序 93
5. 4 频率计仿真调试 98
5. 5 习题 98
第6 章 串口通信功能设计 100
6. 1 串口通信接口 100
6. 1. 1 异步通信 101
6. 1. 2 同步通信 101
Ⅵ
6. 1. 3 波特率 102
6. 1. 4 串口通信接口协议 102
6. 2 51 单片机的串口通信电路结构 102
6. 2. 1 发送和接收寄存器 103
6. 2. 2 串口的控制寄存器 103
6. 2. 3 串行通信的工作方式 104
6. 3 串行口通信功能应用 107
6. 3. 1 异步通信仿真电路设计 107
6. 3. 2 异步通信仿真程序设计 108
6. 3. 3 异步通信硬件电路设计 113
6. 3. 4 串口通信硬件电路设计 116
6. 3. 5 串口通信程序设计 116
6. 4 习题 120
第7 章 数字电压表设计 121
7. 1 A-D 转换器的分类 121
7. 1. 1 积分型 121
7. 1. 2 逐次比较型 121
7. 1. 3 并行比较型/串并行比较型 122
7. 1. 4 Σ-Δ 调制型 122
7. 1. 5 电容阵列逐次比较型 122
7. 1. 6 压频变换型 122
7. 2 A-D 转换器的主要技术指标 122
7. 2. 1 分辨率 122
7. 2. 2 转换率 122
7. 2. 3 量化误差 123
7. 2. 4 偏移误差 123
7. 2. 5 满刻度误差 123
7. 2. 6 线性度 123
7. 3 A-DC0808 的数字电压表设计 123
7. 3. 1 常用并行A-D 转换器件的设计
结构特点 123
7. 3. 2 常用并行A-D 转换器件A-DC0808、
A-DC0809 124
7. 3. 3 仿真电路设计 126
7. 3. 4 A-DC0808 的数字电压表程序
设计 127
7. 3. 5 A-DC0808 的数字电压表仿真
调试 133
7. 4 Proteus 仿真设计基于A-DC0831 的
数字电压表 133
7. 4. 1 串行A-D 转换A-DC0831 介绍 133
7. 4. 2 绘制A-DC0831 的仿真电路 134
7. 4. 3 设计基于A-DC0831 数字电压表
的仿真程序 135
7. 4. 4 仿真调试A-DC0831 的数字
电压表 139
7. 5 采用系统开发板设计数字电压表 140
7. 6 习题 142
第8 章 数字温度计设计 143
8. 1 DS18B20 的介绍 143
8. 1. 1 DS18B20 的主要特征 143
8. 1. 2 控制器对DS18B20 操作流程 146
8. 1. 3 单片机对DS18B20 的基本操作