单片微型计算机与接口技术(第4版)pdf下载

单片微型计算机与接口技术(第4版)百度网盘pdf下载

作者:
简介:单片微型计算机与接口技术(第4版)
出版社:电子工业出版社
出版时间:2012-01-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容简介
  本书从嵌入式系统概念出发,以应用最广泛的51系列单片机为主介绍嵌入式系统开发技术。主要内容包括:单片机的内部结构、指令系统、内部各功能部件的工作原理、应用编程及外部扩展技术。本书力图体现实用性和先进性,采用汇编语言和C语言相对照的编程方式,对串行总线I2C、SPI、CAN及新型接口作了详细论述,教材的实训部分以可在系统编程(ISP)的51系列单片机开发板作为读者的实践环节,集知识性、趣味性、实用性于一体,使学生带着兴趣学习和实践。为适应新型调试手段的需要,本书对仿真调试及设计软件Proteus进行了介绍,并为其使用方便提供了电路图。
  本书的知识点安排得当,编排由浅入深、条理清晰,并精心安排了大量应用实例,每章末有小结、思考题和习题,书后附参考答案。
目录
版权信息
再版前言
绪论
*第0章 计算机的基础知识
0.1 微型计算机的基本结构和工作原理
0.1.1 微型计算机的系统结构
0.1.2 微型计算机的基本工作原理
0.1.3 微型计算机的主要技术指标
0.2 计算机中的数制与码制
0.2.1 计算机中的数
0.2.2 计算机中的有符号数的表示
0.2.3 进位和溢出
0.2.4 BCD码
0.2.5 BCD码的运算
0.2.6 ASCII码
0.3 小结
思考题与习题0
第1章 MCS-51单片机结构
1.1 MCS-51单片机内部结构
1.1.1 概述
1.1.2 CPU
1.2 存储器
1.2.1 程序存储器
1.2.2 外部数据存储器
1.2.3 内部数据存储器
1.3 特殊功能寄存器
1.4 时钟电路与复位电路
1.4.1 时钟电路
1.4.2 单片机的时序单位
1.4.3 复位电路
1.5 引脚功能
1.5.1 可总线扩展的单片机引脚
1.5.2 不可总线扩展的单片机引脚
1.6 小结
思考题与习题1
第2章 51系列单片机的指令系统
2.1 寻址方式
2.1.1 立即寻址
2.1.2 直接寻址
2.1.3 寄存器寻址
2.1.4 寄存器间接寻址
2.1.5 变址寻址
2.1.6 相对寻址
2.1.7 位寻址
2.2 数据传送与交换指令
2.2.1 传送类指令
2.2.2 交换指令
2.3 算术运算和逻辑运算指令
2.3.1 算术运算和逻辑运算指令对标志位的影响
2.3.2 以A为目的操作数的算术运算和逻辑运算指令
2.3.3 以dir为目的操作数的逻辑运算指令
2.3.4 加1、减1指令
2.3.5 十进制调整指令
2.3.6 专对A的指令
2.3.7 乘、除法指令
2.3.8 指令综合应用举例
2.4 控制转移指令
2.4.1 调用程序和返回类指令
2.4.2 转移指令
2.4.3 空操作指令
2.4.4 指令应用举例
2.5 位操作指令
2.6 小结
思考题与习题2
第3章 MCS-51单片机汇编语言程序设计
3.1 概述
3.2 伪指令
3.3 顺序程序设计
3.4 分支程序设计
3.5 循环程序设计
3.6 位操作程序设计
3.7 子程序
3.8 小结
思考题与习题3
*第4章 单片机的C语言编程-C51
4.1 C51程序结构
4.2 C51的数据类型
4.3 数据的存储器类型和存储器模式
4.3.1 数据的存储器类型
4.3.2 存储器模式
4.3.3 变量说明举例
4.4 指针
4.4.1 指针和指针变量
4.4.2 指针变量的数据类型和存储类型
4.4.3 指针变量的说明
4.4.4 指向数组的指针变量
4.5 C51对SFR、可寻址位、存储器和I/O口的定义
4.5.1 特殊功能寄存器SFR定义
4.5.2 对位变量的定义
4.5.3 C51对存储器和外接I/O口的绝对地址访问
4.6 C51的运算符
4.7 函数
4.7.1 函数的分类
4.7.2 函数的定义
4.7.3 函数的调用
4.7.4 对被调函数的说明
4.8 C语言编程实例
4.8.1 C语言程序的反汇编程序(源代码)
4.8.2 顺序程序的设计
4.8.3 循环程序的设计
4.8.4 分支程序的设计
4.9 汇编语言和C语言的混合编程
4.9.1 C语言程序和汇编语言程序参数的传递
4.9.2 C 语言程序调用汇编语言程序举例
4.9.3 C语言和汇编语言混合编程传递的参数多于3个的编程方法
4.10 小结
思考题与习题4
第5章 输入、输出接口P0~P3
5.1 P0~P3并行接口的功能和内部结构
5.1.1 端口功能
5.1.2 端口的内部结构
5.2 编程举例
5.3 用并行口设计LED数码显示器和键盘电路
5.3.1 用并行口设计LED显示电路
5.3.2 用并行口设计键盘电路
5.4 小结
思考题与练习5
第6章 MCS-51单片机的中断系统
6.1 8XX51中断系统结构
6.1.1 中断源
6.1.2 中断控制的有关寄存器
6.2 中断响应过程
6.2.1 中断处理过程
6.2.2 中断请求的撤除
6.3 中断的程序设计
6.3.1 汇编语言中断程序的设计
6.3.2 C51中断程序的设计
6.4 外部设备中断的接入
6.5 小结
思考题与习题6
第7章 单片机的定时/计数器
7.1 定时/计数器的结构和工作原理
7.2 定时/计数器的寄存器
7.2.1 定时/计数器方式寄存器TMOD
7.2.2 定时/计数器控制寄存器TCON
7.3 定时/计数器的工作方式
7.4 定时/计数器的应用程序设计
7.4.1 定时/计数器的计数初值C的计算和装入
7.4.2 定时/计数器的初始化编程
7.4.3 应用编程举例
7.4.4 门控位的应用
*7.5 定时/计数器T2
7.5.1 定时/计数器T2的结构和外部引脚
7.5.2 定时/计数器T2的寄存器
7.5.3 定时/计数器T2的工作方式
7.6 小结
思考题与习题7
第8章 单片机的串行接口
8.1 概述
8.1.1 同步和异步方式
8.1.2 通信方向
8.1.3 串行通信接口的任务
8.1.4 串行通信接口
8.1.5 波特率和发送接收时钟
8.1.6 通信线的连接
8.1.7 关于 RS-232
8.1.8 单片机串行通信电路
8.2 单片机串行口的结构与工作原理
8.2.1 串行口结构
8.2.2 工作原理
8.2.3 波特率的设定
8.3 串行口的控制寄存器
8.3.1 串行口的控制寄存器SCON
8.3.2 电源控制寄存器PCON
8.4 串行口的工作方式
8.5 串行口的应用编程
8.5.1 查询方式
8.5.2 中断法
8.5.3 串行通信编程实例
8.6 利用串行口方式0扩展I/O口
*8.7 单片机和PC的串行通信
8.8 小结
思考题与习题8
第9章 单片机总线与系统扩展
9.1 单片机系统总线和系统扩展方法
9.1.1 单片机系统总线信号
9.1.2 外围芯片的引脚规律
9.1.3 系统扩展的方法
9.1.4 地址译码器
9.2 存储器的扩展
9.2.1 存储器的基本知识
9.2.2 程序存储器的扩展
9.3 数据存储器的扩展
*9.4 同时扩展SRAM和大于64KB Flash的例子
9.5 并行I/O接口的扩展
9.5.1 通用锁存器、缓冲器的扩展
9.5.2 可编程并行接口芯片的扩展
9.6 存储器和I/O口综合扩展电路
*9.7 扩展多功能接口芯片8155
9.8 小结
思考题与习题9
第10章 单片机应用接口技术
10.1 并行D/A接口技术
10.1.1 D/A概述
10.1.2 DAC0832的扩展接口
*10.1.3 DAC1210的扩展接口
10.2 A/D接口技术
10.2.1 A/D概述
10.2.2 ADC0809的扩展接口
*10.2.3 AD574的扩展接口
*10.3 V/F(电压/频率)转换接口
*10.4 F/V(频率/电压)转换接口
10.5 人机接口技术
10.5.1 键盘接口扩展
10.5.2 LED显示器扩展
*10.5.3 用8279扩展键盘与LED显示器
10.5.4 LCD显示器扩展
10.6 隔离与驱动接口
10.7 小结
思考题与习题10
*第11章 串行总线技术
11.1 I2C总线扩展技术
11.1.1 I2C总线简介
11.1.2 I2C总线的通信规程
11.1.3 串行I2C E2PROM AT24CXX
11.1.4 I2C总线的编程实现
11.1.5 串行E2PROM和8XX51接口实例
11.1.6 串行铁电FRAM的扩展
11.2 SPI总线扩展接口及应用
11.2.1 SPI的原理
11.2.2 SPI总线的软件模拟及扩展技术
11.2.3 串行D/A转换器TLC5615的扩展
11.2.4 8位串行A/D转换器TLC549的扩展
11.3 现场总线CAN
11.3.1 CAN总线特点
11.3.2 CAN总线协议
11.3.3 CAN 总线接口
11.4 小结
思考题与习题11
第12章 以MCU为核心的嵌入式系统的设计与调试
12.1 嵌入式系统开发与开发工具
12.1.1 MCU为核心的嵌入式系统的构成
12.1.2 嵌入式应用系统的设计原则
12.1.3 嵌入式系统的开发工具
12.1.4 嵌入式系统的调试
*12.2 嵌入式系统的抗干扰技术
12.2.1 软件抗干扰
12.2.2 硬件抗干扰
12.2.3“看门狗”技术
12.3 单片机应用系统举例——电子显示屏
12.4 小结
第13章 实践训练
13.1 概述
13.2 可在线编程(ISP)多功能实验板
13.3 仿真调试技术
13.3.1 Proteus概述
13.3.2 Proteus中51单片机应用系统的开发
13.3.3 单片机仿真调试集成软件包Keil μVision2介绍
13.3.4 Keil和Proteus的联合使用仿真C51程序
13.4 单片机编程(下载)方法
13.5 实验指导
实验1 程序设计
实验2 并行接口输入、输出实验
实验3 中断实验
实验4 定时/计数器实验
实验5 串行通信实验
实验6 矩阵键盘和显示程序设计
*实验7 串行E2PROM实验
*实验8 串行D/A实验
*实验9 串行A/D实验
*实验10 电子广告显示屏控制实验
*实验11 液晶显示器显示控制实验
13.6 课程设计选题
附录A MCS-51指令表
附录B C51的库函数
思考题与习题解答
参考文献
前言
  再版前言
  嵌入式系统是嵌入式计算机(Embedded Computer)嵌入到各种设备及应用产品内部的计算机系统,它体积小,结构紧凑,使设备及应用产品智能化。在数字化产品日益普及的今天,从手机、MP3到飞机的自动导航系统,军事、工业、商业、家电、通信、网络产品无一不充斥着嵌入式系统,可以说,它无处不有,无所不在。
  嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统及用户的应用程序等部分组成,因此,嵌入式系统开发技术、嵌入式芯片设计、嵌入式操作系统、嵌入式软件、嵌入式系统平台,是当今最热门的课题。
  作为嵌入式系统控制核心的单片机(又称为微控制器),以体积小、功能全、性价比高等诸多优点而独具特色。51系列单片机是国内目前应用最广泛的单片机之一,随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51系列单片机的发展又进入了一个新的阶段。许多专用功能芯片的内核集成了51系列单片机,与51系列单片机兼容的微控制器以IP核的方式不断地出现在FPGA的片上系统中。随着基于51系列单片机的嵌入式实时操作系统的出现与推广,在很长一段时间内,51系列单片机仍将占据嵌入式系统产品的中、低端市场。
  如果说C语言程序设计课程是软件设计的基础课,那么单片机以其系统构架完整、价格低廉、学生能自构系统,而成为工科学生硬件设计基础课。本书以51系列单片机为背景,介绍嵌入式系统应用软件、硬件设计的基本技术,为以后学习高端的、更复杂的嵌入式系统打下基础。本书的主要特点有:
  1.在内容的编排上注意由浅入深,方便自学,通过大量的典型例题,使学生重点掌握嵌入式系统的构成、基本工作原理、软件和硬件的开发方法,全书以表格、示意图和语言描述相结合的方式,使基本理论的表述一目了然,方便掌握和记忆。
  2.注意理论联系实际,使学生掌握以单片机为核心的嵌入式系统的开发技术。书中编有项目实训,并提供一套价格低廉的在系统可编程(ISP)实验板作为实践平台。该板兼实验台功能和编程器功能于一体,使读者在家中也能开发自己的嵌入式小系统。实践训练中介绍了单片机仿真软件和在系统编程软件等开发软件的使用方法,实验指导中的示例程序有较高的参考价值。
  3.实验指导中介绍了单片机开发软件(仿真软件和在系统编程软件)的使用方法,重点介绍了Proteus和Keil软件,电子课件中提供了Proteus的虚拟实验板电路图及各章例题的Proteus电路图,以方便教师上课时演示。
  4.本书力图反映单片机领域的新技术、新器件,主要体现在:
  (1)采用汇编语言和C语言对照的编程方法。对于IT行业工程师来说,两种语言的编程方法都必须熟悉。这是因为汇编语言的代码效率高,实时性强,从中可以理解单片机的工作机理,而且目前不少资料使用的是汇编语言。而对复杂的运算或大型程序,用汇编语言编程非常耗时,而用C语言编程无须考虑具体的寄存器或存储器的分配等细节,由C51编译系统安排,从而可以加快开发者的编程速度,缩短开发周期。为发挥两种语言的长处,书中介绍了C语言和汇编语言的混合编程方法。对于学过C语言的读者,编写C语言的程序是轻而易举的事情。为了照顾没学过C语言的读者,本书对C语言的基本语法也作了介绍。对于两种编程语言的教学,教学单位可根据情况进行取舍,另一种语言让学生参考或自学。
  (2)随着非总线扩展芯片的增多,书中专门对串行总线I2C、SPI、CAN作了详细论述,并介绍了一些新型的串行器件,如串行的EPROM、串行D/A、串行A/D等。书中还以一定的篇幅介绍V/F(电压/频率转换)、F/V(频率/电压转换)、增强型单片机中的定时/计数器2、μP监控器及看门狗等,以使读者能适应单片机技术的新发展。
  对于基础性教材,不在于技术水平多高,而在于教材的知识点是否安排得当,是否好教好学。本书自2001年出版以来,随着单片机技术的发展,不断改版,其教材结构、知识点的安排,被后面很多新编的单片机教材借鉴,全国有数十所院校采用本书作为教材,并获得全国电子信息类优秀教材二等奖,感谢老师们的支持和厚爱。
  本次4版除了体现第3版的思想(①C语言和汇编语言对照,老师自由选取,又不妨碍好学的学生自我多学一些知识;②逐步取代以8086为主的微机原理)外,对使用不多的部件进行了简化(如8279),对新型调试手段Proteus进行了介绍,为照顾某些学校的条件和习惯,保留了原多功能实验板及实验,而将Wave使用方法及并行口烧录方法保留在电子工业出版社的华信教育资源网(www.hxedu.com.cn)上。
  在教学中,可根据专业需求、学时、对象安排教材的教学内容,其中*为任选,如果学时充裕,可作为教学内容,如果学时紧张,可作为毕业设计或日后应用设计的参考资料。
  本书由李群芳担任主编,肖看博士、张士军教授、黄建博士、郭蔚工程师、丁国荣工程师等参与编写了其中某些章节和思考题与习题解答工作,李熠、张祎然做了实验验证工作,姚方、姚园等人完成了书中部分例题和习题的文字编写及电路绘制等工作。在此,对他们的辛勤劳动表示感谢。
  感谢本书的主审谢瑞和教授,在百忙之中抽出时间认真地审阅了全书。
  由于计算机的发展日新月异,本人水平有限,教材不尽如人意之处,敬请读者批评指正。
  本书配有多媒体电子课件,对采用本书作为教材的教师提供。教材课件索取、配套ISP实验板的咨询及对本教材的意见和建议请发E-mail:call_lqf@yahoo.com.cn。
  编 者
  2011年11月于华中科技大学
