ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:1.27MB ,
资源ID:10341342      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10341342.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第四章功能扩展.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第四章功能扩展.docx

1、第四章功能扩展第四章 89C51的功能扩展第一节 最小应用系统与总线结构 一、单片机最小系统:使单片机能运行的最少器件构成的系统,就是最小系统。 复位、晶振电路是必须的;如片内无ROM芯片:如8031必须扩展ROM,现在应用很少,但许多实验箱中都用的8031。 如果片内有ROM芯片,如AT89c51、AT89c52等,构成最小系统时不必扩展ROM,只要有复位、晶振电路即可工作。 右图为89C51的最小系统。这种最小应用系统只能用作一些小型的控制单元。其应用特点是:(1)全部I/O口线均可供用户使用。(2)内部有一定容量的程序存储器(AT89C51为4KB,AT89C52为8KB地址空间)。(3

2、)内部的数据存储容量很小,不宜处理数据较多的情况。 二、89C51单片机的三总线结构程序存储允许信号输出端 89C51系列单片机片外引脚可以构成如图所示的三总线结构:地址总线(AB)(P0、P2) 地址总线(Address Bus,AB)用于传送单片机送出的地址信号,以便进行存储单元和端口的选择。 地址总线是单向的,只能由单片机向外发送信息。地址总线的数目决定了可直接访问的存储单元的数目。 例如,n位地址可以产生2个连续地址编码,因此,可访问2个存储单元,即通常所说的寻址范围为2个地址单元。89C51单片机存储器扩展最多可达64 KB,即2个地址单元,因此,最多需16位地址。 数据总线(DB)

3、(P0) 数据总线(Data Bus,DB)用于单片机与存储器之间或单片机与端口之间传送数据。 数据总线的位数与单片机处理数据的字长一致。 例如,89C51单片机是8位字长,所以,数据总线的位数也是8位。数据总线是双向的,可以进行两个方向的数据传送。 控制总线(CB) 控制总线(Control Bus,CB)是单片机发出的以控制片外ROM、RAM和口读写操作的一组控制线。 外部芯片一般通过这三组总线进行扩展。三、扩展注意事项:1、接口驱动能力。在单片机应用系统中, 扩展的三总线上挂接很多负载, 如存储器、并行接口、A/D接口、显示接口等, 但总线接口的负载能力有限, 因此常常需要通过连接总线驱

4、动器进行总线驱动。总线驱动器对于单片机的I/O口只相当于增加了一个TTL负载, 因此驱动器除了对后级电路驱动外,还能对负载的波动变化起隔离作用。 2、电平兼容。 在对TTL 负载驱动时, 只需考虑驱动电流的大小; 在对MOS负载驱动时, MOS负载的输入电流很小, 更多地要考虑电平的兼容和分布电容的电流。 一般TTL 电平与CMOS 电平是不兼容的,CMOS 电路能驱动TTL 电路,而TTL 电路一般不能驱动CMOS 电路,在TTL 电路和CMOS 电路混用的系统中,应特别注意。 第二节 扩展中常用的器件介绍 一、锁存器1、作用:P0口分时复用时,一定要用锁存器将地址信号锁存起来,才能够达到地

5、址、数据分离、分时复用的目的。2、常用器件:74LS373,74LS573,74LS374,8282,8283等3、74LS373的引脚及控制74LS373带输出三态门的8D锁存器。引脚功能:1D8D输入;1Q8Q输出;G数据锁存控制,D1,输入输出;由高变低(负跳变),锁存数据;D0,锁存数据不变。输出允许端,0,三态门开;1,三态门关。扩展多路时用来选择。74LS373与74LS573只是引脚布置的不同。74LS273的11脚G逻辑与以上相反。正跳变输入数据并锁存,高、低电平锁存保持不变。二、常用的总线驱动器 作用:提高驱动能力,改善信号性态。常用元件:74LS244、74LS24574L

6、S244介绍:74LS244是由8个三态门构成的单向驱动器。如图:8个三态门分为两组,由和进行控制。、低电平导通,高电平输出为高阻态。高阻态可以隔离信号,便于总线传输数据。芯片有20个引脚,如图:系统总线中地址总线和控制总线是单向的, 因此驱动器可以选用单向的, 如74LS244。系统中的数据总线是双向的, 其驱动器也要选用双向的, 如74LS245 。74LS245 也是三态的, 有一个方向控制端DIR, DIR=1时输出(AnBn), DIR=0时输入(AnBn)。 第三节 存储器的扩展存储器扩展分程序存储器扩展和数据存储器扩展。由于程序存储器扩展在实际应用中已很少使用,故只做简单介绍。一

