单片机系统设计与开发

单片机系统设计与开发 教材名称: 单片机系统设计与开发
ISBN号: 978-7-89436-136-3 作者: 吴险峰
字数: 257千字 规格: 16开
印制时间: 2013-06-11 出版日期: 2013-06-04
定价: 28.00 元 样章下载: 978-7-89436-136-3单片机系统设计与开发样章(加水印).pdf
购买链接:

        本教材以目前最为流行的MCS\|C51系列单片机为例,并使用C语言进行单片机应用程序的开发,利用Proteus进行硬件的仿真。软件开发以编程复杂度逐步递进,硬件仿真则从单片机逐步扩展到外围电路和IC器件。全教材知识点涉及单片机结构、开发流程、Keil软件和Proteus软件使用、C51编程、接口技术、中断技术和外围电路,通过项目导引、技术准备、项目实施、技术拓展和强化练习将知识点和相关实训内容结合起来,突出了工程实践能力的培养,可用于学生的日常教学、专题实验、实训、课程设计与毕业设计。
        本教材适合作为高职高专院校单片机技术课程教材,也可作为高等职业院校电气自动化技术、工业生产自动化、应用电子技术、电子信息工程技术、机电一体化、数控应用技术、仪表自动化等相关专业的实训教材,以及单片机爱好者自学单片机C语言的学习参考资料。
 
第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
 
        本课程紧密结合各类单片机应用的实际情况,注重实践,不过多涉及原理,从技术和工程应用的角度出发,以项目引领式教学方法为主,按照项目导向、任务驱动的模式编写,每一个章节是一个独立的项目,而每个项目又包含一些不同技能的任务,最后通过一个综合项目将各章节主要知识点串起来。各章节编写注重理论与实践相结合、教材与实际相结合。在编排上以学生的认知规律为主线,技能训练从单一到综合,知识学习从简单到复杂,由浅入深地安排内容,充分体现了高等职业教育的应用特色和能力本位,把学生需要掌握的知识分配到具体的项目和任务中。考虑到实际教学依旧以教学大纲为主,本教材的每一章标题还是以知识点命名,以便一目了然地了解本教材涉及的知识点, 并根据实际教学情况进行舍取。另外,本课程实训内容采用软件工具来实现硬件仿真,没有涉及任何专用的仿真器和应用开发板,减少了硬件投入和教学成本,增加了通用性。