第八章单片机系统扩展

上传人:工**** 文档编号:567691616 上传时间:2024-07-22 格式:PPT 页数:107 大小:1.09MB
返回 下载 相关 举报
第八章单片机系统扩展_第1页
第1页 / 共107页
第八章单片机系统扩展_第2页
第2页 / 共107页
第八章单片机系统扩展_第3页
第3页 / 共107页
第八章单片机系统扩展_第4页
第4页 / 共107页
第八章单片机系统扩展_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《第八章单片机系统扩展》由会员分享,可在线阅读,更多相关《第八章单片机系统扩展(107页珍藏版)》请在金锄头文库上搜索。

1、第八章第八章 单片机系统扩展单片机系统扩展8.1 8.1 程序存储器扩展程序存储器扩展8.2 8.2 数据存储器扩展数据存储器扩展8.3 8.3 并行并行I/OI/O口扩展口扩展阉创完炼逻岗士氮范梧摈辑芭戊野昔仓润簿领债隶锨院驶译腑忽迭访陛炯第八章单片机系统扩展第八章单片机系统扩展8.1 8.1 程序存储器扩展程序存储器扩展8.1.1单片机程序存储器概述单片机程序存储器概述单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。对于MCS-51系列8位单片机,片内程序存储器的类型及容量如表8.1所示。表8.1 MCS-51系列单片机片内程序存储器一览表单片机型号单片机型号片内程序存储

2、器片内程序存储器类型类型容量容量/B8031 无无 8051 ROM4K8751 EPROM 4K8951 Flash 4K钥农斯斌消王鹿举挛底键锁讳桐胆位袭邓绎桥过锥磕馏茸釉藐佐哨淆批弯第八章单片机系统扩展第八章单片机系统扩展对于没有内部ROM的单片机或者当程序较长、片内ROM容量不够时,用户必须在单片机外部扩展程序存储器。MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64KB(0000HFFFFH)。这里要注意的是,MCS-51单片机有一个管脚跟程序存储器的扩展有关。如果接高电平,那么片内存储器地址范围是0000H0FFFH(4KB),片外程序存储器地址范围是1

3、000HFFFFH(60KB)。如果接低电平,不使用片内程序存储器,片外程序存储器地址范围为0000HFFFFH(64KB)。诽纯吊蛙澡娇稚器获略返晓冻懈必一够摈韩武压涉拎值豺踢么琵诗而澄蔷第八章单片机系统扩展第八章单片机系统扩展8031单片机没有片内程序存储器,因此管脚总是接低电平。扩展程序存储器常用的芯片是EPROM(ErasableProgrammableReadOnlyMemory)型(紫外线可擦除型),如2716(2K8)、2732(4K8)、2764(8K8)、27128(16K8)、27256(32K8)、27512(64K8)等。另外,还有+5V电可擦除EEPROM,如2816

4、(2K8)、2864(8K8)等等。如果程序总量不超过4KB,一般选用具有内部ROM的单片机。8051内部ROM只能由厂家将程序一次性固化,不适合小批量用户和程序调试时使用,因此选用8751、8951的用户较多。如果程序超过4KB,用户一般不会选用8751、8951,而是直接选用8031,利用外部扩展存储器来存放程序。应斥寇拾寸眺匹仆官繁硬希围汞疹陕世涯呛焉赣奇内累柒宋磺楞害站啃够第八章单片机系统扩展第八章单片机系统扩展8.1.2EPROM程序存储器扩展实例程序存储器扩展实例紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器。EPROM芯片上有一个玻璃窗口,在紫外线照射下,存储器

5、中的各位信息均变1,即处于擦除状态。擦除干净的EPROM可以通过编程器将应用程序固化到芯片中。 例8.1 在8031单片机上扩展4KBEPROM存储器。(1)选择芯片。本例要求选用8031单片机,内部无ROM区,无论程序长短都必须扩展程序存储器(目前较少这样使用,但扩展方法比较典型、实用)。蠢苟副愈舞致搔女售欠串补原匆揭便己劝静滥墟桃璃炒澎疏轧饵糊绩裁确第八章单片机系统扩展第八章单片机系统扩展在选择程序存储器芯片时,首先必须满足程序容量,其次在价格合理情况下尽量选用容量大的芯片。这样做的话,使用的芯片少,从而接线简单,芯片存储容量大,程序调整余量也大。如估计程序总长3KB左右,最好是扩展一片4

6、KB的EPROM2732,而不是选用2片2716(2KB)。在单片机应用系统硬件设计中应注意,尽量减少芯片使用个数,使得电路结构简单,提高可靠性,这也是8951比8031使用更加广泛的原因之一。(2)硬件电路图。8031单片机扩展一片2732程序存储器电路如图8.2。坦甭撩贤傅聊烙叙蝉仔一暇崔幽铱际赐胁板习安赔脐佩短卑京渴洛归虑弱第八章单片机系统扩展第八章单片机系统扩展图8.2单片机扩展2732EPROM电路轧胡蛙锌搭尼酮慰窗钙化玻趁图谩粟禽现馁仔摄痹柒寺昨示烦如远颐砸熏第八章单片机系统扩展第八章单片机系统扩展(3)芯片说明。74LS373。74LS373是带三态缓冲输出的8D锁存器,由于片机

7、的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。EPROM2732。EPROM2732的容量为4K8位。4K表示有41024(22210=212)个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是12位(A0A11),后者确定了数据线的位数是8位(O0O7)。目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器。2732采用单一+5V供电,最大静态工作电流为100mA,维持电流为35mA,读出时间最大为250n

8、s。2732的封装形式为DIP24,管脚如图7.3所示。钓穿疾醒哆巫匆缕拭贾脚滥饱驶蛙涩吟肋琴搽疮兑粒膳嗡擞负湘娩补乓我第八章单片机系统扩展第八章单片机系统扩展图8.3EPROM2732管脚及说明陛滩措楔家虏刽闸拦慕摘载掂敷烹鹤扣渺妓稽哨贯胸馁悉液巴蛆铜鄙萨叛第八章单片机系统扩展第八章单片机系统扩展其中,A0A11为地址线;O0O7为数据线;为片选线;/VPP为输出允许/编程高压。除了12条地址线和8条数据线之外,为片选线,低电平有效。也就是说,只有当为低电平时,2732才被选中,否则,2732不工作。/VPP为双功能管脚,当2732用作程序存储器时,其功能是允许读数据出来;当对EPROM编程

9、(也称为固化程序)时,该管脚用于高电压输入,不同生产厂家的芯片编程电压也有所不同。当我们把它作为程序存储器使用时,不必关心其编程电压。呼汹慨帖仔士业险蹲逞政砌闭脖礼俱充流萧杠剪煌泄惭疚亥癣乒锦丘吃片第八章单片机系统扩展第八章单片机系统扩展 (4) (4) 扩展总线的产生。扩展总线的产生。一般的CPU,像INTEL8086/8088、Z80等,都有单独的地址总线、数据总线和控制总线,而MCS-51系列单片机由于受管脚的限制,数据线与地址线是复用的,为了将它们分离开来,必须在单片机外部增加地址锁存器,构成与一般CPU相类似的三总线结构。(5)连线说明:地址线。单片机扩展片外存储器时,地址是由P0和

10、P2口提供的。图7.2中,2732的12条地址线(A0A11)中,低8位A0A7通过锁存器74LS373与P0口连接,高4位A8A11直接与P2口的P2.0P2.3连接,P2口本身有锁存功能。注意,锁存器的锁存使能端G必须和单片机的ALE管脚相连。氟汞像匣刻伐台撮糜绪冉咬蛋囚悸砰桨获蚌拖厅拭醒聘享居蛙捏潮佰乎注第八章单片机系统扩展第八章单片机系统扩展数据线。2732的8位数据线直接与单片机的P0口相连。因此,P0口是一个分时复用的地址/数据线。控制线。CPU执行2732中存放的程序指令时,取指阶段就是对2732进行读操作。注意,CPU对EPROM只能进行读操作,不能进行写操作。CPU对2732

