您好,欢迎访问三七文档
MCS-51单片机的系统扩展及应用通过地址总线、数据总线和控制总线实现系统的扩展介绍外围电路的扩展3.1:程序存储器的扩展3.2:数据存储器的扩展3.3:指示小灯3.4:按键扩展3.5:数码管应用3.6:A/D转换器接口3.7:温度传感器接口3.8:IIC电路扩展3.9:液晶电路51单片机程序存储器数据存储器数码管显示键盘电源模块指示灯AD转换温度传感器IIC总线LCD液晶最小系统板外扩3.1:程序存储器ROM的扩展1,在使用8031(无片内ROM)或大于4K程序存储器时,必须通过外接ROM来构成、扩充系统的程序存储区。2,当使用外部存储器来扩展系统时,必须占用单片机的P0、P2口作为外部电路的数据、地址总线。此时,P0、P2口就不能作为通用的I/O端口。3,在系统扩展时,外部电路与单片机连接的依据是单片机访问外部存储器的时序,所以正确的理解时序是硬件电路设计的关键。MCS-51与32KROM的连接P2.7:::P2.0P0.7:::P0.0ALE/EAPsenCEA14::A8A7O7::::::A0O0OED7Q7D0Q0CP2725632KROMMCS-51/CE=P2.7(A15)返回前一次完整的地址信号外部ROM的状态与地址线A15的关系表ROM引脚/CEA14~A8A7~A0地址范围ROM工作状态单片机引脚A15P2口P0口00000000001111111100000000111111110000H~07FFH选中11000000001111111100000000111111118000HFFFFH未选中访问外部程序存储器ROM的时序:A15-A8(PC)A7-A0OPA7-A0常数存储器数据输出控制/Psen地址总线(高八位)P2口地址数据总线(低8位)P0口S1S2S6S5S4S3373地址锁存信号ALEA15-A8(DPTR+A)MOVCA,@A+DPTRAB转电路图返回前一次(参考讲义70页)片外存储器访问时序说明P0、P2口作地址和数据总线。其中P0口作为地址和数据复用总线,前半部(A段)作地址总线,后半部(B段)作为数据总线。外部程序存储器ROM的操作步骤如下:1,单片机必须为其提供完整的(15位)地址信息;2,ROM芯片的/CE端=0,选中该芯片;3,在满足上述条件的基础上,当ROM的/OE=0时(B时间段),存储器输出数据的三态门打开,并将与输入地址相对应的存储单元中的指令(数据)向外输出,单片机通过P0口将指令送至CPU内部。74LS373锁存器:将A时间段P0口输出的低位地址进行保存,使ROM在B时间段仍然可以得到完整的地址信号。转电路图转时序图外部ROM的容量扩展原理(一)如何使用两片32K的ROM芯片扩展为64K的存储阵列。A15P2口MCS-51P0口ALE/EAPsen/CE2A14A8A7A0/OE2O0~O7/CE1A14A8A7A0/OE1O0~O774LS373由两片32K的ROM构成64K存储阵列与A15的关系表A15/CEA14~A8P2口A7~A0P0口地址范围ROM1工作状态ROM2工作状态00000000001111111100000000111111110000H~07FFH选中未选中11000000001111111100000000111111118000H~FFFFH未选中选中外部ROM的容量扩展原理(二)若需要对2片以上的芯片扩展,可以通过译码电路实现。P2.7P2.6P2.5P2.4P2.0P0口ALEPsen/CE0A12A8A78K×8A0/OE1O0~O774LS373Cy7BA0y/CE1A12A8A78K×8A0/OE1O0~O7/CE7A12A8A78K×8A0/OE1O0~O7MCS–5174LS138采用LS138译码器实现ROM扩展示意表P2.7~P2.5138输出选中ROMP2.4~P0.0有效地址范围000Y0=0第1片0000H~1FFFH0000H~1FFFH001Y1=0第2片0000H~1FFFH2000H~3FFFH010Y2=0第3片0000H~1FFFH4000H~5FFFH011Y3=0第4片0000H~1FFFH6000H~7FFFH100Y4=0第5片0000H~1FFFH8000H~9FFFH101Y5=0第6片0000H~1FFFHA000H~BFFFH110Y6=0第7片0000H~1FFFHC000H~DFFFH111Y7=0第8片0000H~1FFFHE000H~FFFFH小结:1,单片机的P0、P2口作为地址数据总线;2,P0口为数据、地址复用总线,所以必须加入八位锁存器74LS373来锁存P0口的低八位地址。3,外接ROM是靠MOVC指令产生的Psen信号来打开数据三态门,使ROM中的指令通过P0口送入单片机内部。4,存储器的容量M与其地址线条数n的关系:M=2↑n5,当使用两片ROM扩展时,可以使用一个反向器实现容量的扩展,通过ROM芯片的/CE端实现。6,当使用2片以上的ROM芯片扩展时,就要使用译码器实现存储容量的扩展,译码器的输入与高位地址相连接,输出端分别与各ROM芯片的/CE连接(如图所示)。7,当外接ROM的高八位地址线与P2口高八位线没有完全用足时,要注意外存储的地址重叠问题。返回51单片机程序存储器数据存储器数码管显示键盘电源模块指示灯AD转换温度传感器IIC总线LCD液晶最小系统板指示灯电路(一)一、电源指示灯通常的指示灯电路是使用发光二极管,接法如下:当电源正常工作时发光二极管就正常显示1.6.5并行端口在使用时应注意的几个问题“拉电流”还是“灌电流”----与大电流负载的连接(我们以美国ATMEL公司生产的AT8951为例)1,使用灌电流的方式与电流较大的负载直接连接时,端口可以吸收约20mA的电流而保证端口电平不高于0.45V(见右上图)。2,采用拉电流方式连接负载时,AT89C51所能提供“拉电流”仅仅为80μA,否则输出的高电平会急剧下降.如果我们采用右下图的方式,向端口输出一个高电平去点亮LED,会发现,端口输出的电平不是“1”而是“0”!当然,不是所有的单片机都是这样,PIC单片机就可以提供30mA的拉电流和灌电流。单对于大多数IC电路,最好还是使用“灌电流”去推动负载。Px.yVddPx.yVddVdd灌电流方式输出”0”点亮LED拉电流方式输出高电平点亮LED返回指示灯电路(二)二、端口指示灯可以将某一I/O口的输出端接在三极管的基极,如下图的接法(当LED0端的输入为高电平时,三极管饱和导通,此时三极管消耗功率最小,LED亮)实现指示灯电路。按键接口设计(一)按键是人机会话的一个重要的输入工具。常用按键举例复位按键功能转换按键数据输入键盘复位按键:对于MCS—51系列单片机的复位引脚RST上只要出现10ms以上的高电平,单片机就会实现复位。按键接口设计(二)以下是一个典型的复位电路设计图:按键接口设计(三)复位电路的设计:单片机的复位分为上电复位和按钮复位。上电复位是指单片机在加电瞬间,要在RST引脚上出现大于10ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。按键接口设计(四)功能转换按键:此类按键主要是当I/O口用作多种用途时,可以使用此类按键可以实现同一I/O口的复用。如图所示:SWDIP-8的引脚1-8可以接某一I/O口,当按键开关在不同的位置可以控制不同的外部接口按键接口设计(五)数据输入键盘按键接口设计(六)数据输入键是最常用的一种键盘:上图所示的按键主要是实现了按键按下之后,对应S0,S1,S2,S3分别由按下之前的高电平变为低电平,从而实现了输入由1到0的变化。此类按键一般需要对其进行编码和确定键值。当然还有其他种类的键盘,这里就不再一一列举,希望我们用的时候自己总结。数码管(一)在单片机系统中,通常用LED数码显示器来显示各种数字或符号。八段LED显示器由8个发光二极管组成。LED显示器有两种不同的连接形式:一种是8个发光二极管的正极连在一起,称之为共阳极LED显示器;另一种是8个发光二极管的负极连在一起,称之为共阴极LED显示器。数码管(二)共阴与共阳的内部电路如下图所示:数码管(三)由图可以看出,共阳和共阴结构的LED显示器各笔划段名的安排位置是相同的,当二极管导通时,相应的笔划段就发亮,由发亮的笔划段组合而显示出各种字符(a~g是7个笔段电极,DP为小数点)需要注意的是:对于同一个字符的编码,共阴和共阳接法对应的编码是不一样的,两者互为反码。数码管(四)数码管显示器的显示常采用两种方法:1.静态显示2.动态扫描显示静态显示:就是把多个LED显示器的每一段与一个独立的并行口连接起来,而公共端则根据数码管的种类连接到“VCC”或“GND”端。这种方法当显示位数较多时单片机中I/O口的开销很大,需要提供的I/O接口电路也较复杂,但它具有编程简单,显示稳定,CPU的效率较高的优点。静态LED数码显示电路(共阳极)七段译码器七段译码器七段译码器七段译码器七段译码器VccBCD码00000001001000110100返回数码管(五)由于静态显示占用的I/O口线较多,CPU的开销很大,所以为了节省单片机的I/O口线,常采用动态扫描方式来作为LED数码管的接口电路。动态显示的接口电路是把所有LED的8个笔划段a~g,dp同名端连在一起,而每一个显示器的公共极COM端与各自独立的I/O口连接。当CPU向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM端,而这一端是由I/O口控制的,所以我们就可以自行决定何时显示哪一位了。数码管(六)当用电平依次选通DS1,DS2,DS3,DS4时,同时输入相应位的码段数据,这样就是动态扫描的显示过程,只要扫描的频率不小于25Hz,由于人眼的视觉停留特性,就不会感觉闪烁,看起来是4位数码管同时发光的效果。51单片机程序存储器数据存储器数码管显示键盘电源模块指示灯AD转换温度传感器IIC总线LCD液晶最小系统板串行传输口设计(一)串口是计算机上一种非常通用设备通信协议。串口通信的概念简单,串口按位发送和接收字节。尽管比按字节传送的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口的通信要遵循固定的协议,比如通信两设备间要有相同的波特率,要设定所传输的数据位个数,还有是否要用奇偶位、校验位及停止位。串行传输口设计(二)串口用于ASCII码字符的传输,通信使用3根线完成:(1)地线,(2)发送,(3)接收。对于51单片机,它本身就有一个串口通信的接口,RXD与TXD,分别对应P3.0与P3.1引脚。要实现串口的通信,并不是直接将P3.0与P3.1的线接出来,而是需要有一个器件MAX232。串行传输口设计(三)由于51单片机接口输出的是TTL电平,而串口通信需要RS232电平,所以要用MAX232来实现TTL电平与RS232电平的转换。如下图所示:串行传输口设计(四)串口通信的验证方法:在程序中发送一个字符,然后通过计算机上的串口调试助手显示出来,如果显示的与发送的一致,则串口就调试成功。51单片机程序存储器数据存储器数码管显示键盘电源模块指示灯AD转换温度传感器IIC总线LCD液晶最小系统板简单的AD转换电路设计(一)AD转换就是要将模拟信号量,转换为数字信号量。可以用TLC0832来实现AD转换。TLC0832是一种最简单的A/D转换器件,有2路模拟量输入通道。芯片引脚如右图所示:DI为控制信息的输入端。DO为数据输出端。CH0,CH1为模拟量输入通道。CLK为时钟端。CS为选通信号端(低有效)。简单的AD转换电路设计(二)TLC0832是一个8位精度的AD转换器件,由5V电压供电,输入的范围必须是0~5V。可以通过写DI输入中的SGL和ODD进行单通道或者差分输入通道的选择。其逻辑如下:电源和地
本文标题:单片机外围电路扩展
链接地址:https://www.777doc.com/doc-5400771 .html