模块1 单片微型计算机 1
项目1:认识单片微型计算机 2
任务1-1:认识单片机 2
任务1-2:相关知识 3
项目2:认识单片机应用 6
任务2-1:了解单片机应用 6
任务2-2:相关知识 7
项目3:认识仿真软件Proteus的使用 8
任务3-1:Proteus ISIS的上机步骤 9
任务3-2:相关知识 19
项目4:了解Keil C51的使用 23
任务4-1:Keil C51的上机步骤 23
模块小结 29
课后练习题 29
参考文献 30
模块2 80C51单片机的结构分析及应用 31
项目5:认识80C51单片机内部结构 32
任务5-1:用单片机P1口来点亮LED1~LED8灯 32
任务5-2:相关知识 33
项目6:认识单片机端口应用 43
任务6-1:用单片机P3.5控制LED5灯亮 44
任务6-2:相关知识 45
项目7:用单片机的P1.0控制LED1灯闪烁 52
项目8:将P0.0引脚的状态分别送给P1.0、P2.0和P3.0口 53
模块小结 54
课后练习题 55
参考文献 55
模块3 C51程序设计及应用 56
项目9:了解单片机C语言 57
任务9-1:了解C51编程结构 58
任务9-2:相关知识 59
项目10:认识C51的数据类型 62
任务10-1:用不同数据类型控制P2口的8位LED闪烁 62
任务10-2:相关知识 63
项目11:认识C51的运算符 70
任务11-1:分别用P2、P3口显示“加减”运算结果 71
任务11-2:用P1口显示逻辑“与或”运算结果 72
任务11-3:分别用P2、P3口显示位“与或”运算结果 73
任务11-4:用P1口显示“左右移”运算结果 75
任务11-5:相关知识 76
项目12:认识C51流程控制语句 80
任务12-1:用按键S控制P1口8只LED显示状态 80
任务12-2:用for语句实现蜂鸣器发出1kHz音频 82
任务12-3:用while语句实现P1口8只LED显示状态 84
任务12-4:用do…while语句实现P1口8只LED显示状态 85
任务12-5:相关知识 88
项目13:认识C51的数组 90
任务13-1:用数组实现P1口8只LED显示状态 90
任务13-2:相关知识 92
项目14:认识C51的指针 95
任务14-1:用指针数组实现P1口8只LED显示状态 95
任务14-2:用指针数组实现多状态显示 96
任务14-3:相关知识 99
项目15:认识C51的函数 105
任务15-1:用带参数函数控制8位LED灯闪烁时间 105
任务15-2:用数组作为函数参数控制8位LED点亮状态 107
任务15-3:用指针作为函数参数控制8位LED点亮状态 109
任务15-4:用函数型指针控制8位LED点亮状态 110
任务15-5:相关知识 112
项目16:用P2口控制8只LED左循环流水灯亮 117
项目17:用开关S控制实现蜂鸣器报警 119
模块小结 122
课后练习题 124
参考文献 125
模块4 80C51单片机定时器/计数器分析及应用 126
项目18:认识单片机定时器/计数器 127
任务18-1:用定时器T0查询方式控制P3口8位LED闪烁 127
任务18-2:相关知识 129
项目19:认识定时器/计数器的工作方式 134
任务19-1:用定时器T0查询方式控制P1.0的蜂鸣器发出1kHz音频 134
任务19-2:相关知识 136
项目20:将T1计数的结果送P0口显示 138
项目21:单片机控制LED灯左循环亮 139
模块小结 141
课后练习题 141
参考文献 142
模块5 80C51单片机中断系统分析及应用 143
项目22:认识80C51中断系统 144
任务22-1:用定时器T1中断方式控制P3口8位LED闪烁 144
任务22-2:相关知识 146
项目23:认识80C51中断控制器 148
任务23-1:用外中断?控制P2口8个LED亮灭 149
任务23-2:外部中断?控制LED灯左循环亮 150
任务23-3:相关知识 152
项目24:用外中断?测量负跳变信号累计数,并将结果送P2口显示 156
项目25:用外中断?测量外部负脉冲宽度,并将结果送P1口显示 158
项目26:基于AT89S52单片机交通灯控制器的设计 160
模块小结 165
课后练习题 165
参考文献 166
模块6 80C51单片机串行通信技术分析及应用 167
项目27:认识80C51串行通信 168
任务27-1:方式0控制流水灯循环点亮 168
任务27-2:相关知识 171
项目28:认识80C51串口的通信方式 175
任务28-1:单片机U1与单片机U2进行通信 176
任务28-2:相关知识 178
项目29:单片机向PC发送数据 184
项目30:PC向单片机发送数据,并用LED显示出来 187
项目31:串口驱动数码管 188
项目32:单片机与单片机双机通信 190
模块小结 192
课后练习题 193
参考文献 193
模块7 80C51单片机接口技术分析及应用 194
项目33:认识矩阵式键盘 195
任务33-1:独立式按键S控制LED0的亮灭状态 195
任务33-2:软件消抖的独立式按键S控制LED0的亮灭状态 197
任务33-3:独立式按键S组控制8位LED灯 198
任务33-4:用数码管显示矩阵键盘的按键值 202
任务33-5:相关知识 205
项目34:认识LED数码管显示器 209
任务34-1:用LED数码管循环显示数字0~9 209
任务34-2:用数码管显示按键次数 210
任务34-3:用LED数码管动态显示“123456” 213
任务34-4:相关知识 214
项目35:认识液晶显示器LCD 216
任务35-1:用LCD显示字符‘ABCD’ 217
任务35-2:用LCD循环右移显示“China Dream” 221
任务35-3:相关知识 224
项目36:认识A/D转换器 231
任务36-1:5V直流数字电压表设计 231
任务36-2:相关知识 237
项目37:认识D/A转换器 241
任务37-1:DAC0832锯齿波发生器 242
任务37-2:相关知识 242
项目38:步进电动机正反转控制 247
项目39:电子密码锁 252
项目40:数码秒表设计 255
项目41:液晶时钟显示器 258
项目42:基于手机—蓝牙—单片机控制LED灯亮灭 264
模块小结 268
课后练习题 269
参考文献 270