项目一 认识单片机 1
任务一 单片机芯片认识 1
任务提出 1
任务分析 1
相关知识 2
一、单片机的发展与常用类型 2
二、AT89S51单片机 2
任务实施 9
一、AT89S5x单片机芯片 10
二、其他系列单片机芯片 10
任务二 单片机最小系统的认识 10
任务提出 10
任务分析 10
相关知识 11
一、AT89S51单片机的最小系统 11
二、基本外围扩展应用电路 12
任务实施 14
一、单片机实验电路板简介 14
二、单片机实验电路板安装和制作 15
任务评价 18
一、成果展示与分享 18
二、安装外观质量评价 18
任务三 单片机程序实践操作 18
任务提出 18
任务分析 19
相关知识 19
一、单片机的工作过程 19
二、单片机的编程语言 20
三、单片机程序开发过程 20
任务实施 21
思考与练习 22
项目二 彩灯控制 23
任务一 彩灯的点亮与熄灭 24
任务提出 24
任务分析 24
相关知识 24
一、C51基本知识 24
二、C51程序设计基础 27
三、单片机引脚的使用 29
任务实施 32
一、硬件设计 32
二、软件设计 33
三、Proteus仿真 34
任务二 彩灯的闪烁 35
任务提出 35
任务分析 35
相关知识 36
一、C51的数据类型、常量、变量及表达式 36
二、C51的循环语句 41
三、C51函数的定义和调用 43
四、延时函数 45
任务实施 46
一、硬件设计 46
二、软件设计 46
三、Proteus仿真 47
任务三 跑马灯 47
任务提出 47
任务分析 48
相关知识 48
一、C51的位运算规则 48
二、C51的条件语句 50
三、端口的定义及应用 51
任务实施 52
一、硬件设计 52
二、软件设计 52
三、Proteus仿真 58
任务四 任意变化的彩灯控制 58
任务提出 58
任务分析 59
相关知识 59
任务实施 60
一、硬件设计 60
二、软件设计 60
三、Proteus仿真 62
思考与练习 63
项目三 简易数字钟 64
任务一 LED数码管的静态显示 65
任务提出 65
任务分析 65
相关知识 66
一、LED数码管的工作原理 66
二、静态显示原理 67
任务实施 72
一、硬件设计 72
二、软件设计 72
三、Proteus仿真 73
任务二 LED数码管的动态显示 74
任务提出 74
任务分析 74
相关知识 75
一、动态显示原理 75
二、常见动态显示电路 76
任务实施 78
一、硬件设计 78
二、软件设计 79
三、Proteus仿真 81
任务三 简易数字钟 81
任务提出 81
任务分析 82
相关知识 82
任务实施 82
一、硬件设计 82
二、软件设计 83
三、Proteus仿真 85
思考与练习 86
项目四 键盘输入 87
任务一 按键控制数码显示 87
任务提出 87
任务分析 87
相关知识 88
一、单片机引脚的读入 88
二、按键抖动与消抖的方法 89
三、独立按键接口电路 91
任务实施 91
一、硬件设计 91
二、软件设计 92
三、Proteus仿真 93
任务二 键盘输入数码 94
任务提出 94
任务分析 94
相关知识 95
一、矩阵键盘扫描与译码的原理 95
二、键盘状态的检测方式 99
任务实施 100
一、硬件设计 100
二、软件设计 101
三、Proteus仿真 103
思考与练习 104
项目五 键控彩灯 105
任务提出 105
任务分析 105
相关知识 106
一、中断的概念 106
二、常用中断控制寄存器 106
三、中断源和优先次序 108
四、外部中断的实现过程 109
五、C51中的中断函数 109
任务实施 110
一、硬件设计 110
二、软件设计 110
三、Proteus仿真 113
思考与练习 113
项目六 简易频率计 114
任务一 输出1000Hz的方波 114
任务提出 114
任务分析 114
相关知识 115
一、定时器/计数器简介 115
二、定时器/计数器的模式控制寄存器TMOD 115
三、定时器/计数器的工作方式 116
四、定时器/计数器中断的实现过程 118
五、定时器/计数器的初始化设置 119
六、定时器/计数器的中断服务程序编写 120
任务实施 120
一、硬件设计 120
二、软件设计 121
三、Proteus仿真 122
任务二 每秒闪烁一次的LED 123
任务提出 123
任务分析 124
相关知识 124
一、变量的作用范围 124
二、变量的生存期 124
任务实施 126
一、硬件设计 126
二、软件设计 126
三、Proteus仿真 128
任务三 简易频率计 128
任务提出 128
任务分析 128
相关知识 129
一、定时器的计数方式 129
二、定时器T2简介 129
任务实施 130
一、硬件设计 130
二、软件设计 130
三、Proteus仿真 133
思考与练习 134
项目七 单片机双机通信 135
任务一 单片机与PC通信 135
任务提出 135
任务分析 135
相关知识 136
一、串行通信基础 136
二、串行通信总线标准及其接口 139
三、MCS-51单片机的串口相关寄存器 139
四、串口工作方式 141
五、波特率设置 144
任务实施 144
一、硬件设计 144
二、软件设计 145
三、Proteus仿真 147
任务二 双机通信 148
任务提出 148
任务分析 148
相关知识 149
一、通信协议 149
二、多机通信原理 150
任务实施 151
一、硬件设计 151
二、软件设计 151
三、Proteus仿真 155
思考与练习 157
项目八 简易波形发生器 158
任务一 数控电压源 158
任务提出 158
任务分析 158
相关知识 159
一、D/A的基本概念 159
二、D/A的主要性能指标 159
三、DAC0832简介 160
四、TL431简介 161
任务实施 161
一、硬件设计 161
二、软件设计 162
三、Proteus仿真 164
任务二 简易波形发生器 165
任务提出 165
任务分析 165
相关知识 166
任务实施 166
一、硬件设计 166
二、软件设计 167
三、Proteus仿真 169
思考与练习 170
项目九 简易数字电压表 171
任务提出 171
任务分析 171
相关知识 172
一、输入通道概述 172
二、A/D转换器简介 172
三、ADC0809简介 174
任务实施 177
一、硬件设计 177
二、软件设计 178
三、Proteus仿真 180
思考与练习 181
项目十 移动字幕的制作 182
任务一 用点阵LED实现移动字符显示 182
任务提出 182
任务分析 182
相关知识 183
一、点阵显示原理 183
二、LED点阵 183
三、LED点阵驱动电路 187
四、点阵取模软件 188
任务实施 188
一、硬件设计 188
二、软件设计 189
三、Proteus仿真 192
任务二 字符液晶LCD1602显示应用 193
任务提出 193
任务分析 193
相关知识 193
一、LCD1602液晶显示器简介 193
二、LCD1602显示控制 194
三、LCD1602驱动函数 195
四、LCD1602显示示例 198
任务实施 198
一、硬件设计 198
二、软件设计 199
三、Proteus仿真 201
任务三 点阵液晶LCD12864显示应用 202
任务提出 202
任务分析 202
相关知识 203
一、LCD12864液晶显示器简介 203
二、LCD12864引脚功能 204
三、LCD12864主要驱动函数 204
任务实施 209
一、硬件设计 209
二、软件设计 209
三、Proteus仿真 212
思考与练习 213
附录A Keil软件的使用 214
附录B 程序下载 219
附录C Proteus仿真 224
参考文献 229 2100433B