单片机io扩展并行扩展外接芯片时,p2通常作

[工学]第2章 89C51单片机单片机的硬件结构第2章89c51单片机单片机的硬件结构 89c5..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
[工学]第2章 89C51单片机单片机的硬件结构
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口如果用8155做单片机89C51的扩展外接口,那么MOV P2,#0F0H转换成8155的形式怎么写?_百度知道
如果用8155做单片机89C51的扩展外接口,那么MOV P2,#0F0H转换成8155的形式怎么写?
我有更好的答案
按默认排序
当用8155作为扩展接口,对8155的操作用的就是MOVX指令,你在设计的时候总会给8155一个地址,该地址可以送至DPTR指针,如MOV DPTR,#DATA
上面的DATA就是你给8155设计的地址,此时不像直接对P0,P1,P2的操作,一般在扩展8155这种芯片后,P2口不再作为普通的I/O口,而是作为它的高8位地址
DPTR,#CADDR
DPTR,#PORTB
CJNE A,#0F0H,NEXT1
这样写对吗?
恩,操作上没错
其他类似问题
mov的相关知识
您可能关注的推广回答者:回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
单片机07-1
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口第14章 MCS-51单片机并行扩展技术_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
102页免费42页免费24页免费44页免费68页免费 64页免费28页免费52页免费39页免费8页免费
喜欢此文档的还喜欢59页免费55页免费15页免费26页免费37页免费
第14章 MCS-51单片机并行扩展技术|版​权​归​黑​龙​江​科​技​学​院​图​书​藏​书​所​有​,​
​
​对​热​爱​学​习​者​真​诚​开​放​(​凯​)
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:3.91MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢《单片机原理与工程应用》第6章 80C51单片机的系统扩展_文档下载_文档资料库
当前位置: >>
《单片机原理与工程应用》第6章 80C51单片机的系统扩展
80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展学习目的1,了解80C51单片机的三总线即数据,地址和控制总线的 构成. 2,掌握80C51单片机扩展ROM和RAM的方法. 3,掌握80C51单片机扩展的方法及应用.学习重点和难点1,ROM和RAM的扩展和分析方法. 2,可编程芯片8255A与8155的应用. 80C51系列单片机内部已有ROM,RAM,I/O和定时/ 计数器等基本功能部件,对于小的应用系统已经可以满足系 统要求.但对于较大的应用系统,还需进行系统扩展,如程 序存储器ROM,数据存储器RAM和并行I/O接口电路的扩展. 本章介绍80C51系统扩展. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.1 程序存储器扩展6.1.1扩展总线 扩展总线 由于80C51单片机受引脚数量的限制,80C51系列单片机的 地址总线的低8位(A7~A0)和数据总线合用P0口,因此P0 口是地址/数据复用口;P2口做地址线的高8位(A15~A8); P3口的RD,WR加上控制线EA,ALE,PSEN等组成控制总 线.80C51单片机的三总线结构如图6-1所示,功能如下: 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展1,数据总线D0~D7 ,数据总线 ~(1)数据总线的宽度为8位,由P0口提供. (2)在读信号RD与写信号WR有效时,P0口上出现的为数据 信息.2,地址总线A0~A15 ,地址总线 ~80C51单片机的地址总线宽度为16位,可寻址范围为2的 16次方=64KB.可扩展的片外ROM的最大容量为64KB,地 址为0000H~FFFFH.可扩展的片外RAM的最大容量也为 64KB,地址为0000H~FFFFH.地址总线A0~A15是由P0 口和P2口共同组成,具体为: (1)地址总线的高8位(A15~A8)是由P2口提供的,低8位 (A7~A0)是由P0口提供的. (2)在访问外部存储器时,由于P0口是地址/数据复用口,因 此需要加一个8位锁存器(74LS373).由地址锁存信号 ALE的下降沿把P0口的低8位锁存至地址锁存器中,再加上 P2口提供的地址高8位,构成单片机的16位地址总线. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展(3)在实际应用系统中,P2口的高8位地址线并不需要这么 多,需要用几位就引出几根口线.3,控制总线 ,控制总线由RD,WR,EA,ALE和PSEN等信号组成, 具体功能如下: (1)读信号RD和写信号WR作为扩展数据存储器RAM和I/O 端口的读,写选通信号.执行MOVX指令时,这两个信号 分别自动有效. (2)EA信号作为内,外程序存储器ROM的控制信号. (3)ALE信号作为地址锁存的选通信号,以实现低8位地址 的锁存. (4)PSEN信号作为扩展程序存储器ROM的读选通信号. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.1.2 常用程序存储器芯片1,常用的EPROM芯片 ,常用的 芯片 扩展程序存储器常用的芯片是EPROM(Erasable Programmable Read Only Memory)型(紫外线可 擦除型),主要是Intel公司生产的27XXX系列, 如 2716(2K×8),2732(4K×8),2764(8K×8), 27128(16K×8),27256(32K×8),27512 (64K×8)等,其中高位数字27表示该芯片是 EPROM,XXX数字能被8整除,表明存储器容量, 如=4KB)表示4KB存储容量的EPROM. 常用EPROM芯片管脚和封装如图6-2所示,主要技术 特性见表6-1. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展返回 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展返回 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展EPROM除外均为28线双列直插式 封装,各引脚功能如下.① A0~A15:地址输入线. ② D0~D7:双向三态数据总线,读或编程校验时为数据 输出线,编程时为数据输入线.其余时间呈高阻状态. ③ CE :片选线,低电平有效. ④ OE :读出选通线,低电平有效. ⑤ PGN :编程脉冲输入线. ⑥ VPP:编程电源线,其值因芯片生产厂商而有所不同. ⑦ VCC:电源线,接+5V电源. ⑧ NC:空. ⑨ GND:接地. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展2,典型EEPROM芯片 ,典型 芯片Intel公司生产的28系列EEPROM是电可擦除只 读存储器,即可像RAM哪样可读可写,又具有 ROM在掉电后仍能长期保持所存储的数据,因此, 它被广泛用作单片机的程序存储器和数据存储器. 常用的EEPROM的芯片引脚和容量如表6-2,芯 片管脚和封装如图6-3所示.EEPROM共同特点 是: ①单一的+5V电源供电,用+5 V电可擦除可写入. ②使用次数为1万次,信息保存时间为10年. ③读出时间为ns级,写入时间为ms级. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展返回 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展EEPROM各引脚功能如下:① A0~A15:地址输入线. ② D0~D7:双向三态数据总线,有时也用I/O0~ I/O7表示. ③ CE :片选线,低电平有效. ④ OE :读选通线,低电平有效. ⑤ WE :写选通线,低电平有效. ⑥ RDY/BUSY:2817A的状态输入线,低电平表 示在写操作,高电平表示准备好接收数据. ⑦ VCC:电源线,接+5V电源. ⑧ NC:空. ⑨ GND:接地. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展3,Flash(闪速 , 闪速)ROM 闪速FlashROM是一种新型的电擦除式存储器,它是在EPROM 工艺的基础上增添了芯片整体电擦除和可再编程功能.它即 可作数据存储器用,又可作程序存储器用,其主要性能特点 为: (1)电可擦除,可改写,数据保持时间长. (2)可重复擦写/编程大于1万次. (3)有些芯片具有在系统可编程ISP功能. (4)读出时间为ns级,写入和擦除时间为ms级. (5)低功耗,单一电源供电,价格低,可靠性高,性能比 EEPROM优越. FlashROM型号很多,常用的有29系列和28F系列.29系 列有29C256(32K×8),29C512(64K×8),29C010 (128K×8),29C020(256K×8),K×8) 等,28F系列有28F512(64K×8),28F010(128K×8), 28F020(256K×8),28F040(512K×8)等. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展常用的29系列FlashROM芯片管脚和封装如图 6-4所示,引脚功能如下.① A0~A17:地址输入线.80C51系列单片机的地址总线 为16根,只有64K的寻址能力,如果扩展的存储器寻址范 围大于64K,多余16根地址线就需要通过P1口或逻辑电路 来解决. ② I/O0~I/O7:双向三态数据总线,有时也用D0~D7表 示. ③CE:片选线,低电平有效. ④OE:读选通线,低电平有效. ⑤WE:写选通线,低电平有效. ⑥ VCC:电源线,接+5V电源. ⑦ GND:接地. ⑨ NC:空. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展返回 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.1.3 程序存储器扩展实例程序存储器的扩展问题实际上就是研究程序存储器与单片 机的连线问题,程序存储器与单片机的连线主要是三总线, 具体是: 数据线: ⑴数据线 存储器的数据线D7~D0有8位,由单片机的P0口的 P0.7~P0.0提供. 地址线:地址线的根数决定了程序存储器的容量.程序存储 ⑵地址线 器的A7~A0低8位地址线由P0口提供,程序存储器的A15~ A8的高8位地址线由P2口提供,具体使用多少条地址线视扩 展容量而定. 控制线:常用的有三根控制线. ⑶控制线 ①程序存储器的读允许信号OE与单片机的读选通信号PSEN 相连;②程序存储器片选线CE的接法决定了程序存储器的 地址范围,当只采用一片程序存储器芯片时,可以直接接地, 当采用多片程序存储器芯片时需要使用译码器来选中,可直 接接译码器的输出. 下面通过实例来介绍程序存储器扩展. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展一,用线选法扩展一片程序存储器. 用线选法扩展一片程序存储器. 线选法是指用一根线连接片选CE信号.此方法连接简单, 成本低,容易掌握,但是,缺点是存储器的地址不唯一.下 面通过举例来说明. [例6.1] 在80C31单片机上用27128A EPROM芯片扩展程序 存储器. 分析:1,确定需要几根地址线.27128A EPROM芯片是16 KB×8存储器,其中 16K=16×0=214,因此,需要14根地址线,即A0~A13. 16K=16 =214 14 A0 A13 2,确定三总线. ①数据线:27128A的数据线D7~D0直接接80C31的P0.7~P0.0. ②地址线:27128A的地址线低8位A7~A0通过锁存器74LS373与P0口连 接,高6位A8~A13直接与P2口的P2.0~P2.5连接,P2口本身有锁存功 能. ③控制线:CPU对EPROM只能进行读操作,不能进行写操作.CPU对 27128A的读操作控制都是通过控制线实现的.27128A控制线的连接有 以下几条: 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展CE片选线:直接接地.由于系统中只扩展了一片程序存储器芯片, 片选线: 片选线 因此,27128A的片选端直接接地,表示27128A一直被选中.若同时 扩展多片,需通过译码器来完成片选工作. OE读选通线:接80C31的读选通信号PSEN端.在访问片外程序 读选通线: 读选通线 存储器时,只要PSEN端出现负脉冲,即可从27128A中读程序. 根据上述分析可画出80C31扩展一片27128A的电路图如图6-5所示.3,27128A程序存储器地址范围的确定. , 程序存储器地址范围的确定. 程序存储器地址范围的确定其中,&×&表示与27128A管脚无关,数值可取0或1(地址范围不 是唯一的),通常取0. 因此,27128A程序存储器地址范围为0000H~3FFFH(&×&取 0),共计16KB存储容量. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展[例6.2]:用80C31单片机扩展一片 例 单片机扩展一片29C256 Flash : 单片机扩展一片 PEROM存储器. 存储器. 存储器 分析:1,确定需要几根地址线.29C256 Flash PEROM芯片是32KB×8存储 容量,其中32K=32××2^10=2^15,因此,需要15根地址 线,即A0~A14. 2,确定三总线. ①数据线:29C256的数据线D7~D0直接接80C31的P0.7~P0.0. ②地址线:29C256的地址线低8位A7~A0通过锁存器74LS373与P0 口连接,高7位A8~A14直接与P2口的P2.0~P2.6连接,P2口本身有 锁存功能. ③控制线:80C31单片机与29C256的控制线连接采用了将外部数据存 储器空间和程序存储器空间合并的方法,使得29C256既可以作为程 序存储器使用,又可以作为数据存储器使用. CE片选线:直接接地.由于系统中只扩展了一片程序存储器芯片, 因此,29C256的片选端直接接地,表示29C256一直被选中. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展OE读选通线:80C31的程序存储器读选通信号PSEN和数据存储器 读信号RD经过&与&门后,接到29C256的读选通线OE上.因此,只要 PSEN和RD中一个有效,就可以对29C256进行读操作.也就是说,对 29C256既可以看作程序存储器取指令,也可以看作数据存储器读出数 据. WE写选通线:与80C31的数据存储器写信号WR相连,只要执行数 据存储器写操作指令,就可以往29C256中写入数据. 根据上述分析可画出80C31扩展一片29C256的电路图如图6-6所示. 3,29C256存储器地址范围的确定. , 存储器地址范围的确定. 存储器地址范围的确定因此,29C256存储器地址范围为0000H~7FFFH(&×&取0),共 计32KB存储容量. 这样来,29C256的数据写入和读出与静态RAM完全相同,采用 MOVX A,@DPTR和MOVX @DPTR,A指令来完成读写操作. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展二,用译码法扩展一片2764 用译码法扩展一片 译码法又称全地址译码法,所有的地址线都参 与译码.下面通过举例来说明. [例6.3]:用译码法扩展一片2764 EPROM存储器. 分析:1,确定需要几根地址线.2764 EPROM芯片是8 KB×8存 储器,其中8K=8×0=213,因此,需要13根 地址线,即A0~A12. 2,确定三总线. ①数据线:2764的数据线D7~D0直接接80C31的P0.7~ P0.0. ②地址线:2764的地址线低8位A7~A0通过锁存器 74LS373与P0口连接,高6位A8~A12直接与P2口的 P2.0~P2.4连接. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展③控制线:CPU对EPROM只能进行读操作,不能进行写操作.CPU 对2764的读操作控制都是通过控制线实现的.2764控制线的连接有 以下几条: CE片选线:由于采用译码法,因此,它是通过74LS138译码器的 输出端Y0来控制,当Y0=0时,才能够选中2764芯片. OE读选通线:接80C31的读选通信号PSEN端.在访问片外程序 存储器时,只要PSEN端出现负脉冲,即可从2764中读程序. 根据上述分析可画出80C31扩展一片2764的电路图如图6-7所示. 3,2764程序存储器地址范围的确定. 程序存储器地址范围的确定. , 程序存储器地址范围的确定因此,2764存储器地址范围为0000H~1FFFH,共计8KB存储容 量,而且地址范围是唯一的. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.2 数据存储器扩展80C51单片机片内数据存储器RAM 只有128B,在应用时若RAM容量不够, 就要在片外进行数据存储器RAM的扩 展,片外数据存储器RAM可扩展的最 大容量为64KB.RMA分为动态存储器 (DRAM)和静态存储器(SRAM), DRAM需要定时刷新,一般用在微机 中,单片机中不适用,单片机中主要 采用SRAM. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.2.1 常用数据存储器芯片静态存储器(SRAM)具有存取速度快,使用方便和价 格低等优点.但它的缺点是,一旦掉电,内部所有数据信 息都会丢失.常用的SRAM有6116(2KB×8),6264 (8KB×8),62128(16KB×8),62256(32KB×8) 等芯片.常用SRAM芯片管脚和封装如图6-8所示,引脚功 能如下. ① A0~A15:地址输入线. ② D0~D7:双向三态数据总线,有时也用I/O0~I/O7表示. ③CE:片选线,低电平有效.6264的26脚(CS)必须接高 电平,并且CE为低电平时才选中该芯片. ④OE:读选通线,低电平有效. ⑤WE:写选通线,低电平有效. ⑥ VCC:电源线,接+5V电源. ⑦ NC:空. ⑧ GND:接地. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展返回 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.2.2 数据存储器扩展实例 一,用线选法扩展一片数据存储器SRAM. [例6.4]:在单片机应用系统中需要扩展8KB SRAM.分析:选用静态存储器6264芯片,具体分析方 法如下: 1,确定需要几根地址线.6264 SRAM芯片是 8KB×8存储容量,其中 8K=8××2^10=2^13,因此,需要13 根地址线,即A0~A12. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展2,确定三总线. ①数据线:6264 SRAM的数据线D7~D0直接与80C31的 P0.7~P0.0相接. ②地址线:6264 SRAM的地址线低8位A7~A0通过锁存器 74LS373与P0口连接,高7位A8~A12直接与P2口的 P2.0~P2.4连接,P2口本身有锁存功能. ③控制线: CE片选线:直接接地.由于系统中只扩展了一片数据 存储器芯片,因此,6264 SRAM的片选端直接接地,表 示6264 SRAM一直被选中. OE读选通线:直接与80C31的RD端相连,只要执行数 据存储器读操作指令,就可以把6264 SRAM中的数据读 出. WE写选通线:与80C31的数据存储器写信号WR相连, 只要执行数据存储器写操作指令,就可以往6264 SRAM 中写入数据. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展根据上述分析可画出80C31扩展一片6264 SRAM的电 路图如图6-9所示. 3,6264 SRAM存储器地址范围的确定. 存储器地址范围的确定. , 存储器地址范围的确定80C31单片机读/写外部数据SRAM的操作使用MOVX指 令,用Ri(i=0,1)间接寻址或用DPTR间接寻址,指令如下: MOVX @DPTR ,A ;64 KB内写入数据 MOVX A ,@DPTR ;64 KB内读取数据 对低256 B的读写指令: MOVX @Ri ,A ;低256 B内写入数据 MOVX A ,@R低256 B内读取数据 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展[例6.5]:把外部数据存储器1000H单元中的数据传 送到外部数据存储器1200H单元中去.解:程序如下 ORG 0000H LJMP MAIN ORG 0200H MAIN:MOV DPTR ,#1000H MOVX A ,@DPTR ;先将1000H单元的内容传送到累加器A中 MOV DPTR,#1200H MOVX @DPTR ,A ;再将A中的内容传送到1200H单元中 END 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展二,用译码法扩展 [例6.6]:80C51用译码法扩展一片62256 RAM 和一片27256 ROM.分析: 分析: 1,确定需要几根地址线.62256 RAM和27256 ROM芯片 都是32KB×8存储容量,其中 32K=32××2^10=2^15,因此,需要15根地址 线,即A0~A14. 2,确定三总线. ①数据线:62256 RAM和27256 ROM芯片的数据线D7~ D0直接与80C51的P0.7~P0.0相接. ②地址线:62256 RAM和27256 ROM芯片的地址线低8位 A7~A0通过锁存器74LS373与P0口连接,高7位A8~A14 直接与P2口的P2.0~P2.6连接. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展③控制线: CE片选线:由于采用译码法,因此,它是通过74LS138 译码器的输出端Y0来控制27256 ROM芯片,当Y0=0时(即 P1.1,P1.0,P2.7都为0),才能选中27256 ROM芯片;用 Y1来控制62256 RAM芯片, 当Y1=0时(即P1.1,P1.0=0, P2.7=1),才能选中62256 RAM芯片. OE读选通线:62256 RAM芯片OE线直接与80C51的RD 端相连,只要执行数据存储器读操作指令MOVX A,@DPTR 就可以把62256 RAM芯片中的数据读出;27256 ROM芯片 OE线直接与80C51的PSEN端相连. WE写选通线:62256 RAM芯片WE线与80C51的写信号 WR相连,只要执行数据存储器写操作指令MOVX @DPTR , A, 就可以往62256 RAM芯片中写入数据. 根据上述分析可画出80C51用译码法扩展一片62256 RAM和一片27256 ROM的逻辑电路图如图6-10所示. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展3,62256 RAM和27256 ROM存储器地址范围的确定. , 存储器地址范围的确定. 和 存储器地址范围的确定(1)27256 ROM存储器地址范围的确定 ) 存储器地址范围的确定因此,27256 ROM存储器地址范围为0000H~7FFFH,共计32KB 存储容量. (2)62256 RAM存储器地址范围的确定 ) 存储器地址范围的确定而62256 RAM存储器地址范围为8000H~FFFFH,共计32KB存储 容量. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.3 简单并行 接口的扩展 简单并行I/O接口的扩展80C51系列单片机内部有4个8位并行I/O口P0~P3,共32根引 脚,当需要片外扩展存储器时,P0口分时地作为低8位地址线和数 据线,P2口作为高8位地址线.P3口具有第二功能,在应用系统 中也常被使用.因此在大多数的应用系统中,真正能够提供给用 户使用的只有P1和部分P2,P3口,当所接外设较多时,就必须扩 展I/O接口. 80C51单片机扩展的I/O口和片外数据存储器采用统一编址, 相同的寻址方法,因此,对片外I/O口的输入/输出指令就是访问片 外RAM的指令,扩展方法与片外数据存储器相同.6.3.1 简单 接口扩展芯片 简单I/O接口扩展芯片所谓简单的I/O口扩展就是采用通用TTL,CMOS锁存器和缓冲 器等作为扩展芯片,通过P0口来实现扩展的一种方案.它具有电 路简单,成本低,配置灵活等特点,因此,在单片机应用系统中 经常被采用. 常用的芯片有74LS237(8D触发器),74LS373(8D锁存器), 74LS377(带使能的8D触发器),74LS244(带三态8缓冲线驱动器) 和74LS245(8双向总线收发器)等.74LS244的内部结构如图6-11 所示, 74LS373的内部结构如图6-12所示. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.3.2 简单并行 接口扩展实例 简单并行I/O接口扩展实例图6-13所示是80C51单片机扩展一个输入接口74LS244和一个 输出接口74LS273电路. P0口作为双向数据总线,用74LS244扩展8位输入,输入由8 只开关K0~K7控制,开关闭合为低电平,开关断开为高电平;用 74LS273扩展8位输出,输出信号控制8只发光二级管,74LS273输 出为低电平时,发光二极管亮,74LS273输出为高电平时,发光 二极管灭.只要P2.0为0,就选中74LS244或74LS273,所以 74LS244和74LS273的地址均为FEFFH. 编写控制程序,程序实现的功能是闭合任意开关 对应的LED 程序实现的功能是闭合任意开关, 编写控制程序 程序实现的功能是闭合任意开关,对应的 发光 参考程序: 参考程序:ORG LJMP ORG MAIN:MOV MOVX MOVX SJMP END 0000H MAIN 0200H DPTR,#0FEFFH ;数据指针指向口地址 A,@DPTR ;检测开关状态,读入74LS244数据 @DPTR,A ;向74LS273输出数据,驱动LED MAIN 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展仿真链接返回 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.4 8255可编程并行接口扩展 可编程并行接口扩展所谓可编程的接口芯片是指其功能可由单片机的指令来加以改 变,通过编程,可以使接口芯片执行不同的接口功能. 8255A是Intel公司为单片机配套的通用可编程并行接口芯片, 8255A接口芯片有3个8位并行输入/输出端口,可利用编程方法 设置3个端口是作为输入端口还是作为输出端口.6.4.1 Intel 8255A的结构与功能 的结构与功能Intel 8255A是一个40引脚双列直插的芯片,其引脚如图6-14 所示. 1,8255A的引脚 1),与单片机相连的引脚 ①D7~D0:数据线,双向,三态. ②RD:读信号,输入,低电平有效. ③WR:写信号,输入,低电平有效信号. ④CS:片选信号,输入,低电平有效. ⑤A1,A0:地址线,输出. A1,A0与8255内部寄存器的关系如表6-3所示. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展2),与外设相连的引脚 PA7~PA0:A端口数据信号引脚 PB7~PB0:B端口数据信号引脚. PC7~PC0:C端口数据信号引脚. 3),其它引脚 RESET:复位信号,输入,高电平有效. VCC,GND:电源+5V和接地引脚. 2,8255A的内部结构与功能 , 的内部结构与功能 8255A的内部结构如图6-15所示.它包括四个部分:
●数据总线缓冲器; ●读写控制逻辑; ●A组控制; ●B组控制. 端口A和端口C的高4位(PC7~PC4)构成A组,由A组 控制部件来对它进行控制; 端口B和端口C的低4位(PC3~PC0)构成B组,由B组 控制部件对它进行控制. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展各部分的组成和功能如下: 1),数据总线缓冲器数据总线缓冲器是一个双向,三态,8位的数据缓冲器,8255A通 过数据缓冲器与单片机的数据总线相连,输入数据,输出数据,CPU 发送的控制命令字都是通过数据总线缓冲器来传送的.2),读/写控制逻辑读/写控制逻辑接收来自单片机地址总线的地址信号和控制总线的 控制信号,实现对8255A的复位,片选,端口寻址,并发出命令到A 组控制部件或B组控制部件.3),数据端口A,端口B和端口C8255A有三个8位的数据端口:端口A,端口B和端口C.可以通过 程序设定,使它们作为输入端口或输出端口与单片机或外部设备进行 数据,控制和状态信息的交换.4),A组控制部件和B组控制部件A组控制部件控制由端口A和端口C的高4位(PC7~PC4)组成的A组; B组控制部件控制由端口B和端口C的低4位(PC3~PC0)组成的B组. 这两个组控制部件接收8255A内部数据总线送来的控制字,以及读/写 控制逻辑送来的读/写命令,确定对这两个组的具体操作. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.4.2 Intel 8255A的控制字 的控制字8255A是可编程接口芯片,要使8255A工作,必须把工作命令 控制字写入8255A的控制字寄存器.8255A共有两种控制字: ---工作方式选择控制字; ---对端口C置位/复位控制字. 1,方式选择控制字 8255A的选择工作方式的控制字格式和各位的含义如图6-16所 示. 小结: (1),端口A可以工作于方式0,方式1,方式2共三种工作方 式,可以作为输入端口或输出端口; (2),端口B可以工作于方式0,方式1两种工作方式,可以作 为输入端口或输出端口; (3),端口C分成高4位(PC7~PC4)和低4位(PC3~PC0),可 分别设置成输入端口或输出端口;端口C的高4位与端 口A配合组成A组,端口C的低4位与端口B配合组成B组 (4),D7=1表明是设定方式选择控制字. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 [例6.6]: 设8255A的控制字寄存器端口地址为3003H,使端口A,端 口B都工作于方式0,端口A,端口B,端口C都作为输入端口, 则控制字为B,设置8255A控制字的程序段如下:MOV DPTR ,#3003H MOV A ,#9BH MOVX @DPTR,A2,端口C按位置位/复位控制字 端口C可以按位进行置位/复位操作,也就是使端口C的各 位分别设置为1或0.控制字的格式如图6-17所示. 控制字中,D7=0(特征位),表示是端口C按位置位/ 复位控制字.D3,D2,D1选择端口C要进行置位/复位操 作的位.[例6.7]:设8255A的控制字寄存器的端口地址为3003H,要设置PC3 =1,则按位置位/复位控制字为B,设置8255A置位/复 位控制字的程序段如下:MOV DPTR,#3003H MOV A,#07H MOVX @DPTR,A 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.4.3 Intel 8255A的工作方式 的工作方式1,方式0 ,方式 方式0也被称为基本输入/输出工作方式,不需要应答联络信 号.端口A,端口B和端口C的高4位及低4位都可以作为输入或 输出端口. 2,方式 ,方式1 方式1是一种选通输入/输出方式,也称为应答方式.在这种 工作方式下,端口A和端口B作为输入或输出数据的数据端口. 端口C的某些位作为联络信号,配合端口A和端口B工作.端口 C联络信号如表6-4所示. 3,方式 ,方式2 方式2也被称为双向选通输入/输出方式,只有端口A可以工作 于这种方式.在这种方式下,利用端口A既可以进行数据输入, 也可以进行数据输出.输入或输出的数据都被锁存.端口B仍 可独立工作于方式0或方式1.8255A工作于方式2时,端口C的 PC3~PC7作为方式2的控制和状态信息,端口C联络信号如表 6-4所示. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.4.4 8255A与单片机 与单片机89S51的连接 与单片机 的连接8255A和89S51单片机的连接非常简单,只需将相互的 数据线,RD和WR对接,将8255A的地址线和片选线与 89S51地址线相接,PA,PB和PC与外设相接即可.图618是一个用89S51(89C51)单片机扩展1片2764 EPROM(8K×8),2片6264 SRAM(8K×8)和1片可编程并 行接口8255A的电路.8255A的PA,PB和PC接外部设备. 1,连线说明 , 数据线:8255A的8根数据线D0~D7直接和P0口相连. 控制线:8255A的复位线RESET与89S51的复位端相连 (在图6-18中未画出).8255的RD和WR与89S51的RD和 WR相连. 图中采用了74LS138译码器,作为各芯片的片选信号. 其中Y0接2764芯片的CE,Y1接6264(1)芯片的CE,Y2 接6264(2)芯片的CE,Y3接8255A芯片的CS. 2,地址范围的确定 , 和8255A地址范围确定如下: 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.4.5 8255A可编程并行接口扩展应用实例 可编程并行接口扩展应用实例8255A在使用前必须进行初始化,8255A初始化编程基 本包括两个步骤:首先根据问题要求写出方式选择控制字, 然后编写初始化程序,把方式选择控制字写入控制字寄存 器. [例6.7]: 如图6-19所示,在8255的B口接有8个按键,A口 接有8个发光二极管,按下某一按键,相应的发光二极管 发光,试设计程序完成这一功能. 解:根据电路图6-19,可确定8255A的端口地址如下: 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展参考程序如下: 参考程序如下: ORG 0000H LJMP MAIN ORG 0200H MAIN: MOV DPTR,#0003H ;指向8255的控制口 MOV A,#83H MOVX @DPTR, A ;向控制口写控制字,A口输出,B口输入 MOV DPTR,#0001H ;指向8255的B口 LOOP: MOVX A, @DPTR ;检测按键,将按键状态读入A累加器 MOV DPTR,#0000H ;指向8255的A口 MOVX @DPTR, A ;驱动LED发光 SJMP LOOP ;循环 END 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.5 可编程并行接口扩展 可编程并行接口扩展Intel公司研制的芯片内包含: ● 两个8位的I/O端口(A口,B口),一个6位的I/O端口(C口); ● 256B的静态SRAM存储器; ●一个14位的定时/计数器. 单片机的接口非常简单,目前得到广泛应用. 的引脚和内部结构基本相同,唯一区别是片选信号的电平 不同,其它功能完全一样,因此,下面介绍.1 8155的结构和引脚 8155的结构和引脚 8155有40个引脚,采用双列直插封装,其引脚图和内部组成框图 如图6-20所示. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展1,8155A的引脚 , 的引脚 8155各引脚定义如下: (1) AD0~AD7(8条):地址/数据线复用线,因8155片内有地址锁存器,该组引 脚直接与80C51单片机的P0口直接相连. (2) (2) I/O口总线(22条):PA0~PA7,PB0~PB7分别为端口A和端口B用于传 送数据;PC0~PC5为端口C既可用于传送数据,也可用作端口A和端口B的控 制联络信号线. (3) 控制总线(8条): ①RESET:复位输入信号,高电平有效,复位后,8155的3个端口都为输入方 式. ②CE:片选信号,低电平有效. ③RD:读选通信号,低电平有效, 控制8155的读操作 ④WR:写选通信号,低电平有效, 控制8155的写操作. ⑤IO/M:RAM及I/O选择.在片选信号有效的情况下,该信号为高电平,表明 80C51单片机选择的是8155的I/O读写;为低电平,表明80C51单片机选择的 是8155的RAM读写. ⑥ALE:地址锁存信号, 高电平有效.8155片内有地址锁存器,该信号的下降 沿将AD0~AD7上的地址信息以及CE,IO/M的状态锁存在8155的内部寄存器 内.因此,单片机的P0口和8155连接时,无需外接锁存器. ⑦TIMER IN:定时/计数器的输入端. 其输入脉冲对8155内部的14位定时/计数 器减1. ⑧TIMER OUT:定时/计数器的输出端.当计数器计满回0时,8155从该线输出 脉冲或方波,波形形状由计数器的工作方式决定. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展2,8155 RAM和I/O的端口地址 , 和 的端口地址 当片选信号CE=0,RAM及I/O选择位IO/M=0时,8155 只能做片外RAM使用,共256B.地址的高8位由片选信号 确定,地址的低8位为00H~FFH.当系统同时扩展有片外 数据存储器RAM时,二者是统一编址.对8155内部RAM的 操作要使用片外RAM的读/写指令MOVX进行访问. 当片选信号CE=0,RAM及I/O选择位IO/M=1时,对 8155片内3个I/O端口(PA,PB,PC)以及命令/状态寄存 器和14位定时/计数器进行操作. 14 / 8155内部RAM,I/O端口及定时/计数器的地址如表6-5. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.5.2 8155的工作方式 的工作方式1,工作方式设置及状态寄存器格式 , 8155的工作方式由可编程命令寄存器内容决定,因此在8155操作前, 80C51单片机须向命令寄存器送命令字,设定其工作方式,命令字只能 写入不能读出.8155内部还有一个状态寄存器,只能读出不能写入. 8155的状态寄存器和命令寄存器是两个独立的8位寄存器,8155的状态 寄存器和命令寄存器共用一个地址,若8155的00H口是命令/状态口, CPU往00H写入的是命令字,而从中读出的是状态字. (1)工作方式设置 ) 8155的工作方式的确定也是通过对8155的命令寄存器写入控制字来 实现的.8155控制字的格式如图6-21所示. 控制字只能通过指令MOVX @DPTR, A或MOVX @Ri, A写入命令寄 或 存器. [例6.8]: 若8155的命令/状态寄存器地址为00H,设A,B口为基本输出 方式,C口为基本输出方式,试编写8155的初始程序. 解:根据题意控制字为0FH, 8155的初始程序如下: MOV R0,#00H ;送命令寄存器的地址 MOV A,#0FH ;A,B口为基本输出方式,C口为基本输出方式 MOVX @R0,A 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 (2) 状态寄存器格式 8155的状态寄存器由8位锁存器组成,状态寄存器中存放有状 态字,状态字反映了8155的工作情况,只能读出不能写入 只能读出不能写入,8155 只能读出不能写入 状态字的各位定义如图6-22所示.状态寄存器只能通过指令MOVX A ,@DPTR或MOVX A,@Ri 或 , 来读出,以此来了解8155的工作状态. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展2,8155作定时 计数器 , 作定时/计数器 作定时 8155定时/计数器是一个14位的减法计数器,它由两个8位寄存器组成, 计数初值要分两次写入,低8位写入T7~T0位,高6位写入T13~T8位,写 入计数初值范围为2H~3FFFH.在TIMER IN端输入计数脉冲,计满时由 TIMER OUT输出脉冲或方波,M2M1两位决定计数器回零的输出方式.当 TIMERIN接外脉冲时为计数方式,接系统时钟时为定时方式,8155定时/ 计数器格式及M2,M1功能如图6-23所示. 当8155用作计数时,计数初值=脉冲个数,脉冲个数最大值为 2^14=16384个. 当8155用作定时时, 计数初值= 如果计数初值为偶数,输出方波是对称;如果计数初值为奇数, 如果计数初值为偶数,输出方波是对称;如果计数初值为奇数,输出 方波是将不对称,例如,计数初值为7时,输出方波是4个输入时钟周期内 方波是将不对称 为高电平,3个输入时钟周期内为低电平. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.5.3 80C51单片机与 单片机与8155的连接 单片机与 的连接80C51单片机与8155的连接非常简单,因为8155内部 有一个8位地址锁存器,故无需外接锁存器.80C51单片 机与8155的连接如图6-24所示. 根据图6-24所示,可确定RMA,I/O口地址如下: 若&×&取0,则8155内部RAM的地址范围为0000H~ 00FFH,8155各端口地址如下: 命令/状态口:4000H PA口:4001H PB口:4002H PC口:4003H 定时/计数器地址 低8位地址:4004H 高8位地址:4005H 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展6.5.4 8155可编程并行接口扩展应用实例 可编程并行接口扩展应用实例[例6.9]:89S51控制LED显示器的典型应用是用8155作为接口扩展, 其中8155作为6位共阴极LED显示器接口,PA口经驱动器74LS07 接LED的段选,PB0~PB5经反相器74LS06接位选,从左到右依 次显示&个字符.分析:8155 PA口为输出,控制LED显示器字形,PB口为输出,控制 LED显示器的位选,PA,PB采用基本I/O方式,控制字为03H.电路如图 6-25所示,其中P2.7接8155的CE,P2.6接8155的IO/M,当CE=0, IO/M=1 时,选中8155的I/O口,若&×&取0,则命令/状态口地址为4000H,PA 口地址为4001H,PB口地址为4002H. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展参考程序如下:
MOV 0000H MAIN 0200H DPTR,#4000H A,#03H DPTR,A DPTR,#4002H A,#00H @DPTR,A R2,#00H R3,#01H DPTR,#4002H A,R3 @DPTR,A A,R2 DPTR,#TABE A,@A+DPTR DPTR,#4001H;指向命令口 ;PA,PB基本输出方式 ;送控制字 ;送PB地址 ;清显示 ;R2字形码表偏移量 ;送R3位选(左边第一位) ; 送PB地址 ;B口输出位选 ;送字形码表地址 ;查找字形码 ;送PA地址 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展 MOVX @DPTR,A ;A口输出字形码
ACALL DELAY ;调延时1秒子程序
INC R2 ;指向下一位字形
RL A ;左移,指向下一位
CJNE R3,#40H,LP1 ;6个LED显示完吗
SJMP LOOP ;循环
DELAY: MOV R4,#100H ;延时1秒程序
DEL1: MOV R5,#10
DEL2: MOV R6,#7DH
DJNZ R6,DEL3
DJNZ R5,DEL2
DJNZ R4,DEL1
TABE: DB 3FH, 06H,5BH,4FH,66H,6DH ;0~5字形码 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展[例6.10]: 如图6-24所示,若8155的PA口, PB口为基本输入 方式,定时/计数器作为方波发生器,对80C51输入脉冲进 行10分频(注意8155的计数最高频率约为4MHZ),试编 程对8155 I/O口进行初始化. 分析:8155的 PA口,PB口都为输入,PA,PB采用基 本I/O方式,计数器为送完初值后立即启动计数器工作, 因此控制字为C0H.电路如图6-24所示,其中P2.7接 8155的CE,P2.6接8155的IO/M,当CE=0, IO/M=1时,选 中8155的I/O口,若&×&取0,则各端口地址如下: 命令/状态口:4000H PA口:4001H PB口:4002H PC口:4003H 定时/计数器地址: 低8位地址:4004H 高8位地址:4005H 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展参考程序如下:
END0000H MAIN 0200H DPTR,#4004H ;定时/计数器地址低8位 , A,#0AH ;送计数器初值10 @DPTR,A ;计数器寄存器低8位赋值 DPTR ;指向计数器寄存器高6位及方式位 A,#40H ;计数器为连续方波方式 @DPTR,A ;计数寄存器高6位赋值 DPTR,#4000H ;命令寄存器 A,#0C0H ;设命令字 @DPTR,A ;送命令字 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展本章小结1,在存储器扩展中,主要介绍了两种寻址方式:线选法与译 码法.各有优缺点,要通过扩展实例加以熟练掌握.在 80C51单片机数据存储器和程序存储器不够用时要进行扩展. 通过本章的学习要学会画数据存储器和程序存储器扩展电路 图,要掌握常用的程序存储器芯片和数据存储器芯片的型号, 功能和技术参数. 2,了解简单I/O口并行扩展所用TTL芯片和技术特性. 3,Intel公司生产的8255A是一个应用非常广泛的可编程接口 芯片.它内部有三个可编程I/O端口(端口PA,PB,PC),由 于8255A可以通过软件来设置工作方式,因此用8255A连接 外部设备时,通常不需要附加外部电路,给使用带来极大的 方便. 4,Intel公司生产的8155也是一个应用非常广泛的可编程接口 芯片,它内部有三个可编程I/O端口(端口A,B,C),与 8255A的区别在于PC口是6位,一个可编程14位定时/计数 器和256字节的RAM,能方便地进行I/O扩展和RAM扩展. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展思考题与习题1,80C51单片机在作程序存储器和数据存储器扩展时,P0 口和P2口的作用是什么? 2,以80C51为主机,用1片27128 EPROM扩展16K ROM, 试画出硬件接线图. 3,设计扩展8KB RAM和8KB EPROM的电路图. 4,用80C31单片机扩展一片29C512 Flash PEROM存储器. 5,当80C51单片机系统中数据存储器RAM地址和程序存储 器EPROM地址重叠时,是否会发生数据冲突,为什么? 6,8255有几种工作方式,其特点是什么? 7,8155有几种工作方式,其特点是什么? 8,请编出把8155定时器用作24分频器的初始化程序. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展9,如图6-25所示,若P2.7改成P2.1, P2.6改成P2.0,试分析 8155的地址是什么? 10,设8255A的控制字寄存器端口地址为3003H,使端口A, 端口B都工作于方式0,端口A作输入,端口B输出,端口C 作为输入端口,请编出8255A的初始化程序. 11,设8255A的控制字寄存器的端口地址为3003H,要设置 PC6=1,请编出程序. 12,用89S51扩展一片2764,一片A和8155电路, 并确定地址范围. 13,若8155的命令/状态寄存器地址为00H,设A,B口为基本输 入方式,C口为基本输出方式,试编写8155的初始程序. 14,89S51控制LED显示器的典型应用如图6-25所示,其中 8155作为6位共阴极LED显示器接口,PA口经驱动器 74LS07接LED的段选,PB0~PB5经反相器74LS06接位选, 从左到右依次显示&个字符10次,然后,从右到 左依次显示&个字符10次,循环下去,试编程完 成此功能. 80C51单片机的系统扩展 第6章 80C51单片机的系统扩展

我要回帖

更多关于 如何扩展单片机io口 的文章

 

随机推荐