存储器扩展IO扩展第5章_第1页
存储器扩展IO扩展第5章_第2页
存储器扩展IO扩展第5章_第3页
存储器扩展IO扩展第5章_第4页
存储器扩展IO扩展第5章_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

5.1半导体存储器的扩展5.2MCS-51并行I/O接口的扩展5.3LED显示器的设计5.4按键和键盘的设计5.5存储器扩展、动态显示和键盘的实验第5章半导体存储器及并行I/O接口扩展32存储器扩展IO扩展第5章共97页,您现在浏览的是第1页! 5.1.1半导体存储器基础内存:磁芯存储器半导体存储器外存:磁表面存储器光盘存储器磁鼓、磁带和磁盘 1.半导体存储器的分类和作用按工艺:双极型MOS型(场效应管)按功能:RAM(SRAM、DRAM、SDRAM)ROM(掩膜、PROM、EPROM、FLASH)近年来:易失性存储器

非易失性存储器5.1半导体存储器的扩展双极型晶体管是一种电流控制器件,电子和空穴同时参与导电。同场效应晶体管相比,双极型晶体管开关速度快,但输入阻抗小,功耗大。双极型晶体管体积小、重量轻、耗电少、寿命长、可靠性高,已广泛用于广播、电视、通信、雷达、计算机、自控装置、电子仪器、家用电器等领域,起放大、振荡、开关等作用。存储器扩展IO扩展第5章共97页,您现在浏览的是第2页!(1)RAM数据随时读写,读则取之不尽、写则盖旧换新。 按存取方式分:静态RAM(SRAM)和动态RAM(DRAM)。随机存取存储器RAM静态RAM动态RAM存储器扩展IO扩展第5章共97页,您现在浏览的是第3页!

(2)ROM存储器信息掉电不丢失。按编程方式分为三类: 掩模ROM:工厂批量写入 PROM:用户写入,但只有一次。 EPROM:可被反复擦写的PROM,按擦除方法又分为: a、紫外光擦洗UVEPROM; b、电擦洗EEPROM、(在线改写,字节擦或块擦);

闪速存储器:存储容量大、擦除和编程速度快。只读存储器ROM掩膜ROMPROMEPROMEEPROM闪速存储器存储器扩展IO扩展第5章共97页,您现在浏览的是第4页!(1)存储容量存储器能够存储的信息总量.存储容量=字数╳字长

1K=210=1024 1M=220=1024K 1G=230=1024M 1T=240=1024G2.半导体存储器的技术指标存储器扩展IO扩展第5章共97页,您现在浏览的是第5页!3.半导体存储器的基本结构 半导体存储器由存储阵列、地址译码器、控制电路组成(1)单译码编址存储器0读1写片选读写控制存储器扩展IO扩展第5章共97页,您现在浏览的是第6页!单译码编址存储器的基本结构与双译码编址存储器结构类似,区别在于:地址译码器的结构不同单译码编址存储器用于小容量存储器双译码编址存储器用于大容量存储器存储器扩展IO扩展第5章共97页,您现在浏览的是第7页!1.ROM的工作原理(1)掩模ROM存储器扩展IO扩展第5章共97页,您现在浏览的是第8页!(2)PROM存储器原理熔丝通“1”存储器扩展IO扩展第5章共97页,您现在浏览的是第9页! 1987年首次出现,是UVEPROM和EEPROM结合的产物 存储容量不断发展,制造工艺不断提高。按接口种类划分:标准的并行接口闪存:按三总线连接NAND(与非)型闪存:引脚分时复用串行接口的闪存:通过一个串行数据输入和一个串行数据输出来和CPU接口(4)闪速存储器存储器扩展IO扩展第5章共97页,您现在浏览的是第10页!(2)2764的引脚功能存储器扩展IO扩展第5章共97页,您现在浏览的是第11页!(2)EEPROMIntel28××类别容量/KB取数时间/ns字节擦除时间/ms读入时间/ms读操作电压/V写/擦除操作电压VPP/V2816225010105212816A2200/2509~159~15552817225010105212817A2200/2501010552864A8250101055存储器扩展IO扩展第5章共97页,您现在浏览的是第12页!(3)闪速存储器并行Flash芯片存储器扩展IO扩展第5章共97页,您现在浏览的是第13页!随机读写易失性随机存取存储器RAM静态RAM动态RAM双极型MOS型静态容量小,不用刷新,依靠触发器存储信息;动态容量大,要刷新,依靠存储电容存储信息。5.1.3随机存取存储器RAM存储器扩展IO扩展第5章共97页,您现在浏览的是第14页!(2)动态RAM的工作原理C1为极间电容,也称存储电容。Q2为列选通管。C2称为分布电容。C1上有电荷表示存1,C1上无电荷表示存0需刷新存储器扩展IO扩展第5章共97页,您现在浏览的是第15页!内部结构存储器扩展IO扩展第5章共97页,您现在浏览的是第16页!存储器扩展IO扩展第5章共97页,您现在浏览的是第17页!(1)确定类型、容量类型:RAM、ROM等1、外扩存储器的选择原则

