单片机作为微型计算机的一个重要分支,应用面很广,发展也很快。尽管目前单片机种类繁多,但其中最为典型、应用最广泛的仍当属Intel公司的51系列单片机。张欣、张金君编著的这本《单片机原理与C51程序设计教程(第2版)》介绍了单片机技术、C语言使用和应用系统开发等相关知识,内容包括单片机的内部结构、指令系统、C语言及编译器KeilμVision4的使用、内部各模块的开发、接口编程和扩展技术,以及单片机应用系统的开发。
本书体系结构严谨,内容由浅入深,案例取材广泛,书中所有示例均给出了设计源程序和仿真验证结果。
本书可供高等院校电子、通信、自动化、计算机等信息工程类相关专业的本科生或研究生使用,也适用于从事单片机技术应用与研究的专业技术人员。
随着科学技术的发展日新月异,单片机也从一开始的8位单片机发展到16位、32位等诸多系列,其中51系列单片机由于其灵活方便、价格便宜等优点,在众多制造厂商的支持下已经发展成为具有上百个品种的大家族。如今51系列单片机是应用最广泛的单片机,是大学里电子、自动化及相关专业的必修科目。
在目前的单片机教学中,程序设计以C语言为主,汇编语言为辅。对汇编语言只要掌握到可以读懂程序,在时间要求比较严格的模块中进行程序的优化即可。采用C语言也不必对单片机和硬件接口的结构有很深入的了解,编译器可以自动完成变量存储单元的分配,编程人员只需专注于应用软件部分的设计,就可大大加快软件的开发速度。采用C语言可以很容易地进行单片机的程序移植工作,有利于产品中对单片机的重新选型。
Keil μVision4是目前最高效、灵活的51单片机开发平台。本书以Windows集成开发环境Keil μVision4为基础,结合强大的电子电路设计软件和仿真器,介绍了单片机的基本原理、内部模块使用、C语言开发和应用系统的设计。全书共14章,分为三个部分。
第1部分为基础部分,主要介绍了单片机系统、硬件部分和软件部分。其中,第1章简单介绍了单片机技术,第2章介绍了单片机基础以及51单片机的硬件结构,第3章介绍了51单片机的指令系统,第4章介绍了51单片机的C语言编译器Keil μVision4以及项目工程的建立方法,第5章介绍了单片机C语言的基本知识及基础实例,第6章介绍了C语言的进阶应用。
第2部分为功能模块部分,详细讲述了51单片机的内部模块及其应用。其中,第7章介绍了中断系统、定时/计数器以及工作方式,第8章详细介绍了单片机常用的扩展接口,第9章讲解了在实际应用中使用较多的串行通信接口,第10章介绍了A/D、D/A技术,第11章介绍了单片机的输入设备,第12章介绍了单片机的输出设备。
第3部分为高级应用部分,详细介绍了系统的设计。其中,第13章介绍了单片机系统的开发及注意事项,第14章通过设计投票系统对本书的内容进行了全面的综合应用。全书的最后介绍了10个单片机应用系统,可作为学生课程设计之用。
本书附赠的PPT教学课件和案例源文件可通过http://www.tup.com.cn/downpage下载。
本书内容由浅入深,读者按顺序阅读即可,若对其中的某些章节比较熟悉则可以跳过不读,在学习的同时进行编程实践,遇到困难的地方再参考相关部分。
本课程总学时为52学时,各章学时分配见下表(供参考):
学时分配建议表
课 程 内 容学 时 数
合 计讲 授实 验机 动
第1章 绪论11
第2章 单片机硬件基础33
第3章 单片机的指令系统321
第4章 单片机的Keil μVision4软件开发环境321
第5章 C51程序设计基础及实例剖析1064
第6章 C51语言的进阶应用422
第7章 51单片机的内部资源431
第8章 51单片机的系统扩展642
第9章 51单片机的串行通信接口5212
第10章 51单片机的A/D与D/A转换321
第11章 输入设备211
第12章 输出设备211
第13章 51单片机系统开发基础11
第14章 单片机系统综合实例—— 投票系统5221
合 计5232173
本书由张欣、张金君(编写第6~9章)编著,在本书的编写过程中,参考引用了相关领域专家学者的著作和文献,在此向他们表示真诚的谢意。此外,陈建伟、许小荣、张泽、刘荣、张璐、王统、王东、周艳丽、刘波、苏静等也参与了本书的编写和修改,在此,同样致以诚挚的谢意!
由于时间仓促、作者水平有限,书中难免存在疏漏和不当之处,恳请广大读者批评指正。
作 者
2014年2月
第1章 绪论
1.1 单片机概论
1.1.1 微处理器、微型计算机与单片机
1.1.2 单片机的分类和指标
1.1.3 单片机的内部结构
1.1.4 单片机的应用领域及趋势
1.1.5 单片机的编程语言概述
1.1.6 如何学习单片机这门技术
1.2 常用的51单片机
1.2.1 Intel公司系列单片机
1.2.2 Atmel公司系列单片机
1.2.3 Philips公司系列单片机
1.2.4 STC公司系列单片机
1.3 本章小结
习题
第2章 单片机硬件基础
2.1 单片机内部结构
2.1.1 中央处理器(CPU)
2.1.2 存储器结构
2.1.3 I/O端口结构
2.1.4 定时器/计数器结构
2.1.5 中断系统
2.2 单片机引脚功能
2.2.1 芯片封装
2.2.2 芯片引脚及功能
2.3 单片机工作时序
2.3.1 时钟电路
2.3.2 时序定时单位
2.3.3 指令的执行时序
2.4 单片机的工作方式
2.4.1 复位工作方式
2.4.2 程序执行方式
2.4.3 低功耗工作方式
2.4.4 其他工作方式
2.5 单片机的最小系统
2.6 本章小结
习题
第3章 单片机的指令系统
3.1 单片机的指令系统概述
3.1.1 指令格式
3.1.2 符号说明
3.2 单片机的寻址方式
3.2.1 立即寻址
3.2.2 直接寻址
3.2.3 寄存器寻址
3.2.4 间接寻址(寄存器间接寻址)
3.2.5 变址寻址
3.2.6 相对寻址
3.2.7 位寻址
3.2.8 寻址方式总汇
3.3 单片机的指令说明
3.3.1 数据传送类指令
3.3.2 算术运算类指令
3.3.3 逻辑运算类指令
3.3.4 控制转移类指令
3.3.5 位操作指令
3.3.6 单片机的伪指令
3.4 汇编程序设计
3.5 本章小结
习题
第4章 单片机的Keil μVision4软件开发环境
……
第5章 C51程序设计基础及实例剖析
第6章 C51语言的进阶应用
第7章 51单片机的内部资源
第8章 51单片机的系统扩展
第9章 51单片机的串行通信接口
第10章 51单片机的A/D与D/A转换
第11章 输入设备
第12章 输出设备
第13章 51单片机系统开发基础
第14章 单片机系统综合实例——投票系统