第六章单片机系统扩展及接口技术_第1页
第六章单片机系统扩展及接口技术_第2页
第六章单片机系统扩展及接口技术_第3页
第六章单片机系统扩展及接口技术_第4页
第六章单片机系统扩展及接口技术_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及应用1单片机系统扩展单片机系统扩展 6 6.1.1 程序存储器扩展程序存储器扩展 6 6.2.2 数据存储器扩展数据存储器扩展 6 6.3.3 并行并行I/OI/O口扩展口扩展 可编程并行接口芯片可编程并行接口芯片8255A 8255A 可编程并行接口芯片可编程并行接口芯片815581556.6.4 4 I I2 2C C 总线扩展总线扩展6.5 6.5 单片机节电工作方式单片机节电工作方式6.6 6.6 开关量功率接口技术开关量功率接口技术 主要内容主要内容单片机原理及应用2CPUCPU指挥一个电子单元需要三类信息:指挥一个电子单元需要三类信息: 地址地址(门牌)、(门牌)、数据

2、数据(货物)、(货物)、控制控制(要求)(要求) 传送信息的公共通道传送信息的公共通道总线(总线(BUSBUS)CPUROMRAM T/C控制总线控制总线 Control Bus数据总线数据总线 Data Bus地址总线地址总线 Address Bus总线结构的特点:结构简单、规则、易于扩展总线结构的特点:结构简单、规则、易于扩展单片机单片机内部内部采用的是总线式结构采用的是总线式结构程序存储器扩展程序存储器扩展单片机原理及应用3单片机与外设连接单片机与外设连接SCM外设外设1外设外设2 外设外设n控制总线控制总线 CB数据总线数据总线 DB地址总线地址总线 AB单片机引脚与外部总线的对应关系

3、?单片机引脚与外部总线的对应关系?单片机原理及应用4片内的资源如不满足需要,需外扩存储器和片内的资源如不满足需要,需外扩存储器和I/O功能部件。功能部件。系统扩展系统扩展主要内容有:主要内容有: (1)外部存储器扩展外部存储器扩展(RAM、ROM) (2) I/O接口部件的扩展接口部件的扩展。扩展方法:扩展方法:1. 以以P0口作为低口作为低8位地址位地址/数据总线数据总线;2 .以以P2口的口线作高口的口线作高8位地址线;位地址线;3.控制信号线。控制信号线。 *ALE : 低低8位地址锁存信号位地址锁存信号; *PSEN:扩展程序存储器读选通信号扩展程序存储器读选通信号; *EA: 内外程

4、序存储器选择信号内外程序存储器选择信号; *RD*和和WR* :扩展扩展RAM和和I/O口的读选口的读选通、通、 写选通信号。写选通信号。 单片机原理及应用5单片机原理及应用6单片机引脚与片外总线的关系单片机引脚与片外总线的关系地地址址锁锁存存器器单片机原理及应用7单片机外部总线方式的典型应用存储器扩展单片机外部总线方式的典型应用存储器扩展单片机原理及应用8单片机外部总线方式的典型应用单片机外部总线方式的典型应用端口扩展端口扩展8位数据线+1位地址线+1位控制线单片机原理及应用9存储器地址空间分配存储器地址空间分配80C51 373G27166116(2)6116(1)8155P0P2.2-P

5、2.0PSENALEWRRDABCG2AG2BG1P1.0A0A7A8A10D7D0D7D0D7D0 CECECSOEA0A7A8A10WEWEOEOEWERDALEAD0AD7CEY2Y1Y0+5VIO/ MPAPBPCP2.3P2.4P2.5P2.6P2.7单片机原理及应用10直接用系统的高位地址线直接用系统的高位地址线作作RAM芯片的片选信号。芯片的片选信号。线选法和地址译码法线选法和地址译码法4KB RAM 8KB EPROM单片机原理及应用11 2732:4KB ROM,12根地址线根地址线A0A11,1根片选线根片选线 6116:2KB RAM,11根地址线根地址线A0A10,1根

6、片选线根片选线 片选端低电平有效地址范围:片选端低电平有效地址范围: 2732(1)的地址范围:)的地址范围:7000H7FFFH; 2732(2)的地址范围)的地址范围: B000HBFFFH; 6116(1)的地址范围:)的地址范围:E800HEFFFH; 6116(2)的地址范围:)的地址范围:D800HDFFFH。线选法特点线选法特点 优点:优点:电路简单不需外加硬件电路,体积小成本低电路简单不需外加硬件电路,体积小成本低;缺点:缺点:可寻址的器件数目受限,地址空间不连续可寻址的器件数目受限,地址空间不连续。 只适于外扩芯片不多,规模不大的单片机系统只适于外扩芯片不多,规模不大的单片机

