单片机原理及应用:第6章 MCS-51系列单片机的扩展技术

上传人:pu****.1 文档编号:571547517 上传时间:2024-08-11 格式:PPT 页数:45 大小:2.37MB
返回 下载 相关 举报
单片机原理及应用:第6章 MCS-51系列单片机的扩展技术_第1页
第1页 / 共45页
单片机原理及应用:第6章 MCS-51系列单片机的扩展技术_第2页
第2页 / 共45页
单片机原理及应用:第6章 MCS-51系列单片机的扩展技术_第3页
第3页 / 共45页
单片机原理及应用:第6章 MCS-51系列单片机的扩展技术_第4页
第4页 / 共45页
单片机原理及应用:第6章 MCS-51系列单片机的扩展技术_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《单片机原理及应用:第6章 MCS-51系列单片机的扩展技术》由会员分享,可在线阅读,更多相关《单片机原理及应用:第6章 MCS-51系列单片机的扩展技术(45页珍藏版)》请在金锄头文库上搜索。

1、外部存储器的扩展技术外部存储器的扩展技术并行接口的扩展技术并行接口的扩展技术第第6 6章章 MCS-51MCS-51系列单片机的扩展技术系列单片机的扩展技术1 在很多复杂的应用情况下,单片机内的在很多复杂的应用情况下,单片机内的RAMRAM、ROMROM和和I/OI/O接接口不够使用时,就需要进行扩展。口不够使用时,就需要进行扩展。 单片机的系统扩展主要是指外接程序存储器、数据存储单片机的系统扩展主要是指外接程序存储器、数据存储器或器或I/OI/O接口等,以满足应用系统的需要。接口等,以满足应用系统的需要。2 单片机是通过地址总线,数据总线和控制总线与外部交换信单片机是通过地址总线,数据总线和

2、控制总线与外部交换信息的。息的。MCS-51MCS-51单片机的总线接口信号单片机的总线接口信号见图。见图。3(1) (1) 地址总线地址总线A0A0A15A15 地址总线的高地址总线的高8 8位是由位是由P2P2口提供的,低口提供的,低8 8位是由位是由P0P0口提供的。口提供的。 在访问外部存储器时,由地址锁存信号在访问外部存储器时,由地址锁存信号ALEALE的下降沿把的下降沿把P0P0口的低口的低8 8位以及位以及P2P2口的高口的高8 8位锁存至地址锁存器中,从而构成系统的位锁存至地址锁存器中,从而构成系统的1616位地址位地址总线。总线。(2) (2) 数据总线数据总线D0D0D7D

3、7 数据总线是由数据总线是由P0P0口提供的,因为口提供的,因为P0P0口线既用作地址线,又用作数口线既用作地址线,又用作数据线据线( (分时使用分时使用) ),因此,需要加一个,因此,需要加一个8 8位锁存器。位锁存器。4(3) (3) 控制总线控制总线 系统控制总线共系统控制总线共1212根,既根,既P3P3口的第二功能再加上口的第二功能再加上RESETRESET、EAEA、ALEALE和和PSENPSEN。实际应用中的常用控制信号如下。实际应用中的常用控制信号如下。 使用使用ALEALE作为作为地址锁存的选通信号地址锁存的选通信号,以实现低,以实现低8 8位地址的锁存。位地址的锁存。 以

4、以PSENPSEN信号作为扩展信号作为扩展程序存储器的读选通信号程序存储器的读选通信号, ,在取指令码时在取指令码时或执行或执行MOVCMOVC指令时变为有效。指令时变为有效。 以以EAEA信号作为信号作为内、外程序存储器的选择信号内、外程序存储器的选择信号。 以以RDRD和和WRWR作为扩展作为扩展数据存储器和数据存储器和I/OI/O端口的读、写选通信号端口的读、写选通信号。执行执行MOVXMOVX指令时,这两个信号分别自动有效。指令时,这两个信号分别自动有效。 51.1.外部程序存储器时序分析外部程序存储器时序分析 程序存储器扩展电路的安排应满足单片机从外存取指令的时序程序存储器扩展电路的