容量:根据系统基本要求确定(2)选择存储器的读写速度应和CPU的工作速度相匹配访存时间:处理器向外存发出地址码和读写信号,到从P0口选通读出数据或保持写入数据所需要的时间;一般大于2时钟周期存储器最大存取时间:MCS-51的访存时间必须大于所用外部存储器的最大存取时间5.1.4MCS-51和外部存储器的连接P177并行连接存储器扩展IO扩展第5章共97页,您现在浏览的是第18页!片内ROM(8031无片内ROM) MOVC

片外ROM MOVC片内RAM MOV片外RAM MOVX统一独立1独立2存储器扩展IO扩展第5章共97页,您现在浏览的是第19页!地址锁存器74LS373和Intel8282的逻辑图

G(或STB):锁存控制OE:三态门控制端ALE存储器扩展IO扩展第5章共97页,您现在浏览的是第20页!P2:高8位地址总线。在实际应用中根据扩展存储器的容量需要确定所用的根数。如:扩展4KB的存储器则只需用P2口中的低4位口线存储器扩展IO扩展第5章共97页,您现在浏览的是第21页!存储器与CPU的连接

ROMRAMWRXTAL2XTAL1RST时钟电路复位电路P3P2P1EAPSENRDP0ALE地址锁存存储器扩展IO扩展第5章共97页,您现在浏览的是第22页!①线选法 即将CPU的低位地址线与芯片的同名地址线相连,而将CPU余下的高位地址线(或经反相器)分别接到各存储器芯片的片选端来区别各个芯片的地址的方法。

一个8051系统扩展了一片8KB的存储器,选用P2.7(A15)作为片选,P2.6(A14)、P2.5(A13)悬空

A15

A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00

××0

0000000000

00最低单元地址0

××1

1111111111

11最高单元地址0000H~1FFFH、2000H~3FFFH、4000H~5FFFH、6000H~7FFFH重叠地址范围基本地址范围(悬空线清零时)存储器扩展IO扩展第5章共97页,您现在浏览的是第23页!三八译码器(74LS138)存储器扩展IO扩展第5章共97页,您现在浏览的是第24页!扩展8KB存储器 系统高3根地址线,全译码方法A15A14A13A12……A3A2A1A00000……00000000H0001……11111FFFH0010……00002000H0011……11113FFFH0100……00004000H0101……11115FFFH存储器扩展IO扩展第5章共97页,您现在浏览的是第25页!基本地址范围悬空地址线取0的地址范围0000000000000000——0001111111111111重叠地址范围0000000000000000——00011111111111110100000000000000——0101111111111111

