项目一 键盘、数码管、点阵屏 1
1.1 键盘的工作原理和接口方法 2
1.2 数码管、点阵屏的工作原理和接口方法 3
1.3 键盘、数码管、点阵屏集中控制芯片BC7281B 6
任务1 应用实践 11
项目二 让数码管和点阵屏显示动画 15
2.1 驱动程序基本种类 16
2.2 点阵数据库 16
2.3 基本驱动函数 19
任务2 应用实践 25
项目三 制作简单浮点计算器 29
任务3 应用实践 30
项目四 中断及应用 33
4.1 中断概述 34
4.2 单片机中断系统的结构 35
4.3 中断响应的条件和过程 38
4.4 C语言中断程序编写方法 39
任务4 应用实践 40
项目五 定时器/计数器及其应用 43
5.1 定时/计数的基本概念 44
5.2 定时器/计数器的工作原理和控制寄存器 45
5.3 定时器/计数器0、1的工作模式 47
5.4 定时器/计数器2的工作模式 50
任务5 应用实践 53
项目六 串行通信及其应用 57
6.1 串行通信基本知识 58
6.2 串行通信RS-232总线标准 61
6.3 单片机的串口结构 64
任务6 应用实践 68
项目七 温度控制系统制作 71
7.1 温度控制概述 72
7.2 单总线数据通信(DS18B20) 74
7.3 温度测量及控制驱动程序 78
任务7应用实践 80
项目八 字符型液晶屏模块 83
8.1 液晶屏显示器概述 84
8.2 LCD指令表 87
8.3 LCD的内部字符集 89
8.4 字符型液晶屏的驱动程序 90
任务8 应用实践 92
项目九 汉字库点阵液晶屏 95
9.1 汉字库点阵液晶屏概述 96
9.2 汉字库点阵液晶屏的内部结构 96
9.3 汉字库点阵液晶屏的操作指令 98
9.4 绘图算法 100
9.5 汉字库点阵液晶屏的驱动程序 102
任务9 应用实践 108
项目十 综合应用:万年历 111
10.1 X1227概述 112
10.2 X1227内部存储器 112
10.3 I2C串行通信 115
10.4 X1227驱动程序 118
任务10 应用实践 121
项目十一 模/数、数/模转换 127
11.1 模/数、数/模转换概述 128
11.2 模/数(A/D)转换器 128
11.3 数/模(D/A)转换器 132
11.4 模/数转换和数/模转换的驱动程序 135
任务11 应用实践 137
项目十二 Flash存储器 141
12.1 SPI串行总线Flash存储器 142
12.2 Flash存储器驱动程序 145
任务12 应用实践 148
项目十三 Proteus仿真实践 153
13.1 Proteus概述 154
13.2 Proteus仿真 155
附录A Cx51库函数 172
A.1 数学函数 172
A.2 输入、输出函数 175
A.3 字符转换和分类函数 182
A.4 字符串操作函数 186
A.5 缓冲区操作函数 191
A.6 字符串转换函数atof/atof517、atoi、atol 193
A.7 字符串按格式转换函数strtod/strtod517、strtoul、strtoul 193
A.8 内部固有函数 194
A.9 存储区分配函数 196
A.10 可变长度参数列表函数 198
A.11 其他函数 199
A.12 编写程序的基本原则和容易出错的地方 200
附录B Cx51编译错误、警告 204
B.1 致命错误 204
B.2 语法和语义错误 206
B.3 警告 211
附录C 术语表 214
附录D Cx51编译器限制 217
附录E EJ51单片机实践版完整电原理图 218
附录F 电子产品锡焊的小技巧 219
附录G 汉字码址表 220
附录H 推荐的毕业设计课题 226