11、的读操作控制都是通过控制线实现的。2732控制线的连接有以下几条:直接接地。由于系统中只扩展了一个程序存储器芯片,因此,2732的片选端直接接地,表示2732一直被选中。若同时扩展多片,需通过译码器来完成片选工作。:接8031的读选通信号端。在访问片外程序存储器时,只要端出现负脉冲,即可从2732中读出程序。陨逃细巫锌杠上痕攘诚住变扇勿蝇鬼宗屡孝略碴推吏关耘傍型宾傀用闽酸第八章单片机系统扩展第八章单片机系统扩展(6) (6) 扩展程序存储器地址范围的确定。扩展程序存储器地址范围的确定。单片机扩展存储器的关键是搞清楚扩展芯片的地址范围,8031最大可以扩展64KB(0000HFFFFH)。决定存

12、储器芯片地址范围的因素有两个:一个是片选端的连接方法,一个是存储器芯片的地址线与单片机地址线的连接。在确定地址范围时,必须保证片选端为低电平。本例中,2732的片选端总是接地,因此第一个条件总是满足的,另外,2732有12条地址线,与8031的低12位地址相连,编码结果如下:城升彬胸佑链狠艰繁招唇把扔绊穿伯触肌垢纽侨焙表社谁方装请垃拘隐码第八章单片机系统扩展第八章单片机系统扩展(7)EPROM的使用。存储器扩展电路是单片机应用系统的功能扩展部分,只有当应用系统的软件设计完成了,才能把程序通过特定的编程工具(一般称为编程器或EPROM固化器)固化到2732中,然后再将2732插到用户板的插座上(

13、扩展程序存储器一定要焊插座)。录吹浇镍沈遭哄渺庸逮蚤而醚乾鹰纷展戌躺琅裙诗后培烧荣彝逾蛋挽膛弊第八章单片机系统扩展第八章单片机系统扩展当上电复位时,PC=0000H,自动从2732的0000H单元取指令,然后开始执行指令。如果程序需要反复调试,可以用紫外线擦除器先将2732中的内容擦除,然后再固化修改后的程序,进行调试。如果要从EPROM中读出程序中定义的表格,需使用查表指令:MOVCA,A+DPTRMOVCA,A+PC死威藻惩彦枯肠速昨每霖掏精仍粟硕俯瘤涤析颅萎撤千卯须藻旦珊伸丛隙第八章单片机系统扩展第八章单片机系统扩展8.1.3EEPROM扩展实例扩展实例电擦除可编程只读存储器EEPROM

14、是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM可读可改写的特性,又具有非易失性存储器ROM在掉电后仍能保持所存储数据的优点。因此,EEPROM在单片机存储器扩展中,可以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路确定。EEPROM作为程序存储器使用时,CPU读取EEPROM数据同读取一般EPROM操作相同;但EEPROM的写入时间较长,必须用软件或硬件来检测写入周期。帛痢乳滤吨医兄凯脑苍萧嘉绽或扎绪居躇凶龄寺衫绎亥酉徽枚涟样不秘拼第八章单片机系统扩展第八章单片机系统扩展例例8.28.2 在在80318031单片机上扩展单片机上扩展2KB EEPROM2KB

15、 EEPROM。 (1) 选择芯片。选择芯片。2816A和2817A均属于5V电擦除可编程只读存储器,其容量都是2K8位。2816A与2817A的不同之处在于:2816A的写入时间为915ms,完全由软件延时控制,与硬件电路无关;2817A利用硬件引脚来检测写操作是否完成。在此,我们选用2817A芯片来完成扩展2KBEEPROM,2817A的封装是DIP28,采用单一+5V供电,最大工作电流为150mA,维持电流为55mA,读出时间最大为250ns。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。硒只檬靳蠢疑湖全卜着史连橱瘩陌供猩迄誉剖读炉尽燥晋父拳乓念氛教励第八章单片

16、机系统扩展第八章单片机系统扩展2817A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作。2817A的管脚如图7.4所示。其中,A0A10为地址线;I/O0I/O7为读写数据线;为片选线;为读允许线,低电平有效;为写允许线,低电平有效;为低电平时,表示2817A正在写操作,处于忙状态,高电平时,表示写操作完毕;VCC为+5V电源;GND为接地端。2817A的读操作与普通EPROM的读出相同,所不同的只是可以在线进行字节的写入。搓阮拎辅试壕匣惟昂耪铸绵樱力小粹找沧咯擂铜铅臃偷博僻振撰贱掌拱哼第八章单片机系统扩展第八章单片机系统扩展图8.428

17、17A的管脚琳抗钩眺殷秧廊陷坏奏拢围砒菏怠乐姻壤淹最寇甫卑挑毒储墩盖峡碳院像第八章单片机系统扩展第八章单片机系统扩展2817A的写入过程如下:CPU向2817A发出字节写入命令后,2817A便锁存地址、数据及控制信号,从而启动一次写操作。2817A的写入时间大约为16ms左右,在此期间,2817A的脚呈低电平,表示2817A正在进行写操作,此时它的数据总线呈高阻状态,因而允许CPU在此期间执行其它的任务。当一次字节写入操作完毕,2817A便将线置高,由此来通知CPU。 (2) 硬件电路图。硬件电路图。单片机扩展2817A的硬件电路图如图8.5所示。潞障纤享腑筋锈蹦古猴悠拷舜乓吴斋崖辱复炽慕悉古

18、仟涣灿柞芝逸县怨惨第八章单片机系统扩展第八章单片机系统扩展图8.5单片机扩展2817AEEPROM电路返滞澈盯恢钾让辰壬蛊汕歹空幼佬瞎购选垃阿乏股擅列葡窒稗雨川骋恐请第八章单片机系统扩展第八章单片机系统扩展 (3) (3) 连线说明:连线说明: 地址线。图7.5中,2817A的11条地址线(A0A10,容量为2K8位,211=21024=2K)中的低8位A0A7通过锁存器74LS373与P0口连接,高3位A8A10直接与P2口的P2.0P2.2连接。数据线。2817A的8位数据线直接与单片机的P0口相连。控制线。单片机与2817A的控制线连接采用了将外部数据存储器空间和程序存储器空间合并的方法

19、,使得2817A既可以作为程序存储器使用,又可以作为数据存储器使用。单片机中用于控制存储器的管脚有以三个:膝纠抹酉蓝缸夺孩磁镑偶关喀岳蔽邵滤韶蔼姿韧酬辆热效俐凄合需痔对馒第八章单片机系统扩展第八章单片机系统扩展控制程序存储器的读操作,执行指令的取指阶段和执行MOVCA,A+DPTR指令时有效;控制数据存储器的读操作,执行MOVXDPTR,A和MOVXRi,A时有效;控制数据存储器的写操作,执行MOVXA,DPTR和MOVXA,Ri时有效。在图7.5中,2817A控制线的连线方法如下:直接接地。由于系统中只扩展了一个程序存储器芯片,因此片选端直接接地,表示2817A一直被选中。亲淬编阿坑鸡杆胆廖

20、狞齿碴樊胃狄讥隘夫拂井财洽境宦审扳蔽邀牧孽早因第八章单片机系统扩展第八章单片机系统扩展:8031的程序存储器读选通信号和数据存储器读信号经过“与”操作后,与2817A的读允许信号相连。这样,只要、中有一个有效,就可以对2817A进行读操作了。也就是说,对2817A既可以看作程序存储器取指令,也可以看作数据存储器读出数据。:与8031的数据存储器写信号相连,只要执行数据存储器写操作指令,就可以往2817A中写入数据。:与8031的P1.0相连,采用查询方法对2817A的写操作进行管理。在擦、写操作期间,脚为低电平,当字节擦、写完毕时,为高电平。购饱汉友茨葬宝窿胰群内耙级撅劳咕佩熄斗陈淄禽前运孕参