7、、扩展的基本原理1、程序存储器扩展右图为扩展时基本连接方法。 当接高电平时,首先执行片内程序存储器中的程序,然后执行片外程序,片内外统一编址;若接低电平,只执行片外的程序。为片外程序存储器读选通信号。必须和被扩展芯片的读选通输入信号线相连。P0口输入8位数据和输出地址低8位,P2输出地址高8位。ALE用于锁存低8位地址,在下降沿将低8位地址锁存。可以看出,尽管89C51单片机有4个口,共32条口线,但由于系统扩展的需要,真正能作为数据使用的,就只剩下P1口和P3口的部分口线了。特别需要强调的是,程序存储器不应再采用外扩的方案。因为89系列单片机内有432 KB的不同型号产品可供选择。如果课题需

8、要功能更强的MCU,则可选择ADC8、C8051F和MAX7651等SOC芯片。 2、数据存储器的扩展数据存储器的扩展,基本原理与程序存储器相同,也是三总线对接,但数据存储器要对数据进行读和写,扩展外部设备时,也占用的是外部RAM的地址。因此数据存储器的扩展要比程序存储器复杂。扩展数据存储器空间地址,由P2口提供高8位地址,P0口分时提供低8位地址和用作8位双向数据总线。片外数据存储器RAM的读/写由89C51的,(.7)和(P3.6)信号控制。注意:在数据存储器扩展时,P2 口未用的引脚还可以做它用。但注意相互影响,不要在写数据时影响未用的端口。二、常用的存储器芯片介绍1、EPROMEPRO

9、M是采样电信号写入、紫外线擦除的存储器,专门用紫外线灯擦除,在日光下也可以擦除,长期暴露在室内光线下程序也消失。因此要将擦除窗口保护起来。常见的型号:2732、2764、27128、27256等。其中27后面的数字代表位容量,如2764为64k位容量,也就是8K字节的容量。CMOS型加C,如27c1282、EEPROM和Flash ROM(可以存储不常修改的数据)EEPROM是一种电擦除可编程只读存储器,其主要特点是能在计算机系统中进行在线修改,并能在断电的情况下保持修改的结果。因而在智能化仪器仪表、控制装置等领域得到普遍采用。存在的问题是写和擦除较慢。常用的EEPROM芯片主要有Intel

10、2816A、2864A等。Flash ROM是一种新型的存储器,也叫闪速存储。型号有AT29010A,AT29020A等。AT29010A的容量为64K字节。3、随机存储器RAM数据存储器一般采用RAM芯片,这种存储器在电源关断后,存储的数据将全部丢失。(用在运算数据量大的情况) 常用的静态RAM(SRAM),在工业现场常使用。常用的型号:6116、6264、62128、62256等型号:6264, 前两位数62,表示SRAM , 后两位648=8k字节容量。引脚功能:以6264为例,介绍引脚功能。I/O 07:双向数据线,三态输出;A0A12:地址线;:片选信号,低电平有效;CE2:片选线,

11、高电平有效;:读选通信号,输出使能:写选通信号,写入使能VCC、GND:电源NC:未使用 还有串行连接的存储器等,在后面讲。三、采用三总线方式扩展时地址的确定 1、地址确定的方法 对于扩展的芯片,要根据不同的芯片区别对待: 存储器:芯片都有自己的地址引脚,如6264扩展8K,则芯片地址为A0-A13,低8位直接与P0口由锁存器输出的低8位相连,高位与P2对应位相连。芯片都有片选,一般P2高位地址中未用完的端口,与片选相连,就确定了该芯片的地址。 其它元件:如A/D转换等,片内需要的地址很少,一般用低8位就可以满足,地址确定主要取决于地址高8位分配的片选信号。如用P0驱动8位LED显示,地址作为

12、位码,数据作为段码,该位码的地址从高到低分别为80H、40H、20H、10H、08H、04H、02H、01H,256个地址中只用了8个。如果还要扩展其它元件,就要用高8位的某一位控制373的输出允许OE,就合成一个完整的16位地址。在扩展几个芯片时,按高8位中连接方法不同,分线选法和译码法。 2.线选法寻址如果要扩展几个存储器,用P0和P2口的低几位地址线对每个芯片存储单元统一进行寻址,称为字选。 所需地址线数由每片的存储单元数决定,对于8K8 容量的芯片需要13 根地址线A12A0。然后将余下的高位地址线分别接到存储芯片的片选端CE,称为线选。线选法的不足是空间不连续,中间有一部分存储空间无