7、系统单片机原理及应用12常用译码器芯片:常用译码器芯片:74LS138(3-8译码器)译码器);74LS139(双双2-4译码器)译码器)74LS154(4-16译码器)译码器)全译码:全译码: 全部高位地址线都参加译码;全部高位地址线都参加译码;部分译码部分译码:仅部分高位地址线参加译码。仅部分高位地址线参加译码。 (1)74LS138(38译码器)译码器) 当译码器的当译码器的输入为某一个固定编码时,其输出只有输入为某一个固定编码时,其输出只有某一个固定的引脚输出为低电平,其余的为高电平某一个固定的引脚输出为低电平,其余的为高电平。地址译码法地址译码法单片机原理及应用13采用全地址译码方式

8、,单片机发地址码时,每次只能选中采用全地址译码方式,单片机发地址码时,每次只能选中一个存储单元。同类存储器间不会产生地址重叠的问题。一个存储单元。同类存储器间不会产生地址重叠的问题。例例: 要扩要扩8片片8KB的的RAM 6264,如何通过如何通过74LS138把把64KB空间空间分配给各个芯片?分配给各个芯片?单片机原理及应用14如何用如何用74LS138把把64K空间全部划分为每块空间全部划分为每块4KB?单片机原理及应用15典型芯片是典型芯片是2727系列产品,例如,系列产品,例如, 27276464 (8 8KBKB8 8)2727128128(16KB16KB8 8)27272562

9、56(32KB32KB8 8)2727512512(64KB64KB8 8)“27”“27”后面的数字表示其后面的数字表示其位存储容量位存储容量。扩展程序存储器时,应尽量用大容量的芯扩展程序存储器时,应尽量用大容量的芯片。片。 常用常用EPROMEPROM芯片介绍芯片介绍单片机原理及应用161.1.常用的常用的EPROMEPROM芯片芯片引脚功能如下:引脚功能如下:A0A0A15A15:地址线引脚。数目决定存储容量。地址线引脚。数目决定存储容量。D7D7D0D0:数据线引脚数据线引脚CECE* *: 片选输入端片选输入端OEOE* * : 输出允许控制端输出允许控制端PGMPGM* *: 编程