21、促聚貉亭豫窜第八章单片机系统扩展第八章单片机系统扩展其实,检测2817A写操作是否完成也可以用中断方式实现,方法是将2817A的反相后与8031的中断输入脚相连。当2817A每擦、写完一个字节,便向单片机提出中断请求。图8.5中,2817A的地址范围是0000H07FFH(无关的管脚取0,该地址范围不是惟一的)。 (4) 2817A的使用。的使用。按照图8.5连接好后,如果只是把2817A作为程序存储器使用,使用方法同EPROM相同。EEPROM也可以通过编程器将程序固化进去。地毒涣掩胶弧蹦债减怎黎辐警熊氓柳窥凝百吨适恶悸求瀑停荡改蓝宅诺椿第八章单片机系统扩展第八章单片机系统扩展如果将2817

22、A作为数据存储器,读操作同使用静态RAM一样,直接从给定的地址单元中读取数据即可。向2817A中写数据采用MOVXDPTR,A指令。蚜权饮点吐过壤龋迄掺记胁铜顷圣彼简胞脱摆垄婚侄围撒谱抖稚湃藉柯编第八章单片机系统扩展第八章单片机系统扩展8.1.4常用程序存储器芯片常用程序存储器芯片从上面两个实例,我们可以体会到扩展程序存储器的一般方法。程序存储器与单片机的连线分为三类:(1)数据线,通常有8位数据线,由P0口提供。(2)地址线,地址线的条数决定了程序存储器的容量。低8位地址线由P0口提供,高8位由P2口提供,具体使用多少条地址线视扩展容量而定。(3)控制线,存储器的读允许信号与单片机的取指信号

23、相连;存储器片选线的接法决定了程序存储器的地址范围,当只采用一片程序存储器芯片时,可以直接接地,当采用多片时要使用译码器来选中。茧舒嫁互允澜搐秆拘风锰哗宰谰芳公棕卤皮旺尚抒羞夹割倔痘否闹焰果臆第八章单片机系统扩展第八章单片机系统扩展1.常用常用EPROM芯片芯片 1) EPROM 27162716是2K8位的紫外线擦除电可编程只读存储器,单一+5V供电,运行时最大功耗为252mW,维持功耗为132mW,读出时间最大为450ns,封装形式为DIP24。2716有地址线11条(A0A10),数据线8条(O0O7),为片选线,低电平有效,为数据输出允许信号,低电平有效,VPP为编程电源,VCC为工作

24、电源。附枷扦湛味待凶环瑚戳月这邻塔贰锑桑孟筋瞻鹰代冻谗毁驴乙恬聚颤菌佃第八章单片机系统扩展第八章单片机系统扩展2) EPROM 27642764是8K8位的EPROM,单一+5V供电,工作电流为75mA,维持电流为35mA,读出时间最大为250ns,DIP28封装。2764A有13条(A0A12)地址线,数据输出线O0O7,为片选线,为数据输出允许线,为编程脉冲输入端,VPP为编程电源,VCC为工作电源。 3) EPROM 2712827128是16K8位的EPROM,单一+5V供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns,DIP28封装。27128A有14条(A0

25、A13)地址线,数据输出线O0O7,为片选线,为数据输出允许线,为编程脉冲输入端,VPP为编程电源,VCC为工作电源。乃娟畴邮佐买哈欧歧特排歇架靛嘻续月龄押盐蹋仅拆让愁磊褂脯筛率拾耍第八章单片机系统扩展第八章单片机系统扩展 4) EPROM 2725627256是32K8位的EPROM,单一+5V供电,工作电流为100mA,维持电流为40mA,读出时间最大为250ns,DIP28封装。27256有15条A0A14地址线,数据输出线O0O7,为片选线,为数据输出允许线,VPP为编程电源,VCC为工作电源。2716、2764、27128和27256的管脚如图7.6所示。2.单片机扩展单片机扩展EP

26、ROM典型电路典型电路 1) 1) 扩展一片扩展一片27128A27128A单片机扩展16 KB外部程序存储器一般选用27128A EPROM芯片,硬件电路如图7.7所示。涤瞩祈炕远有馋菜拌声懦四稻池掀颜骄涎愉泻拉恕输蹭罚栗逆馒炎胃挽醚第八章单片机系统扩展第八章单片机系统扩展图8.6常用EPROM芯片管脚图靠舵涤平章娜尼糖姑块左壁佯示终炮什壤瓶沁芦职甫怜衣奥楞盘辉曰曳脚第八章单片机系统扩展第八章单片机系统扩展图8.7单片机扩展27128EPROM电路絮尉衬吟五简最筷姥沦撇幅十雹谰隙握骄猾澄猫氢窟萌东衣乡眼添束斤乃第八章单片机系统扩展第八章单片机系统扩展图8.8单片机扩展2764EPROM电路2

27、)用译码法扩展一片2764炸橙抹媒咙赐刃琵售医率粒湾韧庐哆乾尉僻渊日皂陕俺亨烩殖滋扫穗垄鸭第八章单片机系统扩展第八章单片机系统扩展在图8.8中,2764的片选端没有接地,而是通过74LS138译码器的输出端来提供的,这种方法称为译码法。当同时扩展多片ROM时,常常采用译码法来分别选中芯片。3.常用常用EEPROM芯片芯片除了例8.2中使用的EEPROM 2817A之外,常用的EEPROM芯片还有2816A、2864A等。 1) EEPROM 2816A2816A的存储容量为2K8位,单一+5V供电,不需要专门配置写入电源。2816A能随时写入和读出数据,其读取时间完全能满足一般程序存储器的要求

28、,但写入时间较长,需915ms。写入时间完全由软件控制。2816A的管脚如图8.9所示。惺晕投镭屉缩跑棵糖戈姨四祷讼揩荣疼按乱陇衡装莫筑丝偿笑谅鸵咎坯岗第八章单片机系统扩展第八章单片机系统扩展图8.9常用EEPROM管脚图法孵杀圆直疟靡窑坚啸闭限忿馒服美妹笆驭狙栗齿殴业士凋疮勤挥厅听胞第八章单片机系统扩展第八章单片机系统扩展2) EEPROM 2864A2864A是8K8位EEPROM,单一+5V供电,最大工作电流160mA,最大维持电流60mA,典型读出时间250ns。由于芯片内部设有“页缓冲器”,因而允许对其快速写入。2864A内部可提供编程所需的全部定时,编程结束可以给出查询标志。286

29、4A的封装形式为DIP28,其管脚如图7.9所示。4.单片机扩展单片机扩展EEPROM典型电路典型电路用单片机扩展EEPROM2864A作为数据存储器的硬件电路如图8.10所示。顺爽娜岛技森庐殆细厚眼缚吓睹脚猩赢掷歧朔敷蓬氖懂篱诽摊处置江鸿憎第八章单片机系统扩展第八章单片机系统扩展图8.10单片机扩展2864AEEPROM作为数据存储器电路么箍逢兢皮庶撑欣耿兆咐玩滨境勒稚舟骄凤州刊脏卯自啤怨辛摊眯换辣绳第八章单片机系统扩展第八章单片机系统扩展8.2 数据存储器扩展数据存储器扩展8.2.1单片机单片机RAM概述概述RAM是用来存放各种数据的,MCS-51系列8位单片机内部有128BRAM存储器,

30、CPU对内部RAM具有丰富的操作指令。但是,当单片机用于实时数据采集或处理大批量数据时,仅靠片内提供的RAM是远远不够的。此时,我们可以利用单片机的扩展功能,扩展外部数据存储器。捕八毕登步伐隶辊躁汕抒融圆厌胚沟啮裙狄脓蚁芬多蜕浩拒哦铰绕岂仕移第八章单片机系统扩展第八章单片机系统扩展常用的外部数据存储器有静态RAM(StaticRandomAccessMemorySRAM)和动态RAM(DynamicRandomAccessMemoryDRAM)两种。前者读/写速度高,一般都是8位宽度,易于扩展,且大多数与相同容量的EPROM引脚兼容,有利于印刷板电路设计,使用方便;缺点是集成度低,成本高,功耗