13、法使用。如下图所示:扩展6264,每个只有8K,最多可以扩展8个6264,下面扩展3片6264为例,讲解如何扩展和确定地址(仅作为例子,如果扩展的容量大,可以直接选容量大的芯片,不但便宜,电路也简单,下面例子实际上可以直接用1片32K 的62256)6264(1)的地址:C000H-DFFFH, (P2.5=0)6264(2)的地址:A000H-BFFFH,(P2.6=0)6264(3)的地址:6000H-7FFFH,(P2.7=0)可以看出,高8位已经全部应用,只扩展了24K。3. 译码法寻址 译码法寻址就是利用译码器对系统的片外高位地址进行译码, 以其译码输出作为存储器芯片的片选信号, 将

14、地址划分为连续的地址空间块, 避免了地址的间断。 译码法仍用低位地址线对每片内的存储单元进行字选, 而高位地址的某几位经过译码器译码后输出作为各芯片的片选信号。常用的地址译码器是 3/8 译码器 74LS138。 译码法又分为完全译码和部分译码两种。 如上例中用译码法,P2.5、P2.6、P2.7接3/8译码器,则最高3位的地址为000B-111B,就可以扩展8片6264。 注意:将片外器件(如A/D转换等)扩展时,它的地址是RAM的一个单元地址,和RAM地址连续排列。四、数据存储器6264的扩展举例引脚连接说明:1)数据线 D0n直接从锁存器前连接单片机的P0.0-P0.7; 2)地址线 A

15、0A7从锁存器后连接,地址线 A8A12直接连单片机的P2.0P2.4口。3)片选线 CE2接高电平,连P2.74) 读写线(R/W) 连接读写控制线。注意:扩展时地址经常有形式上的不惟一性,如该电路中6264的8 KB地址范围不唯一(由P2.5、 P2.6 、P2.7确定地址A15A14A13,只要保证P2.7为低电平,P2.5、 P2.6如果在电路中无其它用途,则可置任意值),故地址的高三位是000,010,001,011都是正确的。 当向该片6000H单元写一个数据DATA时, 可用如下指令: MOV A, DATA ;要写入的数据 MOV DPTR, 6000H ;要写入的地址 MOV

16、X DPTR, A 从FFFH单元读一个数据时, 可用如下指令: MOV DPTR, 7FFFH MOVX , DPTR 第四节 I/O口的扩展 一、扩展的方法当89C51应用系统需连接较多的输入/输出的外围设备(如打印机、键盘、显示器等),就得扩展。2、用并行口扩展I/O口 1)用通用器件进行扩展只要根据“输入三态,输出锁存”与总线相连的原则,选择74LS系列的TTL电路或CMOS电路即能组成简单的扩展I/O口。例如采用8位三态缓冲器74LS244组成输入口,采用8D锁存器74LS273,74LS373,74LS377等组成输出口。 2)用串行口扩展I/O口 当MCS-51单片机串行口工作在

17、方式0时,使用移位寄存器芯片可以扩展一个或多个8位并行I/O口。这种方法不会占用片外RAM地址,而且可节省单片机的硬件开销。缺点是操作速度较慢,扩展芯片越多,速度越慢。常用的芯片有74LS165、74LS164等。 3)用专用芯片进行扩展 常用芯片如下: 型 号功 能8155/8156256BRAM、可编程两个8位I/O口、可编程一个6位I/O口、14位定时器82128位I/O口8251A可编程通信接口8253可编程3个16位定时器8255A可编程三个8位I/O口8279可编程键盘/显示器接口(64键)83552K8位ROM、两个通用8位I/O口8755A2K8位EPROM、两个通用8位I/O

18、口 二、通用器件的扩展根据“输入三态,输出锁存”与总线相连的原则下图中74LS244作为输入口、74LS273作为输出口,它们都可以通过P0口输入、输出数据。注意:由于P0口操作时,按指令相应的和有控制信号,在编程时就可以直接用MOVX给一个地址送数据,用其他端口时,就需要给端口送数据。在74LS273中,清除线,低电平输出全为0;上升沿输入数据并锁存,高、低输出不变。控制过程:1、 控制LED, P2.0=0;由1变0;“或非门”2输出正跳变,273将单片机输出的信息锁存。输出低电平LED显示,因为用锁存P0口的输出,所以LED的显示是由P0口输出的数据而不是地址,地址只要满足P2.0=0;

