资源描述
1第六章第六章 MCS-51MCS-51系统扩展技术系统扩展技术6-1 MCS-516-1 MCS-51单片机最小系统单片机最小系统6-2 6-2 存储器的扩展存储器的扩展 (重点重点)6-3 6-3 并行并行I/OI/O端口的扩展方法端口的扩展方法(了解了解)6-4 6-4 可编程并行接口芯片可编程并行接口芯片8155 8155(了解了解)2单单片片机机内内资资源源少少,容容量量小小,在在进进行行较较复复杂杂过过程程的的控控制制时时,它它自自身身的的功功能能远远远远不不能能满满足足需需要要。为为此此,应应扩展其功能。扩展其功能。MCS-51单片机的扩展性能较强,根据需要,单片机的扩展性能较强,根据需要,可扩展:可扩展:ROM、RAM;定时定时/计数器;计数器;并行并行I/O口、串行口;口、串行口;中断系统扩展等。中断系统扩展等。36-1 MCS-516-1 MCS-51单片机最小系统单片机最小系统一、一、8051/8751硬件最小系统硬件最小系统对于片内有对于片内有ROM型单片机,其自身可以构成最小系统型单片机,其自身可以构成最小系统4该系统的资源如下:该系统的资源如下:4KBROM,256BRAM;五源中断系统;五源中断系统;两个十六位加一定时两个十六位加一定时/计数器;计数器;一个全双工串行一个全双工串行UART;四个并行四个并行I/O口。口。5二、二、8031硬件最小系统硬件最小系统8031单片机片内无单片机片内无ROM,若要正常工作,必需外配,若要正常工作,必需外配ROM。6三总线的概念三总线的概念:地址总线地址总线AB:P0口提供(口提供(A7A0););P2口提供(口提供(A15A8),共),共16位。位。数据总线数据总线DB:P0口提供(口提供(D7D0),共),共8位。位。控制总线控制总线CB:ALE、等。等。76-2 6-2 存储器的扩展存储器的扩展一、三总线的连接一、三总线的连接 1、数据线的连接、数据线的连接P0口的八位线承担此任,此时不用外接上拉电阻。口的八位线承担此任,此时不用外接上拉电阻。2、地址线的连接、地址线的连接P0口承担地址低八位线,口承担地址低八位线,A0A7;P2口承担地址高八位线。口承担地址高八位线。A8A15。注意:注意:P0口线地址口线地址/数据分时复用,需用地址锁存器数据分时复用,需用地址锁存器74LS373锁存地址。锁存地址。8A10A8A7A0D7D0CB93、控制线的连接、控制线的连接对存储器来讲控制线无非是:芯片的对存储器来讲控制线无非是:芯片的选通选通控制、控制、读写读写控制。控制。单片机与外部器件数据交换要遵循两个重要原则单片机与外部器件数据交换要遵循两个重要原则:一是,地址唯一性,一个单元一个地址。一是,地址唯一性,一个单元一个地址。二是,同一时刻,二是,同一时刻,CPU只能访问一个地址,即只能与一只能访问一个地址,即只能与一个单元交换数据。个单元交换数据。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。不交换时,外部器件处于锁闭状态,对总线呈浮空状态。10二、存储器地址编码二、存储器地址编码SRAM6116:“16”2K8b=2KB21210=211即即6116有有11根地址线。根地址线。地址空间:地址空间:A10A9A8A7A6A5A4A3A2A1A0最低地址:最低地址:000000000000000H最高地址:最高地址:111111111107FFHMCS-51单片机寻址范围:单片机寻址范围:64KB26210=216即即16位地址线位地址线地址空间:地址空间:A15A14A13A12A11A10A9A8A7A0单片机单片机A10A9A8A7A0611625=322KB11读读/写写:CPU向外部设备发出的读向外部设备发出的读/写控制命令。写控制命令。EPROM:/OE/PSENSRAM:/WE/WR/OE/RD选通选通:CPU与器件交换数据或信息,需先发出选通信号与器件交换数据或信息,需先发出选通信号/CE或或/CS,以便选中芯片。,以便选中芯片。12上式中:上式中:“”表示表示0或或1。即单片机地址空间中包含有即单片机地址空间中包含有32个个2KB。某片。某片6116占据的是哪占据的是哪2KB不能确定不能确定地址浮动。地址浮动。只只有有限限定定A15A11的的取取值值才才能能确确定定6116在在系系统统中中的的地地址址范范围围。如如,P2.6=0,选选中中6116的的/CS线线。设设P2.7P2.5P2.4P2.3假定全为假定全为1则则:6116地址范围是地址范围是B800HBFFFH。同理,同理,P2.7P2.5P2.4P2.3假定全为假定全为0则则:6116地址范围是地址范围是0000H07FFH;再设再设P2.7选中选中6116(设(设P2.6P2.5P2.4P2.3全为全为1)则:地址范围是则:地址范围是7800H7FFFH1323=88KB可见:存储器芯片在系统中地址分布由两个因素决定:可见:存储器芯片在系统中地址分布由两个因素决定:一是,芯片本身的地址线(与容量有关)一是,芯片本身的地址线(与容量有关)二是,芯片选通信号的获得方式。二是,芯片选通信号的获得方式。扩扩展展存存储储器器时时,总总是是让让单单片片机机低低位位地地址址与与存存储储器器芯芯片片地地址址线线相相接接;而而让让单单片片机机剩剩余余的的高高位位地地址址线线(在在P2口口)常常作作为为片片选选信号线。信号线。这这种种方方法法对对SRAM、EPROM、扩扩展展I/O芯芯片片、外外设设同同样样适适用。用。P2.5=0时,选中时,选中2764;“64”8K8b=23210=213A15A14A13A12A11A014若取若取P2.7P2.6均为均为1;则则2764在本系统内地址范围:在本系统内地址范围:C000HDFFFH可以。此时可以。此时6116:D800HDFFFH2764:C000HDB00H若若6116与与2764都用都用A13(P2.5=0)选中可否)选中可否156116与2764在0800H DFFFH范围内地址重叠,这是不是违反交换原则呢?不会!因为,不会!因为,6116是是SRAM,2764是是EPROM。除地址和选。除地址和选通信号外,还有读通信号外,还有读/写控制信号起作用。写控制信号起作用。RAM /WE /WR /OE /RD ROM /OE /PSEN可用来区分二器件166-3 6-3 并口的扩展方法并口的扩展方法并口扩展常用三种方法:并口扩展常用三种方法:1、利用、利用TTL、CMOS集成电路来扩展集成电路来扩展2、利用单片机串口扩展、利用单片机串口扩展3、利用可编程并行接口芯片来扩展、利用可编程并行接口芯片来扩展17一、利用一、利用TTLTTL、CMOSCMOS集成电路来扩展集成电路来扩展1、用锁存器扩展简单的、用锁存器扩展简单的8位输出口位输出口8031P2.7P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0/WR74LS377/ED7Q7D6Q6D5Q5D4Q4D3Q3D2Q2D1Q1D0Q0/CP输出设备输出设备D7D6D5D4D3D2D1D01874LS377为为8D锁存器,八入八出,一时钟锁存器,八入八出,一时钟CP,一锁存允许,一锁存允许/E。/E=0时,时,CP的上升沿,输入数据并锁存。的上升沿,输入数据并锁存。MOVDPTR,#7FFFH;指向;指向74LS377MOVA,#data;取输出的数据;取输出的数据MOVXDPTR,A;通过;通过74LS373送出数据送出数据P2.7接接/E,所以,所以,74LS377的口地址为的口地址为7FFFH。P0口是数据总线口,作口是数据总线口,作I/O口用时只能分时使用,为此,输出口用时只能分时使用,为此,输出数据时需要锁存数据时需要锁存。192、用锁存器扩展简单的八位输入口、用锁存器扩展简单的八位输入口外设与单片机在传输数据速度上存在着一定的差异,为了外设与单片机在传输数据速度上存在着一定的差异,为了保证数据能被单片机正确地接收,应采取以下电路:保证数据能被单片机正确地接收,应采取以下电路:输入设备输入设备STBIN7IN6IN5IN4IN3IN2IN1IN08031P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS373GQ7D7Q6D6Q5D5Q4D4Q3D3Q2D2Q1D1Q0D020在在STB的下降沿的下降沿,将数据锁存入将数据锁存入74LS373/E控制着控制着74LS373的输出的输出,由由P2.6和和/RD相或控制相或控制,所以所以,74LS373的口地址为的口地址为BFFFH。例、设将上图例、设将上图74LS373中数据送入中数据送入8031片内数据存储器中首地片内数据存储器中首地址为址为50H的数据区。写出相应中断系统初始化及中断服务程序。的数据区。写出相应中断系统初始化及中断服务程序。中断系统初始化程序:中断系统初始化程序:PINT:SETBIT0;/INT0选为下降沿触发方式选为下降沿触发方式SETBEA;CPU开中断开中断MOVR0,#50H;置数据区首址;置数据区首址SETBEX0;/INT0中断允许中断允许21中断服务程序:中断服务程序:ORG0003HPINT0:AJMPINT0ORG1000HINT0:MOVDPTR,#0BFFFH;指向;指向74LS373扩展输入口扩展输入口MOVXA,DPTR;8031读入数据读入数据MOVR0,A;输入数据送数据区输入数据送数据区INCR0RETI223、用三态门扩展、用三态门扩展8位输入并行口位输入并行口74LS244是是8位三态门,当位三态门,当/1G、/2G均为低电平时,允许输入数均为低电平时,允许输入数据;否则,为高阻态。据;否则,为高阻态。输入设备输入设备IN7IN6IN5IN4IN3IN2IN1IN08031P2.6P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.074LS2441Y11A11Y21A21Y31A31Y41A42Y12A12Y22A22Y32A32Y42A423二、用串行口扩展并行二、用串行口扩展并行I/O接口接口如果串口别无他用,则可让其工作于方式如果串口别无他用,则可让其工作于方式0,来扩展一个或多个,来扩展一个或多个8位并行位并行I/O口口1、用、用74LS165扩展并行扩展并行I/O口口8031P3.0P3.1P1.0HGFEDCBAQHSIN/QH74LS165(1)S/LMCPHGFEDCBAQHSIN/QH74LS165(2)S/LMCPD0.D7D0.D72474LS165是是8位并入、串出移位寄存器。位并入、串出移位寄存器。其中,其中,CP为移位脉冲输入端;为移位脉冲输入端;S/L为移位为移位/装入端,以装入端,以P1.0控制。控制。两片两片74LS165的首尾相连,即的首尾相连,即QH与与SIN相连。相连。例、从上图两个八位并行口读入例、从上图两个八位并行口读入20H组(每组两个字节)字节组(每组两个字节)字节数据,并把它们转存到内部数据,并把它们转存到内部RAM(首址为(首址为30H)的数据区中。)的数据区中。解:以解:以PSW中的用中的用F0位来标志接收一组数中的前位来标志接收一组数中的前8位与后位与后8位,位,74LS165(1)并行口输入数据时,置)并行口输入数据时,置F0为为1;74LS165(2)并行口输入数据时,置)并行口输入数据时,置F0为为0;P1.0高、低变化一次,就控制并行数据装入一次,即串行高、低变化一次,就控制并行数据装入一次,即串行口应接收到口应接收到2个个8位数据(一组)。位数据(一组)。串口工作在方式串口工作在方式0,波特率为,波特率为fosc/12=1Mb/s。25MOVR7,#20H;读入字节数组;读入字节数组MOVR0,#30H;内部;内部RAM数据区首址数据区首址SETBF0;假定;假定74LS165(1)先读入)先读入RCV0:CLRP1.0;165装入数据装入数据SETBP1.0;允许;允许165串行移位串行移位RCV1:MOVSCON,#00010000B;串行口设定;串行口设定STP:JNBRI,STP;等待接收完一个八位数;等待接收完一个八位数CLRRI不胜数不胜数;清;清RI标志,以备下次接收标志,以备下次接收MOVA,SBUF;串口接收数据;串口接收数据268031P3.0P3.1P1.0ABCDEFGHAB74LS164(1)/CRCPABCDEFGHAB74LS164(2)/CRCPD7.D0D7.D02、用、用74LS164扩展并行输出口扩展并行输出口74LS164是是8位串入、并出移位寄存器,其中,位串入、并出移位寄存器,其中,CP为移位脉冲输为移位脉冲输入端;入端;/CR为清除端。为清除端。27上图接法中,由于移位寄存器无并行输出控制,在串行输上图接法中,由于移位寄存器无并行输出控制,在串行输入过程中,其输出状态会不断变化,故在某些使用场合下,入过程中,其输出状态会不断变化,故在某些使用场合下,在在74LS164的输出端应加接输出三态门控制,以便保证串的输出端应加接输出三态门控制,以便保证串行输入结束后再输出并行数据。行输入结束后再输出并行数据。286-46-4可编程并行接口芯片可编程并行接口芯片81558155 包括:包括:256B静态静态RAM;2个个8位和位和1个个6位可编程并行位可编程并行I/O口;口;1个个14位定时器(减位定时器(减1计数);计数);1个个8位地址锁存器;位地址锁存器;一些控制逻辑电路等。一些控制逻辑电路等。课本课本P163,图,图7.1229一、引脚一、引脚AD0AD7地址地址/数据线。数据线。传送地址、数据、命令、状态等。传送地址、数据、命令、状态等。ALE地址锁存(输入)地址锁存(输入)IO/MIO口口/RAM选择;选择;0:选内:选内RAM;1:选内:选内IO口口/CE片选线片选线/RD、/WR读、写控制读、写控制PA7PA0A口输入口输入/输出线输出线PB7PB0B口输入口输入/输出线输出线PC5PC0C口输入口输入/输出线输出线TIMERIN定时器输入(输入定时器所需时钟)定时器输入(输入定时器所需时钟)TIMEROUT定时器输出(输出所产生的方波脉冲)定时器输出(输出所产生的方波脉冲)30二、二、81558155的的RAMRAM和和I/OI/O口地址编码口地址编码包括:内包括:内RAM256B对应对应256个地址个地址:00HFFH命令命令/状态寄存器地址状态寄存器地址1个地址个地址:000HPA口地址口地址1个地址个地址:001HPB口地址口地址1个地址个地址:010HPC口地址口地址1个地址个地址:011H定时器低定时器低8位地址位地址1个地址个地址:100H定时器高定时器高8位地址位地址1个地址个地址:101H由由AD7AD0及及IO/M决决定。定。31三、三、81558155的工作方式与基本操作的工作方式与基本操作有三种基本操作有三种基本操作:1、作单片机片外、作单片机片外256B数据存储器数据存储器IO/M=0,与其它数据存储器统一编址。用,与其它数据存储器统一编址。用MOVX访问。访问。2、作扩展、作扩展I/O口使用口使用IO/M=1,PA口、口、PB口、口、PC口,可通过编程决定如何使用。口,可通过编程决定如何使用。命令寄存器(命令控制字)命令寄存器(命令控制字)I/O口工作方式口工作方式状态标志寄存器状态标志寄存器PA口、口、PB口状态标志。口状态标志。32I/O口工作方式有四种:口工作方式有四种:A口、口、B口口基本基本I/O口,口,C口输入;口输入;A口、口、B口口基本基本I/O口,口,C口输出;口输出;A口选通口选通I/O、B口基本口基本I/O、C口作联络线;口作联络线;A口、口、B口选通口选通I/O、C口作联络线。口作联络线。状态标志寄存器:状态标志寄存器:BF缓冲器满标志;缓冲器满标志;INTR端口中断请求标志;端口中断请求标志;INTE端口中断允许标志;端口中断允许标志;TIMER定时器中断请求。定时器中断请求。命令寄存器,只写不读命令寄存器,只写不读状态标志寄存器,只读不写状态标志寄存器,只读不写二者使用同一地址二者使用同一地址333、作定时器扩展使用、作定时器扩展使用可以通过编程决定输出可以通过编程决定输出4种信号,即有四种工作台方式种信号,即有四种工作台方式单方波;单方波;连续方波;连续方波;单脉冲;单脉冲;连续脉冲。连续脉冲。由两个由两个8位寄存器,决定位寄存器,决定14位定时器计数常数及四种工作方式。位定时器计数常数及四种工作方式。由命令寄存器的最高两位对定时器进行四种控制。由命令寄存器的最高两位对定时器进行四种控制。34T7T6T5T4T3T2T1T0(a)定时器格式T7T6T5T4T3T2T1T0D7 D7 D7 D7 D7 D7 D7 D7 减1计数器低8位减1计数器高6位定时器方式编辑位D7 D7 D7 D7 D7 D7 D7 D7 M2 M1方式定时器输出波形0 0单波形0 1 连续波形1 0单脉冲1 1连续脉冲(b)定时器方式及输出波形35四、单片机与四、单片机与81558155的接口及操作软件的接口及操作软件如图连线后地址分布是:内如图连线后地址分布是:内RAM地址地址7E00H7EFFH课本课本P168,图,图7.14I/O口地址:口地址:命令状态口命令状态口7F00HPA口口7F01HPB口口7F02HPC口口7F03H定时器低定时器低8位位7F04H定时器高定时器高8位位7F05H3637操作软件:操作软件:MOVDPTR,#RAM或或I/O口地址口地址MOVA,#欲写内容或命令字欲写内容或命令字MOVXDPTR,A
展开阅读全文