单片机原理及接口技术总结_第1页
单片机原理及接口技术总结_第2页
单片机原理及接口技术总结_第3页
单片机原理及接口技术总结_第4页
单片机原理及接口技术总结_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 23 单片机原理及接口技术总结 微机原理概述 迄今为止,所有计算机的组成结构都是冯诺伊曼型的,即:它是执行存储器中程序而工作的。计算机执行程序是自动按序进行的,毋需人工干预,程序和数据由输入设备输入存储器,执行程序所获得的运算结果由输出设备输出。因此,计算机通常有运算控制部件、存储器部件、输入设备和输出设备四部分组成,如图 2-1所示。 图 2-1 计算机组成框图 输入设备能自动把人们编好的解题程序和原始数据转换成计算机能识别的二进制数码,送到存储器存放起来。常用 的输入设备有键盘、纸带输入机和卡片读入机,等等。此外,当计算机从磁盘上读入程序和数据时,磁盘驱动器也是作为输入设备而工作的。因此,输入设备是计算机输入解题程序和原始数据不可缺少的部件。 运算控制器有运算器和控制器两部分电子线路组成,是计算机赖以工作的核心部件。运算器主要包括加法器、移位、判断和寄存器电路等等,用于进行算术运算和逻辑操作;控制器由指令寄存器、指令译码器和控制电路等组成,是整个计算机的中枢,它根据指令码指挥着运算器、存储器、输入设备和输出设备自动协调地工作。因此,运算器和控制器唇齿相 依,融为一体。过去,运算器和控制器采用电子管、2 / 23 晶体管和集成电路芯片组成,体积十分庞大。现在,运算器和控制器通常集成在单块或几块大规模集成电路芯片内,人们称为中央处理单元促 CPU, 即微处理器。 通常,存储器分为内存储器和外存储器两种。内存储器工作速度快,但存储容量有限,过去采用磁心存储器,现在毫无例外地采用半导体存储器。外存储器称为海量存储器,它存储容量大,但存取速度慢,如磁盘、磁鼓、磁带和光盘等等。微型计算机中用的最广泛的是软磁盘和硬磁盘两种外存储器。 输出设备用于输出计算机的中间 结果和最终结果,也可以输出原始程序和实时信息。常见的输出设备有 CRT 显示器、打印机、绘图机和电传打字机,等等。外存储器,当它存储数据时也可以看作输出设备。因此,外存储器是一种既可以作输 入又可以作输出设备。常常称之为输入 /输出设备。 上述四部分统称为计算机硬件,各部分相互独立,但又相互相连,组成一个有机整体。其中,中央处理器 CPU和内存储器又称为计算机的主机;输入 /输出设备统称为外部设备或 I/O设备。 微型计算机的基本机构 微型计算机是在中小型计算机基础上发展 起来的,并以大规模集成电路技术为条件的一种新型计算机。因此,3 / 23 它在结构上和通用计算机十分相似,但也有独到之处。和其它计算机相比,微型计算机的最大特点是采用总线结构,其中三总线结构尤为普遍,目前已成为微型计算机的一种基本结构,如图 2-2所示。 图 2-2 微型计算机的基本结构 由图 2-2 可见,微处理器 MPU 是通过 AB、 DB 和 CD三总线同 ROM存储器、 RAM 存储器及 I/O接口相连的 ,虽然这个结构并不复杂,但并不好理解。为此,在分析微型计算机基本工作原理前,先对图中各部件作基本介绍是十分必要的。 ROM和 RAM 存储器 这里的 RM 和 RAM是半导体存储器,是一种采用大规模或超大规模集成电路工艺制成的存储器芯片。这种芯片体积小、重量轻、集成度高,现已制成包含 亿只晶体管的 8MBDRAM芯片 ,并已投放市场。 ROM 存储器是一种在正常工作时只能读不能写的存储器,故它通常用来存放固定程序和常数,固定程序和常数是利用特殊手段存放进去的,一旦写入便能长期保存,需要时便可读出使用。 ROM种类虽然很多 ,但常按存储容量分类。例如: 4K 8 ROM最多可以存放 4096 个 8 位二进制数。每片ROM 上都有用于传送信号的引脚线。这些引线共分四组,地址线用于输送 ROM 的地址码:数据线是双向的,可以为芯片4 / 23 传送读 /写数据;控制线用于传送控制信号 ,以控制芯片是否工作以及是读还是写等等;电源线可以供给芯片 +5V 直流电源。在这些引脚线中地址线及数据线条数和芯片的存储容量有关。地址线越多,存储容量就越大; 数据线越多,每个二进制数的位数就越长。 RAM 存储器是一种在正常工作时既能读又能写的存储器,故它通常用来存放原始数据、中间结果、最终结果和实时数据等。 RAM 中存入的信 息不能长久保存,停电后便立即消失,故它又称为易失性存储器。 RAM 存储器的规格品种也很多,如 4KB、 8KB、 32KB、 64KB、 256Kb、 1MB,等等。 ROM和 RAM 的内部结构大致相同,所不同的是存储每位二进制数码的基本电路不一样。 ROM 的基本存储电路采用特殊的 FAMOS 管 ,由 FAMOS 管浮栅内有电荷和无电荷表示存“ 0”还是存“ 1”; RAM的基本存储电路是触发器,用触发器的两个暂稳状态来表示存“ 0”或存“ 1”。为使读者对存储器内部结构有一个基本了解,我们在图 2-3中示出了一个容量为 16 8 RAM芯片的内部结构。 图 2-3 16 8 RAM 的内部结构框图 由图中可见, A3 A0为地址线,共 4条,传送地址码; D7 D0是数据线,共 8条,传送一个二进制数的八位;RD 和 WR 为控制线 ,传送读 /写控制信号,存储阵列是芯片的主体,它有 16个地址单元,分别对应于 4 条地址线的 16种5 / 23 组合,每个地址单元有 8 个触发器,用于存储一个八位二进制数,故它可以存储 16个八位二进制数。在 16个地址单元中,哪一个工作是由地址译码器输出的 16 条地址选择线中哪一条为高电平决定的。地址译码器的译码信号由地址 译码器输出的 16 条地址选择线中哪一条为高电平决定的。地址译码器的译码信号由地址线上地址译码经地址寄存器暂存后送来。因此,地址线条数和存储容量间关系通常为: 存储容量 =2n 其中, n为地址线条数。数据线条数和每个地址单元中二进制数位数一一对应,并应和所有地址单元中的基本存储电路相通。 对于一个有 16条地址线和 8条数据线的 ROM存储器,如果它的 16 条地址线皆为高电平,则必定选中读出 FFFFH号地址单元中的内容,且读出数据是送到数据线上的;如果16条地址线上的地址码为 0000H,则必定选中 0000H 单元工作。因此,一个有 16 条地址线的存储器,其存储器容量的地址范围为 0000H FFFFH,共 64KB。 微处理器 MPU 现代微处理器 MPU 的内部结构极其复杂,要像电子线路那样画出它的全部原理图来加以分析介绍是根本不可能的,为了弄清它的基本工作原理,现以图 2-4中的模型机框图为例加以概述。 6 / 23 运算器 运算器用于对二进制数进行算术运算和逻辑操作;其操作顺序是在控制器控制下进行的。运算器由算术逻辑单元 ALU、累加器 A、通用寄存器 R0、暂存器 TMP 和状态寄存器 PSW等五部分组成。 图 2-4 模型 MPU 结构框图 累加器 A是一个具有输入 /输出能力的移位寄存器,由 8个触发器组成。累加器 A在加法前用于存放一个操作数。加法操作适用于存放两数之和,以便再次累加,故因此得名。TMP为暂存器,也是一个 8 位寄存器,用于暂存另一操作数。ALU 为算术逻辑单元,主要由加法器、移位电路和判断电路等组成,用于对累加器 A 和暂存器 TMP中两个操作数进行四则运算和逻辑操作。 PSW 为程序状态宇,也由八位触发器组成,用于存放 ALU 操作过程中形成的状态。例如:累加 器 A中的运算结果是否为零,最高位是否有进位或借位,低四位向高四位是否有进位或借位,等等,都可以记录到 PSW中去。R0为通用寄存器 GR,用于存放操作数或运算结果。 控制器 控制器是发布操作命令的机构,是计算机的指挥中心,相当于人脑的神经中枢、控制器由指令部件、时序部件和微操作控制部件等三部分组成。 指令部件:是一种能对指令进行分析、处理和产7 / 23 生控制信号的逻辑部件,也是控制器的核心。通常,指令部件由程序计数器 PC、指令寄存器 IR 和指令译码器 IS 等三部分组成。 指令 是一种能供机器执行的控制代码,有操作码和地址码两部分,指令不同, 相应的代码长度也不一样。因此,指令可分为单字节、双字节和三字节指令,等等。指令的有序组合称为程序,程序必须先放在存储器内,机器执行程序应从第一条指令开始逐条执行。这就需要有一个专门寄存器用来存放当前要执行指令的内存地址,这个寄存器就是程序计数器 PC。当机器根据 PC中地址取出要执行指令的一个字节后, PC就自动加 1,指向指令的下一字节,为机器下次取这个字节时作好准备。在 8 位微处理器 MPU中,程序计数器通常为 16位。 指令寄存 器 IR有八位长,用于存放从存储器中取出的当前要执行指令的指令码。该指令码在 IR 中得到寄存和缓冲后被送到指令译码器 ID 中译码,指令操作码译码后就知道该指令进行哪种操作,并在时序部件帮助下去推动微操作控制部件完成指令的执行。 时序部件:由时钟系统和脉冲分配器组成,用于产生微操作控制部件所需的定时脉冲信号。其中,时钟系统产生机器的时钟脉冲序列,脉冲分配器又称“节拍发生器”,用于产生节拍电位和节拍脉冲。 8 / 23 微操作控制部件:可以为 ID输出信号配上节拍电位和节拍脉冲,也可和外部进来的控制信号组 合,共同形成相应的微操作控制序列,以完成规定的操作。 地址总线、数据总线和控制总线 所谓总线是指信息传送的公共通道,实际上是印刷电路板上的短路线,这些短路线是沟通微型计算机各种器件的桥梁。 地址总线 AB 地址总线 AB 也叫地址母线 ,因其上仅传送 MPU 的地址码而得名。当微处理器 MPU和存储器或外部设备交换信息时,必须指明要和哪个存储单元或哪个外部设备交换。因此,地址总线 AB 必须和所有存储器的地址线对应相连,也必须和所有 I/O接口的设备码线相连。这样,当微处理器 MPU对存储器或外设读 /写数据时,只要把存储单元的地址码或外部的设备码送到地址总线上便可选中它们工作 ,地址总线条数由所选 MPU型号决定 .在 8 位机中它通常为 16条。 数据总线 数据总线也叫“数据母线”,因其上传送的是数据和指令码而得名。数据总线条数常和所用微处理器字长相等,但也有内部为 16 位运算而外部仍为 8 位数据总线的情况。由于 MPU 有时需要把数据写入存储器或从外设输出数据,有时又需要从存储器或输入设备输人数据,因此数据总线是双9 / 23 向的。在 8位机中,数据总线通常有 8条。 控 制总线 CB 控制总线也叫控制母线,用于传送各类控制信号。控制总线条数因机器而异,每条控制线最多传送两个控制信号。控制信号有两类:一类是 MPU 发出的控制命令,如读命令、写命令、中断响应信号等;另一类是存储器或外设的状态信息,如外设的中断请求、复位、总线请求和中断请求,等等。 总之,微果汁算机采用总线结构是一大特点,它使得存储器扩充和 I/O接口板 第 0 章 考试需掌握: 二进制,十进制,十六进制数之间的转换 数的加减运算 通过数的 运算,判断 CY和 OV的值 作业如下 : 求二进制 28、 -28、 100、 -130、 250、 -347、 928、-928的原码和补码再加一 如: -28的原码为 10011100B=9CH 反码为 11100011B 补码为 11100011B+1=11100100B=E4H 用补码运算完成下列算式,并指出溢出 OV和进位 CY。 10 / 23 33H+5AH-29H-5DH65H-3EH 4CH-68H 步骤:先把题目所给的数化成补码的形式, 接着列式计算 如: -29H-5DH 补 =11010111B 补 =10100011B 补码运算:补 + 补 =11010111B+10100011B= 01111010B=7AH 所以 OV=1CY=1 第 1章 考试需掌握: 1. 单片机的组成部件: P16 2. 程序计数器 PC是一个自动加 1的 16位寄存器,作用是指向下一指令地址 3. 我们课本学的微型计算机的存储器地址空间的结构形式为哈佛结构 4. 8XX51 单片机有 21字节的特殊功能寄存器 SFR,看 P21 5. SP堆栈指针,遵循先加后压,先弹后减的顺序 6. DPTR 为 16位寄存器 7. P24 表 1-4要背 8. P23 会计算 4 种周期 11 / 23 作业如下 : 在单片机内部 RAM 中,哪些字节有位寻址,哪些没有位寻址?特殊功能 寄存器 SFR 中哪些可以位寻址?位寻址有什么好处? P19到 P20 若单片机使用频率为 6MHz的晶振 ,那么振荡周期,状态周期,机器周 期和指令周期分别是多少 ? P23 振荡周期 =1/fosc=1/6= s 状态周期 =2/fosc=2/6= s 机器周期 =12/fosc=12/6=2 s 指令周期 =2-4 s 复位时, A= 00H , PSW= 00H, SP= 07H ,P0P3=FFH 第 2章 考试需掌握: 全章的知识都要熟 作业如下: 1.试编程将片外 RAM 40H单元中内容与 R1的内容互换 MOV R0 ,#40H MOVX A ,R0 12 / 23 XCH R1 ,A MOVX R0, A 设 A=0,执行下列两条指令后, A的内容是否相同,说明理由。 MOVC A,A+DPTR MOVX A,DPTR 答:当 A=0 时,两条指令的地址虽然相同,但操作码不同, MOVC 是寻址程序存储器, MOVX 是寻址外部数据存储器,送人 A的是两个不同存储空间的内容。 指出下列指令中操作数的寻址方式: 法指令中为寄存器寻址,在其他指令中为直接寻址;除了, DPTR,R0-R7 为寄存器寻址 设 SP=60H,内部 RAM 的 =24H,=10H,在下列程序段 注释的括号中填执行结果。 PUSH 30H; SP=, = PUSH 31H; SP=, = POP DPL; SP=, = POP DPH; SP=, = MOV A,#00H MOVX DPTR,A 注意: PUSH dir完成的操作为先修改指针,再入栈 POPdir完成的操作为先出栈,再修改指针 13 / 23 第 3 章 考试需掌握: 1. 简单的编程 作业如下: 1. 设 8031 使用 6MHz晶振,试设计延迟 100ms的延时程序。 2. 编一子程序,求出 20H 中有符号数的二进制补码再送回 20H 分析:先判断 20H 中的数是正数还是负数,若是正数,直接送回,若是负数,要求补码再送回。 MOVA,20H JB , CPLL ; 如为负数转 CPLL SJMP $ ;为正数,补码 =原码 CPLL: CPL A ;取反 ADD A,#1 ;加 1得补码 MOV 20H,A;再送回 21H单元 SJMP $ 3. 编程试判断 A 中的正负,若为正数,存入 20H 单元,若为负数存入 21H单 元中。 MOV B,A ANL A,#80H 14 / 23 JZ ABC MOV 21H,B SJMP $ ABC: MOV 20H,B SJMP $ 4. 已知: A=OC9H, B=8DH, CY=1,执行指令“ ADDC A,B”后结果 A=? CY=? OV=? AC=? P=? 若执行指令“ SUBB A, B”后结果有如何? 解:具体计算过程自己写 A=01010111B=57HCY=1 OV=1 AC=1 P=1 A=00111011B=3BHCY=0 OV=1 AC=1 P=1 注意:判断有无溢出的时候要看最高位与次高位是否同时有进位或借位,若同时有或没有,则没有溢出,若不同时有或没有,则有溢出 第 5章 考试需掌握: 4个并行口 P0-P4的功能 P88 这章没有作业 第 6 章 考试需掌握: 个中断源及它们的中断入口地址 15 / 23 2.中断控制的有关寄存器 P102, P103 3.中断优先顺序 P103,外部中断 0 定时器 0 中断 外部中断 1定时器 1 中断串行口中断 4. 中断程序设计的格式: ORG 0000H LJMP MAIN ORG中断入口地址 LJMP INT MAIN: 主程序 INT: 中断服务程序 作业如下 : 1. 若允许片内 2 个定时器 /计数器中断,禁止其他中断源的中断请求,分别用位操作指令和字节操作指令编写设置 IE的相应程序段。 解:这道题很简单,只需要知道中断控制寄存器 IE的格式即可 P102位操作指令 CLR ES ; 禁止串行口中断 CLR EX1; 禁止外部中断 0 中断 CLR EX0; 禁止外部中断 1 中断 SETB ET1 ;允许定时器 /计数器 T1中断 SETB ET0 ;允许定时器 /计数器 T1中断 SETB EA ; CPU 开中断 16 / 23 字节指令 MOV IE ,#8AH 用 8XX51 的 P1 口接 8 个 LED 发光二极管,由 INT0接一消抖开关,开始 的 LED 亮,以后每中断一次,下一个 LED 亮, 顺序下移,且每次只一个 LED 亮,周而复始。画出电路图,并编制程序。 注: 采用中断时常用的主程序结构如下: ORG 0000H LJMP MAIN ORG中断入口地址 LJMP INT MAIN: 主程序 INT: 中断服务程序 注:要记住 51单片机的 5个中断源的入口地址 ORG 0000H AJMP MAIN ORG 0003H RL A MOV P1, A RETI MAIN: MOV A, #0FEH 17 / 23 MOV P1, A SETB EA SETB EX0 SETB IT0 SJMP $ 在题电路的基础上,要求 8 个 LED 同时亮或同时灭,每中断一次,变反 一次,编出程序。 ORG 0000H AJMP MAIN ORG 0003H AJMPLED ORG 0030H MAIN: MOV IE,#81H CLR IT0 MOV P1, #00H SJMP $ LED:CLRA MOVA ,P1 CPLA MOV P1,A CLRIE0 18 / 23 RETI 第 7章 考试需掌握: 1.定时由晶振决定,计数与外部引脚有关 2.熟悉寄存器 TMOD,TCONP112, P113 3.定时 /计数器的初始 化编程步骤: P115 根据定时时间要求或计数要求计算计数器初值 将工作方式控制字写入 TMOD寄存器 将计数初值写入 THx和 TLx寄存器 启动定时器,即将 TRx置位 作业如下: 利用 8XX51 的 T0 计数,每计 10 个脉冲,变反一次,用查询和中断两 种方式编程。 分析:要先计算计数初值参照 P115的例 7-1 的解题步骤 查询方式: ORG 0000H MOV TMOD,#06H 单片机原理及接口技 术课程设计 目录 19 / 23 摘要 .2 1. 绪论 .2 问 题 的 提出 2 设 计 的 意义 3 设 计 的 内容 3 2. 串 行 通 信 原理 .3 串行通信的基本知识 .3 异 步 通 信 与 同 步 通信 .4 异 步 通信 4 同 步 通信 .6 串 行 通 信 传 输 方20 / 23 向 6 3. USB 设备原理 .6 USB 设备 6 传 输 方式 7 4. 单片机和 PC 机通过 USB 实现串行通信设计 .9 硬 件 电 路 设计 .9 PC 机与 USB 通 信 程 序 设计 10 5. 设计总结 12 参考文献 .13 USB与 PC 通信 摘 要 基于串 口通讯的原理,分析和讨论了计算机与单片机如何通过 USB接口使用相关的通讯协议实现串行通信的。本设计主要介绍如何使用一台计算机与一台单片机21 / 23 通过 USB 接口实现串行通信。在本设计中,单片机采用AT89C51, USB 转接芯片 CH341T;软件设计方面, PC 机采用C 语言编程,单片机方面用中断方式完成数据的接收和发送,程序开发采用汇编语言和 Keil C语言 关键词 PC 机 单片机 USB 串行通信 1. 绪论 问题的提出 通信是指不同的独立系统利用线路互相交换数据,它 的主要目的是将数据从一端传送到另一端,实现数据的交换。在现代工业控制中,通常采用计算机作为上位机与下层的实时控制与监测设备进行通讯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论