第1章单片机开发概述1
1.1项目导引1
1.2技术准备1
1.2.1单片机系统开发1
1.2.2编程工具Keil C511
1.2.3仿真工具Proteus2
1.2.4后续设计2
1.3项目实施2
1.3.1任务1\|1单片机最小系统:点亮一盏灯3
1.3.2任务1\|2用Keil C51编写程序 4
1.3.3任务1\|3无延迟地闪烁LED灯9
1.3.4任务1\|4实现闪烁灯时间控制10
1.4技术拓展12
1.5本章小结12
1.6强化练习12
第2章Proteus的使用13
2.1项目导引13
2.2技术准备13
2.2.1Proteus ISIS界面介绍13
2.2.2和Keil进行联合调试15
2.3项目实施15
2.3.1任务2\|1闪烁灯的Proteus仿真15
2.3.2任务2\|2联调设置21
2.3.3任务2\|3虚拟示波器观察波形23
2.4技术拓展25
2.5本章小结25
2.6强化练习25
第3章C51程序基础26
3.1项目导引26
3.2技术准备26
3.2.1C51的标识符和关键字26
3.2.2C51的数据类型28
3.2.3C51的运算符和表达式33
3.2.4C51程序结构37
3.2.5C51函数39
3.2.6C51的构造数据类型43
3.2.7C51的预处理47
3.3项目实施48
3.3.1任务3\|1最基本的流水灯程序49
3.3.2任务3\|2选择结构实现流水灯50
3.3.3任务3\|3移位操作实现流水灯51
3.3.4任务3\|4do\|while循环操作实现流水灯52
3.3.5任务3\|5利用库函数INTRINS.H实现流水灯52
3.3.6任务3\|6利用数组实现流水灯53
3.3.7任务3\|7利用指针数组实现流水灯54
3.4技术拓展54
3.4.1C51与标准C的主要区别54
3.4.2C51与汇编语言混合编程的方法55
3.5本章小结55
3.6强化练习56
第4章定时器/计数器57
4.1项目导引57
4.2技术准备57
4.2.1定时器的结构57
4.2.2定时器的TMOD和TCON58
4.2.3定时器工作方式59
4.2.4定时器编程步骤60
4.3项目实施60
4.4.1任务4\|1用定时器T0控制流水灯60
4.4.2任务4\|2T0控制LED灯实现二进制计数62
4.4技术拓展65
4.5本章小结65
4.6强化练习65
第5章中断66
5.1项目导引66
5.2技术准备66
5.2.1中断概述66
5.2.2中断源66
5.2.3中断寄存器67
5.2.4C51中断编程69
5.3项目实施70
5.3.1任务5\|1用定时器T0中断控制流水灯70
5.4.2任务5\|2用定时器T0控制LED长时间闪烁71
5.4技术拓展73
5.5本章小结74
5.6强化练习74
第6章串口通讯75
6.1项目导引75
6.2技术准备75
6.2.1串行口的结构75
6.2.2串行口的4种工作方式和波特率76
6.2.3C51串口编程78
6.3项目实施79
6.3.1任务6\|1双机通讯控制流水灯79
6.3.2任务6\|2基于方式3的双机通讯控制流水灯83
6.4技术拓展84
6.5本章小结84
6.6强化练习84
第7章数码管与键盘85
7.1项目导引85
7.2技术准备85
7.2.1LED数码管85
7.3.2键盘86
7.3项目实施87
7.3.1任务7\|1单个数码管显示88
7.3.2任务7\|2动态扫描显示数码管89
7.3.3任务7\|3独立键盘控制流水灯93
7.4技术拓展98
7.5本章小结99
7.6强化练习99
第8章单片机扩展100
8.1项目导引100
8.2技术准备100
8.2.174LS138译码器100
8.2.274HC154译码器101
8.2.374HC595串入并出101
8.2.424C02串行I 2C总线EEPROM102
8.2.5可编程并行接口芯片8255A102
8.3项目实施104
8.3.1任务8\|174LS138译码器控制流水灯104
8.3.2任务8\|274HC154译码器106
8.3.3任务8\|374HC595串入并出107
8.3.4任务8\|424C02串行I 2C总线应用109
8.3.5任务8\|58255A控制24路流水灯115
8.4技术拓展119
8.5本章小结119
8.6强化练习120
第9章综合实训1:简单计算器121
9.1项目分析121
9.2电路设计121
9.2.1输入设计121
9.2.2输出设计123
9.2.3总体电路设计124
9.3程序设计125
9.3.1主程序流程图125
9.3.2中断程序流程图125
9.3.3算术运算子程序125
9.3.4代码实现126
9.4项目成果134
第10章综合实训2:电子万年历135
10.1项目分析135
10.2电路设计135
10.2.1时钟模块135
10.2.2显示模块138
10.2.3键盘模块138
10.2.4测温模块138
10.2.5总体电路设计140
10.3程序设计140
10.3.1主程序流程图141
10.3.2按键扫描流程图141
10.3.3代码实现142
10.4项目成果160
第11章综合实训3:交通指挥灯161
11.1项目分析161
11.2电路设计161
11.2.1输入设计161
11.2.2数码管显示设计161
11.2.3信号灯设计162
11.2.4总体电路设计163
11.3程序设计163
11.3.1主程序流程图164
11.3.2中断程序流程图165
11.3.3交通灯显示真值表165
11.3.4代码实现166
11.4项目成果169
附录Proteus 常用器件和仿真仪表中英文对照172
参考文献174
第1章单片机开发概述1
1.1项目导引1
1.2技术准备1
1.2.1单片机系统开发1
1.2.2编程工具Keil C511
1.2.3仿真工具Proteus2
1.2.4后续设计2
1.3项目实施2
1.3.1任务1\|1单片机最小系统:点亮一盏灯3
1.3.2任务1\|2用Keil C51编写程序 4
1.3.3任务1\|3无延迟的闪烁LED9
1.3.4任务1\|4实现闪烁灯时间控制10
1.4技术拓展12
1.5本章小结12
1.6强化练习12
第2章Proteus使用13
2.1项目导引13
2.2技术准备13
2.2.1Proteus ISIS界面介绍13
2.2.2和Keil进行联合调试14
2.3项目实施15
2.3.1任务2\|1闪烁灯的Proteus仿真15
2.3.2任务2\|2联调设置21
2.3.3任务2\|3虚拟示波器观察波形22
2.4技术拓展24
2.5本章小结25
2.6强化练习25
第3章C51程序基础26
3.1项目导引26
3.2技术准备26
3.2.1C51的标识符和关键字26
3.2.2C51数据类型28
3.2.3C51运算符和表达式33
3.2.4C51程序结构37
3.2.5C51函数39
3.2.6C51构造数据类型43
3.2.7C51的预处理47
3.3项目实施48
3.3.1任务3\|1最基本的流水灯程序49
3.3.2任务3\|2选择结构实现流水灯50
3.3.3任务3\|3移位操作实现流水灯51
3.3.4任务3\|4do\|while循环操作实现流水灯52
3.3.5任务3\|5利用库函数INTRINS.H实现流水灯52
3.3.6任务3\|6利用数组实现流水灯53
3.3.7任务3\|7利用指针数组实现流水灯54
3.4技术拓展54
3.4.1C51与标准C的主要区别54
3.4.2C51与汇编语言混合编程的方法55
3.5本章小结55
3.6强化练习56
第4章定时器/计数器57
4.1项目导引57
4.2 术准备57
4.2.2定时器的TMOD和TCON寄存器58
4.2.3定时器工作方式59
4.2.4定时器编程步骤60
4.3项目实施60
4.4.1任务4\|1用定时器T0控制流水灯60
4.4.2任务4\|2T0控制LED实现二进制计数62
4.4技术拓展64
4.5本章小结64
4.6强化练习64
第5章中断65
5.1项目导引65
5.2项目准备65
5.2.1中断概述65
5.2.2中断源65
5.2.3中断寄存器66
5.2.4C51中断编程68
5.3项目实施69
5.3.1任务5\|1用定时器T0中断控制流水灯69
5.4.2任务5\|2T0控制LED长时间闪烁69
5.4技术拓展72
5.5本章小结72
5.6强化练习72
第6章串口通讯73
6.1项目导引73
6.2项目准备73
6.2.1串行口的结构73
6.2.2串行口的4种工作方式和波特率74
6.2.3C51串口编程76
6.3项目实施77
6.3.1任务6\|1双机通讯控制流水灯77
6.3.2任务6\|2基于方式3的双机通讯控制流水灯80
6.4技术拓展82
6.5本章小结82
6.6强化练习82
第7章数码管与键盘83
7.1项目导引83
7.2项目准备83
7.2.1LED数码管83
7.3.2键盘84
7.3项目实施85
7.3.1任务7\|1单个数码管显示86
7.3.2任务7\|2动态扫描显示数码管87
7.3.3任务7\|3独立键盘控制流水灯90
7.4技术拓展95
7.5本章小结96
7.6强化练习96
第8章单片机扩展97
8.1项目导引97
8.2项目准备97
8.2.174LS138译码器97
8.2.274HC154译码器98
8.2.374HC595串入并出98
8.2.424C02串行I 2C总线EEPROM99
8.2.5可编程并行接口芯片8255A99
8.3项目实施101
8.3.1任务8\|174LS138译码器控制流水灯102
8.3.2任务8\|274HC154译码器103
8.3.3任务8\|374HC595串入并出104
8.3.4任务8\|424C02串行I 2C总线应用106
8.3.5任务8\|58255A控制24路流水灯112
8.4技术拓展115
8.5本章小结116
8.6强化练习116
第9章综合实训:简单计算器117
9.1项目导引117
9.2电路设计117
9.2.1输入设计117
9.2.2输出设计119
9.2.3总体电路设计120
9.3程序设计120
9.3.1主程序流程图121
9.3.2中断程序流程图121
9.3.3算术运算子程序121
9.3.4代码实现121
9.4项目成果130
附录Proteus 常用器件和仿真仪表中英文对照131
参考文献133