31、大。后者集成度高,成本低,功耗相对较低;缺点是需要增加一个刷新电路,附加另外的成本。MCS-51单片机扩展片外数据存储器的地址线也是由P0口和P2口提供的,因此最大寻址范围为64KB(0000HFFFFH)。一般情况下,SRAM用于仅需要小于64KB数据存储器的小系统,DRAM经常用于需要大于64KB的大系统。阐难笼纹棺暖末露缕廉假私乒慑纵壳呻鲁洞坠甥窥瞬岩湛亢变程旱毡饯乐第八章单片机系统扩展第八章单片机系统扩展8.2.2SRAM扩展实例扩展实例1应用系统中只扩展一片应用系统中只扩展一片RAM 例7.3 在一单片机应用系统中扩展2KB静态RAM。 (1) 芯片选择。芯片选择。单片机扩展数据存储

32、器常用的静态RAM芯片有6116(2K8位)、6264(8K8位)、62256(32K8位)等。根据题目容量的要求,我们选用SRAM6116。它是一种采用CMOS工艺制成的SRAM,采用单一+5V供电,输入/输出电平均与TTL兼容,具有低功耗操作方式。当CPU没有选中该芯片时(=1),芯片处于低功耗状态,可以减少80%以上的功耗。樊匿晒掣蜡睦告饶拉限滑亏塔狰喉肇彭嫌诗俞巩因疯褂侵未归沪钨拜籍渍第八章单片机系统扩展第八章单片机系统扩展图8.116116管脚图6116的管脚与EPROM2716管脚兼容,管脚如图8.11所示。给掀蜘叹公喇寡网推结插介匿惜撤惊祷晒逐蒲沂汁警懈药喻薪判洽臃驾浮第八章单片

33、机系统扩展第八章单片机系统扩展6116有11条(A0A10)地址线;8条(I/O0I/O7)双向数据线;为片选线,低电平有效;为写允许线,低电平有效;为读允许线,低电平有效。6116的操作方式如表8.2所示。方式I/O0I/O7H未选中高阻LLH读O0O7LHL写I0I7LLL写I0I7表8.26116的操作方式尉做彝瞩杨掩蔚烂砸贰缴伙萎竖掷复果骏娥科叠楚瞒兔切疥碌示悲稿稀障第八章单片机系统扩展第八章单片机系统扩展 (2) 硬件电路。硬件电路。单片机与6116的硬件连接如图8.12所示。图8.12单片机扩展2KBRAM电路熔侩衙抚惦衣郊撅拷舅叭巍姬啊赊痊操狂批哦还赊浇租厦较上贸夷瞄敬佬第八章单

34、片机系统扩展第八章单片机系统扩展 (3) 连线说明。连线说明。6116与单片机的连线如下:地址线:A0A10连接单片机地址总线的A0A10,即P0.0P0.7、P2.0、P2.1、P2.2共11根。数据线:I/O0I/O7连接单片机的数据线,即P0.0P0.7。控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15;读允许线连接单片机的读数据存储器控制线;写允许线连接单片机的写数据存储器控制线。风煎匝际苇舵溪省臣负极抡床庄麻药循仑胺泻掺萄界黎掏甩桩阀绘儒女筑第八章单片机系统扩展第八章单片机系统扩展 (4) 片外片外RAM地址范围的确定及使用。地址范围的确定及使用。按照图8.12的连

35、线,片选端直接与某一地址线P2.7相连,这种扩展方法称为线选法。显然,只有P2.7=0,才能够选中该片6116,故其地址范围确定如下:害赞扫嘴满干葵改隙漫稠瘁掌脊嫂网藻夯宴弟蔑扦昼丝姆纸它运盏潭捂概第八章单片机系统扩展第八章单片机系统扩展8031P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A06116A10A9A8A7A6A5A4A3A2A1A0000000000000000000000001000000000010000000000011

36、011111111111负倪贴牛愁墓辅统妄团凳郭鸯杰宾益却燕耿蓉跳蛤螺跪醚藐钻鸿敝仰弱装第八章单片机系统扩展第八章单片机系统扩展其中,“”表示跟6116无关的管脚,取0或1都可以。如果与6116无关的管脚取0,那么,6116的地址范围是0000H07FFH;如果与6116无关的管脚取1,那么,6116的地址范围是7800H7FFFH。单片机对RAM的读写除了可以使用在实训6中出现的指令:MOVX DPTR,A;64KB内写入数据MOVX A,DPTR;64KB内读取数据外,还可以使用以下对低256B的读写指令:MOVX Ri,A;低256B内写入数据MOVXA,Ri;低256B内读取数据珠散功

37、珍警舜鼓貌铺狄括完枝舌枫组栅葬状热脐鲤顶泡侈疆嗡误瘪膊篮胚第八章单片机系统扩展第八章单片机系统扩展2同时扩展外部同时扩展外部RAM与外部与外部I/O我们知道外部RAM与外部I/O口采用相同的读/写指令,二者是统一编址的,因此当同时扩展二者时,就必须考虑地址的合理分配。通常采用译码法来实现地址的分配。下面是一个这样的例题。 例8.4 扩展8 KB RAM,地址范围是2000H3FFFH,并且具有惟一性;其余地址均作为外部I/O扩展地址。(1)芯片选择。厄翰渺仿彦舟缩肾毗纫匡参海虱渡凹圭始狭逗曼迹卯翻巩嗜盛焕嘘运鼎盖第八章单片机系统扩展第八章单片机系统扩展静态RAM芯片6264。6264是8K8位

38、的静态RAM,它采用CMOS工艺制造,单一+5V供电,额定功耗200mW,典型读取时间200ns,封装形式为DIP28,管脚如图7.13所示。其中,A0A12为13条地址线;I/O0I/O7为8条数据线,双向;为片选线1,低电平有效;CE2为片选线2,高电平有效;为读允许信号线,低电平有效;为写信号线,低电平有效。锑盔噶当牙睬牛赚蜒浴钨煞吕摸龄雌熙柬魏泽拔抢阵嘘详容党色碑卖噎为第八章单片机系统扩展第八章单片机系统扩展图8.136264管脚高绍瘫局龋缀凹蛔陪篙赐鹤撼污息绑臀春贡糙昆鲍咐寸阳警斋租捆狙犁呜第八章单片机系统扩展第八章单片机系统扩展3-8译码器74LS138。题目要求扩展RAM的地址(

39、2000H3FFFH)范围是惟一的,其余地址用于外部I/O接口(关于I/O口的扩展,会在7.3和7.4节介绍)。由于外部I/O占用外部RAM的地址范围,操作指令都是MOVX指令,因此,I/O和RAM同时扩展时必须进行存储器空间的合理分配。这里采用全译码方式,6264的存储容量是8K8位,占用了单片机的13条地址线A0A12,剩余的3条地址线A13A15通过74LS138来进行全译码。 (2) 硬件连线。硬件连线。用单片机扩展8KBSRAM的硬件连线图如图8.14所示。矮埔罚铰少甫廉盔常硝蜀舟媚也性高凰穿县祈掐目御缓松滥烛辕儿膘动譬第八章单片机系统扩展第八章单片机系统扩展图8.14单片机与626

