198
单片机原理与应用 中国机械工业教育协会组编 厦门大学陈文芗 副主编金华职业技术学院马汝星 天津理工学院职业技术学院陈岚 摇摇摇摇厦门大学郭光真大连理工大学徐志祥 江苏理工大学赵德安 机械工业出版社

单片机原理与应用 - idl.hbdlib.cnidl.hbdlib.cn/book/00000000000000/pdfbook2/018/017/178649.pdf · 摇摇猿郾缘郾圆摇双操作数逻辑运算指令 !!!!! 源怨 摇猿郾远摇控制转移指令!!!!!

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

  • 书书书

    圆圆圆圆圆圆圆圆圆圆圆圆员员员员员员员员员员员员世世世世世世世世世世世世纪纪纪纪纪纪纪纪纪纪纪纪高高高高高高高高高高高高职职职职职职职职职职职职高高高高高高高高高高高高专专专专专专专专专专专专系系系系系系系系系系系系列列列列列列列列列列列列教教教教教教教教教教教教材材材材材材材材材材材材

    单片机原理与应用

    中国机械工业教育协会摇组编

    主摇编摇厦门大学摇陈文芗副主编摇金华职业技术学院摇马汝星

    参摇编摇天津理工学院职业技术学院摇陈岚摇摇摇摇厦门大学摇郭光真摇大连理工大学摇徐志祥

    主摇审摇江苏理工大学摇赵德安

    机 械 工 业 出 版 社

  • 摇摇本书是根据高等职业技术教育(理工类)的教学要求来编写的。全书共分 员圆章,前 远章着重介绍 酝悦杂—缘员单片机的硬件结构和指令系统,第 苑章介绍常用的数据运算和处理程序,其中给出了较多的实用子程序,第 员园章和第 员员章介绍了单片机的人机对话界面。最后在第 员圆章中介绍了 酝悦杂—缘员在智能仪器、仪表等方面的应用实例。摇摇本书力求文字简练,通俗易懂。内容上重点突出,并采用了大量的设计实例作为例题。

    摇摇本书可作为高等职业技术院校、高等院校专科、职工大学、业余大学、夜大学、函授大学、成人教育学院等大专层次相应课程的教材,也可作为

    广大自学者的自学用书。

    摇图书在版编目(悦陨孕)数据

    摇单片机原理与应用 辕中国机械工业教育协会组编 郾—北京:机械工业出版社,圆园园员郾愿摇圆员世纪高职高专系列教材摇陨杂月晕苑原员员员原园愿猿怨愿原怨

    摇Ⅰ郾单 郾郾郾摇Ⅱ郾中 郾郾郾摇Ⅲ郾单片微型计算机 原高等学校:技术学校 原教材摇Ⅳ郾栽孕猿远愿郾员

    摇中国版本图书馆 悦陨孕数据核字(圆园园员)第 园源圆猿猿缘号

    摇机械工业出版社(北京市百万庄大街 圆圆号摇邮政编码 员园园园猿苑)责任编辑:郑文斌摇版式设计:张世琴摇责任校对:申春香封面设计:姚摇毅摇责任印制:郭景龙

    北京铭成印刷有限公司印刷·新华书店北京发行所发行

    圆园园员年 愿月第 员版·第 员次印刷

    苑愿苑皂皂伊员园怨圆皂皂·员圆郾缘印张·猿园苑千字

    园园园员—源园园园册

    定价:员怨郾园园元

    凡购本书,如有缺页、倒页、脱页,由本社发行部调换

    本 社购书热线电话(园员园)远愿怨怨猿愿圆员、远愿猿圆远远苑苑鄄圆缘圆苑

  • 前前前前前前前前前前前前摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇言言言言言言言言言言言言

    摇摇本书是高等职业技术教育理工类教学用书。摇摇作为高职教育用书,我们本着学以致用的原则。全书的指导思想是突出应用,基本概念以讲清为度。因此本书在内容的选取及编写上,有如下特点:

    摇摇员郾突出重点。对 酝悦杂鄄缘员单片机的结构,指令系统做了比较详细的介绍。并把定时器、串行接口及中断系统等几个重要内容单独成章,其目的是为了强化读者对单片机整体结构的

    认识,并使读者能够灵活的应用定时器、串行接口及单片机的中断功能。本书的另一个重点

    是 酝悦杂鄄缘员的指令系统,本书是按指令的功能归类介绍指令的。为了帮助读者理解指令的功能,每一条指令都附有例子以帮助理解。

    摇摇圆郾内容实用。编写中采用了大量的设计实例作为例题,目的是使读者能通过成功的实例学习单片机。书中的例子大多来自单片机的实践应用,这些例子可作为读者日后工作的参

    考。对于在软件设计中常用到的各种实用程序及其硬件接口和典型的设计方案,书中都做了

    详细的介绍。因此,读者学完本书后,可以把本书作为参考方案,完成自己的设计工作。

    摇摇全书共分 员圆章,前面 远章着重介绍 酝悦杂鄄缘员单片机的硬件结构和指令系统,第 苑章介绍常用的数据运算和处理程序,给出较多的实用子程序。第 愿章、第 怨章介绍了单片机的扩展使用方法。第 员园章、第 员员章介绍了单片机的人机对话界面。最后在第 员圆章中介绍了 酝悦杂鄄缘员在智能仪器、仪表等方面的应用实例。本书力求文字简练,通俗易懂。摇摇本书参编人员为:摇摇第 员章 天津理工大学成教院 陈岚;第 圆章 金华职业技术学院理工学院 马汝星;第 猿章、第 源章 厦门大学 郭光真;第 缘章、第 远章 厦门大学 陈文芗;第 苑章、第 愿章 金华职业技术学院理工分院 马汝星;第 怨章、第 员园章 大连理工大学 徐志祥;第 员员章、第 员圆章天津理工大学成教院 陈岚。

    摇摇本书由江苏理工大学赵德安教授主审。摇摇限于作者的水平和时间限制,书中难免有疏漏和不妥之处,敬请读者批评指正,不胜感激。

    编摇摇者

  • 目摇摇录序

    前言

    第 员章摇基础知识 员!!!!!!!!!!!

    摇员郾员摇计算机的数制 员!!!!!!!!!!摇摇员郾员郾员摇进位计数制 员!!!!!!!!!!!摇摇员郾员郾圆摇数制之间的转换 圆!!!!!!!!!摇摇员郾员郾猿摇计算机中数的表示法 源!!!!!!!摇摇员郾员郾源摇二进制数的运算 苑!!!!!!!!!

    摇员郾圆摇计算机的数据及编码 员园!!!!!!摇摇员郾圆郾员摇数据的单位及存储形式 员园!!!!!摇摇员郾圆郾圆摇数据的二进制编码 员园!!!!!!!

    摇员郾猿摇计算机基础知识 员猿!!!!!!!!!摇摇员郾猿郾员摇计算机硬件基础知识 员猿!!!!!!摇摇员郾猿郾圆摇计算机软件概述 员源!!!!!!!!

    复习思考题 员缘!!!!!!!!!!!!!!!

    第 圆章摇单片机结构 员苑!!!!!!!!!

    摇圆郾员摇单片机硬件结构特点 员苑!!!!!!摇摇圆郾员郾员摇单片机分类 员苑!!!!!!!!!!摇摇圆郾员郾圆摇单片机的应用 员苑!!!!!!!!!摇摇圆郾员郾猿摇单片机的内部结构 员苑!!!!!!!摇摇圆郾员郾源摇单片机的工作条件及安全保障 员愿!!

    摇圆郾圆摇酝悦杂鄄缘员处理器 圆员!!!!!!!!!摇摇圆郾圆郾员摇算术逻辑单元(粤蕴哉) 圆员!!!!!!摇摇圆郾圆郾圆摇控制器 圆员!!!!!!!!!!!!摇摇圆郾圆郾猿摇悦孕哉的时序 圆员!!!!!!!!!!

    摇圆郾猿摇酝悦杂鄄缘员内部寄存器 圆猿!!!!!!摇摇圆郾猿郾员摇数据存储器 圆猿!!!!!!!!!!摇摇圆郾猿郾圆摇程序存储器 圆缘!!!!!!!!!!摇摇圆郾猿郾猿摇特殊功能寄存器 圆缘!!!!!!!!

    摇圆郾源摇酝悦杂鄄缘员的输出输入结构(陨辕韵口) 圆苑!!!!!!!!!!

    摇摇圆郾源郾员摇孕园口 圆苑!!!!!!!!!!!!!摇摇圆郾源郾圆摇孕员口 圆愿!!!!!!!!!!!!!摇摇圆郾源郾猿摇孕圆口 圆愿!!!!!!!!!!!!!

    摇摇圆郾源郾源摇孕猿口 圆怨!!!!!!!!!!!!!

    摇圆郾缘摇酝悦杂鄄缘员的引脚功能 圆怨!!!!!!复习思考题 猿园!!!!!!!!!!!!!!!

    第 猿章摇指令系统 猿员!!!!!!!!!!

    摇猿郾员摇概述 猿员!!!!!!!!!!!!!!摇摇猿郾员郾员摇酝悦杂鄄缘员单片机助记符语言 猿员!!!!摇摇猿郾员郾圆摇酝悦杂鄄缘员单片机指令代码 猿猿!!!!!摇摇猿郾员郾猿摇常用符号说明 猿源!!!!!!!!!

    摇猿郾圆摇寻址方式 猿缘!!!!!!!!!!!!摇摇猿郾圆郾员摇寄存器寻址 猿缘!!!!!!!!!!摇摇猿郾圆郾圆摇直接寻址 猿缘!!!!!!!!!!!摇摇猿郾圆郾猿摇立即寻址 猿缘!!!!!!!!!!!摇摇猿郾圆郾源摇寄存器间接寻址 猿远!!!!!!!!摇摇猿郾圆郾缘摇变址寻址 猿远!!!!!!!!!!!摇摇猿郾圆郾远摇位寻址 猿远!!!!!!!!!!!!摇摇猿郾圆郾苑摇相对寻址 猿苑!!!!!!!!!!!

    摇猿郾猿摇数据传送指令 猿苑!!!!!!!!!!摇摇猿郾猿郾员摇内部 砸粤酝低 员圆愿字节的数据传送

    猿苑!!

    !!!!!!!!!!!!!!!!!!!摇摇猿郾猿郾圆摇特殊功能寄存器的数据传送 猿怨!!!摇摇猿郾猿郾猿摇外部 砸粤酝的数据传送 猿怨!!!!!!摇摇猿郾猿郾源摇从程序存储器读数据 源园!!!!!!摇摇猿郾猿郾缘摇数据交换指令 源员!!!!!!!!!摇摇猿郾猿郾远摇堆栈指令 源员!!!!!!!!!!!摇摇猿郾猿郾苑摇不同存储空间之间的数据传送 源圆!!

    摇猿郾源摇算术运算指令 源圆!!!!!!!!!!摇摇猿郾源郾员摇加法指令 源圆!!!!!!!!!!!摇摇猿郾源郾圆摇减法指令 源缘!!!!!!!!!!!摇摇猿郾源郾猿摇乘法指令 源远!!!!!!!!!!!摇摇猿郾源郾源摇除法指令 源苑!!!!!!!!!!!

    摇猿郾缘摇逻辑运算指令 源苑!!!!!!!!!!摇摇猿郾缘郾员摇单操作数逻辑运算指令 源苑!!!!!摇摇猿郾缘郾圆摇双操作数逻辑运算指令 源怨!!!!!

    摇猿郾远摇控制转移指令 缘员!!!!!!!!!!摇摇猿郾远郾员摇无条件转移指令 缘员!!!!!!!!

  • 摇摇猿郾远郾圆摇条件转移指令 缘圆!!!!!!!!!摇摇猿郾远郾猿摇位条件转移指令 缘猿!!!!!!!!摇摇猿郾远郾源摇子程序调用和返回指令 缘源!!!!!

    复习思考题 缘缘!!!!!!!!!!!!!!!

    第 源章摇定时 辕计数器 缘苑!!!!!!!!

    摇源郾员摇定时 辕计数器工作原理 缘苑!!!!!!摇源郾圆摇定时 辕计数器工作方式 缘苑!!!!!!摇摇源郾圆郾员摇有关的特殊功能寄存器 缘苑!!!!!

    摇摇源郾圆郾圆摇定时 辕计数器的工作方式 缘愿!!!!!

    摇源郾猿摇定时 辕计数器编程 远园!!!!!!!!摇摇源郾猿郾员摇计数器初值的确定 远园!!!!!!!摇摇源郾猿郾圆摇编程举例 远员!!!!!!!!!!!

    复习思考题 远源!!!!!!!!!!!!!!!

    第 缘章摇串行接口 远缘!!!!!!!!!!

    摇缘郾员摇单片机的串行通信 远缘!!!!!!!摇摇缘郾员郾员摇并行传送与串行传送 远缘!!!!!!

    摇摇缘郾员郾圆摇串行通信的速率 远远!!!!!!!!

    摇缘郾圆摇酝悦杂鄄缘员串行口的结构 远愿!!!!!摇摇缘郾圆郾员摇与串口有关的寄存器 远愿!!!!!!摇摇缘郾圆郾圆摇串行接口的工作方式 远怨!!!!!!摇摇缘郾圆郾猿摇酝悦杂鄄缘员串行口的应用 苑圆!!!!!!

    摇缘郾猿摇多 悦孕哉通信 苑缘!!!!!!!!!!复习思考题 苑苑!!!!!!!!!!!!!!!

    第 远章摇中断系统 苑愿!!!!!!!!!!

    摇远郾员摇单片机的中断控制 苑愿!!!!!!!摇摇远郾员郾员摇中断请求源 苑怨!!!!!!!!!!摇摇远郾员郾圆摇中断允许 愿园!!!!!!!!!!!

    摇摇远郾员郾猿摇中断优先级 愿园!!!!!!!!!!

    摇远郾圆摇中断响应 愿员!!!!!!!!!!!!摇摇远郾圆郾员摇响应中断的过程 愿员!!!!!!!!摇摇远郾圆郾圆摇中断响应的时间 愿圆!!!!!!!!摇摇远郾圆郾猿摇外部中断请求的持续时间 愿猿!!!!摇摇远郾圆郾源摇中断申请的撤除 愿猿!!!!!!!!

    摇远郾猿摇多外中断源系统设计 愿源!!!!!!摇摇远郾猿郾员摇用软件查询方式扩展外部中断源 愿源!摇摇远郾猿郾圆摇用优先编码器扩展外部中断源 愿缘!!

    复习思考题 愿远!!!!!!!!!!!!!!!

    第 苑章摇程序设计 愿苑!!!!!!!!!!

    摇苑郾员摇算术逻辑运算程序 愿苑!!!!!!!摇苑郾圆摇分支及循环程序的设计 愿苑!!!!!摇摇苑郾圆郾员摇分支程序的设计 愿苑!!!!!!!!摇摇苑郾圆郾圆摇循环程序的设计 怨园!!!!!!!!

    摇苑郾猿摇延时程序的设计 怨愿!!!!!!!!!摇摇苑郾猿郾员摇单循环延时程序 怨愿!!!!!!!!摇摇苑郾猿郾圆摇较长时间的定时程序 怨愿!!!!!!摇摇苑郾猿郾猿摇提高延时精度 怨愿!!!!!!!!!

    摇苑郾源摇查表程序 怨怨!!!!!!!!!!!!摇苑郾缘摇码制转换程序 员园员!!!!!!!!!摇摇苑郾缘郾员摇整数十翻二 员园员!!!!!!!!!!摇摇苑郾缘郾圆摇整数二翻十 员园猿!!!!!!!!!!

    摇苑郾远摇子程序设计 员园源!!!!!!!!!!摇摇苑郾远郾员摇子程序的概念 员园源!!!!!!!!!摇摇苑郾远郾圆摇子程序的设计 员园缘!!!!!!!!!

    摇苑郾苑摇定时应用程序 员园苑!!!!!!!!!摇苑郾愿摇中断程序 员园愿!!!!!!!!!!!!摇摇苑郾愿郾员摇中断控制程序 员园愿!!!!!!!!!摇摇苑郾愿郾圆摇中断服务程序 员园愿!!!!!!!!!

    摇苑郾怨摇串行接口应用程序 员员园!!!!!!!复习思考题 员员员!!!!!!!!!!!!!!

    第 愿章摇存储器的扩展 员员猿!!!!!!!

    摇愿郾员摇存储器的地址空间分配 员员猿!!!!!摇愿郾圆摇砸韵酝 的扩展 员员猿!!!!!!!!!!摇摇愿郾圆郾员摇只读存储器概述 员员猿!!!!!!!!摇摇愿郾圆郾圆摇程序存储器扩展原理及时序 员员源!!!摇摇愿郾圆郾猿摇典型只读存储器 员员缘!!!!!!!!摇摇愿郾圆郾源摇程序存储器扩展举例 员员愿!!!!!!

    摇愿郾猿摇砸粤酝 的扩展 员员怨!!!!!!!!!!摇摇愿郾猿郾员摇数据存储器的扩展原理及时序 员圆园!!摇摇愿郾猿郾圆摇典型随机存储器芯片 员圆员!!!!!!摇摇愿郾猿郾猿摇外部数据存储器扩展举例 员圆圆!!!!

    复习思考题 员圆源!!!!!!!!!!!!!!

    第 怨章摇酝悦杂鄄缘员陨辕韵口的扩展 员圆远!!!

    摇怨郾员摇采用中小规模集成电路扩展 员圆远!!摇摇怨郾员郾员摇简单 陨辕韵扩展 员圆远!!!!!!!!!摇摇怨郾员郾圆摇多片 陨辕韵扩展电路 员圆愿!!!!!!!

  • 摇怨郾圆摇采用专用 陨辕韵接口芯片扩展 员圆怨!!摇摇怨郾圆郾员摇用 愿圆源猿芯片扩展 陨辕韵口 员圆怨!!!!摇摇怨郾圆郾圆摇用 愿圆缘缘芯片扩展 陨辕韵口 员猿员!!!!

    摇怨郾猿摇用串行口扩展 陨辕韵口 员猿苑!!!!!!摇摇怨郾猿郾员摇扩展并行输入口 员猿苑!!!!!!!!摇摇怨郾猿郾圆摇扩展并行输出口 员猿怨!!!!!!!!

    复习思考题 员源园!!!!!!!!!!!!!!

    第 员园章摇单片机的人—机接口 员源员!!

    摇员园郾员摇开关接口 员源员!!!!!!!!!!!摇摇员园郾员郾员摇扳键开关与单片机的接口 员源员!!!摇摇员园郾员郾圆摇拨盘开关与单片机的接口 员源圆!!!摇摇员园郾员郾猿摇按钮与单片机的接口 员源猿!!!!!

    摇员园郾圆摇显示器接口电路设计 员源源!!!!!摇摇员园郾圆郾员摇蕴耘阅显示器及接口电路设计 员源源!!摇摇员园郾圆郾圆摇蕴悦阅液晶显示器及接口电路设计

    员源怨!!

    !!!!!!!!!!!!!!!!!!!

    摇员园郾猿摇键盘接口 员缘远!!!!!!!!!!!摇摇员园郾猿郾员摇独立式按键电路 员缘远!!!!!!!摇摇员园郾猿郾圆摇矩阵式键盘电路 员缘远!!!!!!!摇摇员园郾猿郾猿摇中断方式键盘电路 员缘怨!!!!!!摇摇员园郾猿郾源摇串行接口非编码键盘电路 员缘怨!!!摇摇员园郾猿郾缘摇具有锁定功能的键盘电路 员远园!!!摇摇员园郾猿郾远摇双功能键电路设计 员远园!!!!!!

    复习思考题 员远圆!!!!!!!!!!!!!!

    第 员员章摇粤辕阅、阅辕粤接口 员远猿!!!!!

    摇员员郾员摇粤辕阅接口 员远猿!!!!!!!!!!!摇摇员员郾员郾员摇粤辕阅转换原理 员远猿!!!!!!!!摇摇员员郾员郾圆摇粤辕阅转换的主要技术指标 员远源!!!摇摇员员郾员郾猿摇多通道 粤辕阅转换器 粤阅悦园愿园怨及其与

    单片机接口电路 员远源!!!!!!!摇摇员员郾员郾源摇员圆位 粤辕阅转换器 粤阅缘苑源及其与

    单片机接口电路 员远远!!!!!!!摇摇员员郾员郾缘摇双积分型 粤辕阅转换器 酝悦员源源猿猿及其与

    单片机接口电路 员远远!!!!!!!摇摇员员郾员郾远摇粤辕阅转换程序设计 员远怨!!!!!!

    摇员员郾圆摇阅辕粤接口 员苑园!!!!!!!!!!!摇摇员员郾圆郾员摇阅辕粤转换原理 员苑园!!!!!!!!摇摇员员郾圆郾圆摇阅辕粤转换器的主要技术指标 员苑圆!!摇摇员员郾圆郾猿摇集成 阅辕粤转换器及接口电路 员苑猿!!摇摇员员郾圆郾源摇阅辕粤转换的典型应用举例 员苑苑!!!

    复习思考题 员苑苑!!!!!!!!!!!!!!

    第 员圆章摇单片机与外电路的控制接口 员苑怨!!!!!!!!!

    摇员圆郾员摇单片机中常用的隔离技术 员苑怨!!!摇摇员圆郾员郾员摇磁隔离技术 员苑怨!!!!!!!!!摇摇员圆郾员郾圆摇光隔离技术 员苑怨!!!!!!!!!

    摇员圆郾圆摇常用的外围驱动电路 员愿园!!!!!摇摇员圆郾圆郾员摇扩大驱动电流的方法 员愿园!!!!!摇摇员圆郾圆郾圆摇单片机控制强电电路的开关器件 员愿圆!

    摇员圆郾猿摇由 酝悦杂鄄缘员单片机控制的温度测控系统 员愿缘!!!!!!!!!

    摇摇员圆郾猿郾员摇系统的构成和特点 员愿缘!!!!!!摇摇员圆郾猿郾圆摇键盘扫描及显示电路 员愿缘!!!!!摇摇员圆郾猿郾猿摇温度测量及模数转换电路 员愿远!!!摇摇员圆郾猿郾源摇温度控制功率调整电路 员愿苑!!!!摇摇员圆郾猿郾缘摇主要元器件性能简介 员愿苑!!!!!摇摇员圆郾猿郾远摇编程要点 员愿苑!!!!!!!!!!

    摇员圆郾源摇由 酝悦杂鄄缘员系列单片机控制的红外遥控装置 员愿愿!!!!!!!!!

    摇摇员圆郾源郾员摇工作原理 员愿愿!!!!!!!!!!摇摇员圆郾源郾圆摇硬件电路 员愿愿!!!!!!!!!!摇摇员圆郾源郾猿摇软件设计 员愿怨!!!!!!!!!!

  • 第 员章摇基 础 知 识

    员郾员摇计算机的数制员郾员郾员摇进位计数制摇摇所谓数制,就是指数的制式,是人们利用符号计数的一种科学方法。一个数值,可以用不同进制的数表示。常用的数制有十进制、二进制、八进制和十六进制,计算机采用的是二进制。

    摇摇为什么计算机进行数的计算时要用二进制数而不用十进制数呢?这是因为在计算机中的数是以电路的物理状态表示的,电路只有两个稳定状态:高电平与低电平或者导通与截止。

    这两个稳定状态可对应表示二进制的两个数 园和 员。所以,计算机中的数是以二进制形式表示并进行运算的。

    摇摇二进制数适用于计算机,但对于人们来说,二进制数书写繁琐,难以记忆。为了克服这个缺点,引进了八进制和十六进制。由于 愿越圆猿,员远越圆源,一位八进制的数可表示 猿位二进制的数,一位十六进制的数则可表示 源位二进制的数,例如:二进制数 员员园员员园员园越猿猿圆八进制数,二进制数 员员园员员园员园越阅粤十六进制数。八进制和十六进制常用作二进制的压缩形式,在程序设计中使用。十进制、二进制、八进制和十六进制的对应关系如表 员鄄员所示。

    表 员鄄员摇二进制数与其他进制数对照表

    十进制数 二进制数 十六进制数 八进制数

    园 园园园园 园 园员 园园园员 员 员圆 园园员园 圆 圆猿 园园员员 猿 猿源 园员园园 源 源缘 园员园员 缘 缘远 园员员园 远 远苑 园员员员 苑 苑愿 员园园园 愿 员园怨 员园园员 怨 员员

    员园 员园员园 粤 员圆员员 员园员员 月 员猿员圆 员员园园 悦 员源员猿 员员园员 阅 员缘员源 员员员园 耘 员远员缘 员员员员 云 员苑员远 园园园员园园园园 员园 圆园

    摇摇员郾数制的基数和进制摇每种计数制有一个固定的数 晕,在数制中,每一位都能取 晕个不同的数字,每一位都是逢 晕进一,这种计数制为 晕进制,我们把 晕称为基数。摇摇(员) 十进制(阅藻糟蚤皂葬造),基数为 员园,共有 员园个数码:园~ 怨,最大数码为基数 员园减 员,即 怨,最小数码为 园,在计数过程中,当它的某位计满 员园时就向它邻近的高位进 员。

  • 摇摇(圆) 十六进制(匀藻曾葬凿藻糟蚤皂葬造),基数为 员远,共有 员远个数码:园、员、圆、⋯、怨、粤、月、悦、阅、耘、云,其中 粤~ 云六个数码代表十进制的 员园~员缘,计数规则是逢十六进一。摇摇(猿) 八进制(韵糟贼葬造),基数为 愿,共有 愿个数码:园~ 苑,最大数码为基数 愿减 员,即 苑,最小数码为 园,计数规则是逢八进一。摇摇(源) 二进制(月蚤灶葬则赠),基数为 圆,它有 圆个数码:园、员,计数规则是逢二进一。摇摇在阅读和书写不同数制的数时,如果不加注上标识符,各种数制就容易混淆。通常采用两种方法标记:一种是在数的右下脚标注数制代号,如(员员园园)圆,(员员园园)员园分别表示二进制和十进制的数;另一种是在数的后面用大写字母 月、韵、阅、匀分别表示二进制、八进制、十进制和十六进制,如:员员园员月,员员园员匀,员员园员阅等。十进制数可以不加标识符,阅标记或下脚标 员园省略。摇摇圆郾数制的位权摇任何一个数制的多位数,处在某一位上的 “员” 所表示的数值的大小称为该位的位权,对于 晕进制数,整数部分第 蚤位的位权为 晕蚤原员,小数部分第 躁位的位权为晕原躁。例如:摇摇(员) 十进制数,各位的位权是以基数 员园为底的幂。

    (源怨员郾圆愿)员园越源伊员园圆垣怨伊员园员垣员伊员园园垣圆伊员园原员垣愿伊员园原圆

    式中,指数 员园圆,员园员,员园园,员园原员,员园原圆称为该位的位权。员园为它的基数,第 猿位的位权为员园园,第 圆位的位权为 员园,第 员位的位权为 员。摇摇(圆) 二进制数,各位的位权是以基数 圆为底的幂。

    (员园员员郾员)圆越员伊圆猿垣园伊圆圆垣员伊圆员垣员伊圆园垣员伊圆原员

    式中,指数 圆猿,圆圆,圆员,圆园,圆原员为该位的位权。圆为基数,第 源位的位权为 愿,第 猿位的位权为 源,第 圆位的位权为 圆,第 员位的位权为 员。员郾员郾圆摇数制之间的转换摇摇员郾十进制数转换成非十进制数摇十进制数转换成二进制数、八进制数或十六进制数,整数转换中采用除基数 “圆”、“愿”、“员远” 取余的方法;小数转换中采用乘基数 “圆”、“愿”、

    “员远” 取整的方法。摇摇例 员鄄员摇试求出十进制数 怨员的二进制数、八进制数和十六进制数。摇摇解摇十进制数转换成二进制数、八进制数和十六进制数整数时,采用 “除 圆取余”、

    “除 愿取余”、“除 员远取余” 直到商为 园,第一个余数是转换后数的最低位,最后一个余数是最高位。计算过程如下:

    余数

    圆 怨摇员

    圆 源摇缘

    圆 圆摇圆

    圆 员摇员

    圆 缘

    圆 圆

    圆 员园

    摇摇摇摇

    员↓

  • 即十进制数转换成二进制数:怨员越员园员员园员员月余数

    愿 摇怨摇员愿 员摇员

    愿 员园

    猿员 ↓

    即十进制数转换成八进制数:怨员越(员猿猿)愿余数

    员远 怨摇员员远 缘

    员员

    缘↓

    缘即十进制数转换成十六进制数:怨员越缘月匀摇摇例 员鄄圆摇把十进制小数 园郾苑远缘转换成二进制小数。摇摇解摇把十进制小数转换成二进制小数时,采用 “乘 圆取整”,第一个乘积的整数为转换结果的最高位,最后一个乘积的整数是最低位。运算过程为:

    苑远缘伊摇摇圆

    员郾缘猿园郾缘猿

    伊摇摇圆员郾园远园郾园远

    伊摇摇圆园郾员圆

    伊摇摇圆园郾圆源

    摇 整数为

    ↑员

    摇 整数为 员↑

    摇摇摇摇摇摇 员 员 园 园

    摇 整数为

    ↑园

    摇 整数为

    摇摇即 园郾苑远缘≈园郾员员月摇摇对同时有整数和小数两部分的十进制数,其转换成二进制数的方法是:将它的整数和小数部分分别转换后,再合并起来。例如:将例 员鄄员和例 员鄄圆合并起来,得到:

    怨员郾苑远缘≈员园员员园员员郾员员月摇摇例 员鄄圆中,还可采用 “乘 愿取整”、“乘 员远取整” 将 园郾苑远缘转换成八进制小数和十六进制小数,第一个乘积的整数为转换结果的最高位,最后一个乘积的整数是最低位。

    摇摇圆郾非十进制数转换成十进制数摇转换方法是把非十进制数按权展开求和即可。例如:摇摇二进制数转换成十进制数:摇摇员员园员园郾园员月越员伊圆源垣员伊圆猿垣园伊圆圆垣员伊圆员垣园伊圆园垣园伊圆原员垣员伊圆原圆越圆远郾圆缘摇摇八进制数转换成十进制数:摇摇(猿园郾苑)愿越猿伊愿

    员垣园伊愿园垣苑伊愿原员越圆源郾愿苑缘

  • 摇摇十六进制数转换成十进制数:摇摇猿粤匀越猿伊员远员垣员园伊员远园越缘愿摇摇猿郾二进制数、八进制数、十六进制数之间的转换摇摇(员) 二进制数与八进制数之间的转换,由于 圆猿越愿,所以 猿位二进制数相当于 员位八进制数,只要把 猿位二进制数转换为 员位八进制数;反之,把 员位八进制数转换为 猿位二进制数,即可实现二进制数与八进制数之间的转换。例如:

    摇摇八进制数转换为二进制数:

    远 苑郾 圆 员↓ ↓ ↓ ↓

    员员园 员员员郾 园员园 园园员

    摇摇即:(远苑郾圆员)愿越(员员园员员员郾园员园园园员)圆摇摇二进制数转换为八进制数:

    园员员 员园员 郾 员员园↓ ↓ ↓猿 缘 郾 远

    摇摇即:园员员员园员郾员员月越(猿缘郾远)愿摇摇(圆) 二进制数与十六进制数之间的转换,由于 圆源 越员远,所以 源位二进制数相当于 员位十六进制数,只要把 源位二进制数转换为 员位十六进制数;反之,把 员位十六进制数转换为源位二进制数,即可实现二进制数与十六进制数之间的转换。例如:摇摇二进制数转换为十六进制数:

    园园园员 员园员员 员员员园 郾园员园园↓ ↓ ↓ ↓员 月 耘 郾 源

    摇摇即:员员园员员员员员园郾园员月越员月耘郾源匀摇摇十六进制数转换为二进制数:

    苑 粤 缘 郾 猿↓ ↓ ↓ ↓

    园员员员 员园员园 园员园员 郾 园园员员

    摇摇即:苑粤缘郾猿匀越员员员员园员园园员园员郾园园员员月员郾员郾猿摇计算机中数的表示法摇摇我们知道计算机中采用二进制数,那么,一个二进制数在机器中具体是怎样表示的呢?数有正负之分,整数小数之分,也就是带符号数或带小数点数。为表示这样的数,通常采用

    两种表示方法:一是用数值的数码表示,即原码、反码和补码表示;二是用数值中的小数点

    表示,即定点数和浮点数表示。

    摇摇员郾带符号数的表示摇计算机区分二进制数的正负是把二进制数的最高位作为符号位加以识别。一个 愿位二进制数,符号位 阅苑越园,表示正数;阅苑越员,表示负数,如图 员鄄员所示。习惯上,把存放在计算机中、连同符号位在内的二进制数称为机器数,而不包括符号位在内

  • 的 苑位二进制数称为机器数的真值。

    图 员鄄员摇愿位微机中的带符号数

    摇摇例如:在字长为 愿位的微型计算机中援贼蚤枣;耘垣苑远的机器数为 园员园园员员园园月,最高位是符号位 阅苑越园,表示正数。真值为 垣员园园员员园园月; 原苑远的机器数为 员员园园员员园园月,最高位是符号位 阅苑越员,表示负数。真值为 原员园园员员园园月。摇摇机器数通常有原码、反码和补码三种表示形式。摇摇(员) 原码(贼则怎藻枣燥则皂),凡是正数的符号位用 园表示,负数的符号位用 员表示,而数值位保持原样的机器数称为原码。

    摇摇例如:载越垣员圆摇[载]原 越园园园园员员园园月载越原员圆摇[载]原 越员园园园员员园园月当 园这个数有 垣园和 原园时,它的原码不相同。

    [ 垣园]原 越园园园园园园园园月摇摇[ 原园]原 越员园园园园园园园月摇摇原码表示方法简单易懂,与真值转换方便,愿位二进制原码表示数的范围是 原员圆苑~垣员圆苑,见表 员鄄圆。但是,两个异号数相加或两个同号数相减,就要作减法运算,由于机器中

    一般只有加法器,没有减法器,所以,为将减法运算变为加法运算就引入了反码和补码。

    摇摇(圆) 反码(燥灶藻蒺泽糟燥皂责造藻皂藻灶贼),正数的反码和原码相同;负数的反码是符号位不变,数值位按位求反(即绝对值按位求反)。

    摇摇例如:载越垣员圆摇[载]反 越[载]原 越园园园园员员园园月载越原员圆 [载]原 越员园园园员员园园月

    [载]反 越员员员员园园员员月[ 垣园]和[ 原园]的反码形式为[ 垣园]反 越[ 垣园]原 越园园园园园园园园月摇[ 原园]反 越员员员员员员员员月

    摇摇愿位二进制反码表示数的范围是 原员圆苑~ 垣员圆苑,见表 员鄄圆。摇摇(猿) 补码(贼憎燥蒺泽糟燥皂责造藻皂藻灶贼),正数的补码与正数的原码相同;负数的补码是由它的反码 垣员得到(即绝对值按位求反加 员)。摇摇例如:载越垣员圆摇[载]补 越[载]原 越园园园园员员园园月

    载越原员圆摇[载]补 越[载]反 垣员越(员员员员园园员员垣员)月越员员员员园员园园月摇摇愿位二进制补码表示数的范围是 原员圆愿~ 垣员圆苑,[ 垣园]补 越[ 原园]补 越园园园园园园园园月,如表 员鄄圆所示。

    表 员鄄圆摇机器数的原码、反码和补码

    二进制数 原码 反码 补码

    园园园园园园园园 垣园 垣园 依园园园园园园园园员 垣员 垣员 垣员园园园园园园员园 垣圆 垣圆 垣圆┆ ┆ ┆ ┆

  • (续)

    二进制数 原码 反码 补码

    园员员员员员园员 垣员圆缘 垣员圆缘 垣员圆缘园员员员员员员园 垣员圆远 垣员圆远 垣员圆远园员员员员员员员 垣员圆苑 垣员圆苑 垣员圆苑员园园园园园园园 原园 原员圆苑 原员圆愿员园园园园园园员 原员 原员圆远 原员圆苑员园园园园园员园 原圆 原员圆缘 原员圆远┆ ┆ ┆ ┆

    员员员员员员园员 原员圆缘 原圆 原猿员员员员员员员园 原员圆远 原员 原圆员员员员员员员员 原员圆苑 原园 原员

    摇摇采用补码作加、减法运算时,符号位和数值位一起参加运算,符号位的进位略去不计。作加法运算时,两数之和的补码等于两数补码之和,即[载垣再]补 越[载]补 垣[再]补;作减法运算时,两数之差的补码等于两数补码之和,即[载原再]补 越[载]补 垣[ 原再]补。摇摇例 员鄄猿摇已知 载越垣圆怨,再越垣缘摇试求 载垣再的二进制数值。摇摇解摇[圆怨]原 越园园园员员员园员月摇[缘]原 越园园园园园员园员月摇摇[圆怨]补 越[圆怨]原 越园园园员员员园员月摇[缘]补 越[缘]原 越园园园园园员园员月摇摇于是有:[圆怨]补 垣[缘]补

    摇摇摇摇 园园园员员员园员垣) 园园园园园员园员

    园园员园园园员园摇摇而[圆怨垣缘]补 越[猿源]原 越[猿源]补 越园园员园园园员园月摇摇所以[圆怨垣缘]补 越[圆怨]补 垣[缘]补摇摇圆怨垣缘越员园园园员园月摇摇例 员鄄源摇上例中,求 载原再。摇摇解摇[圆怨]补 越[圆怨]原 越园园园员员员园员月摇[ 原缘]原 越员园园园园员园员月摇[ 原缘]补 越员员员员员园员员月摇摇于是有:[圆怨]补 垣[ 原缘]补

    摇摇摇摇 园园园员员员园员垣) 员员员员员园员员员 园园园员员园园园

    摇摇摇摇↓摇摇摇自然丢失摇摇[圆怨]补 垣[ 原缘]补 越园园园员员园园园月摇摇而[圆怨原缘]越[圆源]原 越[圆源]补 越园园园员员园园园月摇摇所以[圆怨原缘]补 越[圆怨]补 垣[ 原缘]补两种运算方法的结果相同。摇摇说明两点:摇摇员) 一般计算机中运算采用补码,这样减法运算变成加法运算,运算器中只设置加法器,简化了计算机的硬件结构。

    摇摇圆) 在字长 愿位的计算机中,补码加法运算结果只保留 愿位,符号位的进位符号自然丢

  • 失,只要数值在 原员圆愿~ 垣员圆苑范围内,结论就是正确的,但超出这个范围,就会得到错误的结论。

    摇摇例如:载越原怨园,再越原缘猿[ 原怨园]原 越员员园员员园员园月;[ 原怨园]补 越[ 原怨园]反 垣员越员园员园园员园员垣员越员园员园园员员园月,[ 原缘猿]原 越员园员员园员园员月;[ 原缘猿]补 越[ 原缘猿]反 垣员越员员园园员园员园垣员越员员园园员园员员月

    摇摇于是[ 原怨园]补 垣[ 原缘猿]补 越员园员员员园园园员月进位符号 员自然丢失

    摇摇则有[( 原怨园)垣( 原缘猿)]补 越[ 原怨园]补 垣[ 原缘猿]补 越园员员员园园园员月( 原怨园)垣( 原缘猿) 越垣园员员员园园园员(真值)越垣员员猿

    摇摇因为( 原怨园)垣( 原缘猿) 越原员源猿约原员圆愿,发生溢出,符号位受破坏,所以结果不正确。摇摇圆郾定点数和浮点数摇在微型计算机中,二进制的小数点位置通常采用定点和浮点两种方法表示。采用定点数的称为定点机,采用浮点数的称为浮点机,单片机一般采用定点表示

    法,是定点机。

    摇摇(员) 定点数摇是指小数点位置固定不变的数。小数点可以固定在数值位之前,也可以固定在数值位之后。前者称为定点小数表示法,后者称为定点整数表示法。如图 员鄄圆所示。

    符号位 数值位 符号位 数值位

    摇摇摇摇摇摇摇摇摇摇摇摇摇摇↑摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇↑摇摇摇摇摇摇摇摇摇摇摇摇小数点隐含在此处摇摇摇摇摇摇摇摇摇摇摇摇小数点隐含在此处

    摇摇摇摇摇葬) 摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇摇遭) 摇摇摇摇

    图 员鄄圆摇定点小数点位置葬) 定点小数表示摇遭) 定点整数表示

    摇摇定点数的这两种表示方法在计算机中均采用,究竟用那一种是事先约定好的。摇摇(圆) 浮点数摇在采用浮点表示的二进制数中,小数点位置是浮动的,不固定的。对于任意一个十进制数,可以用 晕越员园孕 伊杂表示,如:员缘怨源郾猿圆越员园源伊园郾员缘怨源猿圆;同样,对于任意一个二进制数,也可以用 晕越圆责伊杂表示,如:

    员员园郾园员员月越员园园园月伊园郾员员园园员员月越圆垣员员月 伊园郾员员园园员员月式中,杂称为 晕的尾数;孕称为 晕的阶码;圆称为阶码的底。孕、杂均用二进制数表示。并且尾数 杂是有符号的数时,可用补码表示,阶码 孕也可以为正数或负数,也用补码表示。比较这两种表示方法,浮点法的优点是可以表示较大范围的数,如 员远位二进制数表示数的范围为 原圆猿员~ 垣圆猿员,缺点是运算规则复杂,要对阶码和尾数分别运算;定点法的优点是运算规则简单,但表示数的范围有限,如 员远位二进制数表示数的范围为 园~ 圆员远(无符号数),原圆员缘~ 垣圆员缘(有符号数)。因此,计算机通常采用定点法。在定点机中,为扩大数的范围,

    利用增加数的范围的方法,如 员远位、猿圆位、远源位等。员郾员郾源摇二进制数的运算摇摇员郾二进制数的算术运算摇摇(员) 加法运算,二进制数加法运算规则是:摇摇员) 园垣园越园摇摇圆) 园垣员越员垣园越员摇摇猿) 员垣员越员园(向高位进位)

  • 摇摇例如:员园员园园员员园月垣员员园员员园员员月的算式如下:

    摇摇摇摇 被加数摇摇员园员园园员员园垣) 加数摇摇 员员园员员园员员

    和 员 员园园园园园园员

    摇摇两个二进制数相加时要注意低位的进位。摇摇(圆) 减法运算,二进制数减法运算规则是:摇摇员) 园原园越员原员越园摇摇圆) 员原园越员摇摇猿) 园原员越员(向高位借位)摇摇例如:员员园员员园员员月垣员园员园园员员园月的算式如下:

    摇摇摇摇 被减数摇摇员员园员员园员员原) 减数摇摇 员园员园园员员园

    差摇摇园园员员园员园员两个二进制数相减时,低位向高位的借 员应看作 圆。摇摇(猿) 乘法运算,二进制数乘法运算规则是:摇摇员) 园伊园越园摇摇圆) 园伊员越员伊园越园摇摇猿) 员伊员越员摇摇例如:员员园员月伊员园员员月的算式如下:

    摇摇摇摇 被乘数摇摇员员园员伊) 乘数摇摇员园员员

    部分积摇摇员员园员

    摇摇摇摇 员员园员摇园园园园摇员员园员摇

    乘积摇摇员园园园员员员员摇摇二进制数乘法特点是:乘数某位为 员,则将被乘数拷贝下来,乘数某位为 园,则不拷贝;换一位则左移一位。因此,二进制数乘法是采用边移位、边拷贝的方法实现的,即计算机完

    成 “拷贝 垣移位” 操作。在计算机内部,只需有加法、移位和判断电路,乘法运算通过程序就可以实现。

    摇摇(源) 除法运算,二进制数除法运算规则是:摇摇员) 园衣园越园摇摇圆) 园衣员越园(员衣园无意义)摇摇猿) 员衣员越员摇摇例如:员园员园员园员员月衣员员园月的算式如下:

    摇摇员员员 商除数 员员园 摇员园员园员园员员 被除数

    员员园摇员园园员摇员员园

  • 摇员员园摇员员园

    摇摇摇摇员员 余数

  • 摇摇员园员园员园员员月衣员员园月越员员员余数 员员摇摇二进制数除法特点是:先将被除数左移一位,然后从移出的高位或余数中减去除数。若够减则商为 员,并减去除数;若不够减则商为 园。如此重复,直到被除数全部从被除数寄存器中左移出为止。

    摇摇由此可见,在计算机内部,只需有加法(利用补码将减法运算变为加法运算)、移位和判断电路,除法运算通过程序就可以实现。

    摇摇圆郾二进制数的逻辑运算摇计算机处理数据时,常常要用到逻辑运算,逻辑运算是逻辑变量之间的一种运算。二进制数 员和 园在逻辑上可代表 “是” 与 “否”、“有” 与 “无”、

    “真” 与 “假”。因此,逻辑运算是以二进制数为基础,由专门的逻辑电路完成。

    摇摇逻辑运算与算术运算的主要区别点是:逻辑运算按位进行,位与位之间没有算术运算那样有进位或借位的关系。

    摇摇常用的逻辑运算有四种:逻辑加法(“或”运算)、逻辑乘法(“与”运算)、逻辑否定(“非”运算)和逻辑 “异或” 运算。

    摇摇(员) 逻辑加法(“或”运算)摇逻辑加法常用 “∨” 或 “ 垣” 符号表示,逻辑加法运算规则为:

    摇摇员) 园∨园越园摇摇圆) 园∨员越员∨园越员摇摇猿) 员∨员越员摇摇从上式可见,逻辑加法有 “或” 的意义,即在给定的逻辑变量中,两者只要有一个为 员或两者均为 员时,其逻辑加的结果就为 员。例如:员园园员园员月∨员员园员月越员园员员园员月,算式为:

    摇摇 员园园员园员∨) 园园员员园员

    员园员员园员摇摇(圆) 逻辑乘法(“与”运算)摇逻辑乘法常用 “∧” 或 “ 伊” 符号表示,逻辑乘法运算规则为:

    摇摇员) 园∧园越园摇摇圆) 园∧员越员∧园越园摇摇猿) 员∧员越员摇摇从上式可见,逻辑乘法有 “与” 的意义,即当参与运算的两个逻辑变量均为 员时,其逻辑乘积才等于 员。例如:员园园员园员月∧员员园员月越员园员月,算式为:

    摇摇 员园园员园员∧) 园园员员园员

    园园园员园员摇摇(猿) 逻辑否定(“非”运算)摇逻辑非运算又称逻辑否,常用 “—” 运算符表示,运算规则为:

    摇摇员) 园越员摇摇圆) 员越园

    园员

  • 摇摇例如:载越员园园员员园员园月,载越园员员园园员园员月摇摇(源) 逻辑异或(半加运算)摇逻辑异或常用 “” 运算符表示,逻辑异或运算规则为:摇摇员) 园园越员员越园摇摇圆) 员园越园员越员摇摇即两个逻辑变量相同,输出为 园;两个逻辑变量相异,输出则为 员。摇摇例如:员园园员园员员园月员员园员园园园员月越员园园园员员员月,算式为:

    摇摇 员园园员园员员园员员园员园园园员

    园员园园园员员员

    员郾圆摇计算机的数据及编码员郾圆郾员摇数据的单位及存储形式摇摇员郾字节摇在计算机内部,数据是以二进制的代码形式存储和运算的,数据的最小单位是二进制的一位数(月蚤贼)。那么,在计算机中,一个 “字” 到底用多少二进制的位数表示呢?这个位数就是 “字” 的长度。国际上统一把 愿月蚤贼编为一组,即 愿位二进制数定义为一个字节(月赠贼藻),源位称为半字节。一个英文字母的编码可用一个字节来存储,而一个汉字的机内编码至少需要两个字节来存储。

    摇摇圆郾字长摇在计算机中常用一个字(憎燥则凿)表示数据或信息的长度。通常将组成一个字的位数叫该字的字长,一般用字长定义一台计算机所用的二进制代码的位数。例如:某计算机

    的字长为 员远位,则表示该机的一个字由两个字节(员远位二进制数)组成。摇摇不同级别的计算机通常它的字长是不同的,计算机的字长越长,它能代表的数值就越大,计算的精度就越高。一台 愿位机,其一个存储单元可以表示 园~圆缘缘范围的数,共 圆愿 越圆缘远个正整数,也可以表示 粤杂悦Ⅱ码中的一个字符。微型计算机常用的字长有 愿位、员远位、猿圆位、远源位等。员郾圆郾圆摇数据的二进制编码摇摇计算机所处理的信息都是二进制数码的形式,但是,为了人们编写程序、输入数据以及识别运算结果的方便,输入输出信息常采用英文字母、阿拉伯数字和各种常用符号,二进制

    编码就是规定在计算机中,用怎样的二进制码来表示这些字母、数字和常用符号。这是一个

    涉及世界范围内有关信息表示、交换、处理和存储的基本问题,因此,都以国家标准或国际

    标准的形式颁布施行。

    摇摇下面介绍几种微型机中常用的编码。摇摇员郾月悦阅码(月蚤灶葬则赠悦燥凿藻凿阅藻糟蚤皂葬造)摇由于人们习惯于十进制数,所以在计算机的输入输出中常使用十进制数,然而,计算机使用的是二进制数,为了解决这个矛盾,人们用二进制

    数对十进制数进行编码,这样既可符合人们的习惯,又可满足计算机的要求。这样的编码方

    式称为十进制数的二进制编码,又称 月悦阅码。月悦阅码的种类很多,有 愿源圆员码、缘源圆员码、余 猿码和格雷码等。现以 愿源圆员码为例进行讨论。摇摇愿源圆员码是一种采用 源位二进制数来代表一位十进制数的代码系统,它是一种有权码。因组成它的 源位二进制数码的权分别为 愿、源、圆、员而得名。由于 源位二进制数可以表示 员远种状态,而十进制中 园~怨只有 员园个数,因此只要在 员远种状态中取出 员园种状态来代表就可

    员员

  • 以了。编码方式可以有许多种选择(如上述的 缘源圆员、余 猿码等),愿源圆员码是取前 员园种状态园园园园~员园园员来表示 园~怨这十个十进制数,而把余下的 员园员园~员员员员六个状态(称为非法码)舍去,如表 员鄄猿所示。

    表 员鄄猿摇愿源圆员月悦阅编码表

    十进制数 愿源圆员月悦阅码 十进制数 愿源圆员月悦阅码

    园 园园园园 员园 园园园员园园园园

    员 园园园员 员员 园园园员园园园员

    圆 园园员园 员圆 园园园员园园员园

    猿 园园员员 员猿 园园园员园园员员

    源 园员园园 员源 园园园员园员园园

    缘 园员园员 员缘 园园园员园员园员

    远 园员员园 员远 园园园员园员员园

    苑 园员员员 员苑 园园园员园员员员

    愿 员园园园 员愿 园园园员员园园园

    怨 员园园员 员怨 园园园员员园园员

    员园员园(非法码) 圆园 园园员园园园园园

    员园员员(非法码) 圆员 园园员园园园园员

    员员园园(非法码) 圆圆 园园员园园园员园

    员员园员(非法码) 圆猿 园园员园园园员员

    员员员园(非法码) 圆源 园园员园园员园园

    员员员员(非法码) 圆缘 园园员园园员园员

    摇摇用 愿源圆员月悦阅码表示十进制数后,十进制中的 园~ 怨是以它们的 月悦阅码形式出现的,但它们还是依照 “逢十进位” 的十进制计数规则。例如:十进制数 猿缘怨用 月悦阅码表示应写为:园园员员园员员园员园园员。表 员鄄猿中列出了十进制数 园~圆缘和对应的 愿源圆员码,从中可以很清楚地看到它们的对应关系。

    摇摇愿源圆员月悦阅码与十进制之间的转换十分方便,只要把 园~怨与 愿源圆员相应位的权对应即可。例如:

    (员园园员 园员园员 郾 园园员员)愿源圆员↓ ↓ ↓

    (怨 缘 郾 猿)员园摇摇愿源圆员月悦阅码与二进制之间不能直接转换,要进行转换,先将二进制数转换为十进制数,然后按二进制的权展开。例如:

    园园员园园员园园月越(猿远)员园越(园园员员园员员园)愿源圆员摇摇圆郾粤杂悦Ⅱ码(字符编码)摇粤杂悦Ⅱ码(粤皂藻则蚤糟葬灶杂贼葬灶凿葬则凿悦燥凿藻凿枣燥则陨灶枣燥则皂葬贼蚤燥灶陨灶贼藻则糟澡葬灶早藻)是 “美国标准信息交换代码” 的简称,编码如表 员鄄源所示。它规定用特定的二进制码来表示

    圆员

  • 字母、数字和常用符号。它已成为国际通用的标准编码,广泛用于微型计算机中。

    表 员鄄源摇苑位 粤杂悦Ⅱ码

    阅远阅缘阅源阅猿阅圆阅员阅园

    园园园 园园员 园员园 园员员 员园园 员园员 员员园 员员员

    园园园园 晕哉蕴 阅蕴耘 杂孕 园 岳 孕 、 责

    园园园员 杂韵匀 阅悦员 ! 员 粤 匝 葬 择

    园园员园 杂栽载 阅悦圆 “ 圆 月 砸 遭 则

    园园员员 耘栽载 阅悦猿 裕 猿 悦 杂 糟 泽

    园员园园 耘韵栽 阅悦源 溢 源 阅 栽 凿 贼

    园员园员 耘晕匝 晕粤运 豫 缘 耘 哉 藻 怎

    园员员园 粤悦运 杂再晕 驭 远 云 灾 早 增

    园员员员 月耘蕴 耘栽月 ‘ 苑 郧 宰 早 憎

    员园园园 月杂 悦粤晕 ( 愿 匀 载 澡 曾

    员园园员 匀栽 耘酝 ) 怨 陨 再 蚤 赠

    员园员园 蕴云 杂哉月 : 允 在 躁 扎

    员园员员 灾栽 耘杂悦 垣 ; 运 [ 噪 {

    员员园园 云云 云杂 , 约 蕴 攒 员 渣

    员员园员 悦砸 郧杂 原 越 酝 ] 皂 }

    员员员园 杂韵 砸杂 。 跃 晕 赞 皂 ~

    员员员员 杂陨 哉杂 辕 ? 园 原 燥 阅耘蕴

    摇摇粤杂悦Ⅱ码由 苑位二进制码构成,可为 员圆愿个字符编码。这些字符包括英文 圆远个大写字母、圆远个小写字母、园~怨十个数字、猿圆个标点符号和运算符号以及 猿源个控制码。摇摇任何一个字母、数字、标点符和控制符的 粤杂悦Ⅱ码均可在表 员鄄源中找到它的位置,以及相应的二进制编码。例如:字母 “晕” 所在位置对应的行可确定该字符的低 源位编码

    (阅猿阅圆阅员阅园为 员员员园);该字符对应的列可确定高 猿位编码(阅远阅缘阅源为 员园园),将高 猿位编码与低 源位编码连在一起就是要查字符的 粤杂悦Ⅱ码。即字母 “晕” 的 粤杂悦Ⅱ码是:员园园员员员园月或 源耘匀。摇摇粤杂悦Ⅱ码占一个字节的 苑位,在字长 愿位的微型计算机中,最高位 阅苑 位用作奇偶校验位。奇偶校验位在信息发送中,用来检验信息传送过程是否有错。例如:字母 “阅” 的粤杂悦Ⅱ码为 员园园园员园园月,当采用偶校验时,因有 圆个 “员”,则 阅苑 置 园,以形成偶数个 员,即园员园园园员园园月;当采用奇校验时,因有 圆个 “员”,则 阅苑 置 员,以 形 成 奇 数 个 员,即 员员园园园员园园月。摇摇在串行通信中,是采用奇校验还是偶校验,则由发送端和接收端事先协定好。如果采用奇校验,从发送端发送信息时,已形成奇数个 “员”,接收端接收信息时,经检验如发现

    “员” 的个数为偶数,说明信息在传输中发生差错,计算机则进行相应的处理。摇摇猿郾其他编码摇员怨愿员年我国颁布了汉字国家标准代码《信息交换用汉字编码字符集·基本集》,代号为 “郧月圆猿员圆—愿园”,此标准代码称为国标码。

    猿员

  • 摇摇根据国标码,对 远苑远猿个常用汉字和 远愿圆个图形符号进行排列,用两字节(员远位二进制数)对汉字进行编码,即汉字机内码,计算机则用汉字机内码对汉字进行存储和处理。

    摇摇在单片计算机中,对 蕴耘阅数码显示管的字形要进行编码,对单片机简易键盘上的每个键要进行键值编码,这些编码问题与后面有关章节结合紧密,在此不再赘述。

    员郾猿摇计算机基础知识摇摇从 员怨源苑年第一台以电子管为基本元件的电子计算机发展到今天,计算机经过了几代的更新换代,形成了一个系统的计算机大家族。尽管计算机在应用领域、硬件配置和工作速度

    上有很大的差别,然而从组合结构上来看,各种计算机基本上还是相同的。下面就从硬件结

    构和软件系统两个方面简单的介绍计算机基本结构。

    员郾猿郾员摇计算机硬件基础知识摇摇计算机硬件由运算器、控制器、存储器、输入装置及输出装置等五大部分组成,如图员鄄猿所示。

    图 员鄄猿摇计算机结构框图

    摇摇(员) 运算器摇由算术逻辑单元 粤蕴哉(粤则蚤贼澡皂藻贼蚤糟葬灶凿蕴燥早蚤糟葬造哉灶蚤贼)、累加器 粤(粤糟糟怎皂怎造葬鄄贼燥则)、暂存寄存器 栽砸(栽藻皂责燥则葬则赠砸藻早蚤泽贼藻则)、标志寄存器 云或 孕杂宰(云造葬早或 孕则燥早则葬皂 杂贼葬贼怎泽宰燥则凿)、通用寄存器 郧砸(郧藻灶藻则葬造鄄责怎则责燥泽藻砸藻早蚤泽贼藻则)等五部分组成。它是计算机基本运算部件,用于实现加、减、与、或、移位等多种算术运算或逻辑运算操作。

    摇摇(圆) 控制器摇控制器由指令寄存器 陨砸(陨灶泽贼则怎糟贼蚤燥灶砸藻早蚤泽贼藻则)、指令译码器 陨阅(陨灶泽贼则怎糟贼蚤燥灶阅藻糟燥凿藻则)、程序计数器 孕悦(孕则燥早则葬皂悦燥怎灶贼藻则)和定时与控制电路四部分组成。它是计算机的中枢部件,按照人们预先给定的计算步骤,即预先编写好的,已经输入到计算机存储器中的程

    序发出一系列具体的控制信号,控制计算机中的各个部件工作,如控制运算器的运算、存储

    器数据的存取等。

    摇摇实用的微型计算机系统中,运算器和控制器以及一些相关的电路都被集成在一个芯片当中,这个芯片被称为中央处理器,即通常所说的 悦孕哉(悦藻灶贼则葬造孕则燥糟藻泽泽蚤灶早哉灶蚤贼)。摇摇(猿) 存储器摇存储器是存放数据和程序的部件,计算机有了存储器,才具备记忆功能。存储器由许多存储单元组成,每个单元的编号称为地址,数据和指令存放在各个存储单元

    中。在 愿位微机中,每个存储单元存放 愿位二进制代码,即一个字节。存储器的存储单元的数目(字节 伊位)称为存储容量。容量越大,记忆的信息越多,假如存储器有 圆缘远个存储单

    源员

  • 元,每个存储单元存放一个字节,则该存储器容量为 圆缘远字节,或 圆缘远伊愿位。存储器容量较大时,容量以 “运月” 为单位:员运月越圆员园越员园圆源个存储单元。摇摇存储器分为内存储器和外存储器,内存储器是由半导体集成电路芯片构成,其容量有限。外存储器是指像磁盘、磁带或 悦阅鄄砸韵酝一类的外部存储设备,由于这类设备的数量可随意增加,因此外存储器的容量无限。

    摇摇(源) 输入装置摇它是将外部信息输入计算机的部件,主要可以分为两类:一类是手工输入设备,如键盘、光笔、鼠标等。对于工业控制用的计算机来说,输入装置还有各种传感

    器以及各种接近开关等设备。一类是自动输入设备,如软盘驱动器、硬盘驱动器等设备。

    摇摇(缘) 输出装置摇它是将计算机的处理结果输出的设备,典型的输出设备是显示器、打印机和绘图仪等。当然软盘驱动器与硬盘驱动器也是典型的输出设备。对于工业计算机来

    说,各种控制信号的输出也是很重要的输出任务。

    摇摇(远) 总线(月哉杂)摇在计算机硬件结构中,总线虽然不是一个有形的部件,但是总线却是一个很重要的电路结构的概念。所谓总线就是在微型计算机各芯片之间或芯片内部之间传

    输信息的一组公共通信线。如图 员鄄源中,计算机采用的三总线是:数据总线、地址总线和控制总线。

    图 员鄄源摇计算机总线结构框图

    摇摇员) 数据总线 阅月(阅葬贼葬月怎泽)摇它用于传送数据信息,由于 悦孕哉有时需要写入存储器数据或对外设输出数据;有时又需要从存储器或输入设备读入数据,因此 阅月是双向的。对于愿位机,阅月由 愿根传送导线组成。摇摇圆) 地址总线 粤月(粤凿凿则藻泽泽月怎泽)摇它用于传送地址信息,由于 悦孕哉与存储器或外设交换信息时,要指明哪个存储单元或哪个外设,因此,粤月必须和所有存储单元的地址线及 陨辕韵接口的设备码线对应相连。这样,悦孕哉可根据地址找到相应的存储器或外设,选中它们工作。对 愿位机,粤月有 员远条地址线。摇摇猿) 控制总线 悦月(悦燥灶贼则葬造月怎泽)摇它用于传送控制命令,控制信号有两种:一种是 悦孕哉发出的控制信号,如:读、写命令及中断响应信号等;另一种是存储器或外设的状态信息,

    如:外设的中断请求、复位等。控制总线条数因 悦孕哉而异,但每条控制线最多传送两个控制信号。

    缘员

  • 员郾猿郾圆摇计算机软件概述摇摇所谓的软件,就是计算机用户把要求计算机执行的各种操作,按照一定的格式编写成的命令集。有了软件后,计算机就能脱离人的直接干预自动的进行运算和处理。计算机在运行

    时,预先把相应的软件存入计算机的存储器中,这些软件称为用户程序(又称源程序),然

    后用编译的方法或解释的方法把源程序翻译成计算机能够认识的机器指令(又称为目标程

    序),并执行该目标程序。

    摇摇(员) 机器语言摇所谓机器语言,是指能为计算机识别的指令代码,它是一组二进制代码,每一种计算机都有它的一种指令代码集。指令代码的功能越丰富,该种计算机的性能就

    越好,就能执行越多种类的操作。由于机器语言的形式是以二进制码出现,所以对于一般的

    人员来说,辨认它很不方便,即使是专业软件人员要认识并熟练的进行编程也不是一件容易

    的事,因此机器语言被称为低级语言。

    摇摇(圆) 高级语言摇为了克服低级语言的不易认识的缺点,用英语字符按一定的格式组成命令符号来代替机器语言的二进制代码。由于英语的命令符号的形式可以组合得很接近实际

    命令的意思,所以这一类的命令很好记忆,也很好理解,因此称为高级语言。显然,要使计

    算机能够执行用高级语言编写出来的命令程序,计算机在执行该程序之前就要把高级语言编

    写的程序翻译成计算机能够辨认的机器语言。

    复习思考题

    摇摇员郾画图说明计算机由哪几部分组成?摇摇圆郾微型计算机的硬件系统结构包括哪几部分?各部分特点、作用是什么?摇摇猿郾什么是 悦孕哉?微处理器有哪些功能?结合图 员鄄猿,简述微型计算机执行程序的过程。摇摇源郾为什么微型计算机要采用二进制数?十六进制数能在微型计算机里直接执行吗?我们为什么要学习十六进制数?

    摇摇缘郾某存储器芯片有 员员条地址线和 源条数据线,试问它至少可以存放多少个二进制数?地址范围是多少(用十六进制数写出首地址和末地址)?每个二进制数有几位?若要把每个二进制数增加到八位,则应采

    用什么办法?

    摇摇远郾解释下列名词:摇摇(员) 字,字长,字节,月悦阅码。摇摇(圆) 指令,指令地址,指令系统,程序。摇摇(猿) 存储器,存储单元,存储容量,读操作,写操作。摇摇苑郾回答下列问题:摇摇(员) 十二位长的二进制正数的表示范围是多少?十六位长的二进制正数的表示范围是多少?摇摇(圆) 如果(员)题中最高位作为符号位,则十二位长、十六位长表示正数、负数的范围是多少?摇摇愿郾将下列十进制数转换成二进制数及十六进制数。摇摇(员) 员猿源摇 (圆) 圆远摇 (猿) 远苑摇 (源) 愿缘郾员苑怨缘摇摇怨郾将下列二进制数转换成十进制数及十六进制数。摇摇(员) 员员园园员员园月摇(圆) 员园员园员员园郾员员园员月摇(猿) 员园园员园员园园月摇(源) 员员员员月摇摇员园郾将下列十六进制数转换成二进制数及十进制数。摇摇(员) 怨月匀摇(圆) 云远匀摇(猿) 圆员缘匀摇(源) 悦阅郾苑粤匀摇摇员员郾将下列真值写成原码、反码和补码。摇摇(员) 垣员园员园园园员月摇(圆) 原员员园员员园员月摇(猿) 垣怨远摇(源) 原员员苑

    远员

  • 摇摇(缘) 垣园员员员园员园月摇(远) 原员员员员员员员月摇(苑) 垣圆源摇(愿) 原园摇摇员圆郾求下列各代码的真值(愿位微机,最高位是符号位,用二进制数表示)。摇摇(员)[载]原 越园员员员园员园园月摇(圆)[载]反 越员园员员员园园园月摇(猿)[载]补 越园员园员员员园员月摇摇(源)[载]越垣源愿摇(缘)[载]越原苑缘摇(远)[载]越原员园猿摇摇员猿郾将下列十进制数转换成 月悦阅代码。摇摇(员) 猿缘员园摇(圆) 圆源摇(猿) 员苑愿郾远源摇(源) 缘员怨摇摇员源郾已知:[载]补 、[再]补 ,计算[载垣再]补 ,并判断是否溢出。摇摇(员)[载]补 越园园员员园员员园月,[再]补 越园员园园园员园园月摇(圆)[载]补 越员园员园员员月,[再]补 越员园园员员员月摇摇(猿)[载]补 越员园员园园园员员月,[再]补 越员园员员园员园园月摇(源)[载]补 越园园员员园员园员月,[再]补 越员员园员园园员员月摇摇员缘郾把下列各数转换成二进制数,按补码运算规则求[载原再]补 及真值。摇摇(员) 载越缘愿摇再越员猿摇(圆) 载越原圆园摇再越远苑摇(猿) 载越员员远摇再越愿缘摇(源) 载越源怨摇再越原远圆摇摇员远郾把下列十六进制数转换成二进制数,列竖式进行逻辑加、逻辑与、逻辑异或运算。摇摇(员) 远圆匀和 愿云匀摇(圆) 园阅匀和 怨圆匀摇(猿) 粤耘匀和 源悦匀摇(源) 猿源匀和 缘愿匀

    苑员

  • 第 圆章摇单片机结构

    圆郾员摇单片机硬件结构特点摇摇单片微机(杂蚤灶早造藻鄄悦澡蚤责酝蚤糟则燥糟燥皂责怎贼藻则)简称单片机,也称微处理器(酝蚤糟则燥鄄孕则燥糟藻泽泽燥则简写μ孕)或微控制器(酝蚤糟则燥鄄悦燥灶贼则燥造造藻则简写 μ悦),通常统称微型处理部件(酝蚤糟则燥悦燥灶贼则燥造造藻则哉灶蚤贼简写 酝悦哉)。一般地说,单片机就是在一块硅片上集成 悦孕哉、砸粤酝、砸韵酝、定时器 辕计数器和多种 陨辕韵口的完整的数字处理系统。圆郾员郾员摇单片机分类摇摇单片机从用途上可分成通用型单片机和专用型单片机两大类,我们通常所说的都是通用型单片机。通用型单片机是把所有资源(如 砸韵酝、陨辕韵等)全部提供给用户使用。摇摇根据单片机能够一次处理的数据的宽度(即位数),单片机可分为 员位机,源位机,愿位机,员远位机,猿圆位机。目前应用最广的产品是 愿位单片机,如 陨灶贼藻造公司的 酝悦杂鄄缘员系列单片机,郧陨公司的 孕陨悦员远缘园系列单片机,酝燥贼燥则燥造葬公司的 酝远愿园园系列单片机等。这几种单片机的性能对照如表 圆鄄员所示。

    表 圆鄄员摇主要 愿位单片机的性能表

    公司 系列

    片内存储器

    砸韵酝 砸粤酝寻址范围

    片内 陨辕韵

    并行 陨辕韵 串行 陨辕韵定时 辕计数器 中断源

    陨灶贼藻造 酝悦杂鄄缘员 源运辕愿运 员圆愿月辕圆缘远月 远源运 猿伊愿位 哉粤砸栽 圆伊员远位 缘辕远

    郧陨 孕陨悦员远伊伊 缘员圆伊员圆位 猿圆月辕远源月 缘员圆月辕圆运 愿伊源位 原 员伊愿位 员辕圆

    酝燥贼燥则燥造葬 远愿园员 圆运辕源运 员圆愿月辕圆缘远月 远源运猿伊愿位

    员伊缘位哉粤砸栽 猿伊员远位 圆

    在蚤造燥早 在愿 圆运辕源运 员圆源月 远源运

    愿伊员位

    源伊源位

    员伊愿位

    哉粤砸栽 圆伊员愿位 远

    圆郾员郾圆摇单片机的应用摇摇单片机是在一块芯片上集成了一台微型计算机所需的 悦孕哉、存储器、输入输出部件和时钟电路等,由它构成的应用系统具有体积小、成本低、使用灵活、性能好、易于产品化等

    特点。所以单片机强大的面向控制能力,使它在工业控制、智能仪表、外设控制、家用电

    器、机器人、军事装置等方面得到了广泛的应用。

    圆郾员郾猿摇单片机的内部结构摇摇酝悦杂鄄缘员系列单片机的典型芯片是 愿园缘员。如图 圆鄄员是 愿园缘员单片机的结构框图,它包含如下功能部件:

  • 图 圆鄄员摇单片机系统结构框图

    摇摇(员) 一个 愿位 悦孕哉摇摇(圆) 一个片内振荡器和时钟电路摇摇(猿) 源运字节片内程序存储器摇摇(源) 员圆愿字节片内数据存储器摇摇(缘) 可寻址 远源运字节外部程序存储器摇摇(远) 远源运字节外部数据存储器空间及控制电路摇摇(苑) 圆员个特殊功能寄存器摇摇(愿) 猿圆条可编程的 陨辕韵线(源个 愿位并行 陨辕韵端口)摇摇(怨) 两个 员远位定时器 辕计数器摇摇(员园) 一个可编程全双工串行口摇摇(员员) 具有 缘个中断源,两个优先级嵌套中断结构摇摇各功能部件由内部总线连接在一起。如果 源运字节的程序存储器采用 耘孕砸韵酝则就成为愿苑缘员;采用 耘圆砸韵酝就成为 愿怨缘员;而没有 砸韵酝部分就成为 愿园猿员。圆郾员郾源摇单片机的工作条件及安全保障摇摇员郾复位方式摇酝悦杂鄄缘员系列单片机与其他微处理器一样,在启动时都需要复位,使 悦孕哉的系统各部件处于确定的初始状态,并从初始状态开始工作。愿园缘员的复位信号是从 砸杂栽引脚输入到芯片内施密特触发器中的。当系统处于正常工作状态(振荡稳定)后,如果在 砸杂栽引脚上有一个高电平并维持两个机器周期,悦孕哉就可以响应并将系统复位。在系统复位时,粤蕴耘和孕杂耘晕将拉成高电平。在 砸杂栽端电压变低后,经过 员~圆个机器周期后退出复位状态,恢复 粤蕴耘和孕杂耘晕。如果在系统复位期间将 粤蕴耘和孕杂耘晕引脚拉成低电平,会引起芯片进入不确定状态。

    摇摇当系统复位时,内部寄存器的状态如表 圆鄄圆所示,即在特殊功能寄存器中,除了端口锁存器,堆栈指针 杂孕和串行口的 杂月哉云外,其余的寄存器全部清 园,端口锁存器的复位值为园云云匀,堆栈指针值为 园苑匀,杂月哉云内为不定值。内部 砸粤酝的状态不受复位的影响,在系统上电时,内部 砸粤酝的内容是不确定的。

    怨员

  • 表 圆鄄圆摇各特殊功能寄存器的复位值

    特殊功能寄存器 复位值

    孕悦 园园园园匀

    粤悦悦 园园匀

    月 园园匀

    孕杂宰 园园匀

    杂孕 园苑匀

    阅孕栽砸 园园园园匀

    孕园鄄孕猿 园云云匀

    陨孕 伊伊伊园园园园园

    陨耘 园伊伊园园园园园

    栽酝韵阅 园园匀

    栽悦韵晕 园园匀

    栽匀园 园园匀

    栽蕴园 园园匀

    栽匀员 园园匀

    栽蕴员 园园匀

    杂悦韵晕 园园匀

    杂月哉云 伊伊

    孕悦韵晕 园伊伊伊伊伊伊伊

    摇摇单片机复位的方式可分为上电自动复位和按键手动复位两种方式。摇摇上电自动复位是通过外部复位电路的电容充电来实现,其电路如图 圆鄄圆葬所示。在加电时,复位电路通过电容给 砸杂栽端一个短暂的高电平信号,此高电平伴随着 灾悦悦对电容的充电过程而逐渐回落,即 砸杂栽端的高电平持续时间取决于电容的充电时间。摇摇按键手动复位,如图 圆鄄圆遭所示,砸杂栽端通过电阻接高电平,实现复位。

    图 圆鄄圆摇复位电路葬) 上电复位电路摇遭) 按键复位电路

    摇摇圆郾节电方式摇悦匀酝韵杂型的 愿园悦缘员单片机有两种节电运行方式:空闲工作方式和掉电保持方式。在节电工作方式下,灾悦悦是由后备电源提供。其硬件结构如图 圆鄄猿所示。这两种节

    园圆

  • 电运行方式均由特殊功能寄存器 孕悦韵晕有关位的设置来选定。孕悦韵晕各位的功能如表 圆鄄猿所示。

    图 圆鄄猿摇节电和掉电保持方式硬件结构表 圆鄄猿摇孕悦韵晕各位功能

    名摇摇称 位摇摇序 功摇摇能

    杂酝韵阅 孕悦韵晕郾苑波特率加倍位,当串行口工作于方式 员、圆或 猿时,如该位为 员则波特

    率加倍。

    原 孕悦韵晕郾远 (保留)

    原 孕悦韵晕郾缘 (保留)

    原 孕悦韵晕郾源 (保留)

    郧云员 孕悦韵晕郾猿 通用标志位

    郧云园 孕悦韵晕郾圆 通用标志位

    孕阅 孕悦韵晕郾员 掉电保持位,孕阅越员,选择掉电方式

    陨阅蕴 孕悦韵晕郾园 空闲方式位,陨阅蕴越员,选择空闲方式

    摇摇(员) 空闲方式摇使寄存器 孕悦韵晕的 陨阅蕴(孕悦韵晕郾园)位置 员,即进入空闲方式。此时内部时钟信号不进入 悦孕哉,但仍加在中断机构、定时器、串行口。在这种状态下的堆栈指针、程序计数器、程序状态寄存器、累加器及其他所有寄存器的内容都得到保护,端口引脚状态

    不变,粤蕴耘和孕杂耘晕处在高电平。摇摇进入空闲方式后,有两种方法可以使系统退出空闲方式。一是中断,任何中断的请求被响应后,都可引起硬件清除 陨阅蕴位,使空闲方式中止,并进入中断服务程序。在中断服务程序执行完返回主程序时,从原先 陨阅蕴位置 员指令下面的那条指令开始执行程序。孕悦韵晕中的标志位 郧云园和 郧云员可以用来指明中断的发生是在正常操作中发生的,还是在空闲方式发生的。所以在置空闲方式时,除了用指令使 陨阅蕴置 员外,还可用指令使 郧云园或 郧云员置位。当用中断方式结束空闲方式时,中断服务程序可以检查这些位。

    摇摇另一种退出空闲方式的方法是硬件复位。即在 砸杂栽辕灾孕阅引脚加入复位电平,直接将 陨阅蕴位清 园,从而退出空闲状态。摇摇(圆) 掉电方式摇使 孕悦韵晕的 孕阅位置 员,便可进入掉电保持方式。在这种方式下,内部振荡器停止工作,悦孕哉的功能全部停止,但片内 砸粤酝及特殊功能寄存器的内容仍保存。各

    员圆

  • 端口输出值也都维持在为各自 杂云砸锁存器中所存储的值,粤蕴耘和孕杂耘晕为低电平。摇摇退出掉电保持方式的唯一方法是硬件复位。复位将清零所有 杂云砸的内容,但不改变砸粤酝区中的数据。

    圆郾圆摇酝悦杂鄄缘员处理器摇摇中央处理器 悦孕哉是单片微型计算机的指挥、执行中心,由它读入用户程序,并逐条执行指令,它是由 愿位算术 辕逻辑运算部件(简称 粤蕴哉)、定时 辕控制部件,若干寄存器 粤、月、砸杂宰、杂孕以及 员远位程序计数器(孕悦)和数据指针寄存器(阅孕栽砸)等主要部件组成。圆郾圆郾员摇算术逻辑单元(粤蕴哉)摇摇算术逻辑单元的硬件结构与典型微型机相似。它具有对 愿位信息进行 垣、 原、 伊、 衣四则运算和逻辑与、或、异或、取反、清 “园” 等运算,并具有判跳、转移、数据传送等功能,此外还提供存放中间结果及常用数据寄存器。

    摇摇酝悦杂鄄缘员的 粤蕴哉还具有独特的位处理功能:置位、清 “园”、取反、转移、检测、判跳、逻辑与、逻辑或等操作。

    圆郾圆郾圆摇控制器摇摇控制器部件是由指令寄存器、程序计数器 孕悦、定时与控制电路等组成的。摇摇员郾指令寄存器和译码器摇指令寄存器中存放指令代码。悦孕哉执行指令时,从程序存储器中取来经译码器译码后,根据不同指令由定时与控制电路发出相应的控制信号,送到存储

    器、运算器或 陨辕韵接口电路,完成指令功能。摇摇圆郾程序计数器 孕悦摇程序计数器 孕悦用来存放下一条将要执行的指令,共 员远位,可对远源运字节的程序存储器直接寻址。指令执行结束后,孕悦计数器自动增加,指向下一条要执行的指令地址。

    圆郾圆郾猿摇悦孕哉的时序摇摇悦孕哉功能,总的来说是以不同的方式,执行各种指令。不同的指令其功能各异。有的指令涉及到 悦孕哉各寄存器之间的关系;有的指令涉及到单片机核心电路内部各功能部件的关系;有的则与外部器件如外部程序存储器发生联系。事实上,悦孕哉是通过复杂的时序电路完成不同的指令功能。所谓 悦孕哉的时序是指控制器按照指令功能发出一系列在时间上有一定次序的信号,控制和启动一部分逻辑电路,完成某种操作。

    摇摇员郾时钟电路摇酝悦杂鄄缘员片内设有一个由反向放大器所构成的振荡电路,载栽粤蕴员和 载栽粤蕴圆分别为振荡电路的输入端和输出端。时钟可以由内部方式产生或外部方式产生。采用内部方

    式时,在 载栽粤蕴员和 载栽粤蕴圆引脚上接石英晶体和微调电容可以构成振荡器,如图 圆鄄源葬所示。电容 悦员和 悦圆一般为 缘~猿园责枣之间;振荡频率的选择范围为 员郾圆~员圆酝匀扎。在使用外部时钟时,时钟电路如图 圆鄄源遭所示,载栽粤蕴圆用来输入外部时钟信号,而 载栽粤蕴员则接地。摇摇圆郾时序摇酝悦杂鄄缘员单片机的一个机器周期由 远个状态(杂员~ 杂远)组成,每个状态又持续 圆个振荡周期,分为 孕员和 孕圆两个节拍。这样,一个机器周期由 员圆个振荡周期组成。若采用员圆酝匀扎的晶体振荡器,则每个机器周期为 员μ泽,每个状态周期为 员辕远μ泽。在一般情况下,算术和逻辑操作发生在 孕员期间,而内部寄存器到寄存器的传输发生在 孕圆期间。摇摇酝悦杂鄄缘员单片机的取指令和执行指令的定时关系如图 圆鄄缘所示。从图中可以看出低 愿位的地址锁存信号 粤蕴耘在访问外部程序存储器的机器周期中两次有效(杂员孕圆~ 杂圆孕员和 杂源孕圆~

    圆圆

  • 杂缘孕员)。在访问外部数据存储器的机器周期时,第二个机器周期不产生有效的 粤蕴耘信号。

    图 圆鄄源摇时钟电路葬) 内部振荡器方式摇遭) 外部振荡方式

    图 圆鄄缘摇愿园缘员取指和执行指令时序图

    摇摇对于单周期指令,当指令操作码读入指令寄存器时,便从 杂员孕圆开始执行指令。如果是双字节指令,则在同一机器周期的 杂源读入第二字节。若为单字节指令,则在 杂员期间仍进行读,但所读入的字节操作码被忽略,且程序计数器也不加 员。在 杂远孕圆结束时完成指令操作。摇摇大多数 酝悦杂鄄缘员指令周期为 员~圆个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需 源个机器周期。摇摇对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读入两个字节,但酝韵灾载指令例外,酝韵灾载指令是访问外部数据存储器的单字节双机器周期指令,在执行酝韵灾载指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。如图 圆鄄缘凿所示。

    猿圆

  • 圆郾猿摇酝悦杂鄄缘员内部寄存器圆郾猿郾员摇数据存储器摇摇愿园缘员内部数据存储器共有 圆缘远个单元,通常把这 圆缘远个单元按其功能划分为两部分:园园匀~苑云匀单元组成的 员圆愿字节地址空间的 砸粤酝区和 员圆愿字节地址空间(愿园匀~ 云云匀)的特殊功能寄存器区。如图 圆鄄远所示,低 员圆愿字节地址空间的 砸粤酝区按用途可分为三个区:

    图 圆鄄远摇内部数据存储器结构示意图

    摇摇员郾工作寄存器区摇工作寄存器区共 猿圆个单元,分为四组寄存器区,地址为 园园匀~员云匀。每组 愿个寄存单元,各组都以 砸园~ 砸苑作为寄存器单元编号,如表 圆鄄源所示。工作寄存器常用于存放操作数及中间结果。

    表 圆鄄源摇工作寄存器和 砸粤酝 地址对照表

    园区 员区 圆区 猿区

    地址 寄存器 地址 寄存器 地址 寄存器 地址 寄存器

    园园匀 砸园 园愿匀 砸园 员园匀 砸园 员愿匀 砸园

    园员匀 砸员 园怨匀 砸员 员员匀 砸员 员怨匀 砸员

    园圆匀 砸圆 园粤匀 砸圆 员圆匀 砸圆 员粤匀 砸圆

    园猿匀 砸猿 园月匀 砸猿 员猿匀 砸猿 员月匀 砸猿

    园源匀 砸源 园悦匀 砸源 员源匀 砸源 员悦匀 砸源

    园缘匀 砸缘 园阅匀 砸缘 员缘匀 砸缘 员阅匀 砸缘

    园远匀 砸远 园耘匀 砸远 员远匀 砸远 员耘匀 砸远

    园苑匀 砸苑 园云匀 砸苑 员苑匀 砸苑 员云匀 砸苑

    摇摇在任何时刻,悦孕哉只能使用其中的一组工作寄存器,我们把正在使用的那组寄存器称

    源圆

  • 为当前寄存器组。到底使用哪一组,由程序状态寄存器 孕杂宰 中 砸杂员、砸杂园位的状态组合来决定,工作寄存器区的选择如表 圆鄄缘所示。

    表 圆鄄缘摇工作寄存器区选择

    孕杂宰郾源辕砸杂员 孕杂宰郾猿辕砸杂园 当前使用的工作寄存器区 砸园~ 砸苑

    园 园 园区(园园匀~园苑匀)

    园 员 员区(园愿匀~园云匀)

    员 园 圆区(员园匀~员苑匀)

    员 员 猿区(员愿匀~员云匀)

    摇摇圆郾位寻址区摇内部 砸粤酝的 圆园匀~圆云匀单元,既可作一般 砸粤酝单元使用,进行字节操作,也可以对单元中的每一位进行位操作,因此把该区称为位寻址区。位寻址区有 员远个砸粤酝单元,共 员圆愿位,位地址为 园园匀~苑云匀,见表 圆鄄远。通常把各种程序状态标志、位控制变量设在位寻址区内。

    表 圆鄄远摇砸粤酝 寻址区位地址映象

    字节地址位摇地摇址

    阅苑 阅远 阅缘 阅源 阅猿 阅圆 阅员 阅园

    圆云匀 苑云 苑耘 苑阅 苑悦 苑月 苑粤 苑怨 苑愿

    圆耘匀 苑苑 苑远 苑缘 苑源 苑猿 苑圆 苑员 苑园

    圆阅匀 远云 远耘 远阅 远悦 远月 远粤 远怨 远愿

    圆悦匀 远苑 远远 远缘 远源 远猿 远圆 远员 远园

    圆月匀 缘云 缘耘 缘阅 缘悦 缘月 缘粤 缘怨 缘愿

    圆粤匀 缘苑 缘远 缘缘 缘源 缘猿 缘圆 缘员 缘园

    圆怨匀 源云 源耘 源阅 源悦 源月 源粤 源怨 源愿

    圆愿匀 源苑 源远 源缘 源源 源猿 源圆 源员 源园

    圆苑匀 猿云 猿耘 猿阅 猿悦 猿月 猿粤 猿怨 猿愿

    圆远匀 猿苑 猿远 猿缘 猿源 猿猿 猿圆 猿员 猿园

    圆缘匀 圆云 圆耘 圆阅 圆悦 圆月 圆粤 圆怨 圆愿

    圆源匀 圆苑 圆远 圆缘 圆源 圆猿 圆圆 圆员 圆园

    圆猿匀 员云 员耘 员阅 员悦 员月 员粤 员怨 员愿

    圆圆匀 员苑 员远 员缘 员源 员猿 员圆 员员 员园

    圆员匀 园云 园耘 园阅 园悦 园月 园粤 园怨 园愿

    圆园匀 园苑 园远 园缘 园源 园猿 园圆 园员 园园

    摇摇猿郾用户 砸粤酝区摇猿园匀~苑云匀为用户 砸粤酝区,在使用它时应注意到,在一个实际应用的程序中,往往需要一个后进先出的 砸粤酝区即堆栈区,以保存 悦孕哉的现场,愿园缘员单片机的堆栈原则上可以设在内部 砸粤酝的任意区域内,但一般设在 猿园匀~苑云匀的范围内。栈顶的位置由堆栈指针 杂孕指出。

    缘圆

  • 圆郾猿郾圆摇程序存储器摇摇程序存储器用来存放编制好的始终保留的固定程序和表格常数,程序存储器以程序计数器 孕悦作为地址指针,通过 员远位地址总线,可寻址的地址空间为 远源运字节。摇摇程序存储器中有几个单元是专门用来存放特定的程序。园园园园匀~园园园圆匀单元用于初始化程序,单片机复位后,悦孕哉总是从 园园园园匀单元开始执行程序。另外,每个中断在程序存储器中都分配有一个固定的中断程序入口地址。中断响应后,悦孕哉便自动跳到该地址所指的程序存储器单元,在这里开始执行中断服务程序。

    摇摇在 愿园缘员辕愿苑缘员片内,分别驻留最低地址空间的 源运字节 砸韵酝辕耘孕砸韵酝程序存储器(内部程序存储器),而在 愿园猿员片内,则无内部程序存储器,需外部扩展程序存储器。摇摇酝悦杂鄄缘员单片机中,远源运字节程序存储器的地址空间是统一的。对于有内部 砸韵酝的单片机,在正常运行时,应把耘粤引脚接高电平,使程序从内部 砸韵酝开始执行,当 孕悦值超出内部 砸韵酝的容量时,会自动转向外部程序存储器空间。因此外部程序存储器地址空间为员园园园匀~ 云云云云匀。愿园猿员单片机无内部程序存储器,地址从 园园园园匀~ 云云云云匀都是外部程序存储器空间。因此耘粤应始终接低电平,使系统只从外部程序存储器中取指令。圆郾猿郾猿摇特殊功能寄存器摇摇特殊功能寄存器分布于 愿园匀~园云云匀的地址单元中,共 圆员个,如表 圆鄄苑所示。其中未被占用的单元,其内容是不确定的,如果对这些单元进行读操作,得到的是一些随机数,而写

    入则无效。下面介绍各特殊功能寄存器。表 圆鄄苑摇特殊功能寄存器

    标识符 名摇摇摇称 地摇摇址

    ·粤悦悦 累加器 园耘园匀

    ·月 月寄存器 园云园匀

    ·孕杂宰 程序状态寄存器 园阅园匀

    摇杂孕 堆栈指针 愿员匀

    阅孕栽砸 数据指针(包括 阅孕匀和 阅孕蕴) 愿猿匀和 愿圆匀

    ·孕园 口 园 愿园匀

    ·孕员 口 员 怨园匀

    ·孕圆 口 圆 园粤园匀

    ·孕猿 口 猿 园月园匀

    ·陨孕 中断优先级控制 园月愿匀

    ·陨耘 允许中断控制 园粤愿匀

    栽酝韵阅 定时 辕计数器方式控制 愿怨匀·

    栽悦韵晕定时 辕计数器控制 愿愿匀

    摇栽匀园 定时 辕计数器 园(高位字节) 愿悦匀

    摇栽蕴园 定时 辕计数器 园(低位字节) 愿粤匀

    摇栽匀员 定时 辕计数器 员(高位字节) 愿阅匀

    摇栽蕴员 定时 辕计数器 员(低位字节) 愿月匀·

    杂悦韵晕串行口控制 怨愿匀

    杂月哉云 串行数据缓冲器 怨怨匀

    孕悦韵晕 电源控制 怨苑匀

    远圆

  • 摇摇员郾累加器 粤悦悦摇粤悦悦是一个最常用的特殊功能寄存器。大部分单操作数指令的操作数都取自累加器。很多双操作数指令的一个操作数也取自累加器。加、减、乘、除算术运算指

    令的运算结果都存放在累加器 粤或 粤月寄存器对中。指令系统中用 粤作为累加器的助记符。摇摇圆郾月寄存器摇在乘除操作中,乘法指令的两个操作数分别取自 粤和 月,其结果存放在粤月寄存器对中。除法指令中,被除数取自 粤,除数取自 月,商存放在 粤中,余数存放在 月中。在其他指令中,月寄存器可作为内部 砸粤酝中的一个单元来使用。摇摇猿郾程序状态寄存器 孕杂宰摇程序状态寄存器包含了各种程序状态信息。孕杂宰 的格式及各标志的含义如下:

    (酝杂月) (蕴杂月)

    悦赠 粤糟 云园 砸杂员 砸杂园 韵灾 — 孕

    摇摇(员) 悦赠———进位标志摇在执行某些算术或逻辑运算指令时,当运算结果的最高位有进位或借位时,悦赠将被硬件置位,否则就被清零。在布尔处理机中,它被认为是位累加器,可由软件置位或清零。

    摇摇(圆) 粤糟———辅助进位标志摇在进行加法或减法操作中,当低 源位数向高 源位数有进位或借位时,将被硬件置位,否则就被清零。粤糟用于十进制调整。摇摇(猿) 云园———用户定义标志摇可由用户定义其状态标记,用软件使其置位或复位。摇摇(源) 砸杂员、砸杂园———工作寄存器区选择控制位摇可以用软件置位或清零,以确定当前所使用的工作寄存器区。工作寄存器区的选择如下:

    砸杂员 砸杂园 工作寄存器区

    园 园 园区,地址为 园园匀~园苑匀

    园 员 员区,地址为 园愿匀~园云匀

    员 园 圆区,地址为 员园匀~员苑匀

    员 员 猿区,地址为 员愿匀~员云匀

    摇摇(缘) 韵灾———溢出标志摇在对带符号数作加减运算时,韵灾越员表示加减运算的结果超出了目的寄存器 粤所能表示的带符号数范围( 原员圆苑~ 垣员圆苑)。无符号数乘法指令 酝哉蕴的执行结果也会影响溢出标志。若置于累加器 粤和寄存器 月的两个数乘积超过 圆缘缘时,韵灾越员,否则 韵灾越园。此积的高 愿位放在 月内,低 愿位放在 粤内。因此,韵灾越园时,只要从 粤中取得乘积即可,否则要从 月粤寄存器对中取得乘积。除法指令 阅陨灾也会影响溢出标志,当除数为园时,韵灾越员,否则 韵灾越园。摇摇(远) 孕———奇偶标志摇每个指令周期都由硬件来置位或清零,以表示累加器 粤中 员的位数的奇偶数。若 员的位数为奇数,则 孕置位,否则清零。该标志位在串行通信中可用来奇偶校验。

    摇摇源郾堆栈指针 杂孕摇堆栈指针寄存器 杂孕字长为 愿位,当数据被压入堆栈前,杂孕加 员,数据从堆栈弹出后,指针减 员。堆栈区可设置在芯片的内部存储器的任意位置,复位后,堆栈指针 杂孕的值为 园苑匀。摇摇缘郾数据指针 阅孕栽