模块1 了解单片微型计算机 1
1.1项目1认识单片微型计算机 1
1.1.1任务1-1认识单片机 2
1.1.2任务1-2相关知识 3
1.2项目2了解单片机应用 5
1.2.1任务2-1认识单片机应用 6
1.2.2任务2-2相关知识 6
1.3项目3认识仿真软件Proteus的使用 8
1.3.1任务3-1 Proteus ISIS的上机步骤 8
1.3.2任务3-2相关知识 19
1.4项目4 Kei1C51的上机步骤 23
模块小结 29
课后练习题 29
模块2 认识80C51单片机的结构 30
2.1项目5认识80C51单片机内部结构 30
2.1.1任务5-1用单片机P1口来点亮灯LED0~LED7 31
2.1.2任务5-2相关知识 31
2.2项目6认识单片机端口应用 42
2.2.1任务6-1用单片机P3.5控制灯LED5亮 42
2.2.2任务6-2相关知识 43
2.3拓展实训项目 50
2.3.1项目7用单片机的P1.0控制一个灯LED0闪烁 50
2.3.2项目8将P0.0引脚的状态分别送给P1.0、P2.0和P3.0口 52
模块小结 53
课后练习题 53
模块3 认识单片机C语言程序设计 55
3.1项目9了解单片机C语言 56
3.1.1任务9-1了解C51编程结构 56
3.1.2任务9-2相关知识 57
3.2项目10认识C51的数据类型 61
3.2.1任务10-1用不同的数据类型控制P2口的8位LED闪烁 61
3.2.2任务10-2相关知识 62
3.3项目11认识C51的运算符 69
3.3.1任务11-1分别用P2、P3口显示“加减”运算结果 70
3.3.2任务11-2用P1口显示逻辑“与或”运算结果 71
3.3.3任务11-3 分别用P2、P3口显示位“与或”运算结果 73
3.3.4任务11-4用P1口显示“左右移”运算结果 74
3.3.5任务11-5相关知识 75
3.4项目12认识C51流程控制语句 79
3.4.1任务12-1用按键S控制P1口8只LED的显示状态 80
3.4.2任务12-2用for语句实现蜂鸣器发出1kHz音频 82
3.4.3任务12-3用while语句控制P1口8只LED的显示状态 84
3.4.4任务12-4用do…while语句控制P1口8只LED的显示状态 86
3.4.5任务12-5相关知识 87
3.5项目13认识C51的数组 90
3.5.1任务13-1用数组控制P1口8只LED的显示状态 90
3.5.2任务13-2相关知识 92
3.6项目14认识C51的指针 95
3.6.1任务14-1用指针数组控制P1口8只LED的显示状态 95
3.6.2任务14-2用指针数组实现多状态显示 97
3.6.3任务14-3相关知识 99
3.7项目15认识C51的函数 106
3.7.1任务15-1用带参数函数控制8位LED的闪烁时间 106
3.7.2任务15-2用数组作为函数参数控制8位LED的点亮状态 108
3.7.3任务15-3用指针作为函数参数控制8位LED的点亮状态 110
3.7.4任务15-4 用函数型指针控制8位LED的点亮状态 111
3.7.5任务15-5相关知识 113
3.8拓展项目实训 118
3.8.1项目16用P2口控制8只LED左循环流水灯亮 118
3.8.2项目17用开关S控制蜂鸣器报警 120
模块小结 123
课后练习题 125
模块4认识单片机定时器/计数器 127
4.1项目18认识单片机定时器/计数器 127
4.1.1任务18-1用定时器T0查询方式控制P3口8位LED闪烁 128
4.1.2任务18-2相关知识 129
4.2项目19认识定时器/计数器的工作方式 134
4.2.1任务19-1用定时器T0查询方式控制P1.0的蜂鸣器发出1kHz音频 135
4.2.2任务19-2相关知识 136
4.3拓展实训项目 139
4.3.1项目20将T1计数的结果送P0口显示 139
4.3.2项目21单片机控制LED灯左循环亮 140
模块小结 142
课后练习题 142
模块5 认识单片机中断系统 144
5.1项目22认识80C51中断系统 144
5.1.1任务22-1用定时器T1中断方式控制P3口8位LED闪烁 145
5.1.2任务22-2相关知识 146
5.2项目23认识80C51中断控制器 149
5.2.1任务23-1用外中断 ̄INT1控制P2口8个LED的亮灭 149
5.2.2任务23-2外部中断 ̄INT0控制LED灯左循环亮 150
5.2.3任务23-3相关知识 153
5.3拓展实训项目 157
5.3.1项目24用外中断 ̄INT1测量负跳变信号累计数并将结果送P2口显示 157
5.3.2项目25用外中断 ̄INT0测量外部负脉冲宽度并将结果送P1口显示 159
5.3.3项目26基于AT89C51单片机交通灯控制器的设计 162
模块小结 167
课后练习题 167
模块6 认识80C51单片机串行通信技术 169
6.1项目27认识80C51串行通信 169
6.1.1任务27-1方式0控制流水灯循环点亮 170
6.1.2任务27-2相关知识 172
6.2项目28认识80C51串口的通信方式 177
6.2.1任务28-1单片机U1与单片机U2进行通信 177
6.2.2任务28-2相关知识 180
6.3拓展实训项目 185
6.3.1项目29单片机向PC发送数据 186
6.3.2项目30 PC向单片机发送数据并用LED显示出来 188
6.3.3项目31串口驱动数码管 190
6.3.4项目32单片机与单片机双机通信 191
模块小结 194
课后练习题 194
模块7 认识80C51单片机接口技术 195
7.1项目33认识矩阵式键盘 196
7.1.1任务33-1独立式按键S控制LED0的亮灭状态 196
7.1.2任务33-2软件消抖的独立式按键S控制LED0的亮灭状态 197
7.1.3任务33-3独立式按键S组控制8位LED灯 199
7.1.4任务33-4用数码管显示矩阵键盘的按键值 203
7.1.5任务33-5 相关知识 207
7.2项目34认识LED数码管显示器 210
7.2.1任务34-1用LED数码管循环显示数字0~9 210
7.2.2任务34-2用数码管显示按键次数 212
7.2.3任务34-3用LED数码管动态显示“123456” 214
7.2.4任务34-4相关知识 215
7.3项目35认识液晶显示器(LCD) 218
7.3.1任务35-1用LCD显示字符“ABCD” 218
7.3.2任务35-2用LCD循环右移显示“China Dream” 222
7.3.3任务35-3相关知识 227
7.4项目36认识A/D转换器 233
7.4.1任务36-1 5V直流数字电压表的设计 233
7.4.2任务36-2相关知识 239
7.5项目37认识D/A转换器 243
7.5.1任务37-1 DAC0832锯齿波发生器 244
7.5.2任务37-2相关知识 245
7.6拓展项目实训 249
7.6.1项目38步进电机正反转控制 250
7.6.2项目39电子密码锁 254
7.6.3项目40数码秒表的设计 258
7.6.4项目41液晶时钟显示器 261
模块小结 267
课后练习题 267
参考文献 269