收藏 分销(赏)

51系列单片机内部结构.doc

上传人:二*** 文档编号:4770455 上传时间:2024-10-12 格式:DOC 页数:12 大小:72KB
下载 相关 举报
51系列单片机内部结构.doc_第1页
第1页 / 共12页
本文档共12页,全文阅读请下载到手机保存,查看更方便
资源描述
- - 第一章:根底知识 1. 汇编指令是机器指令的助记符,同机器指令一一对应。 2. 每一种CPU都有自己的汇编指令集。 汇编语言开展至今,由以下三类指令组成: 1)汇编指令:机器码的助记符,有对应的机器码; 2)伪指令: 没有对应的机器码,由编译器执行,计算机并不执行; 3)其他符号:如:+,--,*,/等,由编译器识别,没有对应的机器码。 3. CPU可以直接使用的信息在存储器中存放。 4. 在存储器中指令和数据没有任何区别,都是二进制信息。 5. 存储单元从零开场顺序编号。 6. 一个存储单元可以存储8个bit〔用作单位写为“b〞〕,即8位二进制数 7. 1B=8b 1KB=1024b 1MB=1024KB 1GB=1024MB 1TB=1024GB 8. 每一个CPU芯片都有许多管脚,这些管脚和总线相连,也可以说这些管脚引出总线。一个CPU可以引出总线的宽度标志了这个CPU的不同方面的性能: V地址总线的宽度决定了CPU的寻址能力; Vv数据总线的宽度决定了CPU与其他器件进展数据传送时的 一次数据传送量; Vvv控制总线的宽度决定了CPU对系统中其他器件的控制能力; 9. 在每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件,这些器件通过总线相连。这些器件有:CPU,存储器,外围芯片组,扩展插槽等。扩展插槽上一般插有RAM存条和各类接口卡。 10. CPU对外部设备都不能直接控制,直接控制这些设备进展工作的是插在扩展插槽上的接口卡。扩展插槽通过总线和CPU相连,所以接口卡液通过总线同CPU相连。即CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进展工作。 第二章:单片机硬件构造 单片机的部终究有哪些局部组成的,它们都有些什么作用呢? 1.几个根本概念    上一课我们讲到了把编译后的指令下载到单片机后这条指令一定在单片机的某个地方,那么它终究在哪里呢?原来它就放在一个叫程序存储器的地方,英文名称ROM〔全称为Read Only Memory〕,叫只读存储器。它是一个什么东西呢?在讨论这个问题之前,让我们先来看几个物理现象:〔1〕数和物理现象的关系 不知大家是否还记得,在学习数字电路时我们曾用一盏灯的亮和灭来表示电平的高和低,即用“1〞来表示高电平,用“0〞来表示低电平,如果现在有两盏灯那它会有几种状态呢? 0 0 0 1 1 0 1 1 两盏灯的组合就是四种状态:00,01,10,11。如此看来灯的亮和灭这种物理现象同数字确实有着某种联系,如果我们把它们按一定的规律排列好,那么电平的高或低就可以用数字来表了,换句话说:不同的数字可以代表不同数量灯的电平高或低。比方: 0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111这十六种组合就可以代表四盏灯的状态,能理解吗? 〔2〕位及字节的含义     在单片机中,一盏灯〔实际上是一根线〕我们称它为一位,它有两种状态〔“0〞或“1〞〕,分别应电平的高或低,它是单片机最根本的数量单位,用BIT来表示。8盏灯〔八根线〕有256种状态,这8盏灯〔也就是8位〕我们把它称为一个字节,用BYTE表示。至于为什么要怎么规定,这就不需要你我操心了,我们只要记住就可以了。那么单片机是如何来储存这些数字所代表的字节的状态的呢?接着往下看: 2.半导体存储器的工作原理     存储器就是用来存放数据的地方,它其实是利用电平的高或低来存放数据的,也就是说,它实际上存放的是电平的高或低的状态,而不是我们所习惯上认为的“1234〞这样的数字。那它是如何工作的呢?一个存储器就象一个小抽屉,一个小抽屉里有8个小盒子每个小盒子用来存放1位“电荷〞,电荷通过与它相连的电线传进来或释放掉,至于电荷在小盒子里是怎样存放的,这就不用我们操心了,您可以把电线想象成水管,小盒子里的电荷就象是水,那就好理解了存储器中的1个小抽屉我们把它称之为1个“单元〞,相当于1个字节,而1个小盒子就相当于1位。      有了这么一个构造,我们就可以开场存放数据了,比方我们要放进一个数据“00011010〞,我们只要把第2号、第4号和第5号小盒子里存满电荷,而其它小盒子里的电荷给放掉就行了。可是问题又出来了,一个存储器有好多一样的单元,线是并联着的〔看D7-D0〕,在放入电荷的时候,会将电荷放入所有的字节单元中,而释放电荷的时候,会把每个单元中的电荷都放掉,这样的话,不管存储器有多少个字节单元,都只能放同一个数,这当然不是我们所希望的。 3.半导体存储器的译码 简单介绍一下:我们知道,1根线可以代表2种状态;2根线可以代表4种状态;3根线可以代表8种;256种状态又需要几根线代表?8根线,所以一片6264存储器我们只需要16根线就可以了。 4.存储器的选片及总线的概念 至此,译码的问题解决了,让我们再来关注另外一个问题:送入每个字节的8根线又是从什么地方来的呢?它就是从单片机的外部引脚上接过来的,一般这8根线除了接一个存储器之外,还要接其它的器件,这样问题又出来了,这8根线既然不是存储器和单片机之间专用的,如果总是将某个单元接在这8根线上,就不行了,比方这个存储器单元中的数值是“FFH〞,另一个存储器的单元是“00H〞,那么这根线到底是处于高电平,还是低电平?岂不是要打架看谁历害了?所以我们必须让它们别离。 方法当然也简单,当外面的线接到集成电路的引脚上来后,不直接接到各单元去,中间再加一组开关就行了。这组开关就是前面提到的控制器〔看前面的图〕,平时我们让开关翻开着,如果确实是要向这个存储器中写入数据,或要从存储器中读出数据,再让开关切换到相应的位置就行了。这组开关由三根引线选择读控制端、写控制端和片选端,要将数据写入,先由控制器选中该片,然后发出相应的写信号,开关切换到相应的位置,并将传过来的数据〔电荷〕写入片中;如果要读信号,先选中该片,然后发出读信号,开关也切换到相应的位置上,数据就被送出去了;另外读和写信号还同时受到译码器的控制,由于选端的不同,所以虽有读或写信号,但没有片选信号,所以另一个存储器就不会“误会〞而开门,造成冲突,那么会不会同时选中两个存储器呢?只要是设计好的系统就不会,因为它是由计算机来控制的,如果真的出现同时选中两个存储器的话,那就是电路出故障了。     如此看来,存储器要想写入或者读出数据还真是不简单,不过好在这些都是由计算机自动完成的,不需要我们去操心。从上面的介绍中我们已经看到,用来传递数据的8根线〔51单片机是8根〕并不是专用的,而是很多器件大家共用的,所以我们把它们称之为数据总线〔总线英文名为BUS〕,即公交道,谁都可以走;而16根地址线〔51单片机共有16根地址线,这些以后会讲解,这里不必死记硬背〕也是连在一起的,我们把它们称之为地址总线, 5.半导体存储器的分类 第一课中我们提到过,89C51是一种带Flash ROM的单片机,什么是Flash ROM?它到底是一种什么东西呢?ROM我们已经知道,是只读存储器,所谓只读,从字面上理解那就是只可以从里面读出数据,而不能写进去,它类似于我们的书本,发到我们手里之后,我们只能读里面的容,不可以随意更改书本上的容。ROM就是单片机中用来存放程序的地方,前面我们下载到单片机的指令就放在这个地方。讲到这里大家也许会感到困惑,既然ROM是只读存储器,那么指令又是如何进入其中的呢?其实所谓的只读只是针对正常工作情况下而言,也就是在使用这块存储器的时候,而不是指制造这块芯片的时候,只要让存储器满足一定的条件就能把数据预先写进去.     Flash ROM是一种快速存储式只读存储器,这种程序存储器的特点就是既可以电擦写,而且掉电后程序还能保存,编程寿命可以到达几千至几万次,所以我们的实验系统是可以反复烧写的,您尽管使用。目前新型的单片机都采用这种程序存储器;当然,除了这种程序存储器外,还有两种早期的程序存储器产品,简单介绍一下:PROM EPROM和EEPROM,PROM称之为可编程只读存储器,就象我们的练习本,买来的时候是空白的,可以写东西上去,可一旦写上去,就擦不掉了,所以它只能写一次,要是写错了,就报废了,习惯上我们把带这种程序存储器的单片机称为OTP型单片机,如果您的产品批量生产,又要求价格比拟低的话,带这种程序存储器的单片机是非常适宜的; EPROM,称之为紫外线擦除的可编程只读存储器,它里面的容写上去之后,如果觉得不满意,可以用一种特殊的方法去掉后重写,就是用紫外线照射,紫外线就象“消字灵〞,可以把字去掉,然后再重写,当然消的次数多了,也就不灵光了,所以这种芯片可以擦除的次数也是有限的——几百次吧,电脑上的BIOS芯片采用的就是这种构造的存储器;EEPROM,前一种存储器的擦写要用紫外线,而这种存储器可以直接用电擦写,比拟方便数据的改写,它有点类似于FLASH存储器,但比FLASH存储器速度要慢,现在新型的外部扩展存储器都是都是这种构造。    了解了ROM,让我们再来简单讲讲另一种存储器,叫随机存取存储器,也叫存,英文缩写为RAM〔Random Access Memory〕,它是一种既可以随时改写,也可以随时读出里面数据的存储器,类似于我们上课用的黑板,可以随时写东西上去,也可以用黑板擦随时擦掉重写,它也是单片机中重要的组成局部,单片机中有很多的功能存放器都与它有关。 二.工作存放器上一课我们已经讲过,在单片机中有许多的功能存放器和半导体存储器RAM有关,那么工作存放器又属于哪一局部呢?它是用来干什么的呢?要搞清楚这个问题,让我们先从日常生活中的一个例子说起,如我们要做一道数学题123+456,您会马上得出答案:579,接下来再看一道题: 123+456+789,要你马上得出答案就不那么容易了,通常我们会怎么做呢?一般总是先把123+456的结果 579写在一纸上,然后再算579+789=1368,这1368就是我们想要的最终结果,而579只是为了得到最终结果而暂时记下来的中间结果,单片机中做运算和我们生活中做运算一样,也需要把中间结果放在某个地方,那么计算机把它放在哪儿呢?前面我们提到的ROM〔只读存储器〕中,不行!因为ROM是用来存放程序的,它只能写进去,能读出来〔再次提醒一下,这只是相对而已〕,所以只能放在单片机的另一个区域—RAM中〔即随机存取存储器〕中。R7就是RAM区域中划出的一局部。知道了R7,接下来让我们来分析一下这段子程序〔延时程序〕。 单片机部构造〔三〕 1.时序的由来 已经知道单片机执行指令的过程就是顺序地从ROM〔程序存储器〕中取出指令一条一条的顺序执行,然后进展一系列的微操作控制,来完成各种指定的动作。它在协调部的各种动作时必须要有一定的顺序,换句话说,就是这一系列微操作控制信号在时间上要有一个严格的先后次序,这种次序就是单片机的时序。就好比学校上课时用的电铃,为了保证课堂秩序,学校就必须在铃声的统一协调下安排各个课程和活动。那么单片机的时序是如何规定的呢?接着往下看:   2.时序的周期  计算机每一次存储器的时间,我们把它称为一个机器周期,它是一个时间基准,就象我们日常生活中使用的秒一样,计算机中一个机器周期包括12 个振荡周期,什么是振荡周期?一个振荡周期是多少时间?振荡周期就是振荡源的周期,也就是我们使用的晶振的时间周期,一个12M 的晶振,它的时间周期是多少,如果电子技术学得好的朋友应该不难算出〔T=1/f〕,也就是1/12 〔微秒〕,那么使用12M 晶振的单片机,它的一个机器周期就应该等于12*1/12〔微秒〕,也就是1μS。 在MCS-51 系列单片机中,有些指令只要一个机器周期,而有些指令那么需要两个或三个机器周期,另外还有两条指令需要4 个机器周期,这也不难理解,你在家擦地板的话总比擦桌子的时间要长,不过我可是大男子主义,从来不做家务的。开句玩笑!!!如何衡量指令执行时间的长短?我们就要用到一个新的概念:指令周期—即执行一条指令所需的机器周期,INTEL 公司规定了每一条指令执行的机器周期,当然这不需要我们非把它记住,不过在这里DJNZ 指令我们是要记住的,它是双周期指令,执行一次需要两个机器周期,即2μS。〔12M 晶振的话〕,回到我们上一课的实验,延时的时间就应该算出来了吧,是62500*2μS=125000μS,也就是125mS 。这么大的数字也就0.125S,怪不得LED1 闪烁的这么快。二.单片机的时钟电路,单片机是在一定的时序控制下工作的,那么时序和时钟又有什么关系呢?时钟是时序的根底,单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路就要在唯一的时钟信号控制下按时序进展工作。那么单片机的时钟是如何产生的呢? 1.部时钟电路 在MCS-51 单片机的部有一个高增益的反相放大器,其输入端为引脚XTL1〔19〕,输出端为XTL2 我们只要在外部接上两个电容和一个晶振,就能构成一个稳定的自激振荡器,它的部电路的工作原理就不介绍了,这里主要讲一下电容和晶振的选择,看上面的图,晶振的大小与单片机的振荡频率有关,我们到串行接口时再详细讲解,电容的大小影响着振荡器振荡的稳定性和起振的快速性,通常选择10-30P 的瓷片电容或校正电容;另外在设计电路时,晶振和电容应尽可能的靠近芯片,以减少PCB 板的分布电容保证振荡器振荡工作的稳定性,提高系统的抗干扰能力 2.外部时钟电路 除了部时钟方式外,单片机还可以采用外部引入时钟的振荡方式,什么时候需要采用外部时钟方式呢?当我们的系统由多片单片机组成时,为了保证各单片机之间时钟信号的同步,就应当引入唯一的公用的外部脉冲信号作为各单片机的振荡脉冲,此时应将XTAL2 悬空不用,外部脉冲信号由XTAL1 引入,如上右图所示,外部信号的上下电平持续时间应大于20mS 三.单片机并行口的构造分析先来看看输入构造: 1.输入构造 I/O 口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的容读入到部总线,经过某种运算或变换后再写回到端口锁存器。比方取反,置位,清零等等指令;而读端口时才真正地把外部的数据读入到部总线,图中的两个三角形表示的就是输入缓冲器,CPU 将根据不同的指令,分别发出“读端口〞或“读引脚〞信号,以完成不同的操作,这是硬件自动完成的,不需要我们操心。 读引脚时,也就是把端口作为外部输入线时,首先要通过外部指令把端口锁存器置“1〞,然后再实行读引脚操作,否那么就可能读入出错。为什么?看上面的图,如果不对端口置“1〞,端口锁存器原来的状态有可能为“0〞〔Q 端为0,Q^为1〕加到场效应管栅极的信号为“1〞,该场效应管就导通,对地呈现低阻抗,此时即使引脚上输入的信号为“1〞,也会因端口的低阻抗而使信号变低,使得外加的“1〞信号读入后不一定是“1〞,假设先执行置“1〞操作,那么可以使场效应管截止,引脚信号直接加到三态缓冲器中,实现正确的读入。由于在输入操作时还必须附加一个准备动作,所以这类I/O 口被称为“准双向〞口,MCS-51 的P0,P1,P2,P3 口作为输入/输出口时都是“准双向〞口。接下来让我们再看另一个问题,从图中可以看出,这四个端口还有一个差异,除了P1 口外,P0,P2,P3 口都还有第二功能,这些第二功能又是作什么用的呢?  2.端口的工作原理〔1〕。P0 口 先来看P0 口,从图中可以看到,P0 口的部有一个2 选1 的选择器,受部信号的控制,如果在图中的位置那么处在I/O 口工作方式,此时相当于一个“准双向口〞,输入时须先将口置“1〞,每根口线可以独立定义为输入或输出,但是须在口线上加上拉电阻。如果将开关往另一个方向,那么就是另一个功能—作为地址/数据复用总线用,此时不能逐位定义为输入/输出,它有两种用法:当作数据总线用时,输入8 位数据;而当作地址总线用时,那么输出8 位地址。再强调一点,当P0 口作为地址/数据总线用之后,就再也不能作I/O 口使用了。讲到这里,也许大家会感到困惑,什么叫作地址/数据复用?这其实是当单片机的并行口不够用时,需要扩展输入输出口时的一种用法,知道了P0 口,再来看P1 口。  〔2〕P1 口 同P0 不同,P1 口只能作为I/O 口使用,但它的部有一个上拉电阻,所以连接外围负载时不需要外接上拉电阻,这一点P1,P2,P3 都一样,. 〔3〕P2 口 P2 口作为I/O 口线用时,与P0 口一样,当部开关向另一个方向时,即作地址输出时,可以输出程序存储器或外部数据存储器的高8 位地址,并与P0 口输出的低地址一起构成16 位的地址线,从而可以分别寻址64K 的程序存储器或外部数据存储器,同样地址线是8 位一起自动输出的,不能象I/O 口线那样逐位定义。  〔4〕P3 口 P3 口作为I/O 口线用时,同P1 口一样,也是“准双向口〞;不同的是,P3 口的每一位都有另一种功能,也叫第二功能,各位的功能如下,它们的具体作用我们用到时再详细解释。 既然单片机的引脚有第二功能,那么CPU 是如何来区分的呢?这是一个令许多初学者困惑的问题,其实单片机的第二功能是不需要人工干预的,也就是说只要CPU 执行到相应的指令,就自动转成了第二功能。了解了各个I/O 口的功能和作用,再来给大家讲解一下单片机I/O 与外围电路的连接方法。 四.单片机I/O 口的连接方法 当单片机的I/O 口作输出时可以直接与外部设备连接,不过由于在实际的应用中,由于其驱动电流是有限的〔P0 口10mA,P1,P2,P3 口20mA〕,所以我们常常需要通过接口电路来扩展它的驱动能力,在单片机的后向通道控制系统中,常用的功率控制器件有机械继电器、晶闸管、固态继电器等等,下面我们将以机械继电器和固态继电器的应用为例介绍其具体的使用方法。 1.单片机与机械继电器的接口 单片机的一个I/O 口只能灌入20mA 的电流,所以往往缺乏以驱动一些功率开关〔比方稍大一点的机械继电器等〕,此时,就应该采用必要的扩展电路,如何来实现单片机与机械继电器的接口呢?其实很简单,我们通常采用下面的接法〔如图〕,为了防止前向通道信号的干扰,常采用一些光电隔离器件,比方光电耦合器4N25,PC814 等,当单片机的P1.0 脚输出为低电平时,光藕受电导通,Q1 饱和开通,继电器吸合,负载电路接通。这里请注意☺:P0-P3 口作输出控制端时,应尽量采用低电平控制方法,这是因为在低电平时,I/O 口允许灌入的电流比高电平时要大,一般情况下,低电平的灌入电流为高电平的4 倍。 另外为了防止电压间的互相干扰,继电器的工作电压VDD 与单片机的工作电压VCC 不要使用同一个电源,接地端也不要连在一起,即所谓的模拟地与数字地分开,驱动管的电流要大于继电器的工作电流,其他的元件就不讲了,大家自行分析一下。讲了单片机与继电器的接口,再来介绍与固态继电器的接口方法,接着往下看: 2.单片机与固态继电器的接口 普通继电器由于开关速度慢、易跳火、易机械磨损,通常用于要求不高的场合,在某些特殊应用场合,比方防火、防爆等系统中,那么应采用固态继电器。固态继电器是一种无触点的电子继电器,它的输入端只要很小的控制电流,可以与单片机的I/O 口直接连接;输出那么采用双向晶闸管控制,其输入输出间均通过部光电耦合器隔离,可以防止信号间的干扰,是单片机接口的理想器件,随着其技术的成熟,应用的广泛,价格也已经非常的廉价,1A/250V 的目前在10 元左右,它与单片机的连接方法如下图,当“-〞端所接的P1.0 为低电平时,SSR 导通,负载工作。除了以上两种连接方法外,单片机与TTL,CMOS 管等都可以连接。 - word.zl
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服