5、安排应满足单片机从外存取指令的时序要求。从时序图中分析要求。从时序图中分析ALEALE、PSENPSEN、P0P0和和P2P2怎样配合使程序存储器完怎样配合使程序存储器完成取指操作,从而得出扩展程序存储器的方法。成取指操作,从而得出扩展程序存储器的方法。 单片机一直处于不断的取指令码执行取指令码执行的工单片机一直处于不断的取指令码执行取指令码执行的工作过程中,在取指令码时和执行作过程中,在取指令码时和执行MOVCMOVC指令时指令时PSENPSEN会变为有效,和其会变为有效,和其它信号配合完成从程序存储器读取数据。它信号配合完成从程序存储器读取数据。6.1 6.1 外部存储器的扩展技术外部存储

6、器的扩展技术6.1.16.1.1外部程序存储器的扩展技术外部程序存储器的扩展技术6外部程序存储器访问时序外部程序存储器访问时序EA=0EA=0,选择外部选择外部ROMROM。S2P1S2P1开始,开始,P2P2口输出高口输出高8 8位地址位地址A15-A8A15-A8,一直持续到,一直持续到S4S4。S2P1S2P1开始,开始,P0P0口输出低口输出低8 8位地址位地址A7-A0A7-A0,S2P1S2P1结束结束ALEALE下降沿下降沿锁存锁存A7-A0A7-A0。S3P1S3P1开始,开始,PSENPSEN读读选通外部存储器,延时等待选通外部存储器,延时等待TPLIVTPLIV存储器把数据

7、送到存储器把数据送到P0P0口。口。在在PSENPSEN上升沿来以前,单片机读取上升沿来以前,单片机读取P0P0数据,完成一次外部程序存储器访问。数据,完成一次外部程序存储器访问。一个机器周期可访问两次外部程序存储器,读两字节指令。一个机器周期可访问两次外部程序存储器,读两字节指令。72.2.外部程序存储器的连接方法外部程序存储器的连接方法三总线分别连接三总线分别连接8 单片机外部扩展常用程序存储器芯片为单片机外部扩展常用程序存储器芯片为EPROMEPROM,其掉电后信,其掉电后信息不会丢失,且只有在紫外线的照射下,存储器的单元信息才可息不会丢失,且只有在紫外线的照射下,存储器的单元信息才可擦

8、除。擦除。 用作扩展的用作扩展的EPROMEPROM主要是主要是2727系列系列,如,如27162716、27322732、27642764、2712827128、72567256等,其中高位数字等,其中高位数字2727表示该芯片是表示该芯片是EPROMEPROM,低位数字,低位数字表明存储容量,如表明存储容量,如27162716表示表示16K16K个存储位,亦即字节容量为个存储位,亦即字节容量为2K2K的的EPROMEPROM。 常用的还有常用的还有EEPROMEEPROM ,即,即2828系列系列,如,如2816/28172816/2817、28642864等,型号含等,型号含义同上。义同

9、上。 3.3.外部程序存储器的扩展外部程序存储器的扩展(1 1)常见的)常见的EPROMEPROM存储器及扩展电路存储器及扩展电路9 EPROMEPROM除除27162716外均为外均为2828线双列直插式封装,各引脚定义如下。线双列直插式封装,各引脚定义如下。 A0A0AiAi:地址输入线,地址输入线,i=12i=121515。 D0D0DiDi:三态数据总线,读或编程校验时为数据输出线,编程三态数据总线,读或编程校验时为数据输出线,编程时为数据输入线。其余时间呈高阻状态。时为数据输入线。其余时间呈高阻状态。 PGMPGM:编程脉冲输入线。编程脉冲输入线。 OEOE:读出选通线,低电平有效。

