单片机系统扩展及应用.ppt

上传人:laozhun 文档编号:2666681 上传时间:2023-02-21 格式:PPT 页数:70 大小:857KB
返回 下载 相关 举报
单片机系统扩展及应用.ppt_第1页
第1页 / 共70页
单片机系统扩展及应用.ppt_第2页
第2页 / 共70页
单片机系统扩展及应用.ppt_第3页
第3页 / 共70页
单片机系统扩展及应用.ppt_第4页
第4页 / 共70页
单片机系统扩展及应用.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《单片机系统扩展及应用.ppt》由会员分享,可在线阅读,更多相关《单片机系统扩展及应用.ppt(70页珍藏版)》请在三一办公上搜索。

1、MCS-51单片机的系统扩展及应用,通过地址总线、数据总线和控制总线实现系统的扩展介绍外围电路的扩展3.1:程序存储器的扩展3.2:数据存储器的扩展3.3:指示小灯 3.4:按键扩展3.5:数码管应用3.6:A/D转换器接口3.7:温度传感器接口3.8:IIC电路扩展 3.9:液晶电路,AD转换,温度传感器,IIC总线,LCD液晶,最小系统板,外扩,3.1:程序存储器ROM的扩展,1,在使用8031(无片内ROM)或大于4K程序存储器时,必须通过外接ROM来构成、扩充系统的程序存储区。2,当使用外部存储器来扩展系统时,必须占用单片机的P0、P2口作为外部电路的数据、地址总线。此时,P0、P2口

2、就不能作为通用的I/O端口。3,在系统扩展时,外部电路与单片机连接的依据是单片机访问外部存储器的时序,所以正确的理解时序是硬件电路设计的关键。,MCS-51与32K ROM的连接,P2.7:P2.0P0.7:P0.0ALE/EA Psen,CEA14:A8A7 O7:A0 O0OE,D7 Q7 D0 Q0CP,27256 32K ROM,MCS-51,/CE=P2.7(A15),返回前一次,完整的地址信号,外部ROM的状态与地址线A15的关系表,访问外部程序存储器ROM的时序:,A15-A8(PC),A7-A0,OP,A7-A0,常数,存储器数据输出控制/Psen,地址总线(高八位)P2口,地

3、址数据总线(低8位)P0 口,S1,S2,S6,S5,S4,S3,373地址锁存信号 ALE,A15-A8(DPTR+A),MOVC A,A+DPTR,A B,转电路图,返回前一次,(参考讲义70页),片外存储器访问时序说明,P0、P2口作地址和数据总线。其中P0口作为地址和数据复用总线,前半部(A段)作地址总线,后半部(B段)作为数据总线。外部程序存储器ROM的操作步骤如下:1,单片机必须为其提供完整的(15位)地址信息;2,ROM芯片的/CE 端=0,选中该芯片;3,在满足上述条件的基础上,当ROM的/OE=0时(B时间段),存储器输出数据的三态门打开,并将与输入地址相对应的存储单元中的指

4、令(数据)向外输出,单片机通过P0口将指令送至CPU 内部。74LS373锁存器:将A时间段P0口输出的低位地址进行保存,使ROM在B时间段仍然可以得到完整的地址信号。,转电路图,转时序图,外部ROM的容量扩展原理(一),如何使用两片32K的ROM芯片扩展为64K的存储阵列。,A15P2口MCS-51 P0口ALE/EA Psen,/CE2A14A8A7A0/OE2O0O7,/CE1A14A8A7A0/OE1O0O7,74LS373,由两片32K的ROM构成64K存储阵列与A15的关系表,外部ROM的容量扩展原理(二),若需要对2片以上的芯片扩展,可以通过译码电路实现。,P2.7P2.6P2.

5、5P2.4P2.0P0口ALEPsen,/CE0A12A8A7 8K8A0/OE1O0O7,74LS373,C y7BA 0 y,/CE1A12A8A78K8A0/OE1O0O7,/CE7A12A8A78K8A0/OE1O0O7,MCS51,74LS138,采用LS138译码器实现ROM扩展示意表,小结:,1,单片机的P0、P2口作为地址数据总线;2,P0口为数据、地址复用总线,所以必须加入八位锁存器74LS373来锁存P0口的低八位地址。3,外接ROM是靠MOVC指令产生的Psen信号来打开数据三态门,使ROM中的指令通过P0口送入单片机内部。4,存储器的容量M与其地址线条数n的关系:M=2

