本书全面系统地介绍了51系列单片机及其兼容机的基本结构和工作原理、指令系统、汇编语言程序设计、单片机C语言程序设计、中断系统及其应用、定时器及其应用、串行口及其应用、系统扩展、人机交互接口、模拟量接口、单片机应用系统设计方法及常用实验程序等。
《单片机原理及接口技术/高等院校电子信息与电气学科系列规划教材》以培养创新型应用人才为目标,全面介绍了单片机原理及接口技术的基础知识,并注重反映单片机应用的最新技术及发展趋势,突出“简明、典型、实用、先进”的特点,特别适用于教师短学时授课以及学生自学掌握单片机的基本原理和应用知识。
《单片机原理及接口技术/高等院校电子信息与电气学科系列规划教材》特色:
内容简明实用。本着“精选内容、突出重点、举例典型、注重实用”的原则编写,在讲述基本原理时避免过多过细的描述,而是通过典型实例体现其实用价值和应用技巧。
技术与时俱进。注重知识的新颖性与实用性相统一,将单片机的新技术和新器件融入各个章节。介绍了新型STC系列51兼容机的新增资源及技术特点、新型串行接口芯片(12C、SPI、单总线)的应用及KeilIiuision集成开发环境等。
两种语言并举。汇编语言面向机器硬件,程序代码质量高;C语言的可读性和可移植性好、功能强大。考虑到两种语言各有优势且长期并存的状况,大部分例题及程序段用两种语言编写,方便读者对比和选用。
单片机以体积小、重量轻、价格低、可靠性高、便于控制等特点,在工业控制、智能仪器仪表、通信导航、家用电器及机电一体化等众多领域获得了极其广泛的应用,现已成为现代电子系统中最重要的智能化核心部件之一。目前,单片机的应用能力已成为大专院校工科类电学专业学生的一项重要技能,以单片机为核心的创新型实验项目与科技类竞赛活动日益受到人们的重视。
本书是为贯彻落实《教育部关于以就业为导向深化高等教育改革的若干意见》的精神,适应我国高等教育改革的需要,结合高等教育工科类电学专业的特点而编写的。编写时,作者参考了国内外大量文献和工程设计资料,汲取各家之长,并结合二十多年单片机教学、科研和应用开发的经验,精选了单片机原理及接口技术的基础知识,注意反映当代单片机技术的发展趋势,体现了培养应用型人才的要求。
虽然目前有关单片机的教材种类繁多,但侧重点和面向对象各不相同。针对目前大专院校普遍大幅度压缩授课学时、给学生更多的自主空间这一现状,本教材突出“简明、典型、实用、先进”的特色,特别适用于教师短学时授课以及学生自学掌握单片机的基本原理和应用知识。具体特点如下:
1)内容简明实用。编写时本着“精选内容、突出重点、举例典型、注重实用”的原则,在讲述基本原理时避免过多、过细的描述,而是通过典型实例体现其实用价值和应用技巧。全书共12章,是最精简的经典章节组合。
2)技术与时俱进。单片机技术发展迅猛、更新速度快,书中注意结合近年来单片机技术的最新发展,融合先进技术和新型器件,如介绍新型增强型单片机(ATMAL、STC系列)的新增特点、新型串行接口芯片(I2C、SPI、单总线)的应用及Keil μVision集成开发环境等,注重知识的新颖性与实用性的统一。
3)两种语言并举。传统单片机教材多介绍汇编语言,近年来出版的教材却多采用C语言。汇编语言面向机器硬件,程序代码质量高、占存储空间小;C语言以其可读性和可移植性好、功能强大等优点为众多编程者(特别是广大学生)所喜爱。考虑到两种语言各有优势且长期并存的状况,本书兼顾汇编和C51两种编程语言,大部分章节的例题及程序段同时采用两种语言编写,以方便读者对比和选用。
4)讲授与自学兼顾。全书12章均为经典内容,在用于48~60学时的课堂教学时基本无须取舍,且配有作者精心制作的课件(可从wwwhzbookcom上获取)和附录中的常用实验程序,易于教师的教学安排。本书层次分明、语言简练,给出了大量的硬件和软件典型应用实例,每章均附有习题,附录中每个实验程序均留有调试练习题,便于学生自学和在短时间里全面了解单片机的使用方法。
考虑到51系列单片机及其兼容机完善的结构、开放的体系、广泛的用户群及其经典型号的重要地位,本书仍以51系列单片机及其兼容机为主,全面系统地介绍51系列单片机及其兼容机的基本结构和工作原理、指令系统、汇编语言程序设计、C语言程序设计、中断系统及其应用、定时器及其应用、串行口及其应用、系统扩展、人机交互接口、模拟量I/O接口及单片机应用系统设计方法等。
本书可作为各类大专院校自动化、电气工程及其自动化、应用电子技术、计算机科学与技术、生物医学工程、轨道交通控制、测控技术及机电一体化等专业的单片机课程教材,也可供从事单片机应用与开发的工程技术人员参考。
本书由毛晓波教授主编。任慧编写了第2章、第6章和第7章,张赞编写了第3章和第5章,刘林阴编写了第4章和第11章,张端阳编写了第8章和第10章,其余内容由毛晓波编写并对全书进行统稿和定稿。机械工业出版社华章公司的王颖编辑为本书的出版提供了大量的帮助和指导性建议,谨此表示衷心的感谢。
限于作者水平,书中难免存在不妥之处,恳请读者和同行批评指正。
作者2014年12月
前言
教学建议
第1章 绪论
1.1 微型计算机与单片机
1.1.1 电子计算机
1.1.2 微型计算机
1.1.3 单片机
1.2 单片机的发展概况
1.2.1 单片机发展历程
1.2.2 常用单片机系列简介
1.3 单片机的应用领域
习题
第2章 51单片机的基本结构和工作原理
2.1 51单片机的基本构成
2.1.1 内部结构
2.1.2 引脚功能
2.2 中央处理器
2.2.1 CPU的功能单元
2.2.2 CPU的时钟电路与时序
2.2.3 单片机的复位
2.3 存储器空间
2.3.1 程序存储器ROM
2.3.2 数据存储器RAM
2.4 I/O端口结构
2.4.1 P0口和P2口的结构及功能
2.4.2 P1口和P3口的结构及功能
2.4.3 I/O口的应用特性
习题
第3章 51单片机的指令系统
3.1 指令格式
3.1.1 51汇编语言的指令格式
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.3 指令系统
3.3.1 数据传送类指令
3.3.2 算术运算类指令
3.3.3 逻辑操作类指令
3.3.4 控制转移类指令
3.3.5 位操作类指令
习题
第4章 51汇编语言程序设计
4.1 单片机汇编语言概述
4.1.1 汇编语言及其特点
4.1.2 汇编语言的语句格式及伪指令
4.1.3 汇编语言程序设计步骤
4.2 单片机汇编语言程序设计举例
4.2.1 顺序结构
4.2.2 分支结构
4.2.3 循环结构
4.2.4 子程序结构
4.3 实用汇编子程序举例
4.3.1 定点数与浮点数的表示方法
4.3.2 算术运算子程序
4.3.3 代码转换子程序
习题
第5章 51单片机C语言程序设计
5.1 C51的特点
5.2 C51的程序结构
5.3 C51的数据类型、存储类型及存储模式
5.3.1 C51的数据类型
5.3.2 C51的存储类型及存储模式
5.3.3 51单片机硬件结构的C51定义
5.4 C51的运算符及其表达式
5.4.1 算术运算符及其表达式
5.4.2 关系运算符及其表达式
5.4.3 逻辑运算符及其表达式
5.4.4 位运算符及其表达式
5.4.5 赋值运算符及其表达式
5.5 C51构造数据类型
5.5.1 数组
5.5.2 指针
5.6 C51函数
5.6.1 函数的定义
5.6.2 函数的调用
5.6.3 C51库函数
5.7 C51流程控制及编程举例
5.7.1 选择结构
5.7.2 循环结构
5.8 KeilμVision集成开发环境简介
5.8.1 KeilμVision界面
5.8.2 工程项目创建与目标文件生成
5.8.3 仿真调试
习题
第6章 51单片机的中断系统及其应用
6.1 中断的概念
6.2 51单片机中断系统的结构
6.2.1 中断源及中断入口
6.2.2 中断控制
6.3 51单片机中断处理过程
6.3.1 中断请求
6.3.2 中断响应
6.3.3 中断服务
6.3.4 中断返回
6.4 中断应用举例
习题
第7章 51单片机的定时器及其应用
7.1 定时器的结构与功能
7.1.1 定时器的结构
7.1.2 定时器的功能
7.2 定时器的控制和工作方式
7.2.1 定时器的控制
7.2.2 定时器的工作方式
7.3 定时器应用举例
7.3.1 定时应用
……
第8章 单片机串行口及其应用
第9章 单片机系统扩展
第10章 人机交互接口
第11章 模拟量I/O接口
第12章 单片机应用系统设计方法
附录A 51单片机指令速查表
附录B ASCII码表
附录C 常用实验程序
参考文献