教育>高职高专>计算机类
单片机原理及应用(第2版)

单片机原理及应用(第2版)"

作者:张迎新等
ISBN:9787121067433
定价:¥34.0
字数:540千字
页数:340
出版时间:2009-01
开本:16(185*260)
版次:重印
装帧:
出版社:电子工业出版社
简介

本书在第1版的基础上,对各章都进行了取舍,删除了一些常识性的介绍,对新出现的单片机,针对特点进行介绍补充,通过实例巩固教学.对原书编入的内容从实践教学的角度进行了修编。如中断系统通过两种定时方法,更好地理解中断的作用;在汇编语言与C语言的特点、关系及不同应用场合比较分析,更便于读者理解和运用;在串行通信一章,增加与PC机的通信和串行接口芯片,如MAX232等的介绍;随着近几年串行接口芯片的迅速发展,增加一种新型A/D芯片,如TLC549和D/A芯片TLC5620的介绍;在单片机应用系统设计与开发方面,增加了软件开发的具体内容,如Keil软件的操作使用方法,是学生能比较快的学会开发方法。全书精选了应用实例,以达到巩固教学又能掌握技能的效果。

前言

前 言 《单片机原理及应用》自2004年10月再版以来,至今已经近4年,在此期间单片机技术又有了很大的发展,此外,《单片机原理及应用》自出版以来已多次印刷,说明此书有一定的读者群,因而我们决定对原书内容进行修订更新。在重新编写时,将对原书内容做多处改进,特别是增加了“单片机C51语言程序设计”这一章。目前大多数单片机教材在介绍单片机编程语言时都以汇编语言为主,但随着单片机应用的深入,在开发较复杂的系统时就需要用到C语言,而目前的单片机教材多数都没有兼顾到C语言的同时应用,而专门讲述单片机C语言的教材多数又是属于面向开发的高级教程,对单片机的原理讲述较少,高等院校多数都开设了C语言课程,在这种情况下再专门开设单片机的C语言课程也显得没有必要了,因而本书采用重点介绍用于单片机的C51语言与通用C语言的不同之处(扩展特点)和应用于单片机编程时的主要特点。 因为以8051为内核的80C51系列单片机目前在世界上生产量最大,派生产品最多,可以满足大多数用户的需要;而且80C51的软件工具也已形成从低到高的不同档次、价格合理的开发装置,因而80C51系列单片机成为单片机教学的首选机型,特别是80C51系列中的典型型号在基本结构、工作原理和引脚上与MCS-51系列单片机的8051是完全兼容的。基于这种情况,本书在介绍单片机时,是以80C5l系列为例进行讲述的。而在介绍具体型号时选用了美国ATMEL公司的AT89系列产品。由于其显著的特点(详见第1章),使得它很快在单片机市场脱颖而出,并在市场上占有较大的份额。AT89系列单片机的成功使得几个著名的半导体厂家也相继生产了类似的产品,例如,Philips的P89系列、美国SST公司的SST89系列等。后来人们简称这一类产品为89系列单片机,它实际上还是属于80C51系列。89系列单片机虽然并不是功能强,最先进的单片机,但它是源于经典的MCS-51系列,考虑到教学的连续性及89系列单片机和所用开发装置的普及性(大约占市场50%的份额),因而本书的单片机芯片实例将采用ATMEL公司的AT89S51/52单片机(因为AT89C51/52在2003年已经停止生产,AT89S51/52是其替代产品,不过Philips的P89C51/52仍然有产品),在作为一般共性介绍时还是用80C51代表(此时表示的是80C51系列而不是具体型号)。 本教材在章节的安排顺序和内容上都有不同程度的改进。第1章增加了单片机基础知识的介绍,第2章以AT89S51/52单片机为例介绍单片机的结构及原理,第3章介绍指令系统,第4章介绍汇编语言程序设计,第5章介绍定时/计数器,第6章介绍串行接口,第7章介绍中断系统,第8章介绍扩展方法,第9章介绍接口技术,第10章是新增加的内容,介绍C51语言程序设计,第11章介绍单片机应用系统设计。为了能给读者较多的应用实例和方法,同时又不至于使篇幅过长,在举例时对于关键和核心的内容尽量讲透,其他内容点到为止。 本书是作者多年教学和科研的积累,同时为了使本书的内容更加丰富和完整,书中也引用了部分国内外的参考文献、书籍,主要来源见参考文献。在此,对有关作者表示衷心感谢,并请没有联系上的作者与我们联系以便支付相应稿酬。 本书由张迎新担任主编,雷文编写了第1、3章,陈胜编写了第7章,王盛军编写了10.3节和10.4节,刘石明编写了11.6节,迟明华编写了11.5节,其余由张迎新编写。 在本书的编写过程中,唐光荣、姚静波、樊桂花、雷道振等都提出了很好的修改意见,并对部分章节进行了审查;迟明华画了部分插图,张帆帮助录入了部分章节,在此一并表示衷心感谢。 由于作者水平有限,书中的错误与不妥之处在所难免,恳请广大读者批评指正。 张迎新 2008.4.12

