单片机原理及应用教程
2010-8
北京大学出版社
周广兴,张子红 主编
350
单片微型计算机简称为单片机,又称微控制器,是一种面向控制的大规模集成电路芯片。随着电子技术的迅猛发展和超大规模集成电路设计以及制造工艺的进一步提高,作为微型计算机的一个重要分支,单片机技术也得到了迅速发展,它已经渗透到国防尖端科技、工业、农业以及日常生活的各个领域。在智能仪器仪表、工业检测控制、电力电子、汽车电子和机电一体化等方面,单片机技术都得到了广泛的应用,并取得了巨大的成果。 本书以MCS.5 1单片机为中心,介绍了单片机的原理及应用。全书共分为9章:第1章介绍了单片机的概念、发展概况、特点以及应用领域;第2章主要阐述了:MCS.51单片机的内部结构、引脚功能、工作方式和时序;第3章详细介绍了MCS.51单片机汇编指令的基础知识,包括指令格式、寻址方式和指令系统等;第4章从应用角度出发讨论了各种常用程序的设计方法,并介绍了一些实用的子程序;第5章重点阐述了MCS.51单片机片内标准外围功能模块,主要包括中断系统、并行。I/O口、定时器/计数器和串行接口等;第6章介绍了系统扩展技术,包括并行扩展原理以及存储器、并行I/O接口的扩展、串行扩展技术等内容;第7章详细论述了MCS.51单片机人机交互接口及检测外部物理量和控制外部设备接口的方法,其中包括键盘、显示器、A/D、D/A和打印机等外部设备;第8章主要讨论了MCS.51单片机的C语言程序设计,包括C51程序设计的一般步骤、基本方法和编程实例等;第9章对应用系统的设计步骤和可靠性等各个方面做了进一步的分析和讨论,并给出了具体的应用实例。 本书由黑龙江科技学院计算机与信息工程学院的周广兴、张子红、付喜辉和齐齐哈尔医学院现代教育技术中心的刘旭共同编写完成。其中第5、6章由周广兴编写;第7章由张子红编写;第3、4章由付喜辉编写:第1、2、8、9章由刘旭编写。全书由周广兴统稿,由黑龙江科技学院计算机与信息工程学院的孔庆臣主审。李苗在、吕丽萍参加了部分编写工作。 本书是编者多年来教学实践的总结,也是编者从事单片机应用科研工作的总结。同时,本书的编写还参考了各种系列单片机的书籍和资料,吸取了单片机开发应用的最新成果,在此对这些参考文献的作者表示感谢! 由于编者水平有限,时间仓促,疏漏之处在所难免,恳请广大读者批评指正。
本书以MCS-51单片机为讲述中心,介绍了单片机的原理及应用,内容精炼、论述简明,并且每章均配有习题。全书具有较强的系统性、先进性和实用性,是在参考了各种系列单片机的最新资料,吸取了单片机开发应用的最新成果后编写而成的。 本书的主要内容包括:单片机概述,MCS-51单片机结构,MCS-51单片机指令系统,MCS-51汇编语言程序设计,MCS-51单片机功能模块,MCS-51系统扩展技术,MCS-51单片机接口技术,MCS-51单片机C语言程序设计,单片机应用系统设计与实例。 本书可作为高等院校计算机科学与技术、自动化、电子信息工程、机电一体化等本科专业的单片机课程教材,也可作为工程技术人员单片机应用技术方面的参考书。
第1章 单片机概述 引言 1.1 单片机的概念 1.2 单片机的发展概况及发展趋势 1.2.1 单片机发展概况 1.2.2 单片机发展趋势 1.3 8位单片机的主要生产厂家和机型 1.4 单片机的特点及应用 1.4.1 单片机的特点 1.4.2 单片机的应用 1.5 习题第2章 MCS-51单片机结构 引言 2.1 MCS-51单片机的硬件结构 2.2 MCS-51单片机的引脚 2.3 MCS-51单片机的微处理器 2.3.1 运算器 2.3.2 控制器 2.4 MCS-51单片机存储器的结构 2.4.1 存储器空间 2.4.2 程序存储器 2.4.3 数据存储器 2.4.4 位存储器 2.5 MCS-51单片机的时钟电路与时序 2.5.1 时钟电路 2.5.2 时序定时单位 2.5.3 MCS-51的指令时序 2.6 MCS-51单片机的复位操作与复位电路 2.6.1 MCS-51的复位操作 2.6.2 MCS-51的复位电路 2.7 CHMOS型单片机的节电工作方式 2.7.1 空闲工作方式 2.7.2 掉电工作方式 2.8 习题第3章 MCS-51单片机指令系统 引言 3.1 指令格式 3.2 寻址方式 3.2.1 寄存器寻址 3.2.2 直接寻址 3.2.3 寄存器间接寻址 3.2.4 立即寻址 3.2.5 基寄存器加变址寄存器间接寻址 3.3 数据传送指令 3.3.1 内部数据传送指令 3.3.2 累加器A与外部数据存储器传送指令 3.3.3 查表指令 3.4 算术运算指令 3.4.1 加法指令 3.4.2 减法指令 3.4.3 乘法指令 3.4.4 除法指令 3.5 逻辑运算指令 3.5.1 累加器A的逻辑操作指令 3.5.2 两个操作数的逻辑运算指令 3.6 位操作指令 3.6.1 位变量传送指令 3.6.2 位变量修改指令 3.6.3 位变量逻辑操作指令 3.7 控制转移指令 3.7.1 无条件转移指令 3.7.2 条件转移指令 3.7.3 调用和返回指令 3.8 习题第4章 MCS-51汇编语言程序设计 引言 4.1 汇编语言程序设计概述 4.1.1 程序设计步骤 4.1.2 伪指令 4.1.3 汇编语言源程序的编程和汇编 4.2 汇编语言程序的基本结构 4.2.1 顺序程序 4.2.2 分支程序 4.2.3 循环程序 4.3 单片机汇编程序结构 4.3.1 程序总体结构 4.3.2 主程序 4.3.3 子程序及其调用 4.3.4 中断服务程序 4.4 综合编程举例 4.4.1 运算程序 4.4.2 查表程序 4.4.3 代码转换程序 4.4.4 输入/输出程序 4.5 习题第5章 MCS-51单片机功能模块 引言 5.1 MCS-51单片机中断系统 5.1.1 中断的概念 5.1.2 MCS-51中断系统结构与中断控制 5.1.3 中断响应过程与中断响应时间 5.1.4 中断服务程序设计 5.1.5 多个外部中断源系统设计 5.2 MCS-51单片机并行I/O(输入/输出)口 5.2.1 P1口 5.2.2 P3口 5.2.3 P2口 5.2.4.P0口 5.2.5 I/O曰的使用原则 5.3 MCS-51单片机定时器/计数器 5.3.1 定时器/计数器TO、T1的结构 5.3.2 定时器/计数器TO、T1的工作方式 5.3.3 定时器/计数器应用举例 5.4 MCS-51单片机串行口 5.4.1 串行通信基本知识 5.4.2 MCS-51单片机的串行口 5.4.3 串行口的工作方式 5.4.4 波特率的设置 5.4.5 多机通信 5.4.6 串行口的编程与应用 5.5 习题第6章 MCS-51系统扩展技术 引言 6.1 MCS-51系统并行扩展原理 6.1.1 系统总线及总线构造 6.1.2 扩展存储器地址空间分配 6.1.3 外部地址锁存器 6.1.4 扩展存储器时应考虑的几个问题 6.2 程序存储器的扩展 6.2.1 常用的EPROM芯片 6.2.2 程序存储器扩展方法 6.3 数据存储器的扩展 6.3.1 常用的数据存储器 6.3.2 数据存储器扩展方法 6.4 并行I/O接口的扩展 6.4.1 I/O接口的功能 6.4.2 I/O端口的编址 6.4.3 I/O数据的几种传送方式 6.4.4 常用的I/O接口电路芯片 6.4.5 MCS-51与可编程IO/RAM芯片8155H的接口 6.4.6 用74系列器件扩展并行I/O口 6.4.7 用串行口扩展并行I/O口 6.5 单片机系统的串行扩展技术 6.5.1 SPI总线及其扩展 6.5.2 12C总线及其扩展 6.6 习题第7章 MCS-51单片机接口技术 引言 7.1 键盘接口 7.1.1 键盘输入应解决的问题 7.1.2 键盘工作原理 7.1.3 键盘的接口电路 7.1.4 键盘的工作方式 7.2 LED显示器 7.2.1 LED显示器的接口及显示方式 7.2.2 专用芯片BC7281键盘显示器接口实例 7.3 LCD液晶显示器 7.3.1 LCD液晶显示器的原理 7.3.2 LCD1602字符型LCD简介 7.3.3 点阵式液晶显示器 7.4 A/D转换器接口 7.4.1 A/D转换器的原理 7.4.2 常用A/D转换器 7.4.3 MCS-51与A/D转换器的接口 7.5 D/A转换器 7.5.1 D/A转换器的原理 7.5.2 常用D/A转换器 7.5.3 MCS-51与D/A转换器的接口 7.6 打印机接口技术 7.6.1 RD-D型热敏打印机的主要技术性能 7.6.2 RD-D型打印机的并行接口 7.6.3 RD.D型打印机的串行接口 7.6.4 接口信号时序 7.6.5 字符代码及打印命令 7.6.6 RD系列打印机与MCS-51单片机接口 7.7 习题第8章 MCS-51单片机C语言程序设计 引言 8.1 单片机C语言概述 8.1.1 C51程序开发过程 8.1.2 C51程序结构 8.2 C51的数据类型与运算 8.2.1 C51的数据类型 8.2.2 C51数据的存储器类型 8.2.3 MCS-51硬件结构的C51定义 8.2.4 C51的运算符和表达式 8.3 C51流程控制语句 8.3.1 C51选择语句 8.3.2 C51循环语句 8.4 C51的指针类型 8.4.1 一般指针 8.4.2 基于存储器的指针 8.5 C51的函数 8.6 C51编程实例 8.6.1 MCS-51内部资源的编程 8.6.2 MCS-51扩展资源的编程 8.7 习题第9章 单片机应用系统设计与实例 引言 9.1 单片机应用系统设计过程 9.1.1 系统设计的基本要求 9.1.2 系统设计的步骤 9.2 提高系统可靠性的一般方法 9.2.1 电源干扰及其抑制 9.2.2 地线干扰及其抑制 9.2.3 其他提高系统可靠性的方法 9.3 单片机应用系统开发过程 9.3.1 单片机应用系统的开发与开发工具 9.3.2 单片机应用系统的开发过程 9.3.3 单片机开发技术的进展 9.4 Vision集成开发环境简介 9.4.1 Vision的界面 9.4.2 目标程序的生成 9.4.3 仿真调试 9.5 单片机应用系统实例 9.5.1 多路数字电压表的设计 9.5.2 步进电机控制 9.6 习题附录A MCS-51单片机指令表附录B C51的库函数附录C 多种单片机型号命名法附录D ASCII码表附录E 控制符号的定义附录F 单片机常用网站参考文献
单片机的历史并不长,它的产生与发展和微处理器的产生与发展大体上同步,也经历了4个阶段。 第1阶段(1974-1976):初级单片机阶段。1974年,美国仙童(Fairchild)公司研制出世界上第一台单片微型计算机F8,深受家用电器和仪器仪表领域的欢迎和重视,从此拉开了研制单片机的序幕。这个时期生产的单片机特点是制造工艺落后、集成度低,采用双片结构而且功能比较简单。典型的代表产品是Fairchild公司的F8:实际上只包括了8位CPIJ、64个字节RAM和2个并行口。因此,还需加一块3851(由1KB ROM、定时器/计数器和2个并行I/O口构成)才能组成一台完整的计算机。 第2阶段(1976-1978):低性能单片机阶段。这一时期生产的单片机虽然已能在单块芯片内集成有CPU、并行口、定时器/计数器、RAM和ROM等功能部件,但CPU功能还不太强、I/O接口的种类和数量少、存储容量小,只能应用于比较简单的场合。以Intel公司的。MCS.48为代表,这个系列的单片机内集成有8位CPU、并行I/O口、8位定时器/计数器、RAM和ROM等,但不足之处是无串行口、中断处理比较简单、片内RAM和ROM的容量较小且寻址范围不大于4KB,它是8位机的早期产品。 第3阶段(1978-1982):高性能单片机阶段。在这一阶段推出的单片机普遍带有串行口、多级中断处理系统和16位定时器/计数器,片内RAM和ROM.容量加大且寻址范围可达64KB,有的片内还带有A/D转换器。这类单片机的典型代表有:Intel公司的:MCS-51系列、Motorola公司的M6801和Zilog公司的Z8等。由于这类单片机的性能价格比高,所以仍被广泛应用,是目前应用数量较多的单片机。 ……