6、n5,当使用两片ROM扩展时,可以使用一个反向器实现容量的扩展,通过ROM芯片的/CE端实现。6,当使用2片以上的ROM芯片扩展时,就要使用译码器实现存储容量的扩展,译码器的输入与高位地址相连接,输出端分别与各ROM芯片的/CE连接(如图所示)。7,当外接ROM的高八位地址线与P2口高八位线没有完全用足时,要注意外存储的地址重叠问题。,返回,AD转换,温度传感器,IIC总线,LCD液晶,最小系统板,指示灯电路(一),一、电源指示灯通常的指示灯电路是使用发光二极管,接法如下:当电源正常工作时发光二极管就正常显示,1.6.5 并行端口在使用时应注意的几个问题,“拉电流”还是“灌电流”-与大电流负载

7、的连接(我们以美国ATMEL公司生产的AT8951为例)1,使用灌电流的方式与电流较大的负载直接连接时,端口可以吸收约20mA的电流而保证端口电平不高于0.45V(见右上图)。2,采用拉电流方式连接负载时,AT89C51所能提供“拉电流”仅仅为80A,否则输出的高电平会急剧下降.如果我们采用右下图的方式,向端口输出一个高电平去点亮LED,会发现,端口输出的电平不是“1”而是“0”!当然,不是所有的单片机都是这样,PIC单片机就可以提供30mA的拉电流和灌电流。单对于大多数IC电路,最好还是使用“灌电流”去推动负载。,Px.y,Vdd,Px.y,Vdd,Vdd,灌电流方式输出”0”点亮LED,拉

8、电流方式输出高电平点亮LED,返回,指示灯电路(二),二、端口指示灯 可以将某一I/O口的输出端接在三极管的基极,如下图的接法(当LED0端的输入为高电平时,三极管饱和导通,此时三极管消耗功率最小,LED亮)实现指示灯电路。,按键接口设计(一),按键是人机会话的一个重要的输入工具。常用按键举例复位按键功能转换按键数据输入键盘 复位按键:对于MCS51系列单片机的复位引脚RST上只要出现10ms以上的高电平,单片机就会实现复位。,按键接口设计(二),以下是一个典型的复位电路设计图:,按键接口设计(三),复位电路的设计:单片机的复位分为上电复位和按钮复位。上电复位是指单片机在加电瞬间,要在RST引

9、脚上出现大于10ms的正脉冲,使单片机进入复位状态。按钮复位是指用户按下“复位”按钮,使单片机进入复位状态。,按键接口设计(四),功能转换按键:此类按键主要是当I/O口用作多种用途时,可以使用此类按键可以实现同一I/O口的复用。如图所示:SW DIP-8的引脚18可以接某一I/O口,当按键开关在不同的位置可以控制不同的外部接口,按键接口设计(五),数据输入键盘,按键接口设计(六),数据输入键是最常用的一种键盘:上图所示的按键主要是实现了按键按下之后,对应S0,S1,S2,S3分别由按下之前的高电平变为低电平,从而实现了输入由1到0的变化。此类按键一般需要对其进行编码和确定键值。当然还有其他种类

10、的键盘,这里就不再一一列举,希望我们用的时候自己总结。,数码管(一),在单片机系统中,通常用LED 数码显示器来显示各种数字或符号。八段LED 显示器由8 个发光二极管组成。LED 显示器有两种不同的连接形式:一种是8 个发光二极管的正极连在一起,称之为共阳极LED 显示器;另一种是8 个发光二极管的负极连在一起,称之为共阴极LED 显示器。,数码管(二),共阴与共阳的内部电路如下图所示:,数码管(三),由图可以看出,共阳和共阴结构的LED 显示器各笔划段名的安排位置是相同的,当二极管导通时,相应的笔划段就发亮,由发亮的笔划段组合而显示出各种字符(ag是7个笔段电极,DP为小数点)需要注意的是

