第1章 单片机技术基础 1
1.1单片机概述 1
1.1.1单片机的基本概念 1
1.1.2单片机的内部结构与硬件资源 3
1.1.3单片机的外部引脚 5
1.2单片机内部主要部件 8
1.2.1 CPU 8
1.2.2存储器 10
1.2.3专用寄存器 11
1.2.4特殊功能寄存器 13
1.3单片机系统的电路组成 16
1.3.1单片机最小系统 16
1.3.2单片机系统的工作模式 19
1.3.3单片机应用系统 20
1.4单片机的程序语言与数据 23
1.4.1汇编语言程序 23
1.4.2单片机的C语言程序 26
1.4.3数制转换与编码 27
1.4.4机器数 31
思考题 32
第2章 单片机系统开发常用软件 33
2.1单片机程序设计与开发平台 33
2.1.1 Keil μVision3的工作界面 33
2.1.2 Keil程序设计 33
2.1.3调试程序 39
2.2单片机系统仿真与调试 42
2.2.1 Proteus ISIS的工作界面 42
2.2.2电路原理设计 44
2.2.3仿真与调试 48
2.2.4 Proteus与Keil的联合调试 49
2.3单片机的程序下载与硬件仿真 51
2.3.1单片机的下载接口 51
2.3.2下载软件 53
2.3.3下载过程 53
思考题 57
第3章 单片机程序设计基础 58
3.1单片机的C语言 58
3.1.1 C51的特点 58
3.1.2 C51的数据 59
3.1.3 C51的运算符 62
3.1.4 C51中常用的函数 63
3.1.5单片机C语言的结构 64
3.1.6数制与码制 65
3.2单片机驱动一个LED闪烁 66
3.2.1单片机I/O接口输出与驱动 67
3.2.2 P0.0接口驱动LED闪烁(项目1) 68
3.2.3流水灯程序设计(项目2) 71
3.2.4数组与应用 73
3.3数码管驱动 75
3.3.1数码管的显示原理 75
3.3.2数码管0~9显示程序设计(项目3) 77
3.3.3函数调用 78
3.3.4主程序与子程序 80
3.4单片机系统的按键(项目4) 82
3.4.1按键抖动现象 82
3.4.2单按键输入程序 83
3.4.3 4x4键盘矩阵 87
思考题 89
第4章 单片机内部硬件资源及应用 91
4.1单片机的中断系统 91
4.1.1中断系统简介 91
4.1.2中断响应 95
4.1.3中断服务函数 98
4.1.4利用外部中断实现按键的输入(项目5) 100
4.2 MCS-51系列单片机的定时器 101
4.2.1单片机的定时器/计数器结构 101
4.2.2定时器的工作方式 102
4.2.3定时器/计数器的初始化 104
4.2.4单只数码管秒显示(项目6) 105
4.2.5 6位数码管动态显示(项目7) 107
4.3单片机串行通信 111
4.3.1串行通信原理 111
4.3.2单片机的串行接口 112
4.3.3串行接口的工作方式 114
4.3.4单片机通信电路接口 119
4.3.5 PC与MCS-51系列单片机的串行通信(项目8) 120
4.4电子表程序设计(项目9) 122
4.4.1功能分析 122
4.4.2电路设计 123
4.4.3程序设计 123
4.5增强型51系列单片机的内部特殊部件 131
4.5.1单片机内部特殊部件 131
4.5.2单片机片内看门狗定时器的使用(项目10) 133
4.5.3单片机片内A-D转换器的使用(项目11) 136
思考题 139
第5章 单片机外围常用器件及其应用 141
5.1数字温度传感器DS18B20的应用 141
5.1.1 DS18B20的功能原理 141
5.1.2 DS18B20的工作时序 143
5.1.3 DS18B20的指令 145
5.1.4 DS18B20的驱动程序设计 146
5.1.5数字温度计设计(项目12) 149
5.2 I2C总线器件AT24C04及其应用 152
5.2.1 I2 C总线的构成和信号类型 152
5.2.2 AT24C04的应用原理 154
5.2.3 AT24C04的驱动程序设计 156
5.2.4 AT24C04的应用(项目13) 158
5.3实时时钟DS1302的原理与应用(项目14) 160
5.3.1 DS1302的功能 160
5.3.2 DS1302的寄存器和控制指令 161
5.3.3 DS1302的读写时序与驱动程序 162
5.3.4 DS1302的应用 165
5.4 A-D、 D-A转换器及其应用 169
5.4.1 A-D转换器、D-A转换器参数描述 169
5.4.2 A-D转换器ADC0832的应用(项目15.1) 170
5.4.3 A-D转换器TLC549的应用(项目15.2) 174
5.4.4 D-A转换器TLC5615的应用(项目16) 178
5.5单片机常用的接口电路 182
5.5.1并行锁存器 182
5.5.2串行移位寄存器 183
5.5.3驱动器ULN2003的应用(项目17) 186
思考题 191
第6章 字符点阵显示 192
6.1 LCD1602单色字符液晶显示模块(项目18) 192
6.1.1 LCD1602液晶显示模块工作原理 192
6.1.2 LCD1602的操作指令 194
6.1.3 LCD1602的驱动程序设计 197
6.1.4 LCD1602的应用 199
6.2 LCD12864的原理与应用(项目19) 200
6.2.1 LCD12864点阵液晶显示模块的工作原理 200
6.2.2 LCD12864的驱动程序设计 203
6.2.3 LCD12864的应用 212
6.3彩屏液晶TFT的原理与应用(项目20) 214
6.3.1彩色液晶显示模块概述 214
6.3.2彩色液晶显示模块介绍 215
6.3.3驱动程序设计 218
6.4 LED点阵显示屏 224
6.4.1 LED点阵结构及显示原理 225
6.4.2 LED8x8点阵字符显示(项目21) 227
6.4.3 LED汉字屏原理与设计(项目22) 230
6.4.4 16x16汉字点阵显示程序设计 232
思考题 236
第7章 单片机系统设计(项目23) 237
7.1 V B6.0可视化窗口设计基础 237
7.1.1 VB6.0介绍 237
7.1.2可视化窗口设计步骤 240
7.1.3常用控件及函数 242
7.2 Protel99SE电路设计基础 243
7.2.1 Protel使用简介 244
7.2.2原理图设计 248
7.2.3 PCB设计 249
7.3上位机程序设计 253
7.3.1上位机窗口设计 253
7.3.2程序添加 256
7.3.3程序运行 258
7.3.4制作可执行文件 258
7.4单片机测温程序与系统调试 259
7.4.1程序设计 260
7.4.2联机通信 265
7.4.3综合项目设计总结 266
综合设计练习 267
附录 269
附录A MCS-51系列单片机汇编指令集 269
附录B C51常用头文件 272