单片机原理及接口技术李朝青第1章(第4版).ppt

上传人:jun****875 文档编号:7614582 上传时间:2020-03-23 格式:PPT 页数:60 大小:543.50KB
返回 下载 相关 举报
单片机原理及接口技术李朝青第1章(第4版).ppt_第1页
第1页 / 共60页
单片机原理及接口技术李朝青第1章(第4版).ppt_第2页
第2页 / 共60页
单片机原理及接口技术李朝青第1章(第4版).ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
单片机原理及接口技术 设计者 刘艳玲 第4版 第1章微机基础知识 1 1微处理器 微机和单片机的概念1 2微机的工作过程1 3常用数制和编码1 4数据在计算机中的表示1 589C51 S51单片机1 6思考题与习题 1 1微处理器 微机和单片机的概念 1 1 2存储器和输入输出接口 1 1 1微处理器 机 的组成 概念 1 微处理器 3 单片机 2 微型计算机 微处理器 Microprocessor 是小型计算机或微型计算机的控制和处理部分 又称中央处理单元CPU CentralProcessingUnit 微型计算机 Microcomputer 简称微机MC 是具有完整运算及控制功能的计算机 包括 微处理器 CPU 如图1 1所示 存储器 接口适配器 输入输出接口电路 输入 输出 I O 设备 图1 1微机的组成 微处理器由控制器 运算器和若干个寄存器组成 设备与微处理器的连接需要通过接口适配器 即 接口 存储器是指微机内部的存储器 RAM ROM和EPROM等芯片 单片机 Single ChipMicrocomputer 是将微处理器 一定容量RAM和ROM以及I O口 定时器等电路集成在一块芯片上 构成单片微型计算机 微处理器RAMROMI O口定时器 单片微型计算机 1 1 1微处理器 机 的组成 1 运算器 2 控制器 3 CPU中的主要寄存器 计算机的模型 微处理单元与存储器及I O接口组成的计算机模型如图1 2所示 图中只画出CPU主要的寄存器和控制电路 并且假设所有的计数器 寄存器和总线都是8位宽度 ALU 计数器 寄存器和控制部分除在微处理器内通过内部总线相互联系以外 还通过外部总线和外部的存储器和输入 输出接口电路联系 外部总线一般分为数据总线 地址总线和控制总线 统称为系统总线 存储器包括RAM和ROM 微计算机通过输入 输出接口电路可与各种外围设备联接 图1 2一个计算机模型 1 运算器 1 组成 2 作用 3 ALU的两个主要的输入来源 4 运算器的两个主要功能 1 运算器的组成 算术逻辑单元 简称ALU 运算器 累加器 寄存器 2 运算器的作用 是把传送到微处理器的数据进行运算或逻辑运算 举例 ALU可对两个操作数进行加 减 与 或 比较大小等操作 最后将结果存入累加器 ALU执行不同的运算操作是由不同控制线上的信息所确定的 例如 两个数 7和9 相加 在相加之前 操作数9放在累加器中 7放在数据寄存器中 执行两数相加运算的控制线发出 加 操作信号 ALU即把两个数相加并把结果 16 存入累加器 取代累加器前面存放的数9 3 ALU的两个主要的输入来源 输入来源 数据寄存器 累加器 4 运算器的两个主要功能 1 执行各种算术运算 2 执行各种逻辑运算 并进行逻辑测试 如零值测试或两个值的比较 2 控制器 1 控制器的组成 2 控制器的作用 3 控制器的主要功能 控制器的组成 程序计数器 指令寄存器 指令译码器 时序产生器 操作控制器 1 控制器的组成 2 作用 它是发布命令的 决策机构 即协调和指挥整个计算机系统的操作 3 控制器的主要功能 对指令进行译码或测试 并产生相应的操作控制信号 以便启动规定的动作 指挥并控制CPU 内存和输入 输出设备之间数据流动的方向 从内存中取出一条指令 并指出下一条指令在内存中的位置 3 CPU中的主要寄存器 1 累加器 A 2 数据寄存器 DR 3 指令寄存器 IR 4 指令译码器 ID 6 地址寄存器 AR 5 程序计数器 PC 1 累加器 A 在算术和逻辑运算时 它具有双重功能 运算前 用于保存一个操作数 运算后 用于保存所得的和 差或逻辑运算结果 累加器是微处理器中最繁忙的寄存器 2 数据寄存器 DR 数据 缓冲 寄存器 DR 是通过数据总线 DBUS 向存储器 M 和输入 输出设备I O送 写 或取 读 数据的暂存单元 3 指令寄存器 IR 指令寄存器用来保存当前正在执行的一条指令 当执行一条指令时先把它从内存取到数据寄存器中 然后再传送到指令译码器中 4 指令译码器 ID 指令分为操作码和地址码字段 由二进制数字组成 当执行任何给定的指令 必须对操作码进行译码 以便确定所要求的操作 指令寄存器中操作码字段的输出就是指令译码器的输入 操作码一经译码后 即可向控制器发出具体操作的特定信号 5 程序计数器 PC 通常又称为指令地址计数器 在程序开始执行前 必须将其起始地址 即程序的第一条指令所在的内存单元地址送到PC 当执行指令时 CPU将自动修改PC的内容 使之总是保存将要执行的下一条指令的地址 由于大多数指令都是按顺序执行的 所以修改的过程通常是简单的加1操作 6 地址寄存器 AR 地址寄存器用来保存当前CPU所要访问的内存单元或I O设备的地址 因为内存 I O设备 和CPU之间存在着速度上的差别 所以必须使用地址寄存器来保存地址信息 直到内存 I O设备 读 写操作完成为止 1 1 2存储器和输入输出接口 1 存储器 2 I O接口及外设 1 存储器 如图1 4所示 地址总线 数据总线和若干控制线把存储器和微处理器连接起来 存储器从CPU接收控制信号 以确定存储器执行读 写操作 地址总线将8位地址信息送入地址译码器 地址译码器的输出可以确定唯一的存储单元 数据总线用来传送存储器到CPU或CPU到存储器的数据信息 图1 4随机存取存储器 2 I O接口及外设 每个外设与微处理器的连接必须经过接口适配器 I O接口 每个I O接口及其对应的外设都有一个固定的地址 在CPU的控制下实现对外设的输入 读 和输出 写 操作 1 2微机的工作过程 计算机采取 存储程序 的工作方式 即事先把程序加载到计算机的存储器中 当启动运行后 计算机便自动进行工作 计算器虽然也有运算和控制的功能 但它不是 存储程序 式的自动工作方式 所以不能称为计算机 任何计算机都有它的指令系统 有十几条至一百多条指令 并有若干种寻址方式 我们假设图1 2所示的模型计算机有4条指令 并只有一种寻址方式 直接寻址方式 模型机的指令及其说明如表1 1所列 表1 1模型机指令表 寻址方式是指用什么方法寻找指令的操作数 上述4条指令除HLT外 LDA ADD和STA都有操作数 直接寻址方式的指令格式如图1 5所示 指令中应有一部分数位 8位 即1字节 用于指明所执行的特定操作 这部分 图1 5中的第1字节 称为操作码 该模型机的操作有数据传送 LDA 相加 ADD 送存 STA 和停机 HLT 4种 它们的操作码如表1 1所列 图1 5直接寻址方式的指令格式 指令中还应有一部分数位 图1 5中的第2字节 用于说明被操作的数据来自什么地方 这一部分叫操作数的地址 在这种寻址方式中 一条指令 如LDA ADD和STA 需要2个字节 第1个字节是操作码 第2个字节不是操作数 而是存放操作数的内存单元的地址 例如 LDA23 将地址为23的内存单元中的内容7装入累加器A中 23为操作数的地址在图1 6所示的内存单元23中存放的7为操作数 执行上述指令后就将7装入累加器A中 图1 6执行 LDA23 指令 1 2 1执行一条指令的顺序 计算机执行程序是一条指令一条指令执行的 执行一条指令的过程可分为两个阶段 如图1 7所示 图1 7取指令 执行指令序列 在计算机中 存储程序 第1条指令的第1个字节一定是操作码 这样 CPU首先进入取指阶段 从存储器中取出指令并通过CPU译码后 转入执指阶段 在这期间 CPU执行指令指定的操作 取指阶段是由一系列相同的操作组成的 因此 取指阶段的时间总是相同的 而执行指令的阶段是由不同的事件顺序组成的 它取决于被执行指令的类型 执行完一条指令后接着执行下一条指令 所以 程序的执行顺序是取指 执指 取指 执指 如此反复直至程序结束 1 2 2执行一条指令的过程 指令 LDA23 的执行过程是怎样的呢 这是一条直接寻址方式的指令 执行的过程如图1 8所示 LDA指令的指令周期由3个CPU周期 即机器周期 组成 其中 第1个CPU周期为取指令阶段 执行指令阶段由2个CPU周期组成 第2个CPU周期中将操作数的地址送往地址寄存器并完成地址译码 在第3个CPU周期中 从内存取出操作数并执行装入的操作 图1 8直接访问内存指令的指令周期 1 3常用数制和编码 1 3 1数制及数制间转换 1 3 2计算机中常用编码 1 3 1数制及数制间转换 1 数制 计数的进位制2 不同数制之间的转换 1 数制 计数的进位制 1 二进制 是 0 和 1 这样的数 逢2进位 按权展开时权的基数为2 用后缀字母 B 表示 如 1001 1 23 0 22 0 21 1 20 9 十进制数 2 十进制 是 0 9 之间的数 逢10进位 按权展开时权的基数为10 用后缀字母 D 表示 如 1135 1 103 1 102 3 101 5 1003 十六进制 是 0 9 A B C D E F 之间的数 逢16进位 按权展开时权的基数为16 用后缀字母 H 表示 如 1C5H 1 162 12 161 5 160 453D 2 不同数制之间的转换 1 二进制 十六进制转化成十进制 将二 十六进制数按权展开相加即为相应的十进制数 如 1101 1 23 1 22 0 21 1 20 13D如 1FH 1 161 15 160 31D2 十进制转换成二进制数 将十进制数除2取余 商为0止余数倒置 如 11D 1011B3 十进制转换成十六进制数 将十进制数除16取余 商为0止余数倒置 如 100D 64H4 二进制转换成十六进制数 将二进制数以小数点为界四位一分 不足补0 用一位十六进制数代替四位二进制数 如 100111100B 000100111100B 13CH5 十六进制转换成二进制数 将十六进制数以小数点为界 用四位二进制数代替一位十六进制数 如 D4EH 110101001110B 1 3 2计算机中常用编码 BCD BinaryCodedDecimal 码 二十进制码ASCII AmericanStandardCodeforInformationInterchange 码 1 BCD BinaryCodedDecimal 码 二十进制码 BCD码是一种二进制形式的十进制码 也称二十进制码 它用4位二进制数表示1位十进制数 最常用的是8421BCD码 见表1 4 8421BCD码用0000H 1001H代表十进制数0 9 运算法则是逢十进一 8421BCD码每位的权分别是8 4 2 1 故得此名 例如 1649的BCD码为0001011001001001 表1 48421BCD码表 2 ASCII AmericanStandardCodeforInformationInterchange 码 ASCII码是一种字符编码 是美国信息交换标准代码的简称 它由7位二进制数码构成 共有128个字符 ASCII码主要用于微机与外设通信 当微机与ASCII码制的键盘 打印机及CRT等连用时 均以ASCII码形式进行数据传输 例如 当按微机的某一键时 键盘中的单片机便将所按的键码转换成ASCII码传入微机进行相应处理 1 4数据在计算机中的表示 1 4 1有符号数 1 4 2无符号数 1 4 1有符号数 有符号的8位二进制数用最高位D7表示数的正或负 0代表 1代表 D7称为符号位 D6 D0为数值位 上述的8位带符号二进制数又有3种不同表达形式 即原码 反码和补码 在计算机中 所有有符号数都是以补码形式存放的 1 原码一个二进制数 用最高位表示数的符号 其后各位表示数值本身 这种表示方法称为原码 原码的表示范围是 127 127例如 X 1011010B X 原 01011010B X 1011010B X 原 11011010B2 反码正数的反码与原码相同 符号位一定为0 其余位为数值位 负数的反码符号位为1 数值位将其原码的数值位逐位求反 反码的表示范围是 127 127例如 X 1011010B X 原 11011010B X 反 10100101B 3 补码正数的补码与原码相同 负数的补码符号位为1 数值位将其原码的数值位逐位求反后加1 即负数的反码加1 补码的表示范围是 128 127例如 X 1011010B X 补 10100110B通常计算机中的数用补码表示 用补码进行运算 一个很明显的优点是减法可以用补码的加法来运算 这里还要特别提示 溢出 的概念 溢出与进位不同 溢出是指有符号数的运算结果超出了数 128 127的表示范围 破坏了符号位 4 机器数与真值机器数 计算机中以二进制形式表示的数 真值 机器数所代表的数值 例如 机器数10001010B 它的真值为138 无符号数 10 原码 117 反码 118 补码 例1 5 怎样根据真值求补码 或根据补码求真值 答 只有两种求补码的方法 一是求负数的补码 用绝对值 取反加1 来求补码 二是求负数 补码 的真值 可先将该补码数用 取反加1 的方法得到其绝对值 再在绝对值前添加一负号 无符号的8位二进制数没有符号位 从D7 D0皆为数值位 所以8位无符号二进制数的表示范围是0 255 8位二进制数码的不同表达含义见表1 6 1 4 2无符号数 表1 6数的表示方法 1 589C51 S51单片机 51系列单片机有多种型号的产品 如普通型 51子系列 80C51 80C31 87C51和89C51等 增强型 52子系列 80C32 80C52 87C52和89C52等 它们的结构基本相同 其主要差别反映在存储器的配置上 80C31片内没有程序存储器 80C51内部设有4KB的掩膜ROM程序存储器 87C51是将80C51片内的ROM换成EPROM 89C51则换成4KB的闪速E2PROM 51增强型的程序存储器容量为普通型的2倍 通常以8 C51代表这一系列的单片机 其中 0 掩膜ROM 7 EPROM OTPROM 9 FlashROM 89系列单片机已经在片内增加4KB或8KB的FlashROM 而且整个89C51 89C52芯片比87C51便宜得多 所以现在已经没有人使用80C31或87C51开发产品了 单片机是典型的嵌入式系统 从体系结构到指令系统都是按照嵌入式应用特点专门设计的 能最好地满足面对控制对象 应用系统的嵌入 现场的可靠运行以及非凡的控制品质要求 因此 单片机是发展最快 品种最多 数量最大的嵌入式系统 嵌入式系统与单片机已深入到国民经济众多技术领域 从天上到地下 从军事 工业到家庭日常生活 在人类进入信息时代的今天 难以想像 没有单片机的世界将会怎样 本教程以ATMEL PHILIPS和SST等公司的89系列单片机中的 AT89C51 P89C51 SST89E554 以下简称为89C51 为典型机 讲述单片机的硬件结构 原理 接口技术 编程及其应用技术 舍弃80C31扩展EPROM的传统模式 而依据目标任务选择所需不同档次 片内不同存储器容量 的89系列单片机 AT89C系列单片机属常规类型 只能用通用编程器进行编辑 不能进行下载编程 AT89S系列单片机主要特点是具有ISP功能 也就是说 对AT89S芯片进行编程时 不需要将芯片从目标板上取下 只需用一根下载线即可对AT89S单片机进行下载编程 1 6思考题与习题 1 什么是微处理器 CPU 微机和单片机 2 单片机有哪些特点 3 微型计算机怎样执行一个程序 4 将下列各二进制数转换为十进制数及十六进制数 11010B 110100B 10101011B 11111B5 将下列各数转换为十六进制数及ASCII码 129D253D01000011BCD00101001BCD6 将下列十六进制数转换成二进制数和十进制数 5AH 0AE7 D2H 12BEH 0A85 6EH7 将下列十进制数转换成8421BCD码 22 986 71 1234 678 95 8 什么叫原码 反码及补码 9 已知原码如下 写出其补码和反码 其最高位为符号位 X 原 01011001 X 原 00111110 X 原 11011011 X 原 1111110010 当微机把下列数看成无符号数时 它们相应的十进制数为多少 若把它们看成是补码 最高位为符号位 那么相应的十进制数是多少 10001110 10110000 00010001 01110101
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!