图书目录

目    录

项目1  单片机基础知识的准备 1

任务1?1  单片机基本概念的学习 1

任务1-1-1  单片机的概念 2

任务1-1-2  单片机的基本功能单元 5

任务1?2  常用单片机性能比较 7

任务1?2-1  几种常用51系列单片机的性能比较 7

任务1-2-2  PIC和AVR单片机的性能比较 10

任务1?3  51单片机内部结构的学习 13

习题 28

项目2  单片机C语言编程 29

任务2-1  从标准C语言到C51语言 29

任务2-1-1  C51语言的数据类型 30

任务2-1-2  变量的定义 34

任务2-2  Keil ?Vision2软件的安装与调试 38

任务2-2-1  软件安装 39

任务2-2-2  第一个C51程序 40

任务2-2-3  Keil软件调试 48

任务2-3  Keil与Proteus联调 54

任务2-3-1  Proteus简介 54

任务2-3-2  Keil联调补丁安装 57

任务2-3-3  Proteus软件ISIS 7 Professional的使用 58

习题 62

项目3  8051内部资源的C51编程 63

任务3-1  I/O口应用与编程 63

任务3-1-1  按键及键盘 64

任务3-1-2  发光二极管(LED)指示 69

任务3-1-3  LED数码管显示 73

任务3-1-4  LED点阵显示 83

任务3-2  中断 92

任务3-2-1  中断的相关知识 92

任务3-2-2  中断源 92

任务3-2-3  中断的控制 94

任务3-2-4  中断响应 96

任务3-2-5  中断编程 97

任务3-2-6  中断扩展训练 98

任务3-3  定时器/计数器(T/C) 101

任务3-3-1  定时器/计数器的相关知识 102

任务3-3-2  定时器/计数器工作原理 102

任务3-3-3  与定时器/计数器有关的特殊功能寄存器 103

任务3-3-4  定时器/计数器的工作方式 104

任务3-3-5  定时器/计数器的初始化 107

任务3-3-6  定时器/计数器的扩展训练 109

任务3-4  串行口 112

任务3-4-1  数据传输的基本概念 113

任务3-4-2  MSC-51的串行口 116

任务3-4-3  单片机多机通信原理 121

任务3-4-4  串行口应用范例 122

习题 130

项目4  单片机温度控制器设计与仿真 131

任务4-1  数字温度传感器DS18B20和单片机接口及其编程 132

任务4-1-1  数字温度测量芯片DS18B20相关知识 133

任务4-1-2  温度传感器与单片机连接 137

任务4-1-3  DS18B20与单片机C51的程序实现 139

任务4-2  遥控器和单片机接口及其编程 143

任务4-2-1  红外遥控系统的相关知识 143

任务4-2-2  红外接收器与单片机连接和解码编程 145

任务4-3  PID控制算法 149

任务4-3-1  PID算法相关知识 149

任务4-3-2  PID控制器的参数整定 151

任务4-3-3  PID算法的C51程序实现 152

任务4-4  输出控制与PWM编程 154

任务4-4-1  PWM的相关知识 154

任务4-4-2  PWM的C51程序实现 155

任务4-5  液晶屏LCD1602及编程 156

任务4-5-1  LCD1602的相关知识 157

任务4-5-2  LCD1602指令集 159

任务4-5-3  LCD1602与单片机的连接 162

任务4-5-4  LCD1602的C51程序实现 163

任务4-6  单片机温度控制器整体分析 165

任务4-6-1  硬件部分 165

任务4-6-2  程序分析 166

习题 177

项目5  常用芯片与单片机接口和编程 178

任务5-1  LED驱动芯片MAX7219/7221 178

任务5-1-1  MAX7219/722l简介 179

任务5-1-2  MAX7219/7221与单片机的连接 181

任务5-1-3  基于MAX7221在LED上显示十六位数据的C语言程序 182

任务5-2  时钟芯片DS1302与单片机连接及编程 184

任务5-2-1  DS1302简介 185

任务5-2-2  DS1302与单片机的连接 186

任务5-2-3  读写DS1302的C语言程序 187

任务5-3  基于AT24C04与单片机连接及编程 194

任务5-3-1  AT24C04简介 194

任务5-3-2  AT24C04与单片机的连接 197

任务5-3-3  AT24C04的C语言程序 197

任务5-4  2路8位串行模/数转换器ADC0832 201

任务5-4-1  ADC0832简介 201

任务5-4-2  ADC0832与单片机的连接 203

任务5-4-3  ADC0832的C语言程序 204

任务5-5  RS-485通信 207

任务5-5-1  RS-485简介序 208

任务5-5-2  RS-485与单片机的连接 209

任务5-5-3  基于RS-485双机通信的C语言程序 210

习题 215

附录一  单片机汇编语言指令系统 217

附录二  Proteus常用元器件中英文对照表 224

参考文献 226