版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目七:程序存储器的扩展项目目标项目任务项目分析项目预备知识知识点链接项目实施项目七:程序存储器的扩展项目目标
项目目标通过调用不同程序存储器中的程序,观察控制现象,学习程序存储器扩展的方法,理解扩展程序存储器的意义,掌握INC、DEC、JZ、JNZ指令的功能并编写控制程序。项目目标项目任务应用AT89C51芯片和程序存储器芯片,实现单片机系统程序存储器的扩展。项目分析
本项目通过编写不同的程序存储于不同的程序存储器(片内和片外),学习程序存储器扩展和读取程序的方法。
项目任务1、累加器A的逻辑操作指令在MCS-51指令系统中,为了使用方便,特别设计了7条对累加器A的逻辑操作指令,包括清零、取反、移位和高低半字节交换,其中的移位指令已经在项目二中进行了学习,下面我们学习其余指令。汇编指令指令功能清零:CLRA将A的内容清成00H取反:CPLA将A中内容按位取反半字节交换:SWAPA将A中高低半字节交换
以上指令都是单字节指令,除标志位P外,PSW中其余各位均不受影响。项目预备知识:汇编指令学习1、累加器A的逻辑操作指令项目预备知识:汇编指令学习2、加1、减1指令
加1指令又称为增量指令,共有5条指令;减1指令又称减量指令,有4条。和加法、减法指令所不同的是,除奇偶标志位外,这些指令的操作不影响PSW中的标志位。1)加1指令汇编指令指令功能
INCA累加器内容加1INCdirect直接地址单元内容加1INCRn通用寄存器内容加1INC@Ri寄存器Ri指向的地址单元中的内容加1,结果送回原地址单元中INCDPTR数据指针EPTR内容加1
例如,(30H)=22H,执行INC30H后,(30H)=23H。2、加1、减1指令加1指令又称为增本组指令将操作数内容加1,结果仍然送回原地址存放,如果原地址单元中内容为0FFH,加1后将要变为00H,运算结果不影响任何标志位。指令中前4条是8位数加1指令,可以用来对指定的片内RAM单元操作,第5条指令是16位数的加1指令,运算过程中,若有低8位(DPL)向高8位(DPH)的进位,直接进位即可。这也是MCS-51指令系统中唯一的一条16位算术运算指令。本组指令将操作数内容加1,结果仍然送回原地址存放2)减1指令
汇编指令指令功能DECA累加器内容减1DECdirect直接地址单元内容减1DECRn通用寄存器内容减1DEC@Ri寄存器Ri指向的地址单元中的内容减1,结果送回原地址单元中本组指令将操作数减1,结果仍送回原地址单元,若原指定单元中的内容为00H,减1后将变为0FFH,运算结构也不影响任何标志位。这4条指令全是8位数减1指令,若需要对16位数进行减1操作,可通过简单的编程实现。例如,R0=30H,(30H)=22H,执行DECR0后,(30H)=21H。2)减1指令汇编3、累加器A的判零转移指令
汇编指令指令功能JZrel若(A)=0,则程序转移;否则顺序执行JNZrel若(A)≠0,则程序转移;否则顺序执行这两条指令是以累加器A的内容是否为零作为程序是否转移的条件。3、累加器A的判零转移指令汇编指令一、单片机应用系统组成
单个的单片机芯片用途是有限的,它往往要和其他具有专门用途的芯片组成单片机应用系统,才会更好的发挥它在控制方面的优势。单片机应用系统的组成特点之一就是单片机、存储器、I/O口、外设控制均以芯片的形式存在。典型单片机应用系统的硬件组成框图如图所示。知识点链接:单片机系统扩展技术一、单片机应用系统组成知
MCS51系统单片机(8031、8032除外)尽管是一功能完全的单片机,但因其内部资源(RAM、ROM、I/O、A/D、D/A等)不足,在实际应用中不加以扩展直接用其基本系统的情况较少,一般情况下需扩展。单片机扩展的首要问题就是构造系统总线,然后再往系统总线上“挂”存储芯片或I/O接口芯片。MCS-51系列单片机片外引脚可以构成三总线结构:
地址总线(AB)数据总线(DB)控制总线(CB)所有外部芯片都通过这三组总线进行扩展二、外部总线的扩展MCS51系统单片机(8031、8032除外)尽管单片机扩展构造图单片机扩展构造图1)地址总线(AB)地址总线宽度为16位,寻址可达64KB。地址总线由P0口提供地址的低8位,P2口提供地址的高8位。由于P0口是数据/地址复用线,只能分时使用,故P0口先输出的地址低8位只能锁存到地址锁存器中保存。P2口具有输出锁存功能,故不需外加锁存器便可保存地址高8位。P0口和P2口作系统扩展的地址线后,便不能再作一般的I/O口使用。程序存储器的扩展-课件2)数据总线(DB)
数据总线由P0口提供,其宽度为8位,该口为三态双向口,是应用系统中使用最为频繁的通道。单片机与外部交换的数据、指令、信息大部分由P0口传送。通常系统数据总线上连有很多芯片,而在某一时刻,数据总线上只能有一个有效的数据,究竟哪个芯片的数据有效,则由地址信号控制各个芯片的片选端来选择。2)数据总线(DB)3)控制总线单片机控制信号有PSEN、WR、RD、ALE和EA。PSEN:用于片外程序存存储器(EPROM)的“读”控制,实际上就是取指令选通控制(低电平有效)。WR、RD:用于片外数据存储器(包括其它接口芯片)的“读”、“写”控制(低电平有效)
。ALE:用于锁存P0口上地址低8位的控制线。EA:用于选择片内或片外程序存储器。当EA=0时,只访问外部程序存储器,不管片内有无程序存储器,因此使用片内ROM时EA=1。3)控制总线作为数据/地址复用总线,P0口可驱动8个TTL门电路,P1、P2、P3只能驱动4个TTL门电路。当应用系统规模较大、超过其负载能力时,系统便不能稳定可靠地工作。在这种情况下,系统设计时应加总线驱动器,以增强系统总线的驱动能力。常被用户选择的有单向总线驱动器74LS244、74LS273,双向驱动器74LS245等芯片。如下图7-8所示,74LS273作8位并行输出接口,74LS244作8位并行输入接口。74LS244是一个三态输出八缓冲器及总线驱动器,其带负载能力强,可直接驱动小于130Ω的负载。总线驱动能力作为数据/地址复用总线,P0口可驱动8芯片功能介绍
(1)74LS244三态缓冲器(24路)
1G状态输入/输出1高阻隔离0驱动输入=输出
74LS244三态缓冲器功能表
芯片功能介绍(1)74LS244三态缓冲器(24路) 1主要功能:数据保持(锁存)8D~1D:8位数据输入;8Q~1Q:8位数据输出;CLK:时钟信号,上升沿数据锁存;CLR:清除端典型芯片:带清除端的8D锁存器(2)74LS2738D锁存器主要功能:数据保持(锁存)8D~1D:8位数据输入;典型芯片74LS273只有清除端为高电平才具锁存功能锁存器控制较CLK,上升沿锁存数据。单片机ALE引脚需接反相器输入输出CLRCLKDQL××LH↑HHH↑LLHL×Q不变74LS273功能表当CLK由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。74LS273只有清除端为高电平才具锁存功能输入输出CL(3)用74LS273和74LS244扩展I/O口(3)用74LS273和74LS244扩展I/O口程序存储器的扩展-课件芯片及连线说明P0口作为双向8位数据线,既能够从74LS244输入数据,又能够从74LS273输出数据。输入控制信号由P2.7和相“或”后形成。当二者都为0时,74LS244的控制端有效,选通74LS244,外部的信息输入到P0数据总线上。当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。芯片及连线说明输出控制信号由P2.7和相“或”后形成。当二者都为0后,74LS273的控制端有效,选通74LS273,P0上的数据锁存到74LS273的输出端,控制发光二极管LED,当某线输出为0时,相应的LED发光。
I/O口地址确定因为74LS244和74LS273都是在P2.7为0时被选通的,所以二者的口地址都为7FFFH(这个地址不是惟一的,只要保证P2.7=0,其它地址位无关)。但是由于分别由RD和WR控制,因而两个信号不可能同时为0(执行输入指令,如MOVXA,DPTR时,RD有效;执行输出指令,如MOVXDPTR,A时,WR有效),所以逻辑上二者不会发生冲突。输出控制信号由P2.7和相“或”后形成。编程应用下述程序实现的功能是按下任意键,对应的LED发光。CONT:MOV DPTR,#7FFFH;数据指针指向口地址 MOVX A,DPTR ;检测按键,向74LS244读入数据 MOVX DPTR,A ;向74LS273输出数据,驱动LED SJMP CONT ;循环编程应用程序存储器的扩展-课件三、程序存储器的扩展
MCS-51的程序存储器寻址空间为64KB,其中片内包含4K的ROM/EPROM。当片内ROM不够而需要扩展程序存储器时,MCS-51的EA管脚应接地,其它控制信号还有:1、常用的程序存储器芯片可用紫外线擦除、由电编程的只读存储器EPROM芯片常用作MCS-51应用系统的外部程序存储器。常用的EPROM芯片有2716、2732、2764、27128、27256、27512等,这些芯片的窗口在专门的紫外线灯光照射下,经20min后,存储器所有单元的信息全部变为1,从而擦去了程序指令代码。用户可用专门的EPROM编程(写入)电路将程序固化在这些EPROM芯片之中。
三、程序存储器的扩展MCS-51的以27256A为例说明其工作方式及引脚功能。下图是27256A的管脚图。27256A是一种32K×8位EPROM存储器,单一+5V供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns。27256A为28线双列直插式封装。
以27256A为例说明其工作方式及引脚功能。下27256A工作方式见下表:
CE(第20脚)OE(第20脚)VPP(第1脚)VCC(第28脚)输出输出低电平低电平5V5V程序代码输出维持高电平任意5V5V高阻抗状态编程低电平高电平12.5V6V程序代码输入编程校验高电平低电平12.5V6V程序代码输出编程禁止高电平高电平12.5V6V高阻抗状态27256A引脚功能如下:A0~A14:15根地址线。 CE:片选线,低电平有效。 VPP:编程电源。GND:接地线。Q0~Q7:8根数据线。OE:读出选通。VCC:+5V工作电源。
27256A工作方式见下表:CE(第20脚)OE(第20脚2、常用的扩展方法:
为保证系统正常工作,P0口应通过地址锁存器与存储器低8位地址相连,以保持存储器的低8位地址。常用的8位地址锁存器有74LS373、74LS273、8282等。74LS373用于单片机系统的扩展时,其电路的连接采用74LS373实现。74LS373的D0~D7接P0口,G端接ALE,E端接地,则Q0~Q7输出为A0~A7,即地址的低8位。27256A的地址与系统地址线相连接,数据线与89C51的P0口连接,OE端与PSEN连接,这样,系统扩展了32KB的程序存储器,地址为0000H~7FFFH。2、常用的扩展方法:为保证系统正常工作,D7D6D5D4D3D2D1D0G74LS373GND+5VEQ7Q6Q5Q4Q3Q2Q1Q0
74LS373引脚功能D0~D6数据输入E输出允许G数据输出Q0~Q7使能端当E=0,G=1时,输出Q=输入D(透明);当E=0,G=0时,输出Q端不变(锁存)当E=1,输出高阻态G一般与单片机的锁存控制信号ALE相连D774LS373GND+5VEQ774LS373引脚功能程序存储器扩展电路举例程序存储器扩展电路举例扩展电路的原理分析(1)单片机所用到引脚的时序分析扩展电路的原理分析(2)原理分析单片机取指令是各个部件相互协调工作的一个过程.主要是以下几步.第一步,送16位地址,指明要取的指令的存放位置。高8位地址通过P2送到27256的A8-A14和片选端\CE。低8位地址由P0口提供,是通过373连接到27256的A7-A0上的。这里要注意:高8位地址是由A8-A14和片选端\CE共同组成的。片选端\CE为最高位。真正的地址范围为0000H-7FFFH.第二步,等待ALE第一次有效(高电平)。此时,373通道被打开,低8位地址被送入A7-A0。与此同时,\PSEN为高电平,因此27256的数据输出端还未打开,即数据没有送出。
(2)原理分析第三步,ALE出现下降沿。此时,373的门被关住(锁存数据),与此同时,\PSEN出现低电平,27256的数据输出端被打开,要取的指令代码通过O0-O7端口送入数据总线。第四步,ALE第二次有效,此时,总线上的代码通过P0口读入单片机。虽然此时373被打开,但是由于此时\PSEN为高电平,把27256关掉了。因此,即使刚才的代码通过373被送到A7-A0,也不会送入27256中。第三步,ALE出现下降沿。此时,373的门被关住(锁存数据)一、硬件电路设计二、控制程序的编写三、程序仿真与调试项目实施一、硬件电路设计项目实施(一)设计思路在单片机系统扩展存储器时,根据4个并行I/O口使用的一般原则,使用MCS-51单片机芯片的P0口和P2口进行程序存储器的扩展。P0口具有数据/地址复用功能,既可在片外存储器和单片机芯片之间进行数据传送,又可以和P2口共同组成地址线,利用74HC373锁存器实现此功能。一、硬件电路设计(一)设计思路一、硬件电路设计
1、扩展电路设计扩展用的程序存储器选用27C512芯片,内存64KB。使用74HC373锁存器实现P0口的数据/地址分时复用功能。将P0口与锁存器的输入引脚D0~D7进行连接,同时与27C512芯片的数据引脚D0~D7连接,锁存器的输出Q0~Q7与27C512芯片的地址线的低8位(A0~A7)连接。P2口直接与程序存储器的地址线的高8位(D8~D15)连接即可。设计要求根据不同的程序控制单个发光二极管闪烁,因此利用P1.1引脚连接1只发光二极管。
(二)电路设计1、扩展电路设计(二)电路设计2、控制电路设计1)EA/VPP引脚:本设计选用AT89C51单片机芯片,由于要实现存储器扩展,因此EA/VPP引脚连接一只双向开关,可以在高电平和低电平之间转换,以选择要读取的程序的存储空间----片内或片外。2)ALE引脚:使用此引脚的“地址锁存允许信号”功能,将ALE引脚与74HC373锁存器的允许端G连接。3)PSEN引脚:使用此引脚对外部程序存储器进行读选通,因以将PSEN引脚与27C512芯片的数据输入选通引脚OE连接。2、控制电路设计综合以上分析,得到如图所示的控制电路图。综合以上分析,得到如图所示的控制电路图。(三)材料表
从原理图可以得到实现本项目所需的元器件。序号元件名称元件型号元件数量备注1单片机芯片AT89C511片DIP封装2锁存器74HC373N1片DIP封装3程序存储器芯片W27C5121片DIP封装4发光二极管Φ51只普通型5晶振12MHz1只6电容30pF2只瓷片电容22uF1只电解电容7电阻200Ω8只碳膜电阻,可用排阻代替10kΩ1只碳膜电阻8按键1只无自锁1只带自锁9双向开关1只1040脚IC座1片安装AT89C51芯片1120脚IC座1片安装锁存器芯片1228脚IC座1片安装程序存储器芯片13导线(三)材料表
从原理图可以得到实现本项目所需的元二、控制程序的编写
(一)绘制程序流程图
为了说明不同存储器的使用方法,编写单个发光二极管闪烁的控制程序,采用循环程序结构。
二、控制程序的编写
(一)绘制程序流程图
(二)编制汇编源程序
1、存储于片内ROM中的程序(EA接高电平)
(1)参考程序清单标号操作码操作数指令意义(注释)ORG0000H;伪指令,指明程序从0000H单元开始存放LJMPMAIN7;控制程序跳转到“MAIN7”处执行ORG0700HMAIN7:MOVA,#10;确定闪烁次数(5次)CLRP1.1;将P1.1引脚清零SS1:LCALLDELAY;调延时程序DECA;累加器内容减1CPLP1.1;将P1.1状态取反JNZSS1;判断闪烁次数是否到,不到跳转到SS1继续执行SJMP$;闪烁次数到,程序停止ORG0F00HDELAY:MOVR7,#10;延时程序同前(二)编制汇编源程序
1、存储于片内ROM中的程序(EA接高标号操作码操作数指令意义(注释)………RETEND(2)程序执行过程:
ORG 0000H LJMP MAIN7 ORG 0700HMAIN7: MOV A,#10 CLR P1.1SS1: LCALL DELAY DEC A CPL P1.1 JNZ SS1 SJMP $ ORG 0F00HDELAY: MOV R7,#10 ………RET END 标号操作码操作数指令意义(注释)………RETEND(22、存储于片外ROM中的程序(EA接低电平)(1)参考程序清单标号操作码操作数指令意义(注释)ORG0000H;伪指令,指明程序从0000H单元开始存放LJMPMAIN7;控制程序跳转到“MAIN7”处执行ORG0100HMAIN7:MOVA,#0;将A清零CLRP1.1;将P1.1引脚清零SS2:LCALLDELAY;调延时程序CPLP1.1;将P1.1状态取反INCA;累加器内容加1CJNEA,#20,SS2;判断闪烁次数是否到,不到跳转到SS2继续执行SJMP$;闪烁次数到,程序停止ORG0F00HDELAY:MOVR7,#10;延时程序同前2、存储于片外ROM中的程序(EA接低电平)标号操作码操作标号操作码操作数指令意义(注释)………RETEND(2)程序执行过程:
ORG 0000H LJMP MAIN7 ORG 0100HMAIN7: MOV A,#0 CLR P1.1SS2: LCALL DELAY CPL P1.1 INC A CJNE A,#20,SS2 SJMP $ ORG 0F00HDELAY: MOV R7,#10
………RET END
标号操作码操作数指令意义(注释)………RETEND(2三、程序仿真与调试:1、将程序写入对应芯片。2、程序在实际电路中运行。
三、程序仿真与调试:1、将程序写入对应芯片。1、将存储在片内的程序通过编程器写入AT89C51芯片,改变编程器的设置,将存储在片外程序存储器的程序写入27C512芯片。1、将存储在片内的程序通过编程器写入AT89C51芯片,改变2、将写好程序的芯片(AT89C51、W27C512)安装到焊接好的电路板上。利用双向开关将EA接高电平,运行片内程序,观察发光二极管的闪烁速度和闪烁次数;将EA接地,观察发光二极管的闪烁速度和闪烁次数,理解程序存储器扩展的意义。2、将写好程序的芯片(AT89C51、W27C512)安装到项目测试一、问答题:1、在MCS-51单片机中,外部扩展的程序存储器在读取程序时,P0口即可以传送数据又可以传送地址信息,为什么不会发生冲突?2、举例说明扩展存储器和I/O的地址是如何确定的?3、分析ADD与INC、SUBB与DEC的区别。4、查资料了解常用的ROM芯片有哪些。二、程序编写:1、判断两个数是否相等,利用JZ或者JNZ指令如何编写程序?2、试编写程序,比较N1、N2两个数的大小,大者放入R0中,小者放入R1中。项目测试一、问答题:项目七:程序存储器的扩展项目目标项目任务项目分析项目预备知识知识点链接项目实施项目七:程序存储器的扩展项目目标
项目目标通过调用不同程序存储器中的程序,观察控制现象,学习程序存储器扩展的方法,理解扩展程序存储器的意义,掌握INC、DEC、JZ、JNZ指令的功能并编写控制程序。项目目标项目任务应用AT89C51芯片和程序存储器芯片,实现单片机系统程序存储器的扩展。项目分析
本项目通过编写不同的程序存储于不同的程序存储器(片内和片外),学习程序存储器扩展和读取程序的方法。
项目任务1、累加器A的逻辑操作指令在MCS-51指令系统中,为了使用方便,特别设计了7条对累加器A的逻辑操作指令,包括清零、取反、移位和高低半字节交换,其中的移位指令已经在项目二中进行了学习,下面我们学习其余指令。汇编指令指令功能清零:CLRA将A的内容清成00H取反:CPLA将A中内容按位取反半字节交换:SWAPA将A中高低半字节交换
以上指令都是单字节指令,除标志位P外,PSW中其余各位均不受影响。项目预备知识:汇编指令学习1、累加器A的逻辑操作指令项目预备知识:汇编指令学习2、加1、减1指令
加1指令又称为增量指令,共有5条指令;减1指令又称减量指令,有4条。和加法、减法指令所不同的是,除奇偶标志位外,这些指令的操作不影响PSW中的标志位。1)加1指令汇编指令指令功能
INCA累加器内容加1INCdirect直接地址单元内容加1INCRn通用寄存器内容加1INC@Ri寄存器Ri指向的地址单元中的内容加1,结果送回原地址单元中INCDPTR数据指针EPTR内容加1
例如,(30H)=22H,执行INC30H后,(30H)=23H。2、加1、减1指令加1指令又称为增本组指令将操作数内容加1,结果仍然送回原地址存放,如果原地址单元中内容为0FFH,加1后将要变为00H,运算结果不影响任何标志位。指令中前4条是8位数加1指令,可以用来对指定的片内RAM单元操作,第5条指令是16位数的加1指令,运算过程中,若有低8位(DPL)向高8位(DPH)的进位,直接进位即可。这也是MCS-51指令系统中唯一的一条16位算术运算指令。本组指令将操作数内容加1,结果仍然送回原地址存放2)减1指令
汇编指令指令功能DECA累加器内容减1DECdirect直接地址单元内容减1DECRn通用寄存器内容减1DEC@Ri寄存器Ri指向的地址单元中的内容减1,结果送回原地址单元中本组指令将操作数减1,结果仍送回原地址单元,若原指定单元中的内容为00H,减1后将变为0FFH,运算结构也不影响任何标志位。这4条指令全是8位数减1指令,若需要对16位数进行减1操作,可通过简单的编程实现。例如,R0=30H,(30H)=22H,执行DECR0后,(30H)=21H。2)减1指令汇编3、累加器A的判零转移指令
汇编指令指令功能JZrel若(A)=0,则程序转移;否则顺序执行JNZrel若(A)≠0,则程序转移;否则顺序执行这两条指令是以累加器A的内容是否为零作为程序是否转移的条件。3、累加器A的判零转移指令汇编指令一、单片机应用系统组成
单个的单片机芯片用途是有限的,它往往要和其他具有专门用途的芯片组成单片机应用系统,才会更好的发挥它在控制方面的优势。单片机应用系统的组成特点之一就是单片机、存储器、I/O口、外设控制均以芯片的形式存在。典型单片机应用系统的硬件组成框图如图所示。知识点链接:单片机系统扩展技术一、单片机应用系统组成知
MCS51系统单片机(8031、8032除外)尽管是一功能完全的单片机,但因其内部资源(RAM、ROM、I/O、A/D、D/A等)不足,在实际应用中不加以扩展直接用其基本系统的情况较少,一般情况下需扩展。单片机扩展的首要问题就是构造系统总线,然后再往系统总线上“挂”存储芯片或I/O接口芯片。MCS-51系列单片机片外引脚可以构成三总线结构:
地址总线(AB)数据总线(DB)控制总线(CB)所有外部芯片都通过这三组总线进行扩展二、外部总线的扩展MCS51系统单片机(8031、8032除外)尽管单片机扩展构造图单片机扩展构造图1)地址总线(AB)地址总线宽度为16位,寻址可达64KB。地址总线由P0口提供地址的低8位,P2口提供地址的高8位。由于P0口是数据/地址复用线,只能分时使用,故P0口先输出的地址低8位只能锁存到地址锁存器中保存。P2口具有输出锁存功能,故不需外加锁存器便可保存地址高8位。P0口和P2口作系统扩展的地址线后,便不能再作一般的I/O口使用。程序存储器的扩展-课件2)数据总线(DB)
数据总线由P0口提供,其宽度为8位,该口为三态双向口,是应用系统中使用最为频繁的通道。单片机与外部交换的数据、指令、信息大部分由P0口传送。通常系统数据总线上连有很多芯片,而在某一时刻,数据总线上只能有一个有效的数据,究竟哪个芯片的数据有效,则由地址信号控制各个芯片的片选端来选择。2)数据总线(DB)3)控制总线单片机控制信号有PSEN、WR、RD、ALE和EA。PSEN:用于片外程序存存储器(EPROM)的“读”控制,实际上就是取指令选通控制(低电平有效)。WR、RD:用于片外数据存储器(包括其它接口芯片)的“读”、“写”控制(低电平有效)
。ALE:用于锁存P0口上地址低8位的控制线。EA:用于选择片内或片外程序存储器。当EA=0时,只访问外部程序存储器,不管片内有无程序存储器,因此使用片内ROM时EA=1。3)控制总线作为数据/地址复用总线,P0口可驱动8个TTL门电路,P1、P2、P3只能驱动4个TTL门电路。当应用系统规模较大、超过其负载能力时,系统便不能稳定可靠地工作。在这种情况下,系统设计时应加总线驱动器,以增强系统总线的驱动能力。常被用户选择的有单向总线驱动器74LS244、74LS273,双向驱动器74LS245等芯片。如下图7-8所示,74LS273作8位并行输出接口,74LS244作8位并行输入接口。74LS244是一个三态输出八缓冲器及总线驱动器,其带负载能力强,可直接驱动小于130Ω的负载。总线驱动能力作为数据/地址复用总线,P0口可驱动8芯片功能介绍
(1)74LS244三态缓冲器(24路)
1G状态输入/输出1高阻隔离0驱动输入=输出
74LS244三态缓冲器功能表
芯片功能介绍(1)74LS244三态缓冲器(24路) 1主要功能:数据保持(锁存)8D~1D:8位数据输入;8Q~1Q:8位数据输出;CLK:时钟信号,上升沿数据锁存;CLR:清除端典型芯片:带清除端的8D锁存器(2)74LS2738D锁存器主要功能:数据保持(锁存)8D~1D:8位数据输入;典型芯片74LS273只有清除端为高电平才具锁存功能锁存器控制较CLK,上升沿锁存数据。单片机ALE引脚需接反相器输入输出CLRCLKDQL××LH↑HHH↑LLHL×Q不变74LS273功能表当CLK由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。74LS273只有清除端为高电平才具锁存功能输入输出CL(3)用74LS273和74LS244扩展I/O口(3)用74LS273和74LS244扩展I/O口程序存储器的扩展-课件芯片及连线说明P0口作为双向8位数据线,既能够从74LS244输入数据,又能够从74LS273输出数据。输入控制信号由P2.7和相“或”后形成。当二者都为0时,74LS244的控制端有效,选通74LS244,外部的信息输入到P0数据总线上。当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。芯片及连线说明输出控制信号由P2.7和相“或”后形成。当二者都为0后,74LS273的控制端有效,选通74LS273,P0上的数据锁存到74LS273的输出端,控制发光二极管LED,当某线输出为0时,相应的LED发光。
I/O口地址确定因为74LS244和74LS273都是在P2.7为0时被选通的,所以二者的口地址都为7FFFH(这个地址不是惟一的,只要保证P2.7=0,其它地址位无关)。但是由于分别由RD和WR控制,因而两个信号不可能同时为0(执行输入指令,如MOVXA,DPTR时,RD有效;执行输出指令,如MOVXDPTR,A时,WR有效),所以逻辑上二者不会发生冲突。输出控制信号由P2.7和相“或”后形成。编程应用下述程序实现的功能是按下任意键,对应的LED发光。CONT:MOV DPTR,#7FFFH;数据指针指向口地址 MOVX A,DPTR ;检测按键,向74LS244读入数据 MOVX DPTR,A ;向74LS273输出数据,驱动LED SJMP CONT ;循环编程应用程序存储器的扩展-课件三、程序存储器的扩展
MCS-51的程序存储器寻址空间为64KB,其中片内包含4K的ROM/EPROM。当片内ROM不够而需要扩展程序存储器时,MCS-51的EA管脚应接地,其它控制信号还有:1、常用的程序存储器芯片可用紫外线擦除、由电编程的只读存储器EPROM芯片常用作MCS-51应用系统的外部程序存储器。常用的EPROM芯片有2716、2732、2764、27128、27256、27512等,这些芯片的窗口在专门的紫外线灯光照射下,经20min后,存储器所有单元的信息全部变为1,从而擦去了程序指令代码。用户可用专门的EPROM编程(写入)电路将程序固化在这些EPROM芯片之中。
三、程序存储器的扩展MCS-51的以27256A为例说明其工作方式及引脚功能。下图是27256A的管脚图。27256A是一种32K×8位EPROM存储器,单一+5V供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns。27256A为28线双列直插式封装。
以27256A为例说明其工作方式及引脚功能。下27256A工作方式见下表:
CE(第20脚)OE(第20脚)VPP(第1脚)VCC(第28脚)输出输出低电平低电平5V5V程序代码输出维持高电平任意5V5V高阻抗状态编程低电平高电平12.5V6V程序代码输入编程校验高电平低电平12.5V6V程序代码输出编程禁止高电平高电平12.5V6V高阻抗状态27256A引脚功能如下:A0~A14:15根地址线。 CE:片选线,低电平有效。 VPP:编程电源。GND:接地线。Q0~Q7:8根数据线。OE:读出选通。VCC:+5V工作电源。
27256A工作方式见下表:CE(第20脚)OE(第20脚2、常用的扩展方法:
为保证系统正常工作,P0口应通过地址锁存器与存储器低8位地址相连,以保持存储器的低8位地址。常用的8位地址锁存器有74LS373、74LS273、8282等。74LS373用于单片机系统的扩展时,其电路的连接采用74LS373实现。74LS373的D0~D7接P0口,G端接ALE,E端接地,则Q0~Q7输出为A0~A7,即地址的低8位。27256A的地址与系统地址线相连接,数据线与89C51的P0口连接,OE端与PSEN连接,这样,系统扩展了32KB的程序存储器,地址为0000H~7FFFH。2、常用的扩展方法:为保证系统正常工作,D7D6D5D4D3D2D1D0G74LS373GND+5VEQ7Q6Q5Q4Q3Q2Q1Q0
74LS373引脚功能D0~D6数据输入E输出允许G数据输出Q0~Q7使能端当E=0,G=1时,输出Q=输入D(透明);当E=0,G=0时,输出Q端不变(锁存)当E=1,输出高阻态G一般与单片机的锁存控制信号ALE相连D774LS373GND+5VEQ774LS373引脚功能程序存储器扩展电路举例程序存储器扩展电路举例扩展电路的原理分析(1)单片机所用到引脚的时序分析扩展电路的原理分析(2)原理分析单片机取指令是各个部件相互协调工作的一个过程.主要是以下几步.第一步,送16位地址,指明要取的指令的存放位置。高8位地址通过P2送到27256的A8-A14和片选端\CE。低8位地址由P0口提供,是通过373连接到27256的A7-A0上的。这里要注意:高8位地址是由A8-A14和片选端\CE共同组成的。片选端\CE为最高位。真正的地址范围为0000H-7FFFH.第二步,等待ALE第一次有效(高电平)。此时,373通道被打开,低8位地址被送入A7-A0。与此同时,\PSEN为高电平,因此27256的数据输出端还未打开,即数据没有送出。
(2)原理分析第三步,ALE出现下降沿。此时,373的门被关住(锁存数据),与此同时,\PSEN出现低电平,27256的数据输出端被打开,要取的指令代码通过O0-O7端口送入数据总线。第四步,ALE第二次有效,此时,总线上的代码通过P0口读入单片机。虽然此时373被打开,但是由于此时\PSEN为高电平,把27256关掉了。因此,即使刚才的代码通过373被送到A7-A0,也不会送入27256中。第三步,ALE出现下降沿。此时,373的门被关住(锁存数据)一、硬件电路设计二、控制程序的编写三、程序仿真与调试项目实施一、硬件电路设计项目实施(一)设计思路在单片机系统扩展存储器时,根据4个并行I/O口使用的一般原则,使用MCS-51单片机芯片的P0口和P2口进行程序存储器的扩展。P0口具有数据/地址复用功能,既可在片外存储器和单片机芯片之间进行数据传送,又可以和P2口共同组成地址线,利用74HC373锁存器实现此功能。一、硬件电路设计(一)设计思路一、硬件电路设计
1、扩展电路设计扩展用的程序存储器选用27C512芯片,内存64KB。使用74HC373锁存器实现P0口的数据/地址分时复用功能。将P0口与锁存器的输入引脚D0~D7进行连接,同时与27C512芯片的数据引脚D0~D7连接,锁存器的输出Q0~Q7与27C512芯片的地址线的低8位(A0~A7)连接。P2口直接与程序存储器的地址线的高8位(D8~D15)连接即可。设计要求根据不同的程序控制单个发光二极管闪烁,因此利用P1.1引脚连接1只发光二极管。
(二)电路设计1、扩展电路设计(二)电路设计2、控制电路设计1)EA/VPP引脚:本设计选用AT89C51单片机芯片,由于要实现存储器扩展,因此EA/VPP引脚连接一只双向开关,可以在高电平和低电平之间转换,以选择要读取的程序的存储空间----片内或片外。2)ALE引脚:使用此引脚的“地址锁存允许信号”功能,将ALE引脚与74HC373锁存器的允许端G连接。3)PSEN引脚:使用此引脚对外部程序存储器进行读选通,因以将PSEN引脚与27C512芯片的数据输入选通引脚OE连接。2、控制电路设计综合以上分析,得到如图所示的控制电路图。综合以上分析,得到如图所示的控制电路图。(三)材料表
从原理图可以得到实现本项目所需的元器件。序号元件名称元件型号元件数量备注1单片机芯片AT89C511片DIP封装2锁存器74HC373N1片DIP封装3程序存储器芯片W27C5121片DIP封装4发光二极管Φ51只普通型5晶振12MHz1只6电容30pF2只瓷片电容22uF1只电解电容7电阻200Ω8只碳
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑业新质生产力跨界融合建造模式探索
- 2025年工业元宇宙技术应用人才培养探索
- 城市轨道交通运营管理电子教案5-6 车辆调车作业
- 2025年人工智能教育质量评估报告
- 气管切开患者的吸痰护理
- 智杰教育:护理礼仪与跨文化沟通
- 泌尿外科患者安全管理
- 消毒隔离与感染控制新动态
- 护理服务与医院文化
- 徐氧生物高纯气体项目可行性研究报告模板申批拿地用
- 2026河南兴豫惠民职业技能培训学校有限公司市场化招聘15人笔试参考题库及答案解析
- (二模)苏北七市2026届高三第二次调研测试英语试卷(含答案及解析)
- DB31∕T 1624-2025 机器人智能化等级评价指南
- 2026年青年干部廉洁纪律要求应知应会知识库
- 北京市2024商务部中国国际电子商务中心招聘1人笔试历年参考题库典型考点附带答案详解
- 2026年国企采购管理专干考试题库及答案
- 小额贷款消费者权益保护制度
- YC/T 88.1-2006烟草机械喂料机第1部分:型式与基本参数
- LY/T 2422-2015薇甘菊防治技术规程
- 真空预压传统式与直排式介绍ghg课件
- 工业机器人编程与实操期末试题
评论
0/150
提交评论