10、时,加编程脉冲的输入端编程时,加编程脉冲的输入端VppVpp: 编程时,编程电压(编程时,编程电压(+12+12V V或或+25+25V V)输入端输入端VccVcc: +5V+5V,芯片的芯片的工作工作电压。电压。 GNDGND: 数字地。数字地。NCNC: 无用端无用端 单片机原理及应用17EPROMEPROM芯片接口电路芯片接口电路单片机原理及应用18字节的字节的EPROMEPROM接口接口32K单片机原理及应用19使用多片使用多片EPROMEPROM的扩展电路:的扩展电路:扩展扩展4 4片片2712827128单片机原理及应用20常用的静态常用的静态RAMRAM(SRAMSRAM)芯片

11、芯片 典型型号有典型型号有: :61166116、62646264、6212862128、6225662256。 双列直插,双列直插,61166116为为2424引脚封装,引脚封装,62646264、6212862128、6225662256为为2828引脚封装。引脚封装。 各引脚功能如下各引脚功能如下: : A0 A0A14A14:地址输入线。地址输入线。 D0 D0D7D7:双向三态数据线。双向三态数据线。 CE CE* *:片选信号输入。片选信号输入。 OEOE* *:读选通信号输入线。读选通信号输入线。 WE WE* *:写允许信号输入线,低电平有效。写允许信号输入线,低电平有效。 有

12、读出、写入、维持三种工作方式有读出、写入、维持三种工作方式数据存储器的扩展数据存储器的扩展单片机原理及应用21典型的外扩数据存储器的接口电路典型的外扩数据存储器的接口电路 线选法线选法扩展扩展80318031外部数据存储器的电路外部数据存储器的电路。 单片机原理及应用22 地址线为地址线为A0A0A12A12,故剩余地址线为三根。用线故剩余地址线为三根。用线选法可扩展选法可扩展3 3片片62646264。3 3片片62646264对应的地址空间如下:对应的地址空间如下:单片机原理及应用23译码选通法译码选通法单片机原理及应用24各片各片6212862128地址分配见表。地址分配见表。 各片各片

13、6212862128地址分配地址分配 P2.7 P2.6 P2.7 P2.6 译码输出译码输出 选中芯片选中芯片 地址范围地址范围 存储容量存储容量 0 0 0 0 YOYO* * IC1 0000H-3FFFH 16K IC1 0000H-3FFFH 16K 0 1 Y1 0 1 Y1* * IC2 4000H-7FFFH 16K IC2 4000H-7FFFH 16K 1 0 Y2 1 0 Y2* * IC3 8000H-BFFFH 16K IC3 8000H-BFFFH 16K 1 1 Y3 1 1 Y3* * IC4 C000H-FFFFH 16K IC4 C000H-FFFFH 16

14、K 单片机原理及应用25EPROM和和RAM的综合扩展的综合扩展综合扩展的硬件接口电路综合扩展的硬件接口电路采用采用线选法线选法扩展扩展2片片8KB的的RAM和和2片片8KB的的EPROM, RAM选选6264,EPROM选选2764。例例采用译码器法扩展采用译码器法扩展2 2片片8 8KB EPROMKB EPROM,2 2片片8 8KB RAMKB RAM。EPROMEPROM选用选用27642764,RAMRAM选用选用62646264。共扩展。共扩展4 4片芯片。片芯片。 可见译码法进行地址分配,各芯片地址空间是连续的。可见译码法进行地址分配,各芯片地址空间是连续的。单片机原理及应用2

15、7在程序中加入专用语句:在程序中加入专用语句:#include /含有宏定义的包含语句含有宏定义的包含语句#define 变量名变量名 XBYTE 地址常数地址常数 /地址定义语句地址定义语句此后,便可通过对已定义变量访问所需的端口此后,便可通过对已定义变量访问所需的端口C51访问外部访问外部RAM的方法的方法1#include #define port XBYTE 0 x1000; unsigned char temp1,temp2; temp1 = port; /读端口操作读端口操作 port = temp2; /写端口操作写端口操作 例如,对占用片外例如,对占用片外RAM 1000H的端

16、口进行读操作的端口进行读操作:第8章 单片机接口技术单片机接口技术单片机原理及应用28C51访问绝对地址方法 1. 绝对宏:绝对宏: “include”即可使用其中定义的宏来访问绝对地址,即可使用其中定义的宏来访问绝对地址,包括:包括: CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD rval=CBYTE0 x0002;指向程序存贮器的指向程序存贮器的0002h地址地址 rval=XWORD 0 x0002;指向外指向外RAM的的0004h地址地址 2. _at_关键字关键字 直接在数据定义后加上直接在数据定义后加上_at_ const即可,但是

17、注意:即可,但是注意: (1)绝对变量不能被初使化;绝对变量不能被初使化; (2)bit型函数及变量不能用型函数及变量不能用_at_指定。指定。 idata struct link list _at_ 0 x40;指定指定list结构从结构从40h开始。开始。 xdata char text25b _at_0 xE000;指定;指定text数组从数组从0E000H开始开始 单片机原理及应用29扩展扩展I/O端口可以通过各种集成接口芯片:端口可以通过各种集成接口芯片:可编程可编程I/O扩展芯片扩展芯片(如(如8255、8155等)和等)和具有锁存或缓冲功具有锁存或缓冲功能的接口芯片能的接口芯片(

18、如(如74LS273、74LS244等)。等)。当系统需要较多当系统需要较多I/OI/O端口时,往往需要进行端口时,往往需要进行I/OI/O端口的扩展。端口的扩展。并行并行I/OI/O的扩展的扩展单片机原理及应用30线选法进行外部扩展举例线选法进行外部扩展举例 6264的地址范围:的地址范围:高高8位地址变化范围位地址变化范围 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 1 0 低低8位地址变化范围:位地址变化范围:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 由此可得由此可得6264的地址范围为:的地址范围为:C000

19、HDFFFH。单片机原理及应用3182558255的地址范围:的地址范围: 高高8位地址变化范围位地址变化范围 :P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1 0 1 1 1 1 1 1低低8位地址变化范围:位地址变化范围:P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 1 8255的地址范围为:的地址范围为:BFFCHBFFFH。08320832的地址:的地址:高高8位地址变化范围:位地址变化范围: P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 0 1 1 1 1 1

20、1 1 低低8位地址变化范围:位地址变化范围: P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 1 1 1 1 1 1 1 1由此可得由此可得0832的地址为:的地址为:7FFFH。单片机原理及应用32I/OI/O接口的功能接口的功能I/OI/O接口电路应满足条件接口电路应满足条件1.1.实现和不同外设的速度匹配实现和不同外设的速度匹配大多数的外设的速度很慢,无法和大多数的外设的速度很慢,无法和s s量级的单片机速量级的单片机速度相比度相比。单片机只有在。单片机只有在确认确认外设已为数据传送做好准备的前外设已为数据传送做好准备的前提下才能进行提下才能进行I/OI

21、/O操作。操作。想知道外设是否准备好想知道外设是否准备好,需需I/OI/O接口接口电路与外设之间传送状态信息。电路与外设之间传送状态信息。2. 2. 输出数据锁存输出数据锁存由于单片机工作速度快,数据在数据总线上保留的时由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收间十分短暂,无法满足慢速外设的数据接收。I/OI/O电路应具有电路应具有数据锁存器数据锁存器,以保证接收设备接收。,以保证接收设备接收。3. 3. 输入数据三态缓冲输入数据三态缓冲输入设备向单片机输入数据时,但数据总线上面可输入设备向单片机输入数据时,但数据总线上面可能能“挂挂”有多个数据源,为

22、不发生冲突,只允许当前正在进有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。行数据传送的数据源使用数据总线,其余的应处于隔离状态。 单片机原理及应用33I/OI/O端口的编址端口的编址I/O接口接口和和I/O端口端口的概念:的概念: I/O端口端口(Port) :简称简称I/O口口,指具有端口地址的寄,指具有端口地址的寄存器或存器或 缓冲器。缓冲器。 I/O接口接口(Interface) :是指单片机与外设间的接口是指单片机与外设间的接口芯片。芯片。I/O接口芯片可以有多个接口芯片可以有多个I/O端口端口 (1)数据口;数据口;(2)命令口;命

23、令口;(3)状态口。状态口。单片机原理及应用34 I/O I/O端口编址端口编址是给所有是给所有I/OI/O接口中的寄存器接口中的寄存器编址编址。 I/OI/O端口编址两种方式端口编址两种方式:独立编址独立编址与与统一编址统一编址。 独立编址方式独立编址方式 I/OI/O寄存器地址空间和存储器地址空间寄存器地址空间和存储器地址空间分开编址分开编址,但需专门读写但需专门读写I/OI/O的指令和控制信号。的指令和控制信号。 统一编址方式统一编址方式 I/O I/O寄存器与数据存储器单元同等对待寄存器与数据存储器单元同等对待,统一编址。,统一编址。不需要专门的不需要专门的I/OI/O指令,直接使用访

24、问数据存储器的指指令,直接使用访问数据存储器的指令 进 行令 进 行 I / OI / O 操 作 , 简 单 、 方 便 且 功 能 强 。操 作 , 简 单 、 方 便 且 功 能 强 。单片机原理及应用35MCS-51MCS-51使用统一编址的方使用统一编址的方式式 接口芯片的功能寄存器(端口)的地址相当于接口芯片的功能寄存器(端口)的地址相当于RAMRAM单元。为实现和不同外设速度匹配,单元。为实现和不同外设速度匹配,I/OI/O接口必须选接口必须选择恰当择恰当I/OI/O数据传送方式数据传送方式,存在,存在3 3种种I/OI/O数据传送方式数据传送方式1.1.同步传送方式同步传送方式

25、:当外设速度和单片机的速度相比拟当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同步传送就是单时,常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。片机和外部数据存储器之间的数据传送。2.2.异步传送方式:采用异步传送方式:采用查询方式进行数据传送。查询方式进行数据传送。3.3.中断传送方式:采用中断传送方式:采用中断方式进行数据传送,外设中断方式进行数据传送,外设准备好中断请求,单片机进入与外设数据传送的中断准备好中断请求,单片机进入与外设数据传送的中断服务程序。中断服务完成后又返回主程序继续执行。服务程序。中断服务完成后又返回主程序继续执行。工作效

26、率高。工作效率高。单片机原理及应用36 由数据锁存器实现的并行I/O口扩展 常用电路芯片: 74LS 273、377 、244、373等 单片机原理及应用37可编程接口可编程接口功能可由计算机指令改变的接口芯片特点:使用灵活,不需要或只需要很少的外加硬件常用芯片(INTEL系列):8259可编程中断控制器8253可编程计数/定时器8250可编程串行接口(异步)8251可编程串行接口(异步+同步)8255可编程并行扩展接口可编程并行扩展接口8279可编程键盘显示接口8237可编程DMA控制器8155可编程多功能接口单片机原理及应用3880C518255芯片可被编程为多种工作方式输出功能端口输出功

27、能端口输入功能端口输入功能端口举例单片机原理及应用398255A8255A的结构的结构数据端控制端PA口PB口PC口外部特性:40脚双列直插式芯片数据端:数据端:D0D7控制线:控制线:WR,RD,RESET,CS地址线:地址线:A0,A1PA口:口: PA0PA7PB口:口: PB0PB7PC口口: PC0PC7电源端:电源端:Vcc,GND单片机原理及应用40 A组=PA7-0+PC7-4 B组=PB7-0+PC3-0PA口, PB口,PC口三个端口分受两个控制器组管理:地址线A0A1,定义4个寄存器: 00 (PA),01 (PB) ,10 (PC),11 (控制口)PA口, PB口,P

28、C口三个端口各有一个寄存器:PA、PB、PC单片机原理及应用418255A8255A端口工作状态选择端口工作状态选择A1A1A0A0RDRD* *WRWR* *CSCS* *工作状态工作状态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:总线数据:总线数据A A口口写端口写端口B B:总线数据:总线数据B B口口写端口写端口C C:总线数据:

29、总线数据C C口口写控制字:总线数据写控制字:总线数据控制字寄控制字寄存器存器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数据总线为三态数据总线为三态单片机原理及应用428255A控制引脚的典型接线方法RST RESET/WR /WR/RD /RDGND /CS第8章 单片机接口技术单片机接口技术单片机原理及应用43外部RAM地址 xxxx xx00 xxxx xxxx FCFFH PA口 xxxx xx01 xxxx xxxx FDFFH PB口 x

30、xxx xx10 xxxx xxxx FEFFH PC口 xxxx xx11 xxxx xxxx FFFFH 控制口P2P0单片机原理及应用441、8255A的控制字的控制字共有共有2个控制字:个控制字: 方式选择控制字、方式选择控制字、C口置复位控制字口置复位控制字(1) 方式选择控制字方式选择控制字规定工作方式和数据方向规定工作方式和数据方向举例:设定举例:设定PA口和口和PC上上为输入方式为输入方式1,PB口和口和PC下下为输出方式为输出方式0 XBYTE0X7FFF=0 xB8;单片机原理及应用45(2) 端口端口C C置复位控制字置复位控制字对C口按位控制(C口位操作)注意:该控制字

31、不是写入端口C中,而是写入控制口中,并且只有当C口被置为输出方式时才有效。单片机原理及应用46工作方式工作方式0 0 基本输入基本输入/ /输出方式输出方式具有两个具有两个8 8位端口:位端口:A A口和口和B B口口,高高4 4位位C C口和口和低低4 4位位C C口口可任意规定为输入或输出状态(可任意规定为输入或输出状态(1616种组合关种组合关系)系)2 2、8255A8255A的三种工作方式的三种工作方式单片机原理及应用47举例:用8255A的PA口作为输出口, PB口作为输入口。将PB口读入的开关信号送PA口外接的8位LED上显示出来。单片机原理及应用48#include#inclu

32、de #define uchar unsigned char#define PORTA0 x7CFF#define PORTB0 x7DFF#define PORTC0 x7EFF#define CADDR0 x7FFFvoid main() XBYTECADDR=0 x82; while(1) XBYTEPORTA=XBYTEPORTB; 单片机原理及应用49可编程可编程RAM/IO/CTCRAM/IO/CTC接口芯片接口芯片 82558255扩展了三个扩展了三个8 8位的并行位的并行口;口; 8155 8155扩展了两个扩展了两个8 8位并行口位并行口 + +6 6位的并行口位的并行口 +

33、 +1414位位TimerTimer + + 片内片内256256字节字节RAMRAM1 8155H1 8155H芯片介绍芯片介绍MCS-51MCS-51单片机与单片机与8155H8155H的接口的接口单片机原理及应用501.8155H1.8155H的逻辑结构的逻辑结构单片机原理及应用512.8155H2.8155H的引脚功能的引脚功能8155H8155H的引脚功能的引脚功能(1 1)AD7AD7AD0AD0(8 8条)条)(2 2)I/OI/O总线总线(2222条)条)(3 3)控制总线()控制总线(8 8条)条) RESETRESET:复位输入线复位输入线 CECE* *和和IO/MIO/