10、读出选通线,低电平有效。 CECE:片选线,低电平有效。片选线,低电平有效。 V VPPPP:编程电源线,其值因芯片及制作厂商而异。编程电源线,其值因芯片及制作厂商而异。 V VCCCC:电源线,接电源线,接+5V+5V电源。电源。 GNDGND:接地。接地。1074LS37374LS373为为8D8D锁存器在锁存器在ALEALE下跳沿锁存地址,高位地址直接相连。下跳沿锁存地址,高位地址直接相连。只扩展了一片只扩展了一片EPROMEPROM,片选端接地。,片选端接地。PSENPSEN的下降沿使的下降沿使OEOE有效,由有效,由A0A0A12A12指定的单元指令码从指定的单元指令码从D0D0D7

11、D7输出。输出。P0P0读入指令到单片机读入指令到单片机, , 经译码执行。经译码执行。常见的常见的EPROMEPROM存储器及扩展电路存储器及扩展电路11 单片机扩展单片机扩展27162716,27322732,2712827128等等EPROMEPROM的方法与上图相同,差别的方法与上图相同,差别仅在于不同的芯片的存储容量不同,因而使用高仅在于不同的芯片的存储容量不同,因而使用高8 8位地址的位地址的P2P2端口线的根端口线的根数不同。数不同。 扩展扩展27162716(2KB2KB)需使用需使用A8A8A10 A10 三条高位地址线三条高位地址线 扩展扩展27322732(4KB4KB)

12、需要)需要A8A8A11 A11 四条高位地址线。四条高位地址线。 扩展扩展2712827128(16KB)16KB)需要需要A8A8A13A13六条高位地址线。六条高位地址线。 注意:注意:27642764和和2712827128的的PGMPGM引脚应接引脚应接VccVcc。12(2 2)E E2 2PROMPROM存储器及扩展电路存储器及扩展电路 电可擦除只读存储器电可擦除只读存储器EEPROMEEPROM的特点的特点如下:如下: 单单+5V+5V供电,电可擦除可改写。供电,电可擦除可改写。 使用次数为使用次数为1 1万次,信息保存时间为万次,信息保存时间为1010年。年。 读出时间为读出

13、时间为nsns级,写入时间为级,写入时间为msms级。级。 芯片引脚信号与相应的芯片引脚信号与相应的RAMRAM和和EPROMEPROM芯片芯片兼容。兼容。1374LS37374LS373为为8D8D锁存器在锁存器在ALEALE下跳沿锁存地址,高位地址直接相连。下跳沿锁存地址,高位地址直接相连。只扩展了一片只扩展了一片EEPROMEEPROM,片选端接地。,片选端接地。PSENPSEN和和RDRD相与后与相与后与OEOE相连,支持读指令和读数据操作。相连,支持读指令和读数据操作。WRWR和和WEWE相连,支持写数据操作。相连,支持写数据操作。14(3 3)多存储器片选方法)多存储器片选方法 线

14、选法线选法 所谓线选法,就是把单根高位地址线直接加在存贮器芯片的所谓线选法,就是把单根高位地址线直接加在存贮器芯片的CECE端。端。线选法的优点是连接简单,不必附加逻辑,但扩展的存贮芯片地址线选法的优点是连接简单,不必附加逻辑,但扩展的存贮芯片地址不连不连续。续。 15 译码法(全译码)译码法(全译码) 译码法能提供全部译码法能提供全部64KB64KB地址空间,且扩展的存贮器芯片地址是连地址空间,且扩展的存贮器芯片地址是连续的。续的。 166.1.2 6.1.2 外部数据存储器的扩展技术外部数据存储器的扩展技术1.1.外部数据存储器时序分析外部数据存储器时序分析 MCS-51MCS-51单片机

15、内只有单片机内只有128128字节的数据字节的数据RAMRAM,当应用中需要当应用中需要更多的更多的RAMRAM时,只能在片外扩展。可扩展的最大容量为时,只能在片外扩展。可扩展的最大容量为64KB64KB。 当执行指令当执行指令 MOVX AMOVX A, RiRi 或或 MOVX AMOVX A,DPTR DPTR 时,进入外部数据时,进入外部数据RAMRAM的读的读周期。周期。C51C51语言中采用什么指令访问外部数据存储器?语言中采用什么指令访问外部数据存储器?17外部数据存储器的读周期外部数据存储器的读周期外部数据存储器的读周期外部数据存储器的读周期 第一个机器周期读指令,第二个机器周