精彩书摘
  ③嵌入式系统软件的特征:嵌入式系统软件所使用的语言可以是汇编语言,也可以是高级语言。软件一般固化在存储器芯片或单片机本身,而不是存储于磁盘等载体中。代码要求高质量、高可靠性、高实时性,并尽量减少占用的存储器。
  ④嵌入式系统开发需要开发工具和环境:通用计算机具有完善的人机接口界面,在上面增加一些开发应用程序和环境即可进行对自身的开发。而嵌入式系统本身不具备开发能力,系统设计完成以后,用户必须有一套开发工具和环境才能对系统进行调试、修改。这些工具和环境一般是指基于通用计算机上的软、硬件设备及各种仿真器、编程器、逻辑分析仪、示波器等。
  (2)嵌入式系统的核心部件
  嵌入式系统是先进的计算机技术、半导体技术、电子技术与各个行业的具体应用相结合的产物,是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
  嵌入式系统包括硬件和软件两个部分。硬件包括微处理器、存储器、外设、I/O接口、图形控制器等。软件部分包括操作系统软件(OS,实时和多任务操作)和应用程序。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。
  各种类型的通用CPU、单片机(MCU)和数字信号处理器(DSP),可编程逻辑控制器(PLC)、片上系统(SOC)、可编程逻辑器件(CPLD、FPGA)及专用处理器芯片等,均可构成嵌入式系统。其核心部件有以下3类:微处理器MPU、微控制器MCU和数字信号处理器DSP。
  ……