34、M* * RD RD* *和和WRWR* * ALE ALE:地址锁存允许地址锁存允许 TIMERINTIMERIN和和TIMEROUTTIMEROUT* *:(4 4)电源线()电源线(2 2条)条) VccVcc:+5V+5V电源电源 VssVss:地地单片机原理及应用52CECE* *IO/MIO/M* *A7A7A6A6A5A5A4A4A3A3A2A2A1A1A0A0所选的端口所选的端口0 01 10 00 00 0命令命令/ /状态寄存器状态寄存器0 01 10 00 01 1A A口口0 01 10 01 10 0B B口口0 01 10 01 11 1C C口口0 01 11 1

35、0 00 0计数器低计数器低8 8位位0 01 11 10 01 1计数器高计数器高6 6位位0 00 0RAMRAM单元单元3.CPU3.CPU对对8155H I/O8155H I/O端口的控制端口的控制(1) 8155H(1) 8155H各端口地址分配各端口地址分配单片机原理及应用53(2 2)8155H8155H的命令字(写入)的命令字(写入)单片机原理及应用54(3 3)8155H8155H的状态字(读出)的状态字(读出)单片机原理及应用55 8155内部有一个14位减法计数器,计数脉冲来自其引脚“TIMER IN”,使用定时器前要先装入“时间常数”-14位二进制数。其格式为:8155