1000000000000000——10011111111111111100000000000000——1101111111111111存储器扩展IO扩展第5章共97页,您现在浏览的是第26页!(3)多片存储器芯片的扩展××00000000000000~××00011111111111ROMRAMRAMRAM2KB存储器扩展IO扩展第5章共97页,您现在浏览的是第27页!MCS-51单片机系统中,扩展I/O是与外部数据存储器RAM统一编址的,占用外部数据存储器的单元地址,使用MOVX指令进行读写扩展ROM与片内ROM是独立编址的I/O数据交换有无条件方式、查询方式、中断方式5.2MCS-51并行I/O接口的扩展存储器扩展IO扩展第5章共97页,您现在浏览的是第28页!AD0~AD7三态地址/数据线低8位地址或8位数据可直接连P0口控制总线CE片选IO/MI/O接口/存储器选择ALE地址锁存信号锁存AD0~AD7上的地址RD读允许信号WR写允许信号RESET复位信号,高电平有效T/IN定时器输入定时器所需时钟信号由此输入T/OUT定时器输出14位计数位器减到0时根据工作方式输出相应脉冲存储器扩展IO扩展第5章共97页,您现在浏览的是第29页!40条引脚分为输入边(由CPU来)输出端(到外设去)存储器扩展IO扩展第5章共97页,您现在浏览的是第30页!命令寄存器——控制8155的工作方式存储器扩展IO扩展第5章共97页,您现在浏览的是第31页!A口、B口都只有输入状态或输出状态C口可以工作在输入、输出方式C口还可作为A口的控制端口、A口和B口的控制端口为A口或B口提供对外的联络信号A口或B口接外部设备的数据线,作为输入/输出口C口在不同方式下各位的功能:引脚ALT1ALT2ALT3ALT4PC0输入输出AINTR(A口中断)AINTR(A口中断)PC1输入输出ABF(A口缓冲器满)ABF(A口缓冲器满)PC2输入输出ASTB(A口选通)ASTB(A口选通)PC3输入输出输出BINTR(B口中断)PC4输入输出输出BBF(B口缓冲器满)PC5输入输出输出BSTB(B口选通)存储器扩展IO扩展第5章共97页,您现在浏览的是第32页!3.8155内部定时器/计数器14位减法计数器有4种工作方式,由定时器/计数器长度字高8位中的M2、M1、M0决定对T/IN线的输入脉冲计数,每次减1计满归零时在T/OUT线上输出矩形波或脉冲波D7D0存储器扩展IO扩展第5章共97页,您现在浏览的是第33页!内部256单元的静态RAMIO/M=0时,8155的AD0~AD7输入的是RAM地址;IO/M=1时,8155的AD0~AD7输入的是IO地址在CE=0且IO/M=0时,CPU可以对任意一个RAM单元进行读/写,读/写控制信号分别是RD和WR;使用同普通静态RAM5.采用8155扩展并行I/O接口同样遵循三总线相连的原则,可采取线选法或译码法连接8155内部有地址锁存器在CE=0且IO/M=1时,需要先对I/O初始化,通过命令寄存器设置工作方式等信息4.8155内部的RAM存储器扩展IO扩展第5章共97页,您现在浏览的是第34页!【例5-1】编写程序,将图5-28中8155内部40H单元中的X送到A口输出ORG0000HMOVDPTR,#0100H ;命令/状态口地址送入DPTRMOVA,#01H ;命令字送入A(A口为输出)MOVX@DPTR,A

;将命令字装入命令口MOVDPTR,#0040H ;将RAM地址送入DPTRMOVXA,@DPTR

;X送入AMOVDPTR,#0101H ;指向A口MOVX@DPTR,A