16、期读数据。第一个机器周期读指令,第二个机器周期读数据。P2P2口输出高口输出高8 8位地址位地址A15-A8A15-A8。P0P0口输出低口输出低8 8位地址位地址A7-A0A7-A0。分时有效,需。分时有效,需ALEALE下降沿锁存。下降沿锁存。P0P0口读口读8 8位数据位数据D7-D0D7-D0。分时有效,需。分时有效,需RDRD选通外部存储器。选通外部存储器。单片机在单片机在RDRD上升沿之前读入上升沿之前读入P0P0数据,完成一次外部存储器读操作。数据,完成一次外部存储器读操作。18外部数据存储器的写周期外部数据存储器的写周期外部数据存储器的写周期外部数据存储器的写周期第一个机器周期

17、读指令,第二个机器周期写数据。第一个机器周期读指令,第二个机器周期写数据。P2P2口输出高口输出高8 8位地址位地址A15-A8A15-A8。P0P0口输出低口输出低8 8位地址位地址A7-A0A7-A0。分时有效,需。分时有效,需ALEALE下降沿锁存。下降沿锁存。P0P0口读口读8 8位数据位数据D7-D0D7-D0。分时有效,需。分时有效,需WRWR选通外部存储器。选通外部存储器。外部存储器在外部存储器在WRWR上升沿之前将上升沿之前将P0P0数据写入指定单元。数据写入指定单元。192. 2. 外部数据存储器的连接方法外部数据存储器的连接方法注意:注意:外部数据存储器由外部数据存储器由R

18、DRD或或WRWR选通,可读可写;选通,可读可写;203. 3. 外部数据存储器的扩展外部数据存储器的扩展 61166116的地址为的地址为0000H0000H07FFH07FFH,由于高位地址线未接入电路中,该芯片,由于高位地址线未接入电路中,该芯片地址还可为地址还可为1000H1000H17FFH17FFH、2000H2000H27FFH27FFH等等。等等。 21完成外部数据存储器完成外部数据存储器RAMRAM读写操作的两种方式:读写操作的两种方式: 例如把累加器例如把累加器A A的内容写入外部存储器的内容写入外部存储器RAMRAM的的02F3H02F3H单元中,可有如下两单元中,可有如

19、下两种程序:种程序:第一种:第一种:MOV P2MOV P2,#02H #02H ;端口提供高;端口提供高8 8位地址位地址 MOV R0MOV R0,0F3H 0F3H ;R0R0提供低提供低8 8位地址位地址 MOVX MOVX R0R0,A A ;A A中内容写入中内容写入02F3H02F3H单元单元第二种:第二种:MOV DPTRMOV DPTR,02F3H 02F3H ;DPTRDPTR提供提供1616位地址位地址 MOVX MOVX DPTRDPTR,A A ;A A 中内容送中内容送02F3H02F3H单元单元 同样地,若需将外部数据存储器同样地,若需将外部数据存储器RAM 02

20、F3HRAM 02F3H地址单元中的内容读入地址单元中的内容读入A A累累加器,其程序可为:加器,其程序可为:第一种:第一种:MOV P2MOV P2,02H 02H ;端口提供高;端口提供高8 8位地址位地址 MOV R0MOV R0,0F3H 0F3H ;R0R0提供低提供低8 8位地址位地址 MOVX AMOVX A,R0 R0 ;02F3H02F3H单元内容送入单元内容送入A A 中中第二种:第二种:MOV DPTRMOV DPTR,02F3H 02F3H ;DPTRDPTR提供提供1616位地址位地址 MOVX AMOVX A,DPTR DPTR ;02F3H02F3H单元内容送入单