36、定时器/计数器 D1D15 5D14D14 D13D13 D12D12 D11D11 D10D10D9D9D8D8D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0M2M2 M1M1T13T13 T12T12 T11T11 T10T10T9T9T8T8T7T7T6T6T5T5T4T4T3T3T2T2T1T1T0T0高6位计数值低8位计数值定时器方式M2 M1M2 M100 单方波01 连续方波 单脉冲10 连续脉冲 单片机原理及应用56 8155H 8155H的工作方式的工作方式1.1.存储器方式存储器方式 对片内对片内RAMRAM单元进行读写,若单元进行读写,若IO/MIO/M

37、* *=0=0和和CECE* *=0=0,则,则通过通过AD7AD7AD0AD0上的地址对上的地址对RAMRAM存储器任一单元读写。存储器任一单元读写。2.I/O2.I/O方式方式 8155H8155H的的I/OI/O方式分为方式分为基本基本I/OI/O和和选通选通I/OI/O两种工作两种工作方式,如表方式,如表6-56-5所示。可对片内任一寄存器读写,所示。可对片内任一寄存器读写,端口地址由端口地址由A2A2、A1A1、A0A0三位决定。三位决定。单片机原理及应用578RP0.0P0.2P0.7P0.6P0.5P0.4P0.3P0.18051P2.7RDALEWRAD0AD1AD2AD3AD

