绪论 1
0.1单片机简介 1
0.2常见的单片机品种 2
0.3计算机中数据的表示 4
0.3.1常用的数制 5
0.3.2二进制的算术运算 6
0.3.3数制间的转换 6
0.3.4数的表示方法及常用计数制的对应关系 7
0.3.5逻辑数据的表示 7
0.4计算机中常用的基本术语 8
0.5存储器 9
0.5.1存储器的工作原理 9
0.5.2半导体存储器的分类 11
课题1 80C51单片机软件实验环境的建立 13
任务1Keil软件简介、安装与使用 13
1.1.1Keil软件简介 13
1.1.2安装Keil软件 14
1.1.3使用Keil软件 14
任务2Proteus软件简介、安装与使用 22
1.2.1Proteus软件简介 22
1.2.2安装Proteus软件 22
1.2.3使用Proteus软件 24
课题2 80C51单片机硬件实验环境的建立 32
任务1使用STC89C51单片机制作实验板 32
2.1.1电路原理图 32
2.1.2实验板的制作与代码的写入 32
任务2让实验板具有仿真功能 36
2.2.1仿真的概念 36
2.2.2仿真芯片制作 36
任务3认识和使用成品实验板 39
2.3.1实验板功能简介 39
2.3.2成品实验板硬件结构 40
2.3.3成品实验板的基本使用方法 42
课题3 认识80C51单片机I/O端口 44
任务1用单片机控制LED 44
3.1.1任务分析 44
3.1.2用Proteus仿真实现 45
任务2用单片机发出声音 46
3.2.1任务分析 47
3.2.2用Proteus仿真实现 47
3.2.3延时工作过程分析 49
任务3用指拔开关设置音调 53
3.3.1音名与频率的关系 53
3.3.2用Proteus仿真实现 53
3.3.3单片机内部的并行I/O口 55
任务4用单片机制作风火轮玩具 59
3.4.1用Proteus仿真实现 59
3.4.2用硬件仿真实现 61
3.4.3单片机的内部结构 62
课题4 80C51单片机的中断系统 66
任务1紧急停车控制器 66
4.1.1中断的概念 66
4.1.2用Proteus仿真实现 67
4.1.380C51单片机的中断结构 68
任务2通过外部信号来改变风火轮的转速 70
4.2.1任务分析 71
4.2.2用Proteus仿真实现 71
4.2.3中断响应分析 73
课题5 80C51单片机的定时器/计数器 76
任务1包装流水线中的计数器 76
5.1.1定时/计数的基本知识 76
5.1.2用Proteus仿真实现 77
5.1.3单片机中的定时器/计数器工作原理 78
任务2用单片机来唱歌 84
5.2.1歌谱与歌曲的基本知识 84
5.2.2用定时中断来获得不同频率的信号 84
5.2.3用单片机实现唱歌 87
课题6 80C51单片机的串行口与串行通信 92
任务1使用串行口扩展并行口 92
6.1.1用串行口扩展并行输出口 92
6.1.2用串行口扩展并行输入口 94
6.1.380C51单片机的串行口 95
任务2单片机与PC通信 98
6.2.1串行通信的基本知识 98
6.2.2单片机与PC通信的具体实现 100
6.2.3串行口工作方式与波特率设置 103
课题7 80C51单片机的指令系统 107
任务1指令的概念 107
7.1.1有关指令与程序的基本概念 107
7.1.2汇编语言指令格式 108
任务2指令的寻址方式 108
7.2.1寻址的概念 109
7.2.2寻址方式 109
7.2.3指令中的操作数标记 112
任务3数据传送类指令 112
7.3.1数据传送类指令介绍 112
7.3.2用仿真软件进行指令练习 116
任务4算术运算类指令 119
任务5逻辑运算类指令 122
任务6控制转移类指令 125
任务7位操作类指令 130
课题8 程序设计初步 135
任务1数制转换程序 135
任务2双字节数运算程序 137
任务3多字节移位程序 138
任务4子程序设计 139
课题9 显示接口 142
任务1一位计数器 142
9.1.1单个数码管的结构 142
9.1.2用单个数码管显示数字 142
9.1.3数码管显示中的其他问题 145
任务2银行利率屏的制作 147
9.2.1相关知识 147
9.2.2任务实现 148
9.2.3使用普通I/O扩展串行口 150
任务3秒表的制作 151
9.3.1LED数码管动态接口原理 151
9.3.2动态显示程序编写 152
9.3.3秒表的实现 157
课题10 模拟量转换接口 163
任务1数字电压表的制作 163
10.1.1A/D转换器工作原理 163
10.1.2数字电压的制作 165
任务2数字化信号发生器 168
10.2.1D/A转换器工作原理 168
10.2.2数字化信号发生器的实现 171
课题11 键盘接口 177
任务1键控风火轮 177
11.1.1单片机键盘简介 177
11.1.2键控风火轮的实现 178
任务2可预置数的倒计时时钟 181
11.2.1倒计时时钟功能描述 181
11.2.2倒计时时钟的实现 181
11.2.3单片机键盘处理的方法 187
任务3智能仪器的键盘 188
11.3.1相关知识 188
11.3.2智能仪器键盘功能的实现 189
课题12 I2C串行接口总线 195
任务1I2C串行接口与VIIC软件包 195
12.1.1I2C总线简介 195
12.1.2典型I2C总线接口芯片AT24系列EEPROM 196
任务2AT24C01A编程器的制作 200
12.2.1编程器功能描述 200
12.2.2编程器的制作 201
课题13 实时时钟芯片及其应用 209
任务1认识DS1302芯片 209
任务2用DS1302制作实时时钟 212
任务3使用DS1302片内RAM存取数据 219
课题14 LED点阵显示屏及其应用 223
任务1认识LED点阵显示屏及字模 223
14.1.1LED点阵显示屏的结构 223
14.1.2字模的产生 224
任务2用LED点阵显示屏显示汉字 228
14.2.1用LED点阵显示屏显示单个汉字 229
14.2.2用LED点阵显示屏显示多个汉字 233
课题15 液晶显示屏及其应用 239
任务1小小迎宾屏 239
15.1.1字符型液晶显示器简介 239
15.1.2字符型液晶显示屏驱动程序 240
15.1.3小小迎宾屏的实现 244
任务2认识点阵式液晶显示屏 246
15.2.1FM12864I及其控制芯片HD61202 247
15.2.2HD61202及其兼容控制驱动器的特点 247
15.2.3HD61202及其兼容控制驱动器的指令系统 248
任务3用点阵式液晶屏显示汉字 249
15.3.1硬件电路 249
15.3.2字模生成 250
15.3.3编程实现 250
参考文献 259