;X送8155的A口输出SJMP$END存储器扩展IO扩展第5章共97页,您现在浏览的是第35页!例5-2编写程序,设置8155的A口为输出口,B口为输入口。程序每隔一段时间读取一次B口的信号状态,并将其输出到A口完成某项控制(接口电路如图5-29所示)A口输出、B口输入、C口不用、定时器/计数器不用命令寄存器内的值为00000001存储器扩展IO扩展第5章共97页,您现在浏览的是第36页!单片机系统中常用的显示器有:发光二极管LED(LightEmittingDiode)显示器、液晶LCD(LiquidCrystalDisplay)显示器、CRT显示器等。5.3LED显示器的设计LED数码管、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)存储器扩展IO扩展第5章共97页,您现在浏览的是第37页!字型码表(共阴极/共阳极P192)按h、g、f、e、d、c、b、a顺序排列后的十六进制编码(0对应低电平),常称为字型码或段选码所显字符共阴字形码共阳字形码所显字符共阴字形码共阳字形码03FHC0HB7CH83H106HF9HC39HC6H25BHA4HD5EHA1H34FHB0HE79H86H466H99HF71H8EH56DH92H空格00HFFH67DH82HPF3H0CH707HF8HH76H89H87FH80H.80H7FH96FH90H—40HBFHA77H88H存储器扩展IO扩展第5章共97页,您现在浏览的是第38页!MC14558MC14547MC14513MC14495等两种获得字形码的方法:硬件译码软件译码锁存器地址译码器笔段ROM阵列驱动电路大于10指示等于15高电平低输入高锁存-+存储器扩展IO扩展第5章共97页,您现在浏览的是第39页!SDELAY:MOVA,30H ANLA,#0F0H ;截取30H单元中高位BCD码 MOVP1,A ;在1#位置显示30H单元中高位 MOVA,30H SWAPA ANLA,#0F0H

INCA

;低4位加1,用以指向2#MC14495芯片 MOVP1,A ;在2#位置显示30H单元中低位 MOVA,31H ANLA,#0F0H

ADDA,#02H

;用以指向3#MC14495芯片 MOVP1,A ;在3#位置显示31H单元中高位 MOVA,31H SWAPA ANLA,#0F0H

ADDA,#03H

;用以指向4#MC14495芯片 MOVP1,A ;在4#位置显示31H单元中低位 RET存储器扩展IO扩展第5章共97页,您现在浏览的是第40页!8000H命令/状态口8001HA口8002HB口(字形口)8003HC口(字位口)

图5-33存储器扩展IO扩展第5章共97页,您现在浏览的是第41页!

MOV5AH,#56H ;将显示内容依次存放 MOV5BH,#34H MOV5CH,#12H ACALLFB ;将内容拆分,偏移量送显示缓冲区LOOP:ACALLDIR ;调用显示一遍的子程序 AJMPLOOP ;循环,形成动态显示FB: MOVR0,#5CH ;显示内容的最高字节地址送入R0 MOVR1,#79H ;显示缓冲区起始地址送入R1 MOVR3,#03H ;显示内容存放字节的个数送入R3LP2: MOVA,@R0 ;取出要显示字节的内容 MOVR2,A ;暂存 SWAPA ;内容的高、低4位交换

ANLA,#0FH

;保留原始的高4位 MOV@R1,A ;形成字形码偏移量送入显示缓冲区

INCR1

;指向显示缓冲区的下一个单元 MOVA,R2 ;取出要显示字节的内容

ANLA,#0FH

;保留低4位

准备数据显示一位存储器扩展IO扩展第5章共97页,您现在浏览的是第42页! INCR0 ;修正显示缓冲区指针 MOVA,R2 ;字位码送入A

JBACC.5,LD1

;若显示完6次则返回左移5次 RLA ;字位码左移一位 MOVR2,A ;送回R2 AJMPLD0 ;显示下一个数码LD1: RETDSEG0: DB3FH,06H,5BH,4FH,66H,6DHDSEG1: DB7DH,07H,7FH,6FH,77H,7CHDSEG2: DB39H,5EH,79H,71H,73H,21HDSEG3: DB31H,6EH,40H,3EH,00H,00HDL: MOVR6,#0FFH ;延时子程序DL6: DJNZR6,DL6 DJNZR7,DL RET END

76543210存储器扩展IO扩展第5章共97页,您现在浏览的是第43页!1、键盘的分类编码键盘硬件电路支持(检测按键、去抖动、生成键值)成本高、电路复杂节省CPU资源、速度快非编码键盘软件实现(检测按键、去抖动、生成键值)独立式行列式触点式按键软件去抖一般10~20ms,与机械结构有关系非触点式按键电容式、霍尔式、触摸式等5.4按键和键盘的设计存储器扩展IO扩展第5章共97页,您现在浏览的是第44页!5.4.1独立式非编码键盘的设计 均需占用CPU或其扩展的一条I/O输入数据线例5-5