11、:对于同一个字符的编码,共阴和共阳接法对应的编码是不一样的,两者互为反码。,数码管(四),数码管显示器的显示常采用两种方法:1.静态显示2.动态扫描显示静态显示:就是把多个LED 显示器的每一段与一个独立的并行口连接起来,而公共端则根据数码管的种类连接到“VCC”或“GND”端。这种方法当显示位数较多时单片机中I/O 口的开销很大,需要提供的I/O 接口电路也较复杂,但它具有编程简单,显示稳定,CPU的效率较高的优点。,静态LED数码显示电路(共阳极),七段译码器,七段译码器,七段译码器,七段译码器,七段译码器,Vcc,BCD码 0000 0001 0010 0011 0100,返回,数码管(

12、五),由于静态显示占用的I/O 口线较多,CPU 的开销很大,所以为了节省单片机的I/O 口线,常采用动态扫描方式来作为LED 数码管的接口电路。动态显示的接口电路是把所有LED的8 个笔划段ag,dp 同名端连在一起,而每一个显示器的公共极COM 端与各自独立的I/O 口连接。当CPU 向字段输出口送出字形码时,所有显示器接收到相同的字形码,但究竟是那个显示器亮,则取决于COM 端,而这一端是由I/O 口控制的,所以我们就可以自行决定何时显示哪一位了。,数码管(六),当用电平依次选通DS1,DS2,DS3,DS4时,同时输入相应位的码段数据,这样就是动态扫描的显示过程,只要扫描的频率不小于2

13、5Hz,由于人眼的视觉停留特性,就不会感觉闪烁,看起来是4位数码管同时发光的效果。,AD转换,温度传感器,IIC总线,LCD液晶,最小系统板,串行传输口设计(一),串口是计算机上一种非常通用设备通信协议。串口通信的概念简单,串口按位发送和接收字节。尽管比按字节传送的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口的通信要遵循固定的协议,比如通信两设备间要有相同的波特率,要设定所传输的数据位个数,还有是否要用奇偶位、校验位及停止位。,串行传输口设计(二),串口用于ASCII码字符的传输,通信使用3根线完成:()地线,()发送,()接收。对于单片机,它本身就有一个串口通信

14、的接口,RXD与TXD,分别对应P3.0与P3.1引脚。要实现串口的通信,并不是直接将P3.0与P3.1的线接出来,而是需要有一个器件 MAX232。,串行传输口设计(三),由于单片机接口输出的是TTL电平,而串口通信需要RS232电平,所以要用MAX232来实现TTL电平与RS232电平的转换。如下图所示:,串行传输口设计(四),串口通信的验证方法:在程序中发送一个字符,然后通过计算机上的串口调试助手显示出来,如果显示的与发送的一致,则串口就调试成功。,AD转换,温度传感器,IIC总线,LCD液晶,最小系统板,简单的AD转换电路设计(一),AD转换就是要将模拟信号量,转换为数字信号量。可以用

15、TLC0832来实现AD转换。TLC0832是一种最简单的A/D转换器件,有2路模拟量输入通道。芯片引脚如右图所示:DI为控制信息的输入端。DO为数据输出端。CH0,CH1为模拟量输入通道。CLK为时钟端。CS为选通信号端(低有效)。,简单的AD转换电路设计(二),TLC0832是一个位精度的AD转换器件,由5V电压供电,输入的范围必须是V。可以通过写DI输入中的SGL和ODD进行单通道或者差分输入通道的选择。其逻辑如下:,电源和地(一),对于一个既有数字信号又有模拟信号的系统,我们要注意的一个问题是模拟电源和数字电源,模拟地与数字地的隔离。模拟电路涉及弱小信号,数字电路门限电平较高,对电源的

16、要求就比模拟电路低些。在既有数字电路又有模拟电路的系统中,数字电路产生的噪声会影响模拟电路,使模拟电路的小信号指标变差,克服的办法是分开模拟地和数字地,这种隔离主要用于AD转换。,电源和地(二),因此为了提高整个电路的抗干扰性能,通常把数字电路的地线和模拟电路的地线隔离,或是通过电感连接。注意:在画PCB时连接尽量短宽。(下图是一种接法,其中左侧表示模拟电源和地,右侧是数字电源和地)。,简单的AD转换电路设计(三),引脚接法说明:DI可以接51单片机的某一输出端口,接收51控制信息的输入。DO可以接51单片机的某一输入端口,将 A/D转换后的数字信号量输出到51单片机。CLK可以接51单片机的

