本书在介绍微型计算机基础知识的基础上,以MCS-51单片机为对象,介绍了单片机的结构、C51语言的基础知识和编程方法、并行I/O口及其应用、显示器和键盘接口技术、中断系统、外部中断的应用、定时/计数器及其应用、并行存储器的扩展、串行通信接口及其应用、数/模和模/数转换器与单片机的接口技术,以AT24C02和DS18B20为例,分别介绍了I2C总线和单线制串行总线的应用。此外介绍了Keil C51的Windows 集成开发环境μVision4以及仿真软件Proteus的使用方法。全书以大量典型例题为载体介绍单片机的接口及应用方法,内容由浅入深,条理清晰。书中所有例题均给出源程序及仿真运行结果,所有例题、课后习题答案以及PPT均可从网上下载。本书为本科生教材。
郭文川,女,博士,教授,无党派人士,西北农林科技大学农业电气化与自动化学科点负责人,兼任中国食品科学技术学会食品装备与智能制造分会第四届理事会理事、中国农业机械学会农副产品加工机械分会第四届委员会常务委员、陕西省农业工程学会第五届理事会常务理事和陕西省农业机械学会第七届理事会理事。先后荣获唐立新教学名师奖、西北农林科技大学研究生优秀指导教师、校先进个人、校师德先进个人等荣誉近10次。曾在美国农业部Russell 研究中心和华盛顿州立大学生物系统工程学院进行访学研究。长期从事于农产品/食品品质无损检测技术与装备、农情信息的智能化检测技术及农业电子与自动化技术领域的研究工作,尤其在农产品/食品品质检测技术及检测仪研发方面在国内居于领先。
第1章 单片机概述及微型计算机基本知识 1
1.1 单片机概述 1
1.1.1 单片机的特点 1
1.1.2 单片机的应用 2
1.1.3 单片机的发展历史及未来方向 2
1.1.4 MCS-51单片机 3
1.1.5 主流的单片机类型 5
1.1.6 STC单片机标识说明 7
1.2 微型计算机系统组成及工作过程 8
1.2.1 微型计算机的组成 8
1.2.2 中央处理单元的组成 9
1.2.3 微型计算机的工作过程 11
1.3 数制与编码 14
1.3.1 数制 14
1.3.2 编码 17
1.4 计算机中有符号数的表示方法 18
1.4.1 数的符号的表示方法 18
1.4.2 原码、反码和补码 19
1.4.3 补码的加减法运算 21
本章小结 22
思考题与习题 22
第2章 MCS-51单片机的结构 23
2.1 单片机的内部组成和信号引脚 23
2.1.1 单片机的内部组成 23
2.1.2 单片机的引脚及功能 25
2.2 单片机的存储器配置 27
2.2.1 程序存储器 28
2.2.2 数据存储器 28
2.3 单片机的时钟电路和复位电路 34
2.3.1 时钟电路 34
2.3.2 时序定时单位 35
2.3.3 复位电路 35
2.4 掉电保护及低功耗工作方式 37
2.4.1 掉电保护方式 37
2.4.2 低功耗工作方式 38
本章小结 39
思考题与习题 40
第3章 C51语言基础知识及编程应用 41
3.1 计算机语言 41
3.2 C51程序的基本结构和常用的头文件 42
3.2.1 C51程序的基本结构 42
3.2.2 函数的基本知识 44
3.2.3 C51程序中常用的头文件 46
3.3 C51语言的变量及运算符 47
3.3.1 基本数据类型 47
3.3.2 变量的存储类型 48
3.3.3 变量的存储模式 49
3.3.4 变量声明举例 49
3.3.5 C51语言的运算符 50
3.4 Keil软件使用说明 51
3.4.1 Keil工程的建立 52
3.4.2 工程的设置 56
3.4.3 编译和链接 58
3.4.4 调试 59
3.5 C51语言程序设计举例 64
3.5.1 顺序程序的设计 64
3.5.2 循环程序的设计 65
3.5.3 分支程序的设计 67
3.5.4 子程序的设计 69
?
本章小结 70
思考题与习题 70
第4章 并行I/O口及其应用 71
4.1 并行I/O口的结构 71
4.1.1 P0口 71
4.1.2 P1口 72
4.1.3 P2口 73
4.1.4 P3口 73
4.2 并行I/O口的输出应用 74
4.2.1 发光二极管及其接口技术 74
4.2.2 数码管及其接口技术 78
4.2.3 液晶显示器及其接口技术 83
4.2.4 蜂鸣器及其接口技术 89
4.3 并行I/O口的输入应用 90
4.3.1 按键的基本知识及非编码键盘结构 90
4.3.2 独立式键盘接口技术 92
4.3.3 行列式键盘中按键的识别方法及接口技术 95
本章小结 100
思考题与习题 101
第5章 MCS-51单片机中断系统及外部中断的应用 102
5.1 中断概述 102
5.1.1 数据的输入/输出传送方式 102
5.1.2 中断的基本概念 104
5.2 中断系统结构及中断控制 104
5.2.1 中断源 105
5.2.2 中断控制 107
5.2.3 中断矢量地址 108
5.2.4 中断响应过程 108
5.3 中断服务程序的编程方法 109
5.3.1 中断系统的初始化 109
5.3.2 C51中断服务函数的格式 110
5.4 外部中断应用举例 110
本章小结 116
思考题与习题 117
第6章 定时/计数器及其应用 118
6.1 51子系列单片机的结构和寄存器 118
6.1.1 定时和计数的概念 118
6.1.2 51子系列单片机定时/计数器的结构 119
6.1.3 定时/计数器的寄存器 120
6.2 定时/计数器的工作方式及基本应用 121
6.2.1 工作方式0 121
6.2.2 工作方式1 123
6.2.3 工作方式2 124
6.2.4 工作方式3 126
6.3 定时/计数器的典型应用实例 128
6.3.1 测试信号宽度 128
6.3.2 调节直流电机转速 129
6.3.3 音乐盒的设计 131
本章小结 134
思考题与习题 135
第7章 并行存储器的扩展 136
7.1 存储器概述 136
7.1.1 存储器的分类 136
7.1.2 半导体存储器的分类 136
7.1.3 半导体存储器的指标 138
7.2 并行存储器的扩展结构及实现方法 138
7.2.1 并行存储器的扩展结构 138
7.2.2 单片机并行扩展的实现方法 140
7.3 并行程序存储器的扩展 141
7.3.1 EPROM芯片 141
7.3.2 并行ROM的扩展方法 142
7.4 并行数据存储器的扩展 147
7.4.1 并行RAM简介 147
7.4.2 并行RAM的扩展方法 148
7.5 并行程序存储器和数据存储器的混合扩展 150
本章小结 153
思考题与习题 153
?
第8章 单片机并行I/O口的扩展 154
8.1 I/O口扩展概述 154
8.1.1 I/O接口电路应具有的功能 154
8.1.2 I/O接口的基本结构 155
8.1.3 I/O端口的操作 155
8.2 简单并行I/O口扩展 156
8.2.1 扩展并行输入口 156
8.2.2 扩展并行输出口 157
8.3 可编程并行I/O口芯片8255A 159
8.3.1 8255A芯片内部结构及功能 159
8.3.2 8255A芯片的操作说明 160
8.3.3 8255A芯片与单片机的接口设计 163
8.4 键盘/显示器接口芯片8279及其应用 167
8.4.1 8279的内部结构及工作原理 167
8.4.2 8279的工作方式 170
8.4.3 8279的命令格式和命令字 170
8.4.4 8279状态格式与状态字 174
8.4.5 8279数据输入/输出格式 174
8.4.6 8279的译码和编码方式 174
8.4.7 8279与单片机和键盘/显示器的接口 175
本章小结 179
思考题与习题 179
第9章 并行ADC及DAC接口技术 181
9.1 DAC及其性能指标 181
9.1.1 权电阻网络DAC 181
9.1.2 倒T型电阻网络DAC 182
9.1.3 DAC的性能指标及输入/输出特性 184
9.2 8位并行DAC0832及其接口技术 185
9.2.1 DAC0832简介 185
9.2.2 DAC0832与单片机的接口及编程 187
9.3 ADC及其性能指标 192
9.3.1 A/D转换的基本原理 192
9.3.2 反馈比较型ADC的工作原理 193
9.3.3 ADC的主要性能指标 195
?
9.4 并行ADC0808(0809)及其接口技术 196
9.4.1 ADC0808和ADC0809简介 196
9.4.2 ADC0808(0809)与单片机的接口及编程 198
本章小结 202
思考题与习题 202
第10章 MCS-51单片机串行口及其应用 204
10.1 串行通信概述 204
10.1.1 并行通信与串行通信 204
10.1.2 串行通信的两种基本通信方式 204
10.1.3 串行通信的线路传输方式 206
10.1.4 比特率和波特率 206
10.1.5 串行通信的信号形式 207
10.2 MCS-51单片机串行口 207
10.2.1 串行口的结构及工作原理 207
10.2.2 与串行口相关的特殊功能寄存器 209
10.2.3 波特率的设计 211
10.2.4 串行通信工作方式 212
10.2.5 串行口的应用举例 213
10.2.6 串行口方式2和方式3的应用 219
10.3 单片机之间的串行异步通信 219
10.3.1 单片机之间的串行通信方式 219
10.3.2 单片机之间的TTL电平通信举例 221
10.4 单片机与计算机的通信 224
10.4.1 单片机与计算机之间的串行口及调试助手 224
10.4.2 单片机与计算机通信举例 227
10.4.3 单片机与计算机的双向通信 228
本章小结 229
思考题与习题 230
第11章 I2C总线和单线制串行总线的应用 231
11.1 I2C总线概述及编程技术 231
11.1.1 I2C总线概述 231
11.1.2 51单片机中I2C总线的信号模拟与编程技术 234
11.2 I2C总线E2PROM的基本知识及使用方法 237
11.2.1 AT24C02的基本知识 237
11.2.2 I2C总线E2PROM应用举例 239
11.3 单总线DS18B20温度传感器的应用 243
11.3.1 DS18B20温度传感器介绍 243
11.3.2 DS18B20应用举例 248
本章小结 251
思考题与习题 251
第12章 Proteus电路设计与仿真 252
12.1 Proteus界面说明 252
12.1.1 Proteus的启动过程 252
12.1.2 主菜单 254
12.1.3 工具栏 255
12.1.4 其他主要栏目 257
12.2 电路原理图绘制基本操作过程 257
12.2.1 查找元器件 258
12.2.2 元器件的放置与编辑 260
12.2.3 元器件的连接 261
12.2.4 修改元器件属性 262
12.2.5 电路原理图设计方法 263
12.2.6 实例讲解 263
本章小结 265
附录A ASCII码字符表 266
附录B C51编译时的部分错误(Error)信息及可能发生的原因 267