按照图5-36编制相应的程序,实现按键的扫描,若有键按下则将对应的键号(0~7)送入累加器A,并根据A中的键号转去执行相应的键处理程序PA0~PA7存储器扩展IO扩展第5章共97页,您现在浏览的是第45页! ORG0000H MOVDPTR,#4000H ;命令口地址 MOVA,#00000000B ;设置A口为输入方式 MOVX@DPTR,A ;将命令字写入命令口 ACALLKEY

;调键盘扫描程序 CJNER4,#0FFH,PROKEY

;有键转PROKEY AJMPNOKEY

;无键转NOKEYPROKEY: MOVDPTR,#KEYTAB ;表起始地址送入 CLRC ;清除进位标志 RLCA ;带进位左移;A的内容乘以2送入A JMP@A+DPTR

;(PC)←(A)+(DPTR)KEYTAB: AJMPK0 ;两字节指令 AJMPK1 … AJMPK7NOKEY: …

AJMPLOOPK0: …存储器扩展IO扩展第5章共97页,您现在浏览的是第46页! MOVR4,#01H ;将键号送入R4 SJMPCOM ;转到COM处执行NEXT2: CJNE… …NEXT8: CJNER3,#7FH,RETURN

;不是7#转RETURN

MOVR4,#07H ;将键号送入R4COM: MOVXA,@DPTR

;读入A口状态,等释放

XRLA,#0FFH ;键值取反 JNZCOM

;等待,直到按键释放

MOVA,R4 ;将R4内容送入A SJMPRETURN1

;返回RETURN: MOVR4,#0FFH ;将FFH送入R4RETURN1: RETDEL: MOVR5,#18H ;延时12msDEL0: MOVR6,#0FFHDEL1: DJNZR6,DEL1 DJNZR5,DEL0 RET存储器扩展IO扩展第5章共97页,您现在浏览的是第47页!使被扫描的列为低电平,其他所有的列均为高电平,然后检测各行线的状态若各行线都为高电平,则被按下的键不在此列,继续扫描下一列;若行线不全为高电平,则被按下的键在此列,而且是在与低电平行线相交的交点上,记录此时的列值和该行的首键号,即可知道被按下键的键号(被按键的键号=该键所处行的首键号+列值),然后再利用查表指令即可求得该按键的键值例5-6

根据图5-38编制按键扫描子程序,若无键按下,则使(A)=FFH;若有键按下,则通过列扫描获得被按键的键值(图中标识的是各键的键号)1.列扫描法存储器扩展IO扩展第5章共97页,您现在浏览的是第48页!地址地址键值存储器扩展IO扩展第5章共97页,您现在浏览的是第49页!先由行线输出全0信号,接着由列线读入表示按键状态的代码当有键被按下时,则相应的列线状态一定为0然后,将列线读入的代码由列线输出,然后读行线的状态,将先后两次读入的表示按键状态的代码组合,即为被按键的键值2.反转法保持被按下按键所在的列为0存储器扩展IO扩展第5章共97页,您现在浏览的是第50页!(3)新型存储器:OTPROM:是一种新型PROM,已经过测试性编程。

FRAM:非易失性铁电存储器,属未来型。具有DRAM的高集成度和低成本的优点,又有SRAM的存取速度以及EPROM的非易失性。但其存取周期是有限的,向无限次发展。 nvSRAM:新型非易失性静态读写存储器,由美国96年推出,可靠性高,号称“LOWCOST” 新型动态存储器:专门用于大容量的系统机和工作站。存储器扩展IO扩展第5章共97页,您现在浏览的是第51页!(2)最大存取时间存储器从接收到存储单元的地址开始,到读出或写入数据为止所需要的时间称为存取周期,该时间的上限值称为最大存取时间(3)存储器功耗存储器功耗是指它在正常工作时所消耗的电功率.该功率由“维持功耗”和“操作功耗”组成(4)可靠性和工作寿命