40、4SRAM的连接空牺奔缎蔓竭杰陀沧哪殿饲批诊盆善辽绽督古祸浴墓杏赶拓杀种衣漏揪帚第八章单片机系统扩展第八章单片机系统扩展单片机的高三位地址线A13、A14、A15用来进行3-8译码,译码输出的接6264的片选线;剩余的译码输出用于选通其它的I/O扩展接口;6264的片选线CE2直接接+5V高电平;6264的输出允许信号接单片机的,写允许信号接单片机的。 (3) 6264的地址范围。的地址范围。根据片选线及地址线的连接,6264的地址范围为2000H3FFFH。践个唐鹃将车葬雍灯搔宝魏寐庙旬胞执酥滨央贷挂虫拾鲁贮缩烁氟晾照粘第八章单片机系统扩展第八章单片机系统扩展8.2.3新型存储器简介新型存储

41、器简介1.集成动态随机集成动态随机RAM与静态RAM相比,动态RAM具有成本低、功耗小的优点,适用于需要大容量数据存储空间的场合。但是动态RAM需要刷新逻辑电路,每隔一定的时间就要将所存的信息刷新一次,以保证数据信息不丢失,所以,在单片机的存储器扩展上受到一定限制。近 年 来 出 现 了 一 种 新 型 的 集 成 动 态RAM(iRAM),它将一个完整的动态RAM系统,包括动态刷新硬件逻辑集成到一个芯片中,从而兼有静态RAM、动态RAM的优点。Intel公司提供的iRAM芯片有2186、2187等,其管脚如图8.15所示。抄恒捉狗骑咋卸锋叹据乏互潘咯孪抑堡龙蛮董咒里众龙吴哨富挨汛吩债围第八章

42、单片机系统扩展第八章单片机系统扩展图8.15iRAM2186、2187管脚图置标戏洪档送伤出吧介夜捐逼垂污奉绽亿擒兑榴慢扔科岛难小搞赘闻叠把第八章单片机系统扩展第八章单片机系统扩展2186/2187片内具有8K8位集成动态RAM,单一+5V供电,工作电流70mA,维持电流20mA,存取时间250ns,管脚与6264兼容。两者的不同之处在于2186的引脚1是同CPU的握手信号RDY,而2187的引脚1是刷新控制输入端REFEN。2.快擦写型存储器(快擦写型存储器(FlashMemory)快擦写型存储器是一种电可擦除型、非易失性存储器,也称为闪存,其特点是快速在线修改,且掉电后信息不丢失。近年来,

43、FlashMemory大量用来制作存储器卡(也称为闪卡),例如,数码相机中使用的存储器卡。梆啪翘寂红健夏断般迪瘁谤疮瓤雨可漾骤皑羞窄骸蚀折垂咳已览炎啡选奈第八章单片机系统扩展第八章单片机系统扩展FlashMemory以供电电压的不同,大体可以分为两大类:一类是从用紫外线擦除的EPROM发展而来的需要用高压(12V)编程的器件,通常需要双电源(芯片电源、擦除/编程电源)供电,型号序列为28F系列;另一类是从5V编程的,以EEPROM为基础的器件,它只需要单一电源供电,其型号序列通常为29C系列(有的序列号也不完全统一)。Flash Memory的 型 号 很 多 , 如 28F256( 32K8

44、) 、28F512(64K8)、28F010(128K8)、28F020(256K8)、29C256(32K8)、29C512(64K8)、29C010(128K8)、29C020(256K8)等。栗讹榔螟犹披痢祸过岗利瓶袍匀优轩砷氰博镐嗡徘质灶己否萧乘筋魂篓毙第八章单片机系统扩展第八章单片机系统扩展8.3 并行并行I/O口扩展口扩展8.3.1MCS-51内部并行内部并行I/O口及其作用口及其作用51系列单片机内部有4个双向的并行I/O端口:P0P3,共占32根引脚。P0口的每一位可以驱动8个TTL负载,P1P3口的负载能力为三个TTL负载。有关4个端口的结构及详细说明,在前面的有关章节中已作

45、过介绍,这里不再赘述。在无片外存储器扩展的系统中,这4个端口都可以作为准双向通用I/O口使用。通过7.1和7.2节的介绍,我们知道,在具有片外扩展存储器的系统中,P0口分时地作为低8位地址线和数据线,P2口作为高8位地址线。这时,P0口和部分或全部的P2口无法再作通用I/O口。哨睫姥噎挝漾怜惊泰篡耕垫水练猩光愧蚊锤离昆尘爆安虏材智坚仑趾驰嚼第八章单片机系统扩展第八章单片机系统扩展P3口具有第二功能,在应用系统中也常被使用。因此在大多数的应用系统中,真正能够提供给用户使用的只有P1和部分P2、P3口。综上所述,MCS-51单片机的I/O端口通常需要扩充,以便和更多的外设(例如显示器、键盘)进行联

46、系。在51单片机中扩展的I/O口采用与片外数据存储器相同的寻址方法,所有扩展的I/O口,以及通过扩展I/O口连接的外设都与片外RAM统一编址,因此,对片外I/O口的输入/输出指令就是访问片外RAM的指令,即:巩湃傀资司府翌酥捣污掘汀泰友划天嚏初琴贤焚梯矾熊悠叼砚置酪碳惩酚第八章单片机系统扩展第八章单片机系统扩展MOVXDPTR,AMOVXRi,AMOVXA,DPTRMOVXA,Ri惹阔挽紫两灵订姓还若最郑香忙有夸辣标外萤累吭撼咐坍帮医沛缕饯鉴声第八章单片机系统扩展第八章单片机系统扩展8.3.2简单的简单的I/O口扩展口扩展简单的I/O口扩展通常是采用TTL或CMOS电路锁存器、三态门等作为扩展

47、芯片,通过P0口来实现扩展的一种方案。它具有电路简单、成本低、配置灵活的特点。1.扩展实例扩展实例图7.16为采用74LS244作为扩展输入、74LS273作为扩展输出的简单I/O口扩展。凿君堡凶疽履缕呜漠界迷椰山祭抉挝咨稍训会绞吕询害涉疟求旅叶剧涛秆第八章单片机系统扩展第八章单片机系统扩展图8.16简单I/O口扩展电路锡竣未突肄昆骋煌惫僳假营追粟矣诛郭丘胃簧追鉴氯焕阵趟县矾郴毖沫揽第八章单片机系统扩展第八章单片机系统扩展 2.芯片及连线说明芯片及连线说明在图7.16的电路中采用的芯片为TTL电路74LS244、74LS273。其中,74LS244为8缓冲线驱动器(三态输出),、为低电平有效的

48、使能端。当二者之一为高电平时,输出为三态。74LS273为8D触发器,为低电平有效的清除端。当=0时,输出全为0且与其它输入端无关;CP端是时钟信号,当CP由低电平向高电平跳变时刻,D端输入数据传送到Q输出端。P0口作为双向8位数据线,既能够从74LS244输入数据,又能够从74LS273输出数据。输入控制信号由P2.0和相“或”后形成。当二者都为0时,74LS244的控制端有效,选通74LS244,外部的信息输入到P0数据总线上。当与74LS244相连的按键都没有按下时,输入全为1,若按下某键,则所在线输入为0。俗挟帐屉赘搔畸勺致数蜒避蜕挝搁则妖贵黔肯恩糜汁椰伤虐律帽挪姥说拼第八章单片机系统

49、扩展第八章单片机系统扩展输出控制信号由P2.0和相“或”后形成。当二者都为0后,74LS273的控制端有效,选通74LS273,P0上的数据锁存到74LS273的输出端,控制发光二极管LED,当某线输出为0时,相应的LED发光。 3.I/O口地址确定口地址确定因为74LS244和74LS273都是在P2.0为0时被选通的,所以二者的口地址都为FEFFH(这个地址不是惟一的,只要保证P2.0=0,其它地址位无关)。但是由于分别由和控制,因而两个信号不可能同时为0(执行输入指令,如MOVXA,DPTR或MOVXA,Ri时,有效;执行输出指令,如MOVXDPTR,A或MOVXRi,A时,有效),所以

50、逻辑上二者不会发生冲突。借附烷纂职婿毖寿戚议圭壳忙饺万宣竞烦哉框裸芳蓉担撵芝倦渍眷羞勒传第八章单片机系统扩展第八章单片机系统扩展 4. 编程应用下述程序实现的功能是按下任意键,对应的LED发光。CONT:MOVDPTR,#0FEFFH;数据指针指向口地址MOVXA,DPTR;检测按键,向74LS244读入数据MOVXDPTR,A;向74LS273输出数据,驱动LEDSJMPCONT;循环抉砰纪恕糊佳篇絮钥曾蚤钦回勋弯瘤权砧泵摔殆吓锰惫蚌酮拾坟糊缅勺河第八章单片机系统扩展第八章单片机系统扩展 8.3.3采用采用8255扩展扩展I/O口口所谓可编程的接口芯片是指其功能可由微处理机的指令来加以改变的

51、接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。目前,各生产厂家已提供了很多系列的可编程接口,MCS-51单片机常用的两种接口芯片是8255以及8155,本书主要介绍这两种芯片在51单片机中的使用。8255和MCS-51相连,可以为外设提供三个8位的I/O端口:A口、B口和C口,三个端口的功能完全由编程来决定。牌晕顶艺闰腰壮差浦筹至荷勇忙尹恳烁药旁雏膊藐蕉去赃锭蒙撇滴琼烹宿第八章单片机系统扩展第八章单片机系统扩展 1.8255的内部结构和引脚排列的内部结构和引脚排列图8.17为8255的内部结构和引脚图。图8.178255的内部结构和引脚图眉诲军虎颅侮姨侈问荡锌狈诉咋占拦蔑讥镇

52、所慨攘赎洁岿勃饰询攻扁倍膊第八章单片机系统扩展第八章单片机系统扩展(1)A口、B口和C口。A口、B口和C口均为8位I/O数据口,但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲/锁存器组成。B口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。(2)A、B组控制电路。这是两组根据CPU的命令字控制8255工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。(3)数据缓冲器。这是一个双向三态8位的驱动口,用于和单片机的数据总线相连,传送数据或控制信息。绦唬顶腕痛羞题酋

53、胶省咕娶桩萧玄园踩莎媒穆副臼时猎庐捐痞智雍薄桂茬第八章单片机系统扩展第八章单片机系统扩展(4)读/写控制逻辑。这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255的读/写。 2) 引脚引脚(1)数据线(8条):D0D7为数据总线,用于传送CPU和8255之间的数据、命令和状态字。(2)控制线和寻址线(6条)。RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255所有内部寄存器清0,所有口都为输入方式。和:读/写信号线,输入,低电平有效。当为0时(必为1),所选的8255处于读状态,8255送出信息到CPU。反之亦然。晦墙踩溃徒夕职筋谈类犬恰碌憾貉疵促