38、4AD5AD6AD7RESETRESETWRRDCE+5V+5V8RPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB78155ALEP2.0IO/MK0K1K2K3K4K5K6K7单片机原理及应用58 ORG 0000H AJMP MAINORG 0030HMAIN: :MOV DPTR,#7F00H;指向命令字端口;指向命令字端口MOV A,#0EH;A口为输入,口为输入,B口、口、C口为输出口为输出MOVXDPTR,A ;送命令字;送命令字MOV DPTR,#7F01H;指向;指向A口地址口地址MOVXA,DPTR ;读入;读入A口的数据口的数

39、据INCDPTR;指向;指向B口口MOVXDPTR,A ;数据送入;数据送入B口口AJMP MAINEND单片机原理及应用59 例:例:A、 B口基本输入方式,计数器方波发生器,对口基本输入方式,计数器方波发生器,对80C51输输入脉冲进行入脉冲进行24分频(但需要注意分频(但需要注意8155的计数最高频率约为的计数最高频率约为4MHZ),初始化程序:),初始化程序: START:MOV DPTR,#7F04H ;计数寄存器低;计数寄存器低8位位 MOV A,#18H ;计数器初值;计数器初值#18H(24D) MOVX DPTR,A ;计数器寄存器低;计数器寄存器低8位赋值位赋值 INC D