目录

第1章 概述 1.1 单片机发展概况 1.1.1 单片机的发展历史 1.1.2 单片机的组成及特点 1.1.3 单片机的发展趋势 1.1.4 单片机与嵌入式系统 1.2 常用8位单片机系列 1.2.1 80C51系列单片机的特点及分类 1.2.2 其他常用单片机系列综述 1.3 单片机基础知识 1.3.1 数制与编码 1.3.2 计算机的基本组成电路 第2章 单片机结构及原理 2.1 单片机结构 2.1.1 单片机组成及结构 2.1.2 引脚定义及功能 2.2 单片机的工作原理 2.2.1 指令与程序概述 2.2.2 CPU的工作原理 2.2.3 单片机执行程序过程 2.3 存储器 2.3.1 存储器的分类 2.3.2 存储单元和存储单元地址 2.3.3 存储器结构和地址空间 2.3.4 程序存储器 2.3.5 数据存储器 2.4 特殊功能寄存器SFR 2.4.1 80C51系列的SFR 2.4.2 SFR地址分布及寻址 2.4.3 SFR的功能与作用 2.5 CPU时序及时钟电路 2.5.1 CPU时序及有关概念 2.5.2 80C51的指令时序 2.5.3 振荡器和时钟电路 2.6 复位和复位电路 2.6.1 内部复位信号的产生 2.6.2 复位状态 2.6.3 外部复位电路设计 2.7 输入/输出端口结构 2.7.1 4个I/O端口的主要异同点 2.7.2 P0口 2.7.3 P1口 2.7.4 P2口 2.7.5 P3口 2.8 80C51系列单片机的低功耗方式 2.8.1 电源控制寄存器PCON 2.8.2 待机方式 2.8.3 掉电方式 思考与练习 第3章 指令系统 3.1 指令系统简介 3.2 寻址方式 3.2.1 符号约定 3.2.2 寻址方式说明 3.3 指令系统分类介绍 3.3.1 数据传送类指令 3.3.2 算术运算类指令 3.3.3 逻辑操作类指令 3.3.4 控制转移类指令 3.3.5 位操作类指令 思考与练习 第4章 汇编语言程序设计 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.2.5 查表程序设计 4.2.6 子程序设计 思考与练习 第5章 定时/计数器 5.1 定时/计数器T0、T1概述 5.1.1 定时器/计数器T0、T1的结构 5.1.2 定时/计数器的原理 5.2 定时/计数器的控制方法 5.2.1 定时/计数器寄存器 5.2.2 定时/计数器的初始化 5.2.3 定时/计数器初值的确定方法 5.3 定时/计数器T0、T1的工作方式 5.3.1 方式0 5.3.2 方式1 5.3.3 方式2 5.3.4 方式3 5.4 定时器T0、T1应用举例 5.4.1 定时器应用举例 5.4.2 计数器应用举例 5.4.3 门控位应用举例 5.5 定时/计数器T2 5.5.1 T2的寄存器 5.5.2 定时器T2的工作方式 5.5.3 应用例题 5.6 定时器T3—— WDT监视定时器 5.6.1 WDT的功能及应用特点 5.6.2 辅助寄存器AUXR 思考与练习 第6章 80C51的串行接口 6.1 串行通信概述 6.1.1 同步通信和异步通信方式 6.1.2 串行通信的数据传送速率 6.1.3 串行通信的方式 6.1.4 通信协议 6.2 80C51串行口简介 6.2.1 串行口结构与工作原理 6.2.2 串行口控制寄存器SCON 6.2.3 80C51的帧格式 6.2.4 波特率的设置 6.3 串行通信工作方式 6.3.1 方式0 6.3.2 方式1 6.3.3 方式2和方式3 6.3.4 多机通信 6.4 串行口应用举例 6.4.1 用串行口扩展I/O口 6.4.2 用串行口进行异步通信 思考与练习 第7章 中断系统 7.1 概述 7.1.1 中断的概念 7.1.2 引进中断技术的优点 7.1.3 中断源 7.1.4 中断系统的功能 7.2 AT89S51单片机的中断系统 7.2.1 中断系统的结构 7.2.2 中断源及中断入口 7.2.3 中断控制 7.3 中断处理过程 7.3.1 中断响应 7.3.2 中断处理 7.3.3 中断返回 7.3.4 中断请求的撤除 7.3.5 中断响应时间 7.3.6 扩充外中断源 7.4 中断程序的设计与应用 7.4.1 中断程序的一般设计方法 7.4.2 中断程序应用举例 思考与练习 第8章 单片机的系统扩展 8.1 并行扩展概述 8.1.1 外部并行扩展总线 8.1.2 系统扩展常用芯片 8.1.3 并行扩展的寻址方法 8.2 存储器的并行扩展 8.2.1 数据存储器扩展概述 8.2.2 存储器扩展举例 8.2.3 超大容量存储器的扩展 8.3 并行I/O接口的扩展 8.3.1 简单的并行I/O扩展 8.3.2 可编程I/O接口电路的扩展 8.4 串行扩展概述 8.4.1 串行扩展总线与串行扩展接口 8.4.2 常用串行总线与串行接口简介 8.4.3 单片机串行扩展的模拟技术 8.5 I2C总线 8.5.1 I2C总线的特点 8.5.2 I2C总线的组成及基本工作原理 8.5.3 I2C总线的传输时序 8.5.4 I2C总线应用举例 8.6 SPI串行接口 8.6.1 SPI接口的特点 8.6.2 SPI接口的组成及基本原理 8.6.3 SPI串行接口应用举例 思考与练习 第9章 接口技术 9.1 键盘接口 9.1.1 键盘工作原理 9.1.2 独立式按键 9.1.3 行列式键盘 9.2 显示器接口 9.2.1 LED显示器的结构与原理 9.2.2 LED静态显示方式 9.2.3 LED动态显示方式 9.2.4 液晶显示器LCD的应用技术 9.2.5 键盘、显示接口电路 9.3 功率驱动器件及接口电路 9.3.1 输出接口的隔离技术 9.3.2 直流负载驱动电路 9.3.3 晶闸管负载驱动电路 9.3.4 继电器接口电路 9.3.5 固态继电器接口电路 9.4 数模转换接口 9.4.1 DAC电路原理 9.4.2 D/A转换器的主要技术指标 9.4.3 并行D/A转换器及接口 9.4.4 串行D/A转换器及接口 9.5 模数转换器 9.5.1 模数转换的主要技术指标 9.5.2 逐次逼近式A/D转换 9.5.3 双积分ADC电路 9.5.4 串行A/D转换器 9.6 打印机接口 9.6.1 TPP-40A主要技术性能及接口要求 9.6.2 字符代码及打印命令 9.6.3 TPP-40A/16A与单片机接口 思考与练习 第10章 单片机C51语言程序设计 10.1 单片机的C51语言概述 10.1.1 C语言的主要优点 10.1.2 使用C51语言的注意事项 10.1.3 C51的运算符及表达式 10.1.4 C51语言的程序结构 10.1.5 C51的流程控制语句 10.2 C51对通用C语言的扩展 10.2.1 数据类型 10.2.2 数据的存储类型 10.2.3 指针 10.2.4 函数 10.2.5 C51语言对单片机硬件的访问 10.3 内部功能模块的C语言编程 10.4 C语言与汇编语言的混合编程 10.4.1 C语言与汇编语言混合编程注意事项 10.4.2 带参数传递的函数调用 10.4.3 无参数传递的函数调用 10.4.4 混合编程举例 思考与练习 第11章 单片机应用系统的设计与开发 11.1 应用系统研制过程 11.1.1 总体设计 11.1.2 硬件设计 11.1.3 软件设计 11.2 开发工具和开发方法 11.2.1 开发工具 11.2.2 开发方法 11.3 Keil C51集成开发环境的使用 11.3.1 Keil软件工具简介 11.3.2 项目的建立与设置 11.3.3 运行调试 11.4 恒温箱温度控制监测系统 11.4.1 题目分析 11.4.2 硬件设计 11.4.3 软件设计 11.5 PC机与单片机间的串行通信设计 11.5.1 RS-232C标准接口 11.5.2 单片机与PC机之间的电平转换芯片 11.5.3 PC机与单片机串行通信应用实例 11.5.4 采用RS-422A标准的通信系统 11.6 日历/时钟与单片机的接口与应用 11.6.1 串行实时时钟芯片DS1302简介 11.6.2 DS1302的命令字 11.6.3 片内寄存器功能定义 11.6.4 数据读写方式及控制操作方法 11.6.5 单片机与DS1302的接口与应用 思考与练习 附录A 80C51指令表 附录B 各数制对照表 附录C ASCII(美国标准信息交换码)表 附录D 二进制逻辑单元图形符号对照表 附录E 常用芯片引脚图 参考文献

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个