54、耽黔氓土肮乎骆源箕僚弹藏佯侗投第八章单片机系统扩展第八章单片机系统扩展:片选线,输入,低电平有效。A0、A1:地址输入线。当=0,芯片被选中时,这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。(3)I/O口线(24条):PA0PA7、PB0PB7、PC0PC7为24条双向三态I/O总线,分别与A、B、C口相对应,用于8255和外设之间传送数据。(4)电源线(2条):VCC为+5V,GND为地线。啡章翱棺蚊栈道椭我鸡斧珍隆筑慧又顷拆知特帚甫埋颁押齿俞皑玫英靖划第八章单片机系统扩展第八章单片机系统扩展2.8255的控制字的控制字8255的三个端口具体工作在什么方式下,是

55、通过CPU对控制口的写入控制字来决定的。8255有两个控制字:方式选择控制字和C口置/复位控制字。用户通过程序把这两个控制字送到8255的控制寄存器(A0A1=11),这两个控制字以D7来作为标志。 1) 方式选择控制字方式选择控制字方式选择控制字的格式和定义如图8.18(a)所示。 例8.5 设8255控制字寄存器的地址为F3H,试编程使A口为方式0输出,B口为方式0输入,PC4PC7为输出,PC0PC3为输入。其程序为寐肆呼冗秀逞郁痕锥担哦琐锡炬搞瑰括篇多满嗜驯窍坟止爆春枪书坪尿俩第八章单片机系统扩展第八章单片机系统扩展MOVR0,#0F3HMOV A,#83HMOVX R0,A2) C口

56、置口置/复位控制字复位控制字C口置/复位控制字的格式和定义如图8.18(b)所示。C口具有位操作功能,把一个置/复位控制字送入8255的控制寄存器,就能将C口的某一位置1或清0而不影响其它位的状态。妹稠集辆喜经垦己祥嘻双券媒燎潮岭昼硕滥豁袖仅酝爷良苗澄烂往健踏岗第八章单片机系统扩展第八章单片机系统扩展图8.188255控制字的格式和定义沃遁雪胰名碟香埂粱朱提宋娇猛焙搓腻独级铰力寒教扦丝粕城鸳余枷绕慷第八章单片机系统扩展第八章单片机系统扩展 例8.6 仍设8255控制字寄存器地址为F3H,下述程序可以将PC1置1,PC3清0。MOV R0,#0F3HMOV A,#03HMOVXR0,AMOV A

57、,#06HMOVXR0,A3.8255的工作方式的工作方式8255有三种工作方式:方式0、方式1、方式2。方式的选择是通过上述写控制字的方法来完成的。衣隶砌舜仲据猎凋退箱锑酞些螺灶亭摔箕坝藐陕峦惫衫攀伟绒牟柿雇楼画第八章单片机系统扩展第八章单片机系统扩展(1)方式0(基本输入/输出方式):A口、B口及C口高4位、低4位都可以设置输入或输出,不需要选通信号。单片机可以对8255进行I/O数据的无条件传送,外设的I/O数据在8255的各端口能得到锁存和缓冲。(2)方式1(选通输入/输出方式):A口和B口都可以独立的设置为方式1,在这种方式下,8255的A口和B口通常用于传送和它们相连外设的I/O数

58、据,C口作为A口和B口的握手联络线,以实现中断方式传送I/O数据。C口作为联络线的各位分配是在设计8255时规定的,分配表如表8.3所示。依峙寒巡筑忱付苍连赐沧溃末洁肌甲怖肉脊才茸粉撇灼会崩枕不狰颖斜欲第八章单片机系统扩展第八章单片机系统扩展表8.38255C口联络信号分配表C口各位方式1方式2输入方式输出方式双向方式PC0INTRBINTRB由B口方式决定PC1IBFB由B口方式决定PC2SETB由B口方式决定PC3INTRAINTRBINTRAPC4I/OPC5IBFAI/OIBFAPC6I/OPC7I/O诵候让共插椅侩驴戴扣坐晒豪蚊爵巧硕咋垣绪琉旱肇赢谜掺瞎邹摇群求斜第八章单片机系统扩展

59、第八章单片机系统扩展4.8255与与MCS-51的接口的接口8255和单片机的接口十分简单,只需要一个8位的地址锁存器即可。锁存器用来锁存P0口输出的低8位地址信息。图8.19为8255扩展实例。 1) 连线说明连线说明数据线:8255的8根数据线D0D7直接和P0口一一对应相连就可以了。控制线:8255的复位线RESET与8031的复位端相连,都接到8031的复位电路上(在图8.19中未画出)。8255的和与8031的和一一对应相连。凳席哑俐赐翻倘监淋宇嗅缮汗扶囊颊暴蚕湘花掸尉拆咨锁邀座舅下迂感米第八章单片机系统扩展第八章单片机系统扩展寻址线:8255的和A1、A0分别由P0.7和P0.1、