40、PTR ;指向计数器寄存器高;指向计数器寄存器高6位及方式位位及方式位 MOV A,#40H ;计数器为连续方波方式;计数器为连续方波方式 MOVX DPTR,A;计数寄存器高;计数寄存器高6位赋值位赋值 MOV DPTR,#7F00H ;命令寄存器;命令寄存器 MOV A,#0C2H;设命令字;设命令字 MOVX DPTR,A;送命令字;送命令字单片机原理及应用603. 3. 内部定时器内部定时器/ /计数器及使用计数器及使用 1414位的减位的减1 1定时器定时器/ /计数器计数器,计数长度计数长度和和计数方式计数方式由写入计数寄存器的控制字来确定。由写入计数寄存器的控制字来确定。计数器的

41、两个寄存器的格式如下图计数器的两个寄存器的格式如下图单片机原理及应用61T13T13 T0:T0:计数器长度计数器长度M2M2、M1:M1:设置定时器的设置定时器的4 4种工作方式种工作方式单片机原理及应用62(1)计数模式)计数模式0的输出单个方波:的输出单个方波:Tout下降沿为计数下降沿为计数过程开始,过程开始,Tout上升沿是计数过程结束。上升沿是计数过程结束。 负脉冲的宽负脉冲的宽度等于度等于NCLK。CLK是计数脉冲的周期,如图所示是计数脉冲的周期,如图所示 (2)计数模式)计数模式1的输出周期性方波:当计数值的输出周期性方波:当计数值N为奇为奇数时,低电平持续时间等于数时,低电平

42、持续时间等于(N1)CLK 2;高;高电平持续时间等于电平持续时间等于(N1)CLK 2。当计数值。当计数值N为偶数时,高、低电平的持续时间相等,如图所示。为偶数时,高、低电平的持续时间相等,如图所示。 说明:说明:单片机原理及应用63(3)计数模式)计数模式2的输出单个窄脉冲:负脉冲的宽的输出单个窄脉冲:负脉冲的宽度等于度等于CLK,如图所示。,如图所示。 (4)计数模式)计数模式3的输出周期性窄脉冲:负脉冲的宽的输出周期性窄脉冲:负脉冲的宽度等于度等于CLK,周期等于,周期等于NCLK,如图所示。,如图所示。 单片机原理及应用64(5)8155定时定时/计数器的使用计数器的使用(如何初始化

43、如何初始化) )先对先对(04H)(05H)寄存器装入寄存器装入14位初值和输位初值和输 出信号形式。出信号形式。14位初值的范围是(位初值的范围是(23FFFH)。)。启动定时启动定时/计数器。计数器。 即对命令即对命令/状态字寄存器状态字寄存器(00H)的最高两位的最高两位 TM2,TM1写入写入“11”。如果定时如果定时/计数器在运行中要改换新的时间计数器在运行中要改换新的时间 常数,务必先装入新的初值常数,务必先装入新的初值,然后再发送一然后再发送一 次启动命令次启动命令,即写入即写入:TM2,TM1=11。单片机原理及应用65单片机原理及应用66ORG 000HSTART:LJMP

44、MAINORG 0030HMAIN:MOV DPTR,#7F04H ;定时计数器低位地址定时计数器低位地址MOV A,#0FH ;计数常数计数常数MOVX DPTR,A ;计数常数装入定时计数器低计数常数装入定时计数器低8位位MOV DPTR,#7F05H ;定时计数器高位地址定时计数器高位地址MOV A,#40H ;置定时计数器为连续方波输出置定时计数器为连续方波输出MOVX DPTR,A ;装入定时计数器高装入定时计数器高8位位MOV DPTR,#7F00H ;定时计数器命令寄存器地址定时计数器命令寄存器地址MOV A,#0C2H ;设定命令字设定命令字MOVX DPTR,A ;写入命令寄

45、存器写入命令寄存器L:SJMP LEND单片机原理及应用67#include#include #define uchar unsigned char#define CADDR0 x7F00 /定义定义8155命令口地址命令口地址#define PORTA0 x7F01 /定义定义8155PA口地址口地址#define PORTB0 x7F02 /定义定义8155PB口地址口地址#define PORTC0 x7F03 /定义定义8155PC口地址口地址#define TIMEL0 x7F04 /定义定时器低位地址定义定时器低位地址#define TIMEH0 x7F05 /定义定时器高位地址定

