《基于PROTEUS和汇编语言的单片机原理应用与仿真》[90M]百度网盘|pdf下载|亲测有效
《基于PROTEUS和汇编语言的单片机原理应用与仿真》[90M]百度网盘|pdf下载|亲测有效

基于PROTEUS和汇编语言的单片机原理应用与仿真 pdf下载

出版社 科学出版社旗舰店
出版年 2014-04
页数 390页
装帧 精装
评分 8.9(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供基于PROTEUS和汇编语言的单片机原理应用与仿真电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com



商品参数

基于PROTEUS和汇编语言的单片机原理应用与仿真
曾用价 88.00
出版社 科学出版社
版次 1
出版时间 2014年04月
开本 16
著编译者 赵林惠,李一男,赵双华   赵林惠,李一男,赵双华  
页数 372
ISBN编码 9787030400741


内容介绍

本书着重介绍单片机的内部结构、工作原理、程序设计,以及各种常用的 接口技术,包括中断系统、定时器/ 计数器、8255 I/O 扩展、显示器和键盘接口、 数模和模数转换技术、串行通信及总线技术。另外,以Proteus 和Keil 开发软件 为基础,结合具体实例,讲解利用Proteus ISIS 和Keil uVision 开发环境进行应用 系统虚拟仿真设计的方法。书中给出了所有实例的ISIS 仿真电路图及汇编语言 程序清单,且实例均在ISIS 7.7 SP3 和uVision 3 软件平台上调试通过,可直接运行。 围绕使学生掌握如何运用单片机解决具体问题这一目的,在设计实例时 采取循序渐进的方式,按照章节内容的安排改变或添加功能,*终实现较复 杂的任务,旨在培养和锻炼学生的基本应用技能。以图解的方式说明问题是 本书的另一大特色。

关联推荐

    赵林惠、李一男、赵双华编著的《基于Proteus和汇编语言的单片机原理应用与仿真》围绕着“什么是单片机?”、“单片机由什么组成?”、“单片机能够做什么以及怎么做?”这几个问题展开,力求通俗易懂、深入浅出、循序渐进。书中利用大量插图帮助读者直观地理解相关内容。本书以学习单片机基础知识为出发点,不详述学术理论方面的细节,而以实用为主,几乎每章都配有学生可以实际动手完成的任务,因此,适合作为采用教、学、做相结合的项目式教学模式的单片机课程教材,也适合作为单片机技术初学者的入门教材。
   


目录

目 录 第 章 单片机概述 1.1 单片机与嵌入式系统 …………………………………………………………… 2 1.2 单片机与C51系列单片机 ……………………………………………………… 4 1.3 单片机的应用及其工作内容 …………………………………………………… 4 1.3.1 应用领域 …………………………………………………………………… 4 1.3.2 单片机的工作内容 ………………………………………………………… 4 1.4 学习单片机的数学基础 ………………………………………………………… 8 1.4.1 二进制 ……………………………………………………………………… 8 1.4.2 十六进制 …………………………………………………………………… 13 1.4.3 BCD码 ……………………………………………………………………… 14 1.4.4 ASCII码 …………………………………………………………………… 16 1.5 单片机应用程序的开发语言 ………………………………………………… 17 1.6 单片机开发工具 ………………………………………………………………… 18 第 章 Proteus ISIS的使用 2.1 在ISIS中输入电路原理图 ……………………………………………………… 22 2.1.1 Proteus ISIS工具简介 ……………………………………………………… 22 2.1.2 原理图设计实例 …………………………………………………………… 25 2.2 在ISIS中进行软件设计 ………………………………………………………… 29 2.2.1 创建源代码文件 …………………………………………………………… 29 2.2.2 编辑源代码 ………………………………………………………………… 30 2.2.3 将源代码生成目标代码 …………………………………………………… 31 2.3 在ISIS中进行系统仿真 ………………………………………………………… 32 2.3.1 将目标代码添加到电路 …………………………………………………… 32 2.3.2 系统仿真及调试 …………………………………………………………… 32 2.4 Proteus与 Keil联机仿真调试 ………………………………………………… 36 2.4.1 Proteus与 Keil联调的设置方法 …………………………………………… 37 2.4.2 联机调试仿真实例 ………………………………………………………… 39 第 章 单片机的结构和原理 3.1 单片机的内部组成 ……………………………………………………………… 44 3.1.1 总线结构 …………………………………………………………………… 44 3.1.2 单片机的内部结构 ………………………………………………………… 45 3.1.3 引脚定义及功能 …………………………………………………………… 47 3.2 单片机的工作原理 ……………………………………………………………… 48 3.3 单片机的存储器 ………………………………………………………………… 53 3.3.1 半导体存储器 ……………………………………………………………… 53 3.3.2 存储器的主要指标 ………………………………………………………… 54 3.3.3 8051单片机的存储器 ……………………………………………………… 55 3.4 输入/输出(I/O)接口 ………………………………………………………… 62 3.4.1 并行I/O接口的结构和特点 ………………………………………………… 63 3.4.2 并行I/O接口的应用实例 …………………………………………………… 66 3.5 CPU时序及时钟电路 …………………………………………………………… 78 3.5.1 CPU时序 …………………………………………………………………… 78 3.5.2 时钟电路 …………………………………………………………………… 79 3.6 单片机的工作方式 ……………………………………………………………… 80 3.6.1 复位方式 …………………………………………………………………… 80 3.6.2 程序执行方式 ……………………………………………………………… 81 第 章 单片机的指令系统 4.1 指令系统概述 …………………………………………………………………… 86 4.1.1 汇编语言指令格式 ………………………………………………………… 86 4.1.2 指令系统标识符 …………………………………………………………… 87 4.1.3 寻址方式 …………………………………………………………………… 87 4.1.4 伪指令 ……………………………………………………………………… 87 4.2 数据传送类指令 ………………………………………………………………… 90 4.2.1 内部RAM数据传送指令(16条) ………………………………………… 91 4.2.2 外部RAM数据传送指令(4条) ………………………………………… 94 4.2.3 查表指令(2条) …………………………………………………………… 96 4.2.4 数据交换指令(5条) ……………………………………………………… 99 4.2.5 堆栈操作指令(2条) …………………………………………………… 100 4.3 算术运算类指令 ……………………………………………………………… 102 4.3.1 加法指令(14条) ………………………………………………………… 102 4.3.2 减法指令(8条) ………………………………………………………… 107 4.3.3 乘法和除法指令(2条) ………………………………………………… 108 4.4 逻辑操作类指令 ……………………………………………………………… 110 4.5 控制转移类指令 ……………………………………………………………… 115 4.5.1 无条件转移指令(4条) ………………………………………………… 115 4.5.2 条件转移指令(8条) …………………………………………………… 118 4.5.3 子程序调用与返回指令(4条) ………………………………………… 123 4.5.4 空操作指令(1条) ……………………………………………………… 125 4.6 位操作类指令 ………………………………………………………………… 125 4.6.1 位数据传送指令(2条) ………………………………………………… 126 4.6.2 位逻辑操作指令(6条) ………………………………………………… 126 4.6.3 位状态(置位、清0)控制指令(4条) ……………………………… 127 4.6.4 位条件(控制)转移指令(5条) ……………………………………… 128 第 章 汇编语言程序设计 5.1 汇编语言程序设计步骤 ……………………………………………………… 134 5.2 汇编语言程序的结构形式及其设计 ………………………………………… 135 5.2.1 顺序程序设计 …………………………………………………………… 135 5.2.2 分支程序设计 …………………………………………………………… 135 5.2.3 循环程序设计 …………………………………………………………… 138 5.2.4 子程序设计 ……………………………………………………………… 145 5.3 综合程序设计 ………………………………………………………………… 149 5.3.1 查表程序 ………………………………………………………………… 149 5.3.2 散转程序 ………………………………………………………………… 154 5.3.3 数制转换程序 …………………………………………………………… 155 5.3.4 算术运算程序 …………………………………………………………… 157 5.4 汇编语言程序的调试方法 …………………………………………………… 158 5.5 汇编语言程序开发实例 ……………………………………………………… 159 第 章 中断系统 6.1 中断概述 …………………………………………………………………… 172 6.1.1 数据传送方式 …………………………………………………………… 172 6.1.2 中断技术基础 …………………………………………………………… 172 6.2 8051单片机中断系统 ……………………………………………………… 175 6.2.1 中断源 …………………………………………………………………… 175 6.2.2 中断控制 ………………………………………………………………… 176 6.2.3 中断响应 ………………………………………………………………… 182 6.2.4 中断请求信号的撤除 …………………………………………………… 184 6.3 中断程序的设计与应用 ……………………………………………………… 185 6.3.1 中断程序设计 …………………………………………………………… 185 6.3.2 中断程序设计实例 ……………………………………………………… 188 6.3.3 中断程序的调试方法 …………………………………………………… 197 第 章 定时器/计数器 7.1 定时/计数器概述 …………………………………………………………… 202 7.1.1 定时/计数器的结构 ……………………………………………………… 202 7.1.2 定时/计数器的工作原理 ………………………………………………… 203 7.2 定时/计数器的控制 ………………………………………………………… 205 7.2.1 控制寄存器TCON ……………………………………………………… 205 7.2.2 工作方式寄存器TMOD ………………………………………………… 206 7.3 定时/计数器的工作方式 …………………………………………………… 208 7.3.1 方式0 ……………………………………………………………………… 208 7.3.2 方式1 ……………………………………………………………………… 209 7.3.3 方式2 ……………………………………………………………………… 210 7.3.4 方式3 ……………………………………………………………………… 211 7.4 定时/计数程序的设计与应用 ……………………………………………… 212 7.4.1 定时/计数程序设计 ……………………………………………………… 212 7.4.2 定时/计数程序设计实例 ………………………………………………… 214 第 章 常用接口技术 8.1 单片机系统扩展概述 ………………………………………………………… 236 8.1.1 单片机扩展系统结构 …………………………………………………… 236 8.1.2 扩展系统编址技术 ……………………………………………………… 237 8.2 并行I/O接口扩展技术 ……………………………………………………… 241 8.2.1 并行I/O接口扩展概述 …………………………………………………… 241 8.2.2 简单并行I/O接口扩展 …………………………………………………… 242 8.2.3 可编程并行I/O接口扩展 ………………………………………………… 243 8.3 输入输出通道接口技术 ……………………………………………………… 250 8.3.1 D/A转换接口技术 ……………………………………………………… 251 8.3.2 A/D转换接口技术 ……………………………………………………… 259 8.4 键盘及显示器接口技术 ……………………………………………………… 264 8.4.1 键盘接口技术 …………………………………………………………… 264 8.4.2 显示器接口技术 ………………………………………………………… 270 8.5 接口技术应用实例 …………………………………………………………… 278 第 章 串行总线及串行接口技术 9.1 串行通信概述 ………………………………………………………………… 292 9.1.1 数据通信方式 …………………………………………………………… 292 9.1.2 串行通信方式 …………………………………………………………… 292 9.1.3 串行通信的传输速率 …………………………………………………… 293 9.1.4 串行通信的差错检验 …………………………………………………… 294 9.2 51单片机的串行接口 ………………………………………………………… 295 9.2.1 串行接口结构 …………………………………………………………… 295 9.2.2 串行接口控制寄存器 …………………………………………………… 296 9.2.3 串行接口的工作方式 …………………………………………………… 298 9.2.4 MCS-51串行通信接口的应用 …………………………………………… 299 9.3 嵌入式计算机和单片机之间的通信 ………………………………………… 309 9.3.1 RS-232C接口 …………………………………………………………… 310 9.3.2 RS-485接口 ……………………………………………………………… 319 第 章 单片机应用系统的设计与开发 10.1 单片机应用系统的结构 …………………………………………………… 322 10.2 单片机应用系统的设计过程 ……………………………………………… 322 10.3 单片机应用系统设计实例 ………………………………………………… 323 10.3.1 室内环境控制系统 ……………………………………………………… 324 10.3.2 水位控制系统 …………………………………………………………… 326 第 章 课程设计项目 11.1 电子秒表的设计 …………………………………………………………… 332 11.2 电子时钟的设计 …………………………………………………………… 332 11.3 步进电机的控制 …………………………………………………………… 333 11.4 直流电机的控制 …………………………………………………………… 333 11.5 数字温度计的设计 ………………………………………………………… 334 11.6 交通灯控制系统的设计 …………………………………………………… 335 11.7 波形发生器1的设计 ………………………………………………………… 335 11.8 波形发生器2的设计 ………………………………………………………… 336 11.9 项目设计报告参考格式 …………………………………………………… 337 附 录 附录A Proteus ISIS功能概述 …………………………………………………… 342 附录B Proteus元件分类说明 …………………………………………………… 348 附录C 8051指令速查表 ………………………………………………………… 356

在线试读

第1 章 单片机概述 本章首先介绍有关单片机的基本知识,包括单片机的概念、嵌入式系统的概念、位和字长的概念等,通过具体实例说明单片机的功能和应用领域;然后介绍学习单片机所应具备的数学基础知识,包括数制、编码和基本运算;*后介绍单片机系统开发所使用的语言、开发工具。 1.1 单片机与嵌入式系统 问题 什么是单片机?它与大家熟知的个人计算机(微机)有什么不同? 解释 如图1.1所示,常用的计算机实际上是一个微型计算机系统,包括硬件部分和软件部分。其中的硬件核心部分是微型计算机,由CPU(Central Processing Unit,中央处理单元)、内存储器 [由RAM(Random Access Memory,随机存储器)和ROM(ReadOnly Memory,只读存储器)构成]、输入/输出接口(串行口、并行口等)组成。在个人计算机上,微型计算机被分成若干块芯片或者插卡,安装一个称为主板的印刷线路板上。而在单片机中,这些部分全部被集成在一块电路芯片中,因此称之为单片微型计算机(Single Chip Microcomputer,SCM),简称单片机。图1.2即为两种不同封装类型的单片机。 图1.1 微型计算机系统、微型计算机与单片机组成图 图1.2 单片机实物图 ※ 重要概念 单片机系统是硬件和软件结合的产物 由图1.1可看出,日常使用的实际上是一个微型计算机系统,购买计算机后都要安装操作系统(Windows,UNIX,Linux)以及各种应用软件(Words,Excel,IE,Realplay等)才能写文档、上网、发邮件、看电影等。与此相同,今后要学习的各种单片机的应用也均是一个个单片机系统,也就是说,不但需要学习它的硬件 组成,还要学习如何用单片机的语言(汇编语言)编写程序。 硬件与软件,二者缺 一不可。 问题 什么是嵌入式系统?它与单片机有什么关系? 解释 嵌入式系统(Embedded System)是指嵌入到工程对象中能够完成某些相对简单或者某些特定功能的计算机系统。这个概念是相对于通用计算机系统而来的,二者的主要区别如表1.1所示,个人计算机就属于通用计算机系统。 表1.1 嵌入式计算机系统与通用计算机系统的比较 计算机系统定 义特 点 通用计算机系统满足海量高速数据处理的计算机系统的统称对运行速度要求高 嵌入式计算机系统面对工控领域的测控对象,嵌入到应用系统中的计算机系统的统称对控制功能要求高 单片机*早就是以嵌入式微控制器的面貌出现的,因其体积小、现场运行可靠,可以很好地满足嵌入式应用的要求。在嵌入式系统中,它是*重要的也是应用*多的智能核心器件。单片机嵌入到对象系统中,并在对象环境下运行,与对象领域相关的操作主要是对外界物理参数进行采集、处理,实现控制,并与操作者进行人机交互等。 单片机的发展从嵌入式应用的角度可分为SCM、MCU和SoC三大阶段。 SCM阶段,主要是寻求*佳的单片形态、嵌入式系统的*佳体系结构。 MCU即为控制器(Micro Control Unit)阶段,主要是不断扩展满足嵌入式应用和设计系统要求的各种外围电路与接口电路,以突显其智能控制能力。 SoC即片上系统(System on Chip)阶段,主要是寻求应用系统在芯片上的*大化解决。随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。 问题 什么是位、字节、字长? 解释 计算机使用二进制数,即只有“0”和“1”两个数码。 ● 位(bit):表示一个二进制数的*基本也是*小的单位。如100为3位二进制数,10011011是8位二进制数。 ● 字节(Byte):一字节等于8位二进制数。 ● 字长:指CPU一次能够处理二进制信息的位数,通常也指CPU与输入/输出设备或内存储器之间一次传送二进制数据的位数。计算机的字长与处理能力和计算精度有关,字长越长,计算精度越高,处理能力越强,但使计算机的结构变得更复杂。 CPU的字长有1位、4位、8位、16位、32位和64位,对应的计算机就是1位机、4位机、8位机、16位机、32位机和64位机。目前单片机大多是8位或16位的,本书所介绍的51系列单片机就是8位机,这意味着如果要处理16位数据的话就应该分两次处理。__ 1.2 单片机与C51系列单片机 一提到单片机,你就会经常听到这样一些名词:MCS-51、8051、C51等,它们之间究竟是什么关系呢? MCS-51是指由美国英特尔公司生产的一系列单片机的总称。这一系列单片机包括了许多品种,如8031、8051、8751等,其中8051是*典型的产品,该系列单片机都是在8051的基础上进行功能的增减改变而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。 英特尔公司将MCS-51的核心技术授权给了很多其他公司,所以有很多公司在做以8051为核心的单片机,当然,功能或多或少有些改变,以满足不同的需求。其中较典型的一款单片机是由美国Atmel公司以8051为内核开发生产的AT89C51(简称C51)。本教材就以此单片机为基础,各种任务与实例均用此种单片机实现。 1.3 单片机的应用及其工作内容 1.3.1 应用领域 目前,个人计算机、笔记本电脑的使用非常普遍,连小学生都懂得如何上网、发邮件、打游戏,那么还学习单片机干什么?而且与计算机相比,单片机的功能少得多,那学它究竟有什么用呢?实际上,随着自动化程度的提高,工业和现实生活中的许多需要计算机控制的场合并不要求计算机有很高的性能,因为这些应用场合对数据量和处理速度要求不高,如果使用计算机将增加成本。单片机凭借体积小、质量轻、价格便宜等优势,成为计算机的替代品。例如,空调温度的控制、冰箱温度的控制等都不需要很复杂高级的计算机。应用的关键在于是否满足需求,是否有很好的性能价格比。 单片机已经渗透到各行各业以及生活的各个领域:导弹的导航装置、飞机上各种仪表的控制、工业自动化过程的实时控制和数据处理、广泛使用的各种智能IC卡、民用豪华轿车的安全保障系统、录像机、摄像机、全自动洗衣机、程控玩具、电子宠物、机器人、智能仪表、医疗器械等。 1.3.2 单片机的工作内容 下面用两个例子来解释一下单片机在控制中所起的作用,希望读者能够明白单片机究竟能够做哪些事情,以便对单片机的工作内容有一个大概的了解。 实例1.1  智能空调控制系统[1] 智能空调中的温度、湿度、种种运行模式的控制都是依靠单片机实现的。其中,单片机作为控制器,其作用是根据各种不同的输入信号及空调的当前状态,通过预定的指令打开或关闭继电器所实现的开、关控制,如图1.3所示。 图1.3 室内空调控制系统框图 单片机的基本工作首先是将从室温传感器测得的温度值与设定的室内温度值相比较,根据比较的结果决定是接通还是断开空调中空气压缩机(或加热器)的电源。除此之外,通过单片机控制还可以实现其他功能。例如,当空调的模式选择开关选至“就寝模式”时,单片机就会在空调定时器运行1小时之后,自动将室温控制在比设定值高3℃(暖风时降低5℃) 的舒适温度上,这样人睡着后不会感觉冷(或热)。另外,当模式选择开关选至“柔和模式”时空调所实现的风量自动调节及再启动时的3分钟延时(为延长气体压缩机的使用寿命,再启动时要延时一段时间后才接通电源开关),都是通过单片机控制实现的。再有,用发光二极管(LED:Light Emitting Diode)一直显示室内温度,当换气扇累计运行100小时后,自动点亮提示清扫除尘网的指示灯等,这些功能也都是由单片机控制完成的。综上所述,当室内空调中嵌入了单片机后,就使该空调具有了以往机械式空调无论是从结构还是从价格上都不可能实现的“极其细致”的功能,使空调从舒适、节能、操作简便等方面都得到了很大的提高。 在这个例子中,嵌入实用机器中的单片机芯片是从相当于人“五官”的输入设备中接收信号,并对它们进行仔细的“处理”后,再将相应的输出信号送至相当于人“手和脚”的输出设备,由它们来执行相应的控制,以此提高机器的性能。在这里,相当于人脑的单片机,要按预先给定的程序,根据当时的各种输入信号对机器的运行状态进行判断,即按照一定的控制算法,计算出实施*佳控制所需要的各种控制信号,并将这些信号送给输出设备。这里程序的好坏决定了这个单片机在机器中的应用价值。换句话说,即使采用同一型号的单片机,如果编写不同的程序,就可以使被控机器或设备具有不同的功能。在此,重申一遍前面提到的一个重要概念:单片机系统是硬件和软件结合的产物,二者缺一不可。另外,可看出这个单片机应用系统的硬件除了作为控制器的单片机以外,还由输入设备(用于设定温度)、输出设备(用于显示温度)、传感器(用于测量温度)、继电器(用于开或关电源、加热器等设备)等设备组成,构成了一个典型的单片机应用系统。 ※ 重要结论 (1)单片机系统的设计包含两方面,即硬件设计和软件设计。硬件设计指输入、输出等设备的选择及其与单片机的连接方法;软件设计指程序的设计。 (2)单片机应用系统的硬件系统由输入/输出设备、传感器、执行机构等设备构成,其中有的设备可与单片机直接相连,有的设备需要通过接口电路再与单片机相连,因此需要设计这些设备的接口电路或者选择合适的接口芯片。 关于单片机在工作时具体是怎样进行的, 在下一个例子中通过程序流程图(Flowchart)详细说明。流程图中使用的符号说明见图1.4。 图1.4 程序流程图主要符号 实例1.2  汽车发动机燃料喷射控制[1] 自从Bosch首次开发出发动机电喷装置以来,EFI(电子控制燃料喷射)在日本已广为人知。近来的ECCS、TCCS装置,不仅仅对燃料的喷射进行控制,而且还能够对发动机的点火时刻、发动机低速运转时的转速等方面进行控制。图1.5给出了TCCS(丰田车用控制系统)基本功能之一的燃料喷射控制流程图。 在TCCS的EFI中,单片机是根据预先存放在单片机中的各种基准数据和从传感器得到的信号,计算出控制燃料喷嘴的开启时间(长度)。如果发动机是6缸的,就需要计算出6个这样的控制信号来控制相应的喷嘴工作。喷嘴的基本喷射时间,可以根据此刻发电机中吸入空气量的大小和此时发动机的转数计算得出。在这个运算中,包含有乘法运算和除法运算。在基本喷射时间确定的基础上,再根据当时的各种条件,相应地加上或减去一个适当的量(增量),就可以得到*佳的喷嘴开启时间。 例如,对于刚刚启动后的发动机,其基本喷射的时间等于启动后喷射时间。在此基础上,可以从预先存放在单片机中对应冷却水温的增量表得知此时的相应增量(这一增量需要随时间的增长而逐渐衰减),将这一增量与基本时间相加就可以得到*佳喷射时间。还有,当发动机高负荷运转时,应在基本喷射时间的基础上加入此时发动机转数所对应的增量,当汽车加速度运行时也要加进增量,开暖风时还要加进增量。这些加增量的处理都是为了使单片机实际输出的*佳喷嘴开启时间与实际要求相符。另外,在初次启动汽车时,其基本喷射时间的计算方法与上述的方法不同,它只取决于当时测量的冷却水温和修正电压值。特别是在低温启动时,为了保证发动机能可靠运行,还要进行启动可靠喷嘴工作来保证点火成功。修正电压是指由于汽车电瓶的电压下降时,引起喷嘴的响应变差,产生了动作延迟,从而使燃料喷量发生变化。为了防止这种因电压下降所产生的燃料喷射量的变化,可以采取相应延长喷嘴的喷射时间来进行弥补。__