抗干扰能力强、寿命也较长(5)集成度指在一块数平方毫米芯片上能够集成的晶体管数目,有时也以每块芯片上集成的基本存储电路个数来表征,故常以位/片表示存储器扩展IO扩展第5章共97页,您现在浏览的是第52页!(2)双译码编址存储器存储器扩展IO扩展第5章共97页,您现在浏览的是第53页!5.1.2只读存储器ROM只读存储器ROM掩膜ROMPROMEPROMEEPROM闪速存储器只读存储器具有非易失性和非易挥发性,又称固定存储器或永久存储器,常用于程序存储。存储器扩展IO扩展第5章共97页,您现在浏览的是第54页!读原理:由地址线先选中相应的字线(为高电平),掩模ROM存储“0”或“1”是由存储单元中各位是否有MOS管决定(有为0,无为1)。其信息在制造芯片时写入。

存储器扩展IO扩展第5章共97页,您现在浏览的是第55页!(3)EPROM的工作原理①

UVEPROM紫外线擦除若浮置栅内无电荷,表示管内存1②EEPROM电擦除存储器扩展IO扩展第5章共97页,您现在浏览的是第56页!2.典型ROM芯片介绍(1)UVEPROMIntel27XX型号容量/KB读出时间/ns制造工艺所用电源/V管脚数27162300~450NMOS+5242732A4200~450NMOS+52427648200~450HMOS+5282712816250~450HMOS+5282725632200~450HMOS+5282751264250~450HMOS+528存储器扩展IO扩展第5章共97页,您现在浏览的是第57页!(3)2764的工作方式存储器扩展IO扩展第5章共97页,您现在浏览的是第58页!存储器扩展IO扩展第5章共97页,您现在浏览的是第59页!串行Flash芯片:存储器扩展IO扩展第5章共97页,您现在浏览的是第60页!(1)静态RAM的工作原理1.RAM的工作原理T2导通、T1截止时,Q=1的状态称为1状态存储器扩展IO扩展第5章共97页,您现在浏览的是第61页!2.典型RAM芯片介绍(1)静态RAM型号存储容量最大存取时间/ns所用工艺所需电源/V管脚数2115A1K×845~95NMOS+51621282K×8150~200HMOS+52461162K×8200CMOS+52462648K×8200CMOS+5286212816K×8200CMOS+5286225632K×8200CMOS+528Intel 6264(静态RAM)存储器扩展IO扩展第5章共97页,您现在浏览的是第62页!引脚的功能6264的引脚逻辑功能图存储器扩展IO扩展第5章共97页,您现在浏览的是第63页!6264的工作方式存储器扩展IO扩展第5章共97页,您现在浏览的是第64页!需要RAM:8K×8若用2128(2K×8)需4片若用2116(16K×1)需8片扩展的容量为:16K×8功耗性价比等数量型号存储器扩展IO扩展第5章共97页,您现在浏览的是第65页!

三总线原则(1)地址总线的连接地址总线选择某一存储器芯片及芯片内的某一存储单元P0:低8位地址线由于P0口具有双重复用的功能,还用来传送数据需外加一个8位地址锁存器目前常用的锁存器是74LS

373和Intel

82822、存储器与CPU的连接总则存储器扩展IO扩展第5章共97页,您现在浏览的是第66页!D为输入Q为输出ALEALEALE低电平锁存存储器扩展IO扩展第5章共97页,您现在浏览的是第67页!(2)数据总线的连接数据总线实现CPU与存储器的双向数据传送

将P0口与存储器的8根数据线依次相连即可(3)控制总线的连接向存储器发出存储器选择及读/写等控制信号根据选择的存储器类型使用不同的控制信号ALE、RD、WRALE、EA、PSEN、RD

RAM:ROM:存储器扩展IO扩展第5章共97页,您现在浏览的是第68页!2KB→8KB需要4片

在某一时刻,只能选中4片芯片中的一片工作,即所谓的片选。其实质是按不同的地址来选中不同的芯片线选法译码法全译码部分译码(4)地址译码与地址范围分配单片机一般采用地址线实现片选控制存储器扩展IO扩展第5章共97页,您现在浏览的是第69页!②