60、P0.0经地址锁存器74LS373后提供,当然的接法不是惟一的。当系统要同时扩展外部RAM时,就要和RAM芯片的片选端一起经地址译码电路来获得,以免发生地址冲突。I/O口线:可以根据用户需要连接外部设备。图8.19中,A口作输出,接8个发光二极管LED;B口作输入,接8个按键开关;C口未用。弟弛筋毅巾疏岳厩绘肛搪钎挖耸唁逸浅妒蚊打搏砂钾潘滋继货与堡渝瞪盂第八章单片机系统扩展第八章单片机系统扩展图8.198051和8255的接口电路眨峰辐肾陕咆倘彤卜铝狼踞寄夸媚哇耿富理沪雅养炯曹煎属忠赣氏漓砒凉第八章单片机系统扩展第八章单片机系统扩展2)地址确定8051A15A14A13A12A11A10A9A

61、8A7A6A5A4A3A2A1A0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08255A1A0A口:000B口:001C口:010控制口:011撒俱杆凸制芒粕迹艰犁恬抒朽洒劳啮肿妓彰礼捌灾背指放藐泥盆狠右鸯蚁第八章单片机系统扩展第八章单片机系统扩展根据上述接法,8255的A、B、C以及控制口的地址分别为0000H、0001H、0002H和0003H(假设无关位都取0)。 3) 编程应用编程应用 例8.7 如果在8255的B口接有8个按键,A口接有8个发光二极管,即类似于图8.16中按键和二极管的连接,则下面的程

62、序能够完成按下某一按键,相应的发光二极管发光的功能。MOVDPTR,#0003H;指向8255的控制口MOVA,#83H迂炳瘩躇秸慰炸速堂廷租考痹芳迈俺派耸洱稻辉聋缘驯旨型诧寞疯照孰檬第八章单片机系统扩展第八章单片机系统扩展MOVXDPTR,A;向控制口写控制字,A口输出,B口输入MOVDPTR,#0001H;指向8255的B口LOOP:MOVXA,DPTR;检测按键,将按键状态读入A累加器MOVDPTR,#0000H;指向8255的A口MOVXDPTR,A;驱动LED发光SJMPLOOP普闲蓝洛谷倘簧绢蹋奖灿点砸蛊敝市病烂晾捂雪馆穿议楷演戮劲璃求抓宿第八章单片机系统扩展第八章单片机系统扩展

63、8.3.4采用采用8155扩展扩展I/O口口在实训电路中采用的是另一种可编程的接口芯片8155,Intel公司研制的8155不仅具有两个8位的I/O端口(A口、B口)和一个6位的I/O端口(C口),而且还可以提供256B的静态RAM存储器和一个14位的定时/计数器。8155和单片机的接口非常简单,目前被广泛应用。1.8155的结构和引脚的结构和引脚8155有40个引脚,采用双列直插封装,其引脚图和组成框图如图8.20所示。蔚炯啊磕关烬幌秋释蚌挞辫膳章熙坞控阴椭团屯矿酌网苗感彪甄敦售玻闪第八章单片机系统扩展第八章单片机系统扩展图8.208155的引脚图和结构框图CBAAD012PA021AD11

64、3PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TIMEROUT6PC037PC138TIMERIN3PC239PC31PC42RESET4PC558155256字节静态RAM14位定时计数器TIMERINTIMEROUTVCC(5V)VSS(GND)PA0PA7IO/MCEALERDWRRESETAD0AD7PB0PB7PC0PC7延氢柔畅哇犯砂细省誉朔唾诗彤袁解绚笔悉茧尸仙柔础星芝盾寿淆毙

65、助囤第八章单片机系统扩展第八章单片机系统扩展我们对8155的引脚分类说明如下:(1)地址/数据线AD0AD7(8条):是低8位地址线和数据线的共用输入总线,常和51单片机的P0口相连,用于分时传送地址数据信息,当ALE=1时,传送的是地址。(2)I/O口总线(22条):PA0PA7、PB0PB7分别为A、B口线,用于和外设之间传递数据;PC0PC5为C端口线,既可与外设传送数据,也可以作为A、B口的控制联络线。煌镭道论栓街戮做揍叫逗糯渴熟阻雁毡淡河彝至晶哗低专姆冗垄沾糕溯甚第八章单片机系统扩展第八章单片机系统扩展(3)控制总线(8条):RESET:复位线,通常与单片机的复位端相连,复位后,81

66、55的3个端口都为输入方式。:读/写线,控制8155的读、写操作。ALE:地址锁存线,高电平有效。它常和单片机的ALE端相连,在ALE的下降沿将单片机P0口输出的低8位地址信息锁存到8155内部的地址锁存器中。因此,单片机的P0口和8155连接时,无需外接锁存器。:片选线,低电平有效。:RAM或I/O口的选择线。当=0时,选中8155的256BRAM;当=1时,选中8155片内3个I/O端口以及命令/状态寄存器和定时/计数器。管燃否颂疡旗酝曰急婿毁郴态甫急辖趟堰吗划喀块崔乘鉴啃唁容屏痞绍掂第八章单片机系统扩展第八章单片机系统扩展TIMERIN、:定时/计数器的脉冲输入、输出线。TIMERIN输

67、入脉冲对8155内部的14位定时/计数器减1;为输出线,当计数器计满回0时,8155从该线输出脉冲或方波,波形形状由计数器的工作方式决定。2.作片外作片外RAM使用使用当=0,=0时,8155只能做片外RAM使用,共256B。其寻址范围由以及AD0AD7的接法决定,这和前面讲到的片外RAM扩展时讨论的完全相同。当系统同时扩展片外RAM芯片时,要注意二者的统一编址。对这256BRAM的操作使用片外RAM的读/写指令“MOVX”。哺惩筛刑舆哦妇锭辫纹霞隆巡船悍溺凿舔欺啸带杀纺练沸斌渔娱惜伤滇份第八章单片机系统扩展第八章单片机系统扩展3.作扩展作扩展I/O口使用口使用当=0,=1时,此时可以对815

68、5片内3个I/O端口以及命令/状态寄存器和定时/计数器进行操作。与I/O端口和计数器使用有关的内部寄存器共有6个,需要三位地址来区分,表8.4为地址分配情况。表表8.46个内部寄存器的地址分配表个内部寄存器的地址分配表 AD7AD0选中寄存器A7A6A5A4A3A2A1A0000001010011100101内部命令/状态寄存器PA口PB口PC口定时/计数器低8位寄存器定时/计数器高8位寄存器蛾枷燃那帚获驶烟悟臻杠也样诚桌陨妄捌缠婶鬃园拢聪拱嘶蜕烈袁蔬浮蕾第八章单片机系统扩展第八章单片机系统扩展1) 1) 命令命令/ /状态寄存器状态寄存器和接口芯片8255一样,芯片8155I/O口的工作方式

69、的确定也是通过对8155的命令寄存器写入控制字来实现的。8155控制字的格式如图8.21所示。命令寄存器只能写入不能读出,也就是说,控制字只能通过指令MOVXDPTR,A或MOVXRi,A写入命令寄存器。在本书的实训电路板中,扩展了8155,用于连接8个LED显示和键盘,A、B口为基本输出方式,C口为基本输入方式,因此编写如下程序:旭滇荷款功钨蹄添沿诡受私畔铭狐塔房沮由鬼悟贬曙写鲤掩呜毡额甸帐乒第八章单片机系统扩展第八章单片机系统扩展图8.218155的控制字娟滥将云旧察恰摄屎湃掸官坎璃惶铱缄剪了壹帐豪努前飞赤迎到澎桩署歹第八章单片机系统扩展第八章单片机系统扩展MOVDPTR,#CWR;设CW

70、R为命令寄存器的地址MOVA,#03H;A、B口为基本输出方式,C口为基本输入方式MOVXDPTR,A状态寄存器中存放有状态字,状态字反映了8155的工作情况,状态字的各位定义如图7.22所示棋秒髓欢抗免恤埠腔玉境帘省桔落醛铰响伸氯厄惠墒棉外婆指怕季滇凛梧第八章单片机系统扩展第八章单片机系统扩展图8.228155的状态字善咎垂呻型滔躁诺泥娱抖胆腥木赎淄促胺玻磐茶莆钮裂削剁锡那夯梳卫丹第八章单片机系统扩展第八章单片机系统扩展状态寄存器和命令寄存器是同一地址,状态寄存器只能读出不能写入,也就是说,状态字只能通过指令MOVXA,DPTR或MOVXA,Ri来读出,以此来了解8155的工作状态。 2)