19、其它地址位(含低8位)随意。2、读按键输入.=0; =0, “或”门1输出电平,244的(直通),当由低变高时,读走数据。当244的、为高电平时,端输出为高阻态。注意:确定地址时,要使P2.0(A8)为0。 其他未用地址可以随意。三、用串行通信口扩展1、用串行口扩展输出口用串行口扩展输出口时,一般用移位寄存器,如74LS164芯片、 4094芯片。74LS164为串入并处的移位寄存器,下图为74LS164 的引脚,各引脚功能如下:Q0-Q7:并出数据线;DSA、DSB:串行输入线,当其中有一个为低电平时输出为0;两个同时为高电平时输出QA为1。可以同时接串行口的数据输出口RXD,也可以一个用于

20、控制;CP:移位脉冲输入口,在脉冲上升沿移位;:清零,低电平有效。例:用89C51串行口外接164串入并出移位寄存器扩展8位并行口;8位并行口的每位都接一个发光二极管,要求发光二极管从左到右以一定延迟轮流显示,并不断循环。设发光二极管为共阴极接法,如图7-17所示。解:设数据串行发送采用中断方式,显示的延迟通过调用延迟程序DELAY来实现,延时程序的编写已经讲过。程序清单:ORG 0000HAJMP 0030HORG 0023H ;串行口中断入口AJMP SBR ;转入串行口中断服务程序ORG 0030H ;主程序起始地址MOV SCON ,#00H;串行口方式0初始化MOV A ,#80H

21、;最左一位发光二极管先亮CLR P1.0 ; 传送数据时不显示MOV SBUF,A ;开始串行输出LOOP : SJMP $ ;等待中断, SBR : SETB P1.0 ;允许显示,数据传送完开始显示ACALL DELAY ;显示延迟一段时间CLR TI ;清发送中断标志RR A ;准备右边一位显示CLR P1.0 ;关闭显示MOV SBUF , A ;再一次串行输出RETI ;中断返回如果将上面指示灯看作七段数码管,一个164可以驱动1个七段数码管LED,N个LED需要N个164。可以连续将要显示的数据发送完然后显示。要用串行口扩展并行输入口,用芯片74LS165,也可以用4014芯片。该

22、部分内容自己看教材相关部分。四、用专用芯片的扩展由前面已经知道,用专用芯片,不但可以扩展并行端口,而且还可以扩展定时器/计数器,RAM等。扩展时很大的特点是可以编程。本节只用8155芯片介绍扩展方法。 18155的结构和技术性能8155的结构框图。在8155内部具有: (1)256字节的静态RAM,存取时间为400ns。(2)三个通用的输入/输出口。(3)一个14位的可编程定时/计数器。(4)地址锁存器及多路转换的地址和数据总线。(5)单一+5V电源,40脚双列直插式封装。 2、8155的引脚功能AD0AD7:三态地址/数 据总线,带地址锁存;ALE:地址锁存信号,负跳变(高低)锁存;IO/:

23、RAM与I/O口的选择线,低电平选择RAM操作,高电平选择I/O口;:片选信号,低电平有效;:读写控制线;PA0PA7:端口A;PB0PB7:端口B;PC0PC5:端口C;TIMERIN、TIMEROUT:定时器/计数器输入输出。3、8155的寄存器 和单片机相同,可编程器件都是由寄存器控制,编程也就是对寄存器编程。 (1) 命令/状态寄存器C/S,该寄存器地址为0 0 0 B 该寄存器是两个寄存器公用一个地址,(写是命令,读是状态) 命令寄存器:(见表) 注意:复位时,命令寄存器被置为00H,端口PA、PB都为输入方式。 状态寄存器: 状态寄存器用于查询当前状态。读状态寄存器,TIMER自动

24、清零。 (2) PA寄存器,地址:0 0 1 B 为PA口寄存器。 (3) PB寄存器,地址:0 1 0 B 为PB口寄存器。 (4) 定时器低8位寄存器,地址:1 0 0 B 定时器高8位寄存器,地址:1 0 1 B(5) PC寄存器 地址:0 1 1 B 为PC口寄存器,可以由命令寄存器中的PC1、PC2设置PC口为输入寄存器、输出寄存器,也可以PC的6个端口设为PA、PB口的控制线。第五节 中断扩展1、为什么要扩展中断。AT89C52单片机有两个外部中断请求输入端(即外部中断0、外部中断1)。在实际应用中,往往有三个或三个以上的外部事件需要用中断进行处理,这就需要扩展外部中断源。 2、利