17、某一输出端口,进行时钟控制信号的输入。CS(低有效)可以接单片机的某一输出端口,进行选通控制。,简单的AD转换电路设计(四),TLC0832的工作时序如下图所示:,简单的AD转换电路设计(五),时序分析:AD转换时序的开始要先将CS置为低(CS必须在整个转换过程中被置为低),通过时钟的上升沿将DI的控制信息发送给TLC0832,来选择通道,然后,再通过时钟的下降沿将DO的数据发送回51。当CS为高后,转换结束。在每一个输入时钟上升沿,DI上的每位数据就会被传输到器件0832。DI有三个位,第一个输入位是起始位,它为高电平。然后,就是两个选择通道的位,即SGL与ODD。,简单的AD转换电路设计(

18、六),TLC0832输出的数字信号量先是以MSB为首的数据流,接着就是以LSB为首的数据流,这两个数据流完全一样,只是数据流的读取方式不一样。MSB为首的位数据流是先将转换后的位数据的高位发给芯片,而LSB为首的位数据流是先将低位发给芯片。将MSB为首的位数据读完后,对于LSB那些数据可以不保存,但是要用时钟将它们一一读完。这些数据流都是在输入时钟的下降沿开始读的,每个下降沿就会将一个数据位输入到中。,简单的AD转换电路设计(七),对于DI控制信息的时序实现如下:CS=0;/选通 CLK=0;DI=1;/发送起始位 CLK=1;CLK=0;DI=1;/置SGL为高 CLK=1;CLK=0;DI

19、=0;/置ODD为低,选择的是CH0通道。(SGL已经置高。)CLK=1;读数字输出量的时序与此类似,不过注意的是,读是由下降沿触发。,简单的AD转换电路设计(八),AD转换的验证方法:将从TLC0832中读出的二进制数通过程序转化为模拟量,然后显示在数码管或LCD等显示设备上。注意:在编写读写程序时,一定要严格按照资料中给出的时序。,温度传感器的设计(一),用DS18B20器件可以对温度进行测量。它将测量的温度自动转换为数字信号,通过一根线传输到51芯片中,可以通过简单的编程实现9位的温度读书。,温度传感器的设计(二),温度传感器的温度显示:将读到的二进制数据转换成十进制,然后显示在数码管或

20、LCD等显示设备上。具体的编程应用,可以看所给的关于DS18B20的资料。注意:DS18B20结构简单,只有三个引脚(VCC,GND和一根数据传输线),但是编程时一定要控制好时序和设计好延时。,IIC电路的设计(一),IIC(Inter-Intergrated Circuit Bus)总线是Philips公司推出的一种二线制总线,它现在已经变作为一种标准的总线系统广泛应用于电子行业中。它只需要通过一个简单双向的由两根线组成的总线就可以完成电路的直接通信。,IIC信号线是:SCL(serial clock line)与SDA(serial data line)。SCL被用来同步设备之间的数据传送

21、,也就是时钟,它控制着SDA的传输;SDA主要用来传送由总线控制器(芯片)发送给从设备的控制字、地址和主设备与从设备间传送的数据。此外WP用于写保护。,IIC电路的设计(二),用24LC01来设计IIC电路,注意的是要在它的SCL与SDA分别加上一个上拉电阻。具体的编程应用,可以看所给的关于24LC09TISN的资料。IIC电路的验证方法:先用程序将数据写到EEPROM中,再将数据读出来,然后,可以用数码管或LCD等显示设备将数据显示出来。,1602字符型液晶,1602字符型液晶是一种5*7点阵图形来显示字符的液晶显示器,根据显示的内容,1602属于2行16个字的液晶。以下为TC1602的实物

22、图片。,第1脚:VSS为电源地,接GND。第2脚:VDD接5V电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,此引脚可接一个10位的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读写操作。当RS和RW共同为低电平时可以写入指令或显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。,第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:DOD7为8位双向数据线。第15脚:BLA背光电源正极输入引脚。第16脚:BLK背光电源负极,接GND.,TC1602液晶模块内部带有标准字库,内部有字符存储器,存有192个5*7点阵字符,32个5*10点阵字符。每个字符有个固定的代码,如“A”的代码为01000001(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到”A“.,1602液晶内部的控制寄存器有11条控制指令,如下表所示。它的读写操作、屏幕和光标操作都是通过编程来实现的。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号