21、元内容送入A A 中中C51C51语言中采用什么指令实现上述功能?语言中采用什么指令实现上述功能?226.2 6.2 并行接口的扩展技术并行接口的扩展技术 MCS-51MCS-51单片机共有单片机共有4 4个个8 8位并行位并行I/OI/O口口, , 在外部扩展时在外部扩展时, P0, P0和和P2P2口做为口做为总线使用,因而提供给用户的总线使用,因而提供给用户的 I/OI/O口就只有口就只有P1P1或或P3P3口的部分口线。所接口的部分口线。所接的外设较多时,就必须扩展的外设较多时,就必须扩展I/OI/O接口。接口。 MCS-51MCS-51单片机扩展的单片机扩展的I/OI/O口和外部数据

22、存储器统一编址、采用相同的口和外部数据存储器统一编址、采用相同的控制信号、相同的寻址方式和相同的指令,即控制信号、相同的寻址方式和相同的指令,即XBYTEXBYTE宏定义。宏定义。23(1 1)XBYTEXBYTE宏定义读取外设数据:宏定义读取外设数据: 变量变量=XBYTE=XBYTE地址地址 ;RDRD=0=0; 1 1)送出地址:确定访问的单元)送出地址:确定访问的单元 P2P2口送出高口送出高8 8位;位;P0P0口送出低口送出低8 8位位 2 2)读取数据:)读取数据: 变量变量=P0=P0(2 2)XBYTEXBYTE宏定义通过外设输出数据:宏定义通过外设输出数据: XBYTEXB

23、YTE地址地址=数据;数据;WRWR=0=0; 1 1)送出地址:确定访问的单元)送出地址:确定访问的单元 P2P2口送出高口送出高8 8位;位;P0P0口送出低口送出低8 8位位 2 2)输出数据:)输出数据: P0=P0=数据;数据;246.2.16.2.1简单输入简单输入/ /输出口的扩展输出口的扩展74LS24474LS244的选通信号由的选通信号由RDRD和和P2.0P2.0相或产生相或产生, ,当执行读该片的指令时当执行读该片的指令时, RD, RD和和P2.0P2.0有效有效, , 打开打开74LS24474LS244控制门控制门, , 从而把数据通过从而把数据通过74LS244

24、74LS244读入读入8XX518XX51。74LS24474LS244各引脚定义如下:各引脚定义如下:1A11A11A41A4:第:第1 1组组4 4条输入线条输入线1Y11Y11Y41Y4:第:第1 1组组4 4条输出线条输出线2A12A12A42A4:第:第2 2组组4 4条输入线条输入线2Y12Y12Y42Y4:第:第2 2组组4 4条输出线条输出线1G1G:第:第1 1组三态门使能端,组三态门使能端, 低电平有效低电平有效2G2G:第:第2 2组三态门使能端,组三态门使能端, 低电平有效低电平有效VCCVCC:工作电源,接:工作电源,接+5V+5V电压电压GNDGND:接地:接地 2

25、5程序如下(汇编):程序如下(汇编): MOV DPTR, #FMOV DPTR, #FE EFFHFFH ; ; 数据指针指向数据指针指向74LS24474LS244 MOVX A, DPTR ; MOVX A, DPTR ; 外部数据经过外部数据经过74LS24474LS244送入累加器送入累加器A A MOV 61H, A MOV 61H, A ; ; 数据送数据送61H61H单元保存单元保存 26程序如下(程序如下(C51C51语言):语言): (1)(1)变量变量=XBYTE0xfeff;=XBYTE0xfeff; (2)unsigned char (2)unsigned char

26、xdataxdata a _at_ 0xfeff a _at_ 0xfeff;(全局变量);(全局变量) 变量变量=a=a;2774LS27374LS273的的选选通通信信号号由由WRWR和和P2.0P2.0相相或或产产生生,通通过过执执行行对对该该片片的的写写指指令令,WRWR和和P2.0P2.0有效有效, ,使使8XX518XX51的数据往的数据往74LS27374LS273输出。输出。74LS27374LS273各引脚定义如下:各引脚定义如下:D0D0D7D7:输入线。:输入线。Q0Q0Q7Q7:输出线。:输出线。CLRCLR:清除控制端,:清除控制端, 低电平有效。低电平有效。CLKC