25、用查询加中断的方式进行扩展 利用AT89C52的两个外部中断线,每一个中断线可以通过“与”的关系连接多个外部中断源,同时利用AT89C52的IO端口作为各中断源的识别。 例:用单片机监测X1,X2,X3三个外部设备在运行过程中是否有故障。不管哪一个设备一旦出现故障,必须马上处理,所以采用中断系统来监测这三个外部设备。当系统无故障时,3个故障源输人端X1X3全为低电平,对应的3个显示灯全灭;当某个设备出现故障时,其对应的输入端由低电平变为高电平,从而引起AT89C52单片机中断,中断服务程序的任务是判定故障,并点亮对应的发光二极管。其中,发光二极管LEDlLED3对应3个输入端X1X3。实现上述

26、功能的电路如图所示。3个故障源X1X3通过“或非门”与AT89C52单片机的外部中断0输入端相连,同时,X1X3与PO口的P10-P12引脚相接,3个发光二极管LEDlLED3分别与P0口的P13P15相接。主程序如下: ORG 0000H; ;主程序的入口地址 AJMP MAIN ;跳转到主程序的开始处, ORG 0003H ;外部中断0的中断程序入口地址AJMP SERVE ;跳转到中断服务程序处MAIN:ORL P1,#OFFH ;灯全灭,准备读入 SETB IT0 ;选择边沿触发方式 SETB EX0 ;允许INT0中断 SETB EA ;CPU开中断AJMP $ ;等待中断 中断服务

27、子程序如下: SERVE:PUSH PSW ;保护规场 PUSH ACC JNB P1.0,L1 ;若x1无故障,跳到L1 CLR P1.3 ;点亮LED1 L1: JNB P1.1,L2 ;若x2无故障,跳到L2 CLR P1.4 ;点亮LED2 L2:JNB P1.2,L3 ;若x3无故障,跳到L3 CLR P1.5 ;点亮LED3 L3: POP ACC ;恢复现场 POP PSW RETI第四节 串行扩展总线接口技术一、 概述1、并行口扩展:线路复杂,占用资源多,使单片机本来就不多的资源显得很紧张,对于智能仪器,特别是便携式仪器,功耗低,体积小是一个重要的指标。2、串行总线扩展:占用M

28、CU的I/O口线少,系统简单,体积小,编程也方便。3、实现方法:1)、串行口扩展I/O口线;2)、SPI串行总线扩展;3)、I2C总线扩展;4)、单总线扩展。5)、其它如USB总线等。扩展应尽量采用串行扩展方案。通过SPI或I2C总线扩展E2PROM、A/D、D/A、显示器、看门狗、时钟等芯片。有些单片机已经带有该接口。4、扩展时的共性问题1)系统如何找到该器件;2)如何对扩展的芯片进行控制;3)通信协议是什么(特别是时序图);4)怎样进行读或写。二、I2C总线扩展一)概述1、什么是I2C总线 I2C(InterIntegrated Circuit)总线是一种由PHILIPS公司开发的一种简单

29、、双向二进制同步串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息。I2C总线产生于在80年代,最初为音频和视频设备开发。 2、I2C总线的几个基本概念1)所有进入I2C总线系统中的设备都带有I2C总线接口,只需将I2C总线上所有节点的串行数据线SDA和时钟线SCL分别与总线的SDA和SCL相连即可。2) 当执行数据传送时,启动数据发送并产生时钟信号的器件称为主器件;被寻址的任何器件都可看作从器件;发送数据到总线上的器件称为发送器;从总线上接收数据的器件称为接收器。3) I2C总线是多主机总线,可以有两个或更多的能够控制总线的器件与总线连接;同时I2C总线还具有仲裁功能,当一个以上的

30、主器件同时试图控制总线时,只允许一个有效,从而保证数据不被破坏。4) I2C总线的寻址采用纯软件的寻址方法,无需片选线的连接,这样就简少了总线数量。3、优点 总线只有两根线,即串行时钟线SCL和串行数据线SDA。 同步时钟允许器件以不同的波特率进行通信;总线的长度可高达7m,在标准I2C模式下数据传送率可达100kBs,高速模式下可达400kBs。 它是一个真正的多主总线,带有竞争监测和仲裁电路,多个主机任意发送而不破坏总线上的数据。下图中单片机有2个,单片机必须有I2C总线接口。89C51无该接口,只能用于单主扩展。 支持带电插拔,并有众多的外围接口芯片;并且能够以10Kb/s的最大传输速率支持40个组件。 4、I2C器件类型及用途常用的12C总线外围通用器件有:SRAM,EEPROM,ADCDAC, IO口,实时时钟芯片RTC等。外围设备模块有LED驱动控制器构成的LED显示器,各种LCD驱动控制器

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1