71、计数器高、低计数器高、低8位寄存器位寄存器关于计数器高、低8位寄存器的使用,我们将在后面讲到定时器使用时再作介绍。4.I/O口的工作方式口的工作方式当使用8155的三个I/O端口时,它们可以工作于不同的方式,工作方式的选择取决于写入的控制字,如图8.21所示。其中,A、B口可以工作于基本I/O方式或选通I/O方式,C口可工作于基本I/O方式,也可以作为A、B选通方式时的控制联络线。么靠霞迪登唐兽砰坐喷确铜池诅抉啼捎卓诗臀梧攘含乌腕碎心婪赂钩悸椿第八章单片机系统扩展第八章单片机系统扩展方式1、2时,A、B、C口都工作于基本I/O方式,可以直接和外设相连,采用“MOVX”类的指令进行输入/输出操作

72、。方式3时,A口为选通I/O方式,由C口的低三位作联络线,其余位作I/O线;B口为基本I/O方式。方式4时,A、B口均为选通I/O方式,C口作为A、B口的联络线。其逻辑组态如图8.23所示。塔维食呆氦佐善饮衙毕儿愿寸尤矣肚瓶珊拒衷享拈牢圈炕菌架佃承磅坚板第八章单片机系统扩展第八章单片机系统扩展图8.238155方式4时的逻辑结构抑拷妥却佬塘拉役殿弊返戴隔佛去釜想燥淳检水澎躁晋逝涡仕呸绿绸犁锹第八章单片机系统扩展第八章单片机系统扩展C口的工作方式和各位的关系见表8.5。表8.5 C口的工作方式方式1方式2方式3方式4PC0PC1PC2PC3PC4PC5全部为输入全部为输出A口中断请求A口缓冲器满

73、A口选通输出输出输出A口中断请求A口缓冲器满A口选通B口中断请求B口缓冲器满B口选通悔栖耿念亩樱式叭贫范讳晾垢枯杆励撇慕糕梯银浊蒲庄锣急泼舱兜奎审圈第八章单片机系统扩展第八章单片机系统扩展5.定时定时/计数器使用计数器使用8155的可编程定时/计数器是一个14位的减法计数器,在TIMERIN端输入计数脉冲,计满时由输出脉冲或方波,输出方式由定时器高8位寄存器中的M2、M1两位来决定。当TIMERIN接外脉冲时为计数方式,接系统时钟时为定时方式,实际使用时一定要注意芯片允许的最高计数频率!定时/计数器的初始值和输出方式由高、低8位寄存器的内容决定,初始值14位,其余两位定义输出方式。其中,低8位

74、寄存器存放计数初始值的低8位,高8位寄存器的格式如下:宣孪镶格脑韭廷箱坏酚刀境贷怠兼剥鉴蓉蔽块滤省揍寻吝巳帅载腔宽瞥盆第八章单片机系统扩展第八章单片机系统扩展 1) 定时定时/计数器的输出方式计数器的输出方式定时器的输出方式见表8.6。输出方式计数初始值高6位M2M1泼彪莱穗讶册泼放迭戚弊几阿卒粗负怎萝摔味遵呛岸岸除素甚厅碴吓个撕第八章单片机系统扩展第八章单片机系统扩展表表8.6定时器的输出方式定时器的输出方式M2M1方式波形00011011在一个计数周期输出单次方波连续方波在计满回0后输出的单个脉冲连续脉冲 2) 定时定时/计数器的工作计数器的工作8155对内部定时器的控制是由8155控制字

75、的D7、D6位决定的(见图8.22),现总结如表8.7所示。鸽芜哉霜噶虱祝龟族尸盂散肺砌鼓皑缚驳侣家蛔炯棺驻拧渴怪控电蒙半扬第八章单片机系统扩展第八章单片机系统扩展表8.7定时/计数器的工作情况8155的控制字定时/计数器工作情况D7D600无操作,即不影响定时器的工作0110立即停止定时器的计数定时器计满回0后停止计数11若定时器不工作,则开始计数;若定时器正在计数,则计满回0后按新输入的长度值开始计数 3) 定时定时/计数器使用实例计数器使用实例8155使用时,通常是先送计数长度和输出方式的两个字节,然后送控制字到命令寄存器,控制计数器的启停。甲赞郑驾庐呀孤县靡靖渍艳仗层殷南陀诌世惭绥砖通

76、诫瞩瘴蕾义凸绦众巫第八章单片机系统扩展第八章单片机系统扩展 例8.8编写8155定时器作100分频器的程序。设8155命令寄存器的地址为0000H,定时器低字节寄存器的地址为0004H,定时器高字节寄存器的地址为0005H。编程如下:ORG1000HMOVDPTR,#0004H;指向定时器低字节寄存器地址MOVA,#64HMOVXDPTR,A;装入定时器初值低8位值壤其楷辕埋品如振春忘榨箔朔郧日僻啄缕能礼株爸壁逮今库译首荷碑感捧第八章单片机系统扩展第八章单片机系统扩展INCDPTR;指向定时器高字节寄存器地址MOVA,#40HMOVXDPTR,A;设定时器输出方式为连续方波MOVDPTR,#0

77、000H;指向命令寄存器地址MOVA,#0C0HMOVXDPTR,A;装入命令字,开始计数SJMP$夹旱灰轿音篆靶揣戴宠恶凡汪旦裙侍宫阂决天啮妖闲畦见被狸褪绩屡扛淤第八章单片机系统扩展第八章单片机系统扩展6.MCS-51单片机和单片机和8155的接口的接口MCS-51和8155的接口非常简单,因为8155内部有一个8位地址锁存器,故无需外接锁存器。在二者的连接中,8155的地址译码即片选端可以采用线选法、全译码等方法,这和8255类似。在整个单片机应用系统中要考虑与片外RAM及其它接口芯片的统一编址,读者可参考本书的实训电路图中的方法,确定8155的相关地址。图8.24为一个连接实例。褂遇棺檀

78、富构钡糠侥屋鼓碧款负量亢岸凸绒沛诡钞盼扩朔玻梅掘蒙徘臼误第八章单片机系统扩展第八章单片机系统扩展图8.248155和8051的接口电路狱闺卢舌眩科货挣拉浅耗详殷伪惮侩渤褐观茸扰匪腰曝能暗抑妊端肇舅佩第八章单片机系统扩展第八章单片机系统扩展根据上述、的连接关系,可以确定地址如下:8051A15A14A13A12A11A10A9A8P2.7P2.6P2.5P2.42.3P2.2P2.1P2.0RAM:008155I/O口: 00少姜擅申宁球妨阵急市窗障擎快刷汞阉懈商窄状蓑足碱磨槐膝任署啮逐承第八章单片机系统扩展第八章单片机系统扩展8051A7A6A5A4A3A2A1A0P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.08155AD7AD000000000.11111111I/O口:问版裴桂褂聂娄娘乐惠庭快牙请栅董党秤拓伙猩辗匿佰结闷扑五驳哟此猿第八章单片机系统扩展第八章单片机系统扩展此时,8155内部RAM的地址范围为:0000H00FFH,8155各端口的地址(设无关位为0,这些地址都不是惟一的)为:命令/状态口0400HA口0401HB口0402HC口0403H定时器低字节0404H定时器高字节0405H九喂贮搭核丫喘滑贱鹿砰漆聊眯拴搪喷噎昼事沁惮仁萨臻盈踪寿学炎觅挡第八章单片机系统扩展第八章单片机系统扩展

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号