27、LK:时钟输入端,:时钟输入端, 上升沿有效。上升沿有效。VCCVCC:工作电源,:工作电源, 接接+5V+5V电压。电压。GNDGND:接地。:接地。28 从从74LS27374LS273输出数据,可使用如下指令(汇编)输出数据,可使用如下指令(汇编): : MOV DPTR, #0F MOV DPTR, #0FE EFFH FFH MOVX DPTR MOVX DPTR,A ;A ;向向74LS27374LS273输出数据输出数据29 从从74LS27374LS273输出数据,可使用如下指令(输出数据,可使用如下指令(C51C51语言)语言): : (1 1) XBYTE0xfeff=XB

28、YTE0xfeff=输出数据输出数据 (2 2) unsigned char unsigned char xdataxdata a _at_ 0xfeff; a _at_ 0xfeff;(全局变量)(全局变量) a=a=数据;数据;30【例例】74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,以发光二极管,以显示显示8 8个按钮开关个按钮开关状态状态,某位低电平时二极管发光。,某位低电平时二极管发光。74LS24474LS244扩展输入口,扩展输入口,接接8 8个按个按钮开关。钮开关。 31 74LS27374LS273和和74LS24474LS244的工作受的工作

29、受AT89C51AT89C51的的P2.0P2.0、RDRD、WRWR三条控制线控三条控制线控制。电路的工作原理如下制。电路的工作原理如下: : 当当P2.0=0,WR=0(RD=P2.0=0,WR=0(RD=) )选中写选中写74LS27374LS273, AT89C51AT89C51通过通过P0P0口输出数口输出数据到据到74LS27374LS273,;,; 当当P2.0=0,RD=0(WR=1)P2.0=0,RD=0(WR=1)时选中读时选中读74LS244,74LS244, 某开关按下时则对应位输某开关按下时则对应位输入为入为“0”0”。输出程序段(汇编):输出程序段(汇编):MOV

30、MOV A,#dataA,#data ;数据;数据A AMOV DPTR,#0FEFFH MOV DPTR,#0FEFFH ;I/OI/O地址地址DPTRDPTRMOVX DPTR,A MOVX DPTR,A ;WRWR为低,数据经为低,数据经74LS27374LS273口输出口输出输入程序段(汇编):输入程序段(汇编): MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH ;I/OI/O地址地址DPTRDPTR MOVX A,DPTR MOVX A,DPTR ;RDRD为低,为低,74LS24474LS244口口 ;数据读入内部;数据读入内部RAMRAM32输出程序段(输出程

31、序段(C51C51语言):语言): (1 1)XBYTE0xfeff=XBYTE0xfeff=输出数据输出数据 (2 2)unsigned char unsigned char xdataxdata a _at_ 0xfeff; a _at_ 0xfeff;(全局变量)(全局变量) a=a=输出数据输出数据输入程序段(输入程序段(C51C51语言):语言): (1 1)变量)变量=XBYTE0xfeff;=XBYTE0xfeff; (2 2)unsigned char unsigned char xdataxdata a _at_ 0xfeff;( a _at_ 0xfeff;(全局变量全局变

32、量) ) 变量变量=a=a;33例例1 1 编写程序把按钮开关状态通过上图的发光二极管显示出来。编写程序把按钮开关状态通过上图的发光二极管显示出来。程序如下:程序如下:DDIS:DDIS:MOV DPTR,#0FEFFH MOV DPTR,#0FEFFH ;输入口地址输入口地址DPTRDPTRLP:LP:MOVX A,DPTR MOVX A,DPTR ;按钮开关状态读入按钮开关状态读入A A中中MOVX DPTR,AMOVX DPTR,A ;A A中数据送输出口中数据送输出口SJMP LP SJMP LP ;反复连续执行;反复连续执行#include #include #include #in

33、clude void main()void main() unsigned char a;unsigned char a;while(1)while(1) a=XBYTE0xfeff; a=XBYTE0xfeff; XBYTE0xfeff=a; XBYTE0xfeff=a; #include #include unsigned char unsigned char xdataxdata a _at_ 0xfeff; a _at_ 0xfeff;void main()void main() unsigned char b; unsigned char b; while(1) while(1) b