46、义定时器高位地址void main() XBYTETIMEL=0 x0f;XBYTETIMEH=0 x40;XBYTECADDR=0 xc2; while(1);单片机原理及应用68利用利用I2C总线进行系统扩展总线进行系统扩展 I2CI2C总线是总线是PHILIPSPHILIPS公司开发的一种简单、双向二线制同步公司开发的一种简单、双向二线制同步串行总线串行总线, , 它只需要两根线它只需要两根线( (串行时钟线和串行数据线串行时钟线和串行数据线) )即可即可在连接于总线上的器件之间传送信息。在连接于总线上的器件之间传送信息。 主要特性如下主要特性如下: :总线只有两根线总线只有两根线: :

47、串行时钟线和串行数据线串行时钟线和串行数据线; ; 每个连到总线上的器件都可由软件以唯一的地址寻址每个连到总线上的器件都可由软件以唯一的地址寻址, ,并建立并建立简单的主简单的主/ /从关系从关系, , 主器件既可作为发送器主器件既可作为发送器, , 也可作为接收也可作为接收器器; ;它是一个真正的多主总线它是一个真正的多主总线, , 带有竞争检测和仲裁电路带有竞争检测和仲裁电路, , 可使可使多主机任意同时发送而不破坏总线上的数据多主机任意同时发送而不破坏总线上的数据; ;同步时钟允许器件通过总线以不同的波特率进行通信同步时钟允许器件通过总线以不同的波特率进行通信; ;同步时钟可以作为停止和

48、重新启动串行口发送的握手方式同步时钟可以作为停止和重新启动串行口发送的握手方式; ; I2C总线接口的电气结构如图所示, 组成I2C总线的串行数据线SDA和串行时钟线SCL 必须经过上拉电阻Rp接到正电源上, 连接到总线上的器件的输出级必须为“开漏”或“开集” 的形式,以便完成“线与”功能。SDA和SCL都为双向I/O口线, 总线空闲时皆为高电平。 总线上数据传送最高速率可达100Kbit/s。I2CI2C总线的电气结构总线的电气结构 单片机原理及应用70 I2CI2C总线可以构成多主数据传送系统总线可以构成多主数据传送系统, , 但只有带但只有带CPUCPU的器件可以成为主器件。的器件可以成

49、为主器件。 主器件发送时钟、启动主器件发送时钟、启动位、数据工作方式位、数据工作方式, , 从器件则接收时钟及数据工作方从器件则接收时钟及数据工作方式。接收或发送则根据数据的传送方向决定。式。接收或发送则根据数据的传送方向决定。I2CI2C总总线上数据传送时的启动、结束和有效状态都由线上数据传送时的启动、结束和有效状态都由SDASDA、SCLSCL的电平状态决定的电平状态决定, , 在在I2CI2C总线规程中启动和停止条总线规程中启动和停止条件规定如下件规定如下: :n启动条件启动条件: : 在在SCLSCL为高电平时为高电平时, SDA, SDA出现一个下降沿则出现一个下降沿则启动启动I2C

50、I2C总线。总线。 n停止条件停止条件: : 在在SCLSCL为高电平时为高电平时, SDA, SDA出现一个上升沿则出现一个上升沿则停止使用停止使用I2CI2C总线。总线。 在启动和停止条件之间可转送的数据不受限制,但每个字节必须为8位,先传送最高位, 在每个字节之后必须跟一个响应位。主器件收发每个字节后产生一个时钟应答脉冲, 在这期间, 发送器必须保证 SDA为高, 由接收器将SDA拉低, 称为应答信号(ACK)。主器件为接收器时, 在接收了最后一个字节之后不发应答信号, 也称为非应答信号(NOT ACK)。I2CI2C总线的数据传输总线的数据传输 总线中每个器件都有自己唯一确定的地址总线

51、中每个器件都有自己唯一确定的地址, , 启动条件后主启动条件后主机发送的第一个字节就是被读写的从器件地址机发送的第一个字节就是被读写的从器件地址, , 其中第其中第8 8位为位为方向位方向位, , “0 0”(W)(W)表示主器件发送表示主器件发送, ,“1 1”(R)(R)表示主器件接收。总表示主器件接收。总线上每个器件在启动条件后都把自己的地址与前线上每个器件在启动条件后都把自己的地址与前7 7位相比较位相比较, , 如相同则器件被选中如相同则器件被选中, , 产生应答产生应答, , 并根据读写位决定在数据并根据读写位决定在数据传送中是接收还是发送。传送中是接收还是发送。 单片机原理及应用73 在主发送方式下在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论