译码法指CPU的地址线经过地址译码器输出后与存储器芯片的片选信号相连的方法三八译码器(74LS138)二四译码器(74LS139)剩余的地址线全部参加译码全译码方式,若剩余的地址线只有部分参加了译码器的译码部分译码存储器扩展IO扩展第5章共97页,您现在浏览的是第70页!双二四译码器(74LS139)存储器扩展IO扩展第5章共97页,您现在浏览的是第71页!3.存储器与CPU的连接方法(1)片外ROM的扩展片外ROM线选法存储器扩展IO扩展第5章共97页,您现在浏览的是第72页!(2)片外RAM的扩展2000H~3FFFH片外RAM译码法0010000000000000–0011111111111111存储器扩展IO扩展第5章共97页,您现在浏览的是第73页!Intel27系列EPROM(169页)加电编程、紫外线擦除2732、2764、27128等27后面的数字代表kb,因此除以8即得KBRAM62系列(175页)存储器扩展IO扩展第5章共97页,您现在浏览的是第74页!缘起:I/O接口不够用,P0、P2、P3都有他用1.8155的内部结构和引脚功能可编程多功能并行I/O接口芯片并行I/O接口便于数据的交换通过编程设置工作方式芯片内部具有RAM单元可用资源:I/O口PA口(8位)PB口(8位)PC口(6位)T定时计数器(14位减1)RAM(256个字节)8位地址锁存器(可以直接连到P0口)并行I/O接口芯片815540引脚;+5V电源供电存储器扩展IO扩展第5章共97页,您现在浏览的是第75页!I/O总线PA0~PA7通用I/O线传送A口上的外设数据PB0~PB7通用I/O线传送B口上的外设数据PC0~PC5通用I/O方式下,传送I/O数据选通I/O方式下,传送命令/状态信息电源线VCC+5V电源输入线VSS接地线存储器扩展IO扩展第5章共97页,您现在浏览的是第76页!PA、PB、PC在8155内部分别对应有相应寄存器8155内部有多个寄存器,属于I/O的寄存器有7个命令/状态寄存器、A口寄存器、B口寄存器、C口寄存器、计数器低8位寄存器、高8位寄存器IO/M为1时,8155的AD0~AD7输入的是I/O地址,I/O地址分配如下:CEIO/MAd7~Ad3Ad2Ad1Ad0所选端口01×…×000命令/状态寄存器01×…×001A口01×…×010B口01×…×011C口01×…×100计数器低8位01×…×101计数器高8位2.8155的命令/状态寄存器及I/O接口的工作方式6位是计数器2位是方式位6位是计数器2位是方式位存储器扩展IO扩展第5章共97页,您现在浏览的是第77页!状态字格式——8155工作的状态存储器扩展IO扩展第5章共97页,您现在浏览的是第78页!A口或B口作为输入口时:STB是外部设备导入的选通信号STB生效后数据由外设输入8155,然后BF信号置1,表示8155缓冲器已满在STB的上升沿检测到缓冲器满,而且中断允许的状态下INTR中断输出高电平(有效),从而可以向CPU申请中断,在中断服务程序中读取相应数据,并软件清除BF为低电平,通知输入设备可以输入下一数据A口或B口作为输出口时:8155收到要输出到外设的数据后,将触发器满的相应位置1置BF位高电平,通知外设输出数据已经到达A口或B口输出设备收到信号后,从数据线接收输出数据,并使STB线清0以此通知8155外设已收到数据8155在STB的上升沿检测到触发器满且允许中断后,使INTR置1,向CPU提出中断请求,从而进行下一个数据的输出。存储器扩展IO扩展第5章共97页,您现在浏览的是第79页!使用定时器/计数器前,要先向定时器/计数器高字节送入数值,再向低字节送入数值,最后再将命令字写入命令寄存器方式0在计数的后半周期内使T/OUT上输出低电平矩形波,这个矩形波的周期与定时器长度字初值有关如果定时器/计数器长度字为偶数,T/OUT上的矩形波是对称的如果定时器/计数器长度字为奇数,T/OUT上的矩形波高电平持续时间比低电平多一个计数脉冲时间方式1减1计数到0时,自动装入定时器/计数器长度字初值T/OUT上输出连续矩形波矩形波的周期也与定时器长度字初值有关方式2减1计数到0时,在T/OUT上输出一个单脉冲方式3减1计数到0时,自动装入定时器/计数器长度字初值T/OUT上输出一串重复脉冲重复脉冲的频率和定时器长度字初值有关可以利用定时器/计数器的特性对计数脉冲进行指定分频存储器扩展IO扩展第5章共97页,您现在浏览的是第80页!

