书签 分享 收藏 举报 版权申诉 / 45
上传文档赚钱

类型单片机第6章MCS51系列单片机的扩展技术课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4842418
  • 上传时间:2023-01-17
  • 格式:PPT
  • 页数:45
  • 大小:2.32MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《单片机第6章MCS51系列单片机的扩展技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    单片机 MCS51 系列 扩展 技术 课件
    资源描述:

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

    2、1)(1)地址总线地址总线A0A0A15A15 地址总线的高地址总线的高8 8位是由位是由P2P2口提供的,低口提供的,低8 8位是由位是由P0P0口提供的。口提供的。在访问外部存储器时,由地址锁存信号在访问外部存储器时,由地址锁存信号ALEALE的下降沿把的下降沿把P0P0口的低口的低8 8位以及位以及P2P2口的高口的高8 8位锁存至地址锁存器中,从而构成系统的位锁存至地址锁存器中,从而构成系统的1616位地址位地址总线。总线。(2)(2)数据总线数据总线D0D0D7D7 数据总线是由数据总线是由P0P0口提供的,因为口提供的,因为P0P0口线既用作地址线,又用作数口线既用作地址线,又用作

    3、数据线据线(分时使用分时使用),因此,需要加一个,因此,需要加一个8 8位锁存器。位锁存器。5(3)(3)控制总线控制总线 系统控制总线共系统控制总线共1212根,既根,既P3P3口的第二功能再加上口的第二功能再加上RESETRESET、EAEA、ALEALE和和PSENPSEN。实际应用中的常用控制信号如下。实际应用中的常用控制信号如下。使用使用ALEALE作为作为地址锁存的选通信号地址锁存的选通信号,以实现低,以实现低8 8位地址的锁存。位地址的锁存。以以PSENPSEN信号作为扩展信号作为扩展程序存储器的读选通信号程序存储器的读选通信号,在取指令码时在取指令码时或执行或执行MOVCMOV

    4、C指令时变为有效。指令时变为有效。以以EAEA信号作为信号作为内、外程序存储器的选择信号内、外程序存储器的选择信号。以以RDRD和和WRWR作为扩展作为扩展数据存储器和数据存储器和I/OI/O端口的读、写选通信号端口的读、写选通信号。执行执行MOVXMOVX指令时,这两个信号分别自动有效。指令时,这两个信号分别自动有效。61.1.外部程序存储器时序分析外部程序存储器时序分析 程序存储器扩展电路的安排应满足单片机从外存取指令的时序程序存储器扩展电路的安排应满足单片机从外存取指令的时序要求。从时序图中分析要求。从时序图中分析ALEALE、PSENPSEN、P0P0和和P2P2怎样配合使程序存储器完

    5、怎样配合使程序存储器完成取指操作,从而得出扩展程序存储器的方法。成取指操作,从而得出扩展程序存储器的方法。单片机一直处于不断的取指令码执行取指令码执行的工单片机一直处于不断的取指令码执行取指令码执行的工作过程中,在取指令码时和执行作过程中,在取指令码时和执行MOVCMOVC指令时指令时PSENPSEN会变为有效,和其会变为有效,和其它信号配合完成从程序存储器读取数据。它信号配合完成从程序存储器读取数据。6.1 6.1 外部存储器的扩展技术外部存储器的扩展技术6.1.16.1.1外部程序存储器的扩展技术外部程序存储器的扩展技术7外部程序存储器访问时序外部程序存储器访问时序EA=0EA=0,选择外

    6、部,选择外部ROMROM。S2P1S2P1开始,开始,P2P2口输出高口输出高8 8位地址位地址A15-A8A15-A8,一直持续到,一直持续到S4S4。S2P1S2P1开始,开始,P0P0口输出低口输出低8 8位地址位地址A7-A0A7-A0,S2P1S2P1结束结束ALEALE下降沿下降沿锁存锁存A7-A0A7-A0。S3P1S3P1开始,开始,PSENPSEN读读选通外部存储器,延时等待选通外部存储器,延时等待TPLIVTPLIV存储器把数据送到存储器把数据送到P0P0口。口。在在PSENPSEN上升沿来以前,单片机读取上升沿来以前,单片机读取P0P0数据,完成一次外部程序存储器访问。数

    7、据,完成一次外部程序存储器访问。一个机器周期可访问两次外部程序存储器,读两字节指令。一个机器周期可访问两次外部程序存储器,读两字节指令。82.2.外部程序存储器的连接方法外部程序存储器的连接方法三总线分别连接三总线分别连接9 单片机外部扩展常用程序存储器芯片为单片机外部扩展常用程序存储器芯片为EPROMEPROM,其掉电后信,其掉电后信息不会丢失,且只有在紫外线的照射下,存储器的单元信息才可息不会丢失,且只有在紫外线的照射下,存储器的单元信息才可擦除。擦除。用作扩展的用作扩展的EPROMEPROM主要是主要是2727系列系列,如,如27162716、27322732、27642764、2712

    8、827128、72567256等,其中高位数字等,其中高位数字2727表示该芯片是表示该芯片是EPROMEPROM,低位数字,低位数字表明存储容量,如表明存储容量,如27162716表示表示16K16K个存储位,亦即字节容量为个存储位,亦即字节容量为2K2K的的EPROMEPROM。常用的还有常用的还有EEPROMEEPROM ,即,即2828系列系列,如,如2816/28172816/2817、28642864等,型号含等,型号含义同上。义同上。3.3.外部程序存储器的扩展外部程序存储器的扩展(1 1)常见的)常见的EPROMEPROM存储器及扩展电路存储器及扩展电路10 EPROM EPR

    9、OM除除27162716外均为外均为2828线双列直插式封装,各引脚定义如下。线双列直插式封装,各引脚定义如下。A0A0AiAi:地址输入线,地址输入线,i=12i=121515。D0D0DiDi:三态数据总线,读或编程校验时为数据输出线,编程三态数据总线,读或编程校验时为数据输出线,编程时为数据输入线。其余时间呈高阻状态。时为数据输入线。其余时间呈高阻状态。PGMPGM:编程脉冲输入线。编程脉冲输入线。OEOE:读出选通线,低电平有效。读出选通线,低电平有效。CECE:片选线,低电平有效。片选线,低电平有效。V VPPPP:编程电源线,其值因芯片及制作厂商而异。编程电源线,其值因芯片及制作厂

    10、商而异。V VCCCC:电源线,接电源线,接+5V+5V电源。电源。GNDGND:接地。接地。1174LS37374LS373为为8D8D锁存器在锁存器在ALEALE下跳沿锁存地址,高位地址直接相连。下跳沿锁存地址,高位地址直接相连。只扩展了一片只扩展了一片EPROMEPROM,片选端接地。,片选端接地。PSENPSEN的下降沿使的下降沿使OEOE有效,由有效,由A0A0A12A12指定的单元指令码从指定的单元指令码从D0D0D7D7输出。输出。P0P0读入指令到单片机读入指令到单片机,经译码执行。经译码执行。常见的常见的EPROMEPROM存储器及扩展电路存储器及扩展电路12单片机扩展单片机

    11、扩展27162716,27322732,2712827128等等EPROMEPROM的方法与上图相同,差别仅的方法与上图相同,差别仅在于不同的芯片的存储容量不同,因而使用高在于不同的芯片的存储容量不同,因而使用高8 8位地址的位地址的P2P2端口线的根数端口线的根数不同。不同。扩展扩展27162716(2KB2KB)需使用)需使用A8A8A10 A10 三条高位地址线三条高位地址线 扩展扩展27322732(4KB4KB)需要)需要A8A8A11 A11 四条高位地址线。四条高位地址线。扩展扩展2712827128(16KB)16KB)需要需要A8A8A13A13六条高位地址线。六条高位地址线

    12、。注意:注意:27642764和和2712827128的的PGMPGM引脚应接引脚应接VccVcc。13(2 2)E E2 2PROMPROM存储器及扩展电路存储器及扩展电路 电可擦除只读存储器电可擦除只读存储器EEPROMEEPROM的特点的特点如下:如下:单单+5V+5V供电,电可擦除可改写。供电,电可擦除可改写。使用次数为使用次数为1 1万次,信息保存时间为万次,信息保存时间为1010年。年。读出时间为读出时间为nsns级,写入时间为级,写入时间为msms级。级。芯片引脚信号与相应的芯片引脚信号与相应的RAMRAM和和EPROMEPROM芯芯片兼容。片兼容。1474LS37374LS37

    13、3为为8D8D锁存器在锁存器在ALEALE下跳沿锁存地址,高位地址直接相连。下跳沿锁存地址,高位地址直接相连。只扩展了一片只扩展了一片EEPROMEEPROM,片选端接地。,片选端接地。PSENPSEN和和RDRD相与后与相与后与OEOE相连,支持读指令和读数据操作。相连,支持读指令和读数据操作。WRWR和和WEWE相连,支持写数据操作。相连,支持写数据操作。15(3 3)多存储器片选方法)多存储器片选方法 线选法线选法 所谓线选法,就是把单根高位地址线直接加在存贮器芯片的所谓线选法,就是把单根高位地址线直接加在存贮器芯片的CECE端。端。线选法的优点是连接简单,不必附加逻辑,但扩展的存贮芯片

    14、地址线选法的优点是连接简单,不必附加逻辑,但扩展的存贮芯片地址不不连续。连续。16 译码法(全译码)译码法(全译码)译码法能提供全部译码法能提供全部64KB64KB地址空间,且扩展的存贮器芯片地址是连地址空间,且扩展的存贮器芯片地址是连续的。续的。176.1.2 6.1.2 外部数据存储器的扩展技术外部数据存储器的扩展技术1.1.外部数据存储器时序分析外部数据存储器时序分析 MCS-51MCS-51单片机内只有单片机内只有128128字节的数据字节的数据RAMRAM,当应用中需要,当应用中需要更多的更多的RAMRAM时,只能在片外扩展。可扩展的最大容量为时,只能在片外扩展。可扩展的最大容量为6

    15、4KB64KB。当执行指令当执行指令 MOVX AMOVX A,Ri Ri 或或 MOVX AMOVX A,DPTR DPTR 时,进入外部数据时,进入外部数据RAMRAM的读的读周期。周期。C51C51语言中采用什么指令访问外部数据存储器?语言中采用什么指令访问外部数据存储器?18第一个机器周期读指令,第二个机器周期读数据。第一个机器周期读指令,第二个机器周期读数据。P2P2口输出高口输出高8 8位地址位地址A15-A8A15-A8。P0P0口输出低口输出低8 8位地址位地址A7-A0A7-A0。分时有效,需。分时有效,需ALEALE下降沿锁存。下降沿锁存。P0P0口读口读8 8位数据位数据

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

    17、器。选通外部存储器。外部存储器在外部存储器在WRWR上升沿之前将上升沿之前将P0P0数据写入指定单元。数据写入指定单元。202.2.外部数据存储器的连接方法外部数据存储器的连接方法注意:注意:外部数据存储器由外部数据存储器由RDRD或或WRWR选通,可读可写;选通,可读可写;213.3.外部数据存储器的扩展外部数据存储器的扩展 6116 6116的地址为的地址为0000H0000H07FFH07FFH,由于高位地址线未接入电路中,该芯片,由于高位地址线未接入电路中,该芯片地址还可为地址还可为1000H1000H17FFH17FFH、2000H2000H27FFH27FFH等等。等等。22完成外

    18、部数据存储器完成外部数据存储器RAMRAM读写操作的两种方式:读写操作的两种方式:例如把累加器例如把累加器A A的内容写入外部存储器的内容写入外部存储器RAMRAM的的02F3H02F3H单元中,可有如下单元中,可有如下两种程序:两种程序:第一种:第一种: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;

    19、DPTRDPTR提供提供1616位地址位地址 MOVX MOVX DPTRDPTR,A A ;A A 中内容送中内容送02F3H02F3H单元单元 同样地,若需将外部数据存储器同样地,若需将外部数据存储器RAM 02F3HRAM 02F3H地址单元中的内容读入地址单元中的内容读入A A累累加器,其程序可为:加器,其程序可为:第一种:第一种:MOV P2MOV P2,02H 02H ;端口提供高;端口提供高8 8位地址位地址 MOV R0MOV R0,0F3H 0F3H ;R0R0提供低提供低8 8位地址位地址 MOVX AMOVX A,R0 R0 ;02F3H02F3H单元内容送入单元内容送入

    20、A A 中中第二种:第二种:MOV DPTRMOV DPTR,02F3H 02F3H;DPTRDPTR提供提供1616位地址位地址 MOVX AMOVX A,DPTR DPTR ;02F3H02F3H单元内容送入单元内容送入A A 中中C51C51语言中采用什么指令实现上述功能?语言中采用什么指令实现上述功能?236.2 6.2 并行接口的扩展技术并行接口的扩展技术 MCS-51MCS-51单片机共有单片机共有4 4个个8 8位并行位并行I/OI/O口口,在外部扩展时在外部扩展时,P0,P0和和P2P2口做为口做为总线使用,因而提供给用户的总线使用,因而提供给用户的 I/OI/O口就只有口就只

    21、有P1P1或或P3P3口的部分口线。所接口的部分口线。所接的外设较多时,就必须扩展的外设较多时,就必须扩展I/OI/O接口。接口。MCS-51MCS-51单片机扩展的单片机扩展的I/OI/O口和外部数据存储器统一编址、采用相同的口和外部数据存储器统一编址、采用相同的控制信号、相同的寻址方式和相同的指令,即控制信号、相同的寻址方式和相同的指令,即XBYTEXBYTE宏定义。宏定义。24(1 1)XBYTEXBYTE宏定义读取外设数据:宏定义读取外设数据:变量变量=XBYTE=XBYTE地址地址;RD=0RD=0;1 1)送出地址:确定访问的单元)送出地址:确定访问的单元 P2P2口送出高口送出高

    22、8 8位;位;P0P0口送出低口送出低8 8位位 2 2)读取数据:)读取数据:变量变量=P0=P0(2 2)XBYTEXBYTE宏定义通过外设输出数据:宏定义通过外设输出数据:XBYTEXBYTE地址地址=数据;数据;WR=0WR=0;1 1)送出地址:确定访问的单元)送出地址:确定访问的单元 P2P2口送出高口送出高8 8位;位;P0P0口送出低口送出低8 8位位 2 2)输出数据:)输出数据:P0=P0=数据;数据;256.2.16.2.1简单输入简单输入/输出口的扩展输出口的扩展74LS24474LS244的选通信号由的选通信号由RDRD和和P2.0P2.0相或产生相或产生,当执行读该

    23、片的指令时当执行读该片的指令时,RD,RD和和P2.0P2.0有效有效,打开打开74LS24474LS244控制门控制门,从而把数据通过从而把数据通过74LS24474LS244读入读入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组三态门使能端,组三态门使能端,低电平有效低电平有效2

    24、G2G:第:第2 2组三态门使能端,组三态门使能端,低电平有效低电平有效VCCVCC:工作电源,接:工作电源,接+5V+5V电压电压GNDGND:接地:接地 26程序如下(汇编):程序如下(汇编):MOV DPTR,#FMOV DPTR,#FE EFFHFFH;数据指针指向数据指针指向74LS24474LS244 MOVX A,DPTR ;MOVX A,DPTR ;外部数据经过外部数据经过74LS24474LS244送入累加器送入累加器A A MOV 61H,A MOV 61H,A;数据送数据送61H61H单元保存单元保存 27程序如下(程序如下(C51C51语言):语言):(1)(1)变量变

    25、量=XBYTE0 xfeff;=XBYTE0 xfeff;(2)unsigned char xdata a _at_ 0 xfeff (2)unsigned char xdata a _at_ 0 xfeff;(全局变量);(全局变量)变量变量=a=a;2874LS27374LS273的选通信号由的选通信号由WRWR和和P2.0P2.0相或产生,通过执行对该片的写指令,相或产生,通过执行对该片的写指令,WRWR和和P2.0P2.0有效有效,使使8XX518XX51的数据往的数据往74LS27374LS273输出。输出。74LS27374LS273各引脚定义如下:各引脚定义如下:D0D0D7D7

    26、:输入线。:输入线。Q0Q0Q7Q7:输出线。:输出线。CLRCLR:清除控制端,:清除控制端,低电平有效。低电平有效。CLKCLK:时钟输入端,:时钟输入端,上升沿有效。上升沿有效。VCCVCC:工作电源,:工作电源,接接+5V+5V电压。电压。GNDGND:接地。:接地。29 从从74LS27374LS273输出数据,可使用如下指令(汇编)输出数据,可使用如下指令(汇编):MOV DPTR,#0F MOV DPTR,#0FE EFFH FFH MOVX DPTR MOVX DPTR,A ;A ;向向74LS27374LS273输出数据输出数据30 从从74LS27374LS273输出数据,

    27、可使用如下指令(输出数据,可使用如下指令(C51C51语言)语言):(1 1)XBYTE0 xfeff=XBYTE0 xfeff=输出数据输出数据 (2 2)unsigned char xdata a _at_ 0 xfeff;unsigned char xdata a _at_ 0 xfeff;(全局变量)(全局变量)a=a=数据;数据;31【例】【例】74LS27374LS273输出端接输出端接8 8个个LEDLED发光二极管,以发光二极管,以显示显示8 8个按钮开关个按钮开关状态状态,某位低电平时二极管发光。,某位低电平时二极管发光。74LS24474LS244扩展输入口,扩展输入口,接

    28、接8 8个按个按钮开关。钮开关。32 74LS273 74LS273和和74LS24474LS244的工作受的工作受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,某开关按下时则

    29、对应位输某开关按下时则对应位输入为入为“0”0”。输出程序段(汇编):输出程序段(汇编):MOV A,#data MOV A,#data ;数据;数据AAMOV 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为低,为低,74

    30、LS24474LS244口口 ;数据读入内部;数据读入内部RAMRAM33输出程序段(输出程序段(C51C51语言):语言):(1 1)XBYTE0 xfeff=XBYTE0 xfeff=输出数据输出数据 (2 2)unsigned char xdata a _at_ 0 xfeff;unsigned char xdata a _at_ 0 xfeff;(全局变量)(全局变量)a=a=输出数据输出数据输入程序段(输入程序段(C51C51语言):语言):(1 1)变量)变量=XBYTE0 xfeff;=XBYTE0 xfeff;(2 2)unsigned char xdata a _at_ 0

    31、xfeff;(unsigned char xdata a _at_ 0 xfeff;(全局变量全局变量)变量变量=a=a;34例例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

    32、 LP ;反复连续执行;反复连续执行#include#include#include#include void main()void main()unsigned char a;unsigned char a;while(1)while(1)a=XBYTE0 xfeff;a=XBYTE0 xfeff;XBYTE0 xfeff=a;XBYTE0 xfeff=a;#include#include unsigned char xdata a _at_ 0 xfeff;unsigned char xdata a _at_ 0 xfeff;void main()void main()unsigned c

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

    34、55的扩展的扩展368255A8255A控制信号与端口信号传送的控制信号与端口信号传送的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:总线数据:总线数据AA口口写端口写端口B B:总线数据:总线数据BB口口写端口写端口C C:总线数据:总线数

    35、据CC口口写控制字:总线数据写控制字:总线数据控制字寄存器控制字寄存器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数据总线为三态数据总线为三态37二、二、8255A8255A的工作方式及选择的工作方式及选择 n8255A8255A在三种基本的方在三种基本的方式下工作:式下工作:l方式方式 0 0:基本输入:基本输入/输出。输出。l方式方式 1 1:选通的输入:选通的输入/输出。输出。l方式方式 2 2:双向传输。:双向传输。1 1、方式选择控制字、方式

    36、选择控制字 其中其中A A口口可工作于方式可工作于方式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)输入。)输入。382.C2.C口按位置位口按位置位/复位控制字复位控制字可对可对C C口口8 8位中的任一位置位中的任一位置“1”1”或清或清“0

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

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

    39、A A口方式口方式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,#

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

    41、in()unsigned char a,b,c;unsigned char a,b,c;XBYTE0 xff7f=0 x90;/XBYTE0 xff7f=0 x90;/写入控制字写入控制字a=XBYTE0 xff7C;a=XBYTE0 xff7C;/读读A A口数据,存入变量口数据,存入变量a a中中XBYTE0 xff7D=b;XBYTE0 xff7D=b;/写写B B口,变量口,变量b b通过通过B B口输出口输出XBYTE0 xff7e=c;XBYTE0 xff7e=c;/写写C C口,变量口,变量C C通过通过C C口输出口输出 43【练习】【练习】用用82558255的的PAPA、P

    42、BPB、PCPC口分别作为输入口接八只控制开关,或作为口分别作为输入口接八只控制开关,或作为输出口接八只发光二极管,编写控制程序,八只发光二极管分别受各输出口接八只发光二极管,编写控制程序,八只发光二极管分别受各自对应的控制开关的控制。自对应的控制开关的控制。C0C1C2C3C4C5C6C7A0A1A2A3A4A5A6A7A0A1A2A3A4A5A6A7A0A1A2A3A4A5A6A7B0B1B2B3B4B5B6B7B0B1B2B3B4B5B6B7C0C1C2C3C4C5C6C7XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/

    43、AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D034D133D232D331D430D529D628D727RD5WR36A

    44、09A18RESET35CS6PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710U28255AD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE1LE11U374LS373234567891RP1RESPACK-8D1LED-YELLOWD2LED-YELLOWD3LED-YELLOWD4LED-YELLOWD5LED-YELLOWD6LED-YEL

    45、LOWD7LED-YELLOWD8LED-YELLOW44 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;写控制字数据写控制字数据 LOOPLOOP:MOV DPTR,#0FF3eHMOV DPTR,#0FF3eH MOVX A,DPTR MOVX A,DPTR;读输入口数据读输入口数据 MOV DPTR,

    46、#0FF7eHMOV DPTR,#0FF7eH MOVX DPTR,A MOVX DPTR,A;写输出口数据写输出口数据 SJMP LOOPSJMP LOOP END END;程序结束程序结束45C51C51语言程序:语言程序:#include#include#include#include void main()void main()unsigned char a;unsigned char a;XBYTE0 xfffe=0 x90;XBYTE0 xfffe=0 x90;while(1)while(1)a=XBYTE0 xff3e;a=XBYTE0 xff3e;XBYTE0 xff7e=a;

    47、XBYTE0 xff7e=a;#include#include unsigned char xdata a _at_ 0 xfffe;unsigned char xdata a _at_ 0 xfffe;unsigned char xdata b _at_ 0 xff3e;unsigned char xdata b _at_ 0 xff3e;unsigned char xdata c _at_ 0 xff7e;unsigned char xdata c _at_ 0 xff7e;void main()void main()unsigned char d;unsigned char d;a=0 x90;a=0 x90;while(1)while(1)d=b;d=b;c=d;c=d;

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:单片机第6章MCS51系列单片机的扩展技术课件.ppt
    链接地址:https://www.163wenku.com/p-4842418.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库