34、=a; b=a;a=b;a=b;34一、一、82558255的内部结构及引脚功能的内部结构及引脚功能 8255A8255A是可编程并行输入是可编程并行输入/ /输出接口芯片,内含输出接口芯片,内含A A、B B、C C三个三个8 8位的输入位的输入输出数据端口,输出数据端口,A A、B B两组控制电路,读两组控制电路,读/ /写控制逻辑电路以及数据总线缓写控制逻辑电路以及数据总线缓冲器冲器, , 其内部结构与引脚配置如下图所示。其内部结构与引脚配置如下图所示。6.2.26.2.2可编程并行输入可编程并行输入/ /输出口输出口82558255的扩展的扩展358255A8255A控制信号与端口信号

35、传送的控制信号与端口信号传送的I/OI/O操作关系操作关系 A1A1A0A0 RD RD* * WR WR* * CS CS* *工作状态工作状态0 00 00 01 10 0读端口读端口A A:A A口数据口数据数据总线数据总线读端口读端口B B:B B口数据口数据数据总线数据总线 读端口读端口C C:C C口数据口数据数据总线数据总线0 01 10 01 10 01 10 00 01 10 00 00 01 10 00 0写端口写端口A A:总线数据总线数据A A口口写端口写端口B B:总线数据总线数据B B口口写端口写端口C C:总线数据总线数据C C口口写控制字:总线数据写控制字:总线

36、数据控制字寄存器控制字寄存器0 01 11 10 00 01 10 01 10 00 01 11 11 10 00 01 1数据总线为三态数据总线为三态1 11 10 01 10 0非法状态非法状态1 11 10 0数据总线为三态数据总线为三态36二、二、8255A8255A的工作方式及选择的工作方式及选择 n8255A8255A在三种基本的方式在三种基本的方式下工作:下工作:l方式方式 0 0:基本输入:基本输入/ /输出。输出。l方式方式 1 1:选通的输入:选通的输入/ /输出。输出。l方式方式 2 2:双向传输。:双向传输。1 1、方式选择控制字、方式选择控制字 其中其中A A口口可工

37、作于方式可工作于方式0 0、1 1、和、和2 2,而,而B B口口只能只能工作在方式工作在方式0 0和方式和方式1 1。例例 写入工作方式控制字写入工作方式控制字95H95H 可将可将8255A8255A编程为:编程为:A A口口方式方式0 0输入输入,B B口口方式方式1 1输出输出,C C口的上半部分口的上半部分(PC7PC7 PC4PC4)输出,输出,C C口的下半部分口的下半部分(PC3PC3PC0PC0)输入。输入。372. C2. C口按位置位口按位置位/ /复位控制字复位控制字可对可对C C口口8 8位中的任一位置位中的任一位置“1 1”或清或清“0 0”。用于。用于位控位控。例

38、例 控制字控制字07H07H写入控制口,置写入控制口,置“1 1” PC3 PC3;08H08H写入控制口,清写入控制口,清“0 0” PC4PC4。38三、三、AT89C51AT89C51单片机和单片机和82558255的接口的接口1.1.硬件接口电路硬件接口电路 如如图图是是89C5189C51扩展扩展1 1片片8255A8255A的电路图。的电路图。74LS37374LS373是地址锁存器,是地址锁存器,P0.1P0.1、P0.0P0.0经经74LS37374LS373与与8255A8255A的地址线的地址线A1A1、A0A0连接;连接; P0.7P0.7经经74LS37374LS373

39、与片选端与片选端相连,其他地址线悬空。相连,其他地址线悬空。392.2.确定确定8255A8255A端口地址端口地址图图中中8255A8255A各端口寄存器的地址为:各端口寄存器的地址为:A A口:口: FF7CH FF7CH B B口:口: FF7DHFF7DHC C口:口: FF7EH FF7EH 控制寄存器:控制寄存器: FF7FHFF7FH403.3.软件编程软件编程例例 要求要求8255A8255A工作在方式工作在方式0 0,且,且A A口作为输入,口作为输入,B B口、口、C C口作为输出,口作为输出,程程序如下:序如下:MOV MOV A,#90H A,#90H ;A A口方式口