0

××××××

000000000

RAM最低单元地址

0××××××011111111

RAM最高单元地址

0××××××1×××××000命令寄存器地址

0××××××1×××××001A口地址

0××××××1×××××010B口地址

0××××××1×××××011C口地址

0××××××1×××××100计数器低8位

0××××××1×××××101计数器高8位线选法存储器扩展IO扩展第5章共97页,您现在浏览的是第81页!(2)译码连接法001××××000000000~001××××011111111RAM地址

命令/状态寄存器的基本地址为2100H。A口的基本地址为2101H,B口的基本地址为2102H存储器扩展IO扩展第5章共97页,您现在浏览的是第82页! ORG0000HSTART:MOVDPTR,#2100H ;命令寄存器地址送入 MOVA,#01H ;命令寄存器内容送入A

MOVX@DPTR,A

;写入命令寄存器 MOVDPTR,#2102H ;B口地址送入DPTR

MOVXA,@DPTR

;读入B口内容 DECDPTR ;A口地址送入DPTR

MOVX@DPTR,A

;A口输出 ACALLDELAY SJMPSTARTDELAY: (略) ;延时子程序ENDA口输出、B口输入存储器扩展IO扩展第5章共97页,您现在浏览的是第83页!5.3.1LED数码显示管显示原理 八段数码管分为共阴极和共阳极两种。段选线位选线存储器扩展IO扩展第5章共97页,您现在浏览的是第84页!静态显示、动态显示(扫描显示)硬件译码——节省CPU资源,但是电路复杂软件译码——查表法,硬件、接口简单,但是占用CPU资源多1.LED静态显示接口电路各LED管能稳定地同时显示各自字形用硬件译码,负载能力强硬件译码静态显示接口电路笔段(字形)代码锁存器、笔段译码器等组成输入BCD码,输出七段显示字形码MC14558、MC14547、MC14513、MC144955.3.2MCS-51对LED的控制存储器扩展IO扩展第5章共97页,您现在浏览的是第85页!【例5-3】

要求将存放在8031单片机内部RAM中30H及31H单元中的4位十六进制数在图5-32所示的电路中从左到右显示出来,试编写相应的程序。存储器扩展IO扩展第5章共97页,您现在浏览的是第86页! 为减少硬件开销,提高系统可靠性并降低成本,通常采用动态扫描的方法,功耗低、负载低2.动态显示软件扫描各LED轮流地一遍一遍显示各自的字符,由于视觉暂留作用,看到的似乎是在同时显示不同字形存储器扩展IO扩展第5章共97页,您现在浏览的是第87页!例5-4设5CH单元存放要显示的内容12H,5BH单元存放34H,5AH单元存放56H ORG0000H AJMPMAIN ORG0100HMAIN: MOVSP,#60H MOVDPTR,#8000H ;命令口地址送入DPTR MOVA,#0EH ;方式控制字送入A MOVX@DPTR,A ;方式字送入8155命令口假设显示内容存放在以5AH为首地址的3个连续单元中显示缓冲区的首地址为79H,请根据图5-33(上页)编写一段程序该程序执行后,数码管显示“654321”存储器扩展IO扩展第5章共97页,您现在浏览的是第88页!

MOV@R1,A ;形成字形码偏移量送显示缓冲区

INCR1

;指向显示缓冲区的下一个单元 DECR0 ;指向下一个显示内容单元5BH DJNZR3,LP2 ;3字节没处理完,继续循环处理 RETDIR: MOVR0,

温馨提示

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

评论

0/150

提交评论