40、方式0 0输入,输入,B B口、口、 ;C C口输出的控制字送口输出的控制字送A AMOVMOVDPTR,#0FF7FH DPTR,#0FF7FH ;控制寄存器地址;控制寄存器地址DPTRDPTRMOVX DPTR,AMOVX DPTR,A ;方式控制字;方式控制字控制寄存器控制寄存器MOVMOVDPTR,#0FF7CH DPTR,#0FF7CH ;A A口地址口地址DPTRDPTRMOVX A,DPTRMOVX A,DPTR ;从从A A口读数据口读数据MOV DPTR,#0FF7DH MOV DPTR,#0FF7DH ;B B口地址口地址DPTRDPTRMOV MOV A,#DATA1A,

41、#DATA1 ;要输出的数据;要输出的数据DATA1ADATA1AMOVX DPTR,A MOVX DPTR,A ;将将DATA1DATA1送送B B口输出口输出MOV DPTR,#0FF7EH MOV DPTR,#0FF7EH ;C C口地址口地址DPTRDPTR41MOV A,#DATA2MOV A,#DATA2 ;DATA2ADATA2AMOVX DPTR,AMOVX DPTR,A ;将数据;将数据DATA2DATA2送送C C口输出口输出C51C51语言程序:语言程序:#include #include #include #include void main()void main()

42、unsigned char unsigned char a,b,ca,b,c; ;XBYTE0xff7f=0x90; /XBYTE0xff7f=0x90; /写入控制字写入控制字a=XBYTE0xff7C;a=XBYTE0xff7C; / /读读A A口数据,存入变量口数据,存入变量a a中中XBYTE0xff7D=b;XBYTE0xff7D=b; / /写写B B口,变量口,变量b b通过通过B B口输出口输出XBYTE0xff7e=c;XBYTE0xff7e=c; / /写写C C口,变量口,变量C C通过通过C C口输出口输出 42【练习练习】 用用82558255的的PAPA、PBPB

43、、PCPC口分别作为输入口接八只控制开关,或作为口分别作为输入口接八只控制开关,或作为输出口接八只发光二极管,编写控制程序,八只发光二极管分别受各输出口接八只发光二极管,编写控制程序,八只发光二极管分别受各自对应的控制开关的控制。自对应的控制开关的控制。43 ORG 0000HORG 0000H AJMP MAIN AJMP MAIN ORG 0250H ORG 0250H MAIN: MOV DPTR,#0FFfeH MAIN: MOV DPTR,#0FFfeH MOV A,#90H MOV A,#90H;A;A口输入、口输入、B B口输出口输出 MOVX DPTR,AMOVX DPTR,A

44、; ;写控制字数据写控制字数据 LOOPLOOP: MOV DPTR,#0FF3eHMOV DPTR,#0FF3eH MOVX A,DPTR MOVX A,DPTR; ;读输入口数据读输入口数据 MOV DPTR,#0FF7eHMOV DPTR,#0FF7eH MOVX DPTR,A MOVX DPTR,A; ;写输出口数据写输出口数据 SJMP LOOPSJMP LOOP END END; ;程序结束程序结束44C51C51语言程序:语言程序:#include #include #include #include void main()void main() unsigned char a;

45、unsigned char a;XBYTE0xfffe=0x90;XBYTE0xfffe=0x90;while(1)while(1) a=XBYTE0xff3e;a=XBYTE0xff3e;XBYTE0xff7e=a;XBYTE0xff7e=a; #include #include unsigned char unsigned char xdataxdata a _at_ 0xfffe; a _at_ 0xfffe;unsigned char unsigned char xdataxdata b _at_ 0xff3e; b _at_ 0xff3e;unsigned char unsigned char xdataxdata c _at_ 0xff7e; c _at_ 0xff7e;void main()void main() unsigned char d;unsigned char d;a=0x90;a=0x90;while(1)while(1) d=b;d=b;c=d;c=d; 45

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

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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