【英语学习】第7章80C51单片机的系统扩展模版课件_第1页
【英语学习】第7章80C51单片机的系统扩展模版课件_第2页
【英语学习】第7章80C51单片机的系统扩展模版课件_第3页
【英语学习】第7章80C51单片机的系统扩展模版课件_第4页
【英语学习】第7章80C51单片机的系统扩展模版课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

1、第第7 7章章 80C5180C51单片机的系统扩展单片机的系统扩展存储器的扩展存储器的扩展输入输入/ /输出输出及其及其控制方式控制方式81C5581C55接口芯片接口芯片及其应用及其应用单片机与显示器和键盘单片机与显示器和键盘的接口的接口 存储器的扩展存储器的扩展n 片选方式片选方式n 线选法线选法n 译码法译码法线选法线选法CE 2K X 8CE 2K X 8CE 2K X 8CE 2K X 8线选法线选法芯片芯片地址地址A15A14A13A12A11A10A9A8A7A6A5A4A3A4A1A0地址范围1#起始地址起始地址终了地址终了地址0800H0FFFH2#起始地址起始地址终了地址

2、终了地址1000H17FFH3#起始地址起始地址终了地址终了地址2000H27FFH4#起始地址起始地址终了地址终了地址4000H47FFH线选法扩展存储器缺点:各芯片的地址不连续,相当数量的地址不能使用;优点:硬件连接简单,一般不需附加其它硬件。全译码法全译码法全译码法全译码法芯片芯片 地地 址址A12A11A10A9A8A7A6A5A4A3A4A1A0地址范围地址范围1#起始地址起始地址终了地址终了地址0000H07FFH2#起始地址起始地址终了地址终了地址0800H0FFFH3#起始地址起始地址终了地址终了地址1000H17FFH4#起始地址起始地址终了地址终了地址 11800H1FFF

3、H全译码法扩展存储器优点:每块芯片的地址范围是唯一的,没有不可使用的地址;缺点:译码电路复杂。部分译码法部分译码法2K X 82-4译码器译码器部分译码法部分译码法芯片芯片 地地 址址A12A11A10A9A8A7A6A5A4A3A4A1A0地址范围地址范围1#起始地址起始地址终了地址终了地址0000H07FFH2#起始地址起始地址终了地址终了地址0800H0FFFH3#起始地址起始地址终了地址终了地址1000H17FFH4#起始地址起始地址终了地址终了地址 11800H1FFFH部分译码法扩展存储器缺点:每块芯片的地址范围不是唯一的,存在地址重叠,影响地址区的有效使用;优点:译码电路相对简单

4、。Intel 8205 (74LS138)Intel 8205 (74LS138).A0A1A2E1E2E3O0O78205E1E2E3001A200001111A100110011A001010101O0O1O2O3O4O5O6O700000000地址输入地址输入允许工作输入允许工作输入译码输出译码输出n 扩展总线扩展总线7.1.1 7.1.1 程序存储器的扩展程序存储器的扩展n 数据总线,数据总线,P0P0口口n 地址总线,高地址总线,高8 8位位P2P2口、低口、低8 8位位P0P0口口n 控制总线,控制总线,RDRD、WRWR、EAEA、ALEALE、PSENPSEN74LS37374

5、LS373( (带三态带三态缓冲输缓冲输出的出的8D8D锁存器锁存器) ) P0P0口数据、地址分时复用口数据、地址分时复用 74LS57374LS573:与:与74LS37374LS373功能相同,其引脚排列更易于功能相同,其引脚排列更易于PCBPCB板布线。板布线。n 片外片外ROMROM操作时序操作时序n 片内片外片内片外ROMROM读读,用指令,用指令MOVCMOVC(产生(产生PSENPSEN信号)信号)n 片外片外片外片外ROMROM选择,用选择,用EAEA。片外。片外ROMROM最大容量最大容量64K64K。【例例】读外部读外部ROMROM时序。时序。 n ROMROM芯片及其扩

6、展方法芯片及其扩展方法n 常用常用ROMROM芯片特性芯片特性芯片型号芯片型号27C6427C6427C12827C12827C25627C25627C51227C512容量容量8 KB8 KB16 KB16 KB32 KB32 KB64 KB64 KB引脚数引脚数2828282828282828读出时间读出时间/ns/ns12012012012090909090最大工作电流最大工作电流/mA/mA2020202020202525最大维持电流最大维持电流/mA/mA0.10.10.10.10.10.10.030.03注:应注意优先选用注:应注意优先选用CMOSCMOS器件,其读出时间短,耗电少

7、。器件,其读出时间短,耗电少。v 常用常用ROMROM芯片引脚芯片引脚 v扩展电路扩展电路 v 由于是单片由于是单片EPROMEPROM扩展,扩展,CECE片选信号直接接地。片选信号直接接地。PSENP2.0ALEP0.7P0.0EAG74LS373D0-D7A0-A7A8P2.1P2.2P2.7A9A10CEOE27C16的地址范围:的地址范围:000007FFHn RAMRAM扩展原理扩展原理v 读操作时序读操作时序7.1.2 7.1.2 数据存储器的扩展数据存储器的扩展【例例】若(若(DPTRDPTR)=2030H=2030H,片外,片外RAMRAM单元单元2030H2030H内容为内容

8、为55H55H,指令指令MOV AMOV A,DPTRDPTR(该指令代码为(该指令代码为E0HE0H)所在片外)所在片外ROMROM的的地址为地址为2314H2314H。 v 写操作时序写操作时序 【例例】若(若(DPTRDPTR)=1040H=1040H,(,(A A)=88H=88H,指令,指令MOV MOV DPTRDPTR,A A(该指令代码为(该指令代码为F0HF0H)所在片外)所在片外ROMROM的地址为的地址为2218H 2218H 。 n 数据存储器扩展方法数据存储器扩展方法n 常用常用RAMRAM芯片特性芯片特性芯片型号芯片型号62646212862256容量容量8 KB1

9、6KB32 KB典型工作电流典型工作电流/mA4088典型维持电流典型维持电流/mA20.50.5最大存取时间最大存取时间/ns200200200v 常用常用RAMRAM芯片引脚芯片引脚 v 扩展电路扩展电路 62C64地址范围:地址范围:00001FFFHRDWRP2.0ALEP0.7P0.0EAG74LS373译码器D0-D7A0-A711A8P2.1P2.2P2.6P2.7100100A9A10CSDEWE61C16的地址范围:的地址范围:800087FFH数据存储器扩展时,存储空间要与片外数据存储器扩展时,存储空间要与片外I/O空间统一考虑。空间统一考虑。 输入输入/ /输出及其控制方

10、式输出及其控制方式7.2.1 7.2.1 输入输入/ /输出接口的功能输出接口的功能 一般地,计算机的三条总线并不是直接和外部设备相连,一般地,计算机的三条总线并不是直接和外部设备相连,而是通过各种接口电路再接到外部设备。接口电路也叫而是通过各种接口电路再接到外部设备。接口电路也叫 I/OI/O接口电路接口电路,一般它们都是一些大规模集成电路芯片,单片机,一般它们都是一些大规模集成电路芯片,单片机本身集成一定的本身集成一定的 I/OI/O接口电路。接口电路。 CPUCPU通过通过I/OI/O接口电路接口电路与外部设备交换信息。与外部设备交换信息。 I/OI/O接口电路接口电路中能被中能被CPU

11、CPU直接访问的寄存器称为直接访问的寄存器称为I/OI/O端口端口。一个一个I/OI/O接口芯片可以包含几个接口芯片可以包含几个I/OI/O端口。如数据端口、控制端口。如数据端口、控制端口、状态端口等。端口、状态端口等。l一般来说,每接一个外设,就需要一个I/O接口(InterfaceInterface),但每个接口可以有不止一个端口(PortPort)。l端口是指在接口电路中用以完成某种信息传送,并可由编程人员通过端口地址进行读写的寄存器。接口与端口的差别接口与端口的差别n 单片机与输入单片机与输入/ /输出设备的关系输出设备的关系n 输入输入/ /输接口的功能输接口的功能v 对单片机输出的

12、数据锁存对单片机输出的数据锁存v I/OI/O接口的数据端口锁存数据总线上瞬时出现的数据,解接口的数据端口锁存数据总线上瞬时出现的数据,解决高速工作的单片机与速度较低的决高速工作的单片机与速度较低的I/OI/O设备的速度协调问题。设备的速度协调问题。v 对输入设备的三态缓冲对输入设备的三态缓冲v 单片机系统的数据总线是双向的,是所有单片机系统的数据总线是双向的,是所有I/OI/O设备分时复设备分时复用的。设备传送数据时要占用总线,不传送数据时该设备用的。设备传送数据时要占用总线,不传送数据时该设备对总线呈现高阻状态。对总线呈现高阻状态。v 信号转换信号转换v 由于由于I/OI/O设备的多样性,

13、利用设备的多样性,利用I/OI/O接口实现单片机与接口实现单片机与I/OI/O设设备间信号类型(数字与模拟、电流与电压)、信号电平备间信号类型(数字与模拟、电流与电压)、信号电平(高与低、正与负)、信号格式(并行与串行)等的转换。(高与低、正与负)、信号格式(并行与串行)等的转换。v 时序协调时序协调 v 不同不同I/OI/O设备的定时与控制逻辑不同,与设备的定时与控制逻辑不同,与CPUCPU的时序也不的时序也不一致,通过一致,通过I/OI/O接口进行时序协调。接口进行时序协调。7.2.2 7.2.2 单片机与单片机与I/OI/O设备的数据传送方式设备的数据传送方式n 无条件传送无条件传送n

14、查询状态传送查询状态传送n 中断传送方式中断传送方式n 直接存储器存取传送(直接存储器存取传送( DMADMA )方式)方式n 无条件传送无条件传送v不测试不测试I/OI/O设备的状态,在规定的时间单片机用输设备的状态,在规定的时间单片机用输 入或输出指令进行数据输入或输出。入或输出指令进行数据输入或输出。CPUCPU总是认为总是认为外设在任何时刻都是处于外设在任何时刻都是处于“准备好准备好”的状态。的状态。v适用场合适用场合l 对简单的对简单的I/OI/O设备设备( (如开关、如开关、LEDLED显示器、继电器等显示器、继电器等) )的操作的操作l I/O I/O设备的定时固定(或已知)的场

15、合设备的定时固定(或已知)的场合n 查询状态传送(条件传送)查询状态传送(条件传送)v单片机在执行输入单片机在执行输入/ /输出指令前,查询输出指令前,查询I/OI/O接口状态接口状态端口的状态。端口的状态。v单片机工作任务较轻时,此种方式可以较好地协调单片机工作任务较轻时,此种方式可以较好地协调中、慢速中、慢速I/OI/O设备与单片机间的速度差异。设备与单片机间的速度差异。v缺点:单片机必须执行程序循环等待,不断测试缺点:单片机必须执行程序循环等待,不断测试I/OI/O设备的状态,花费时间较多,降低了单片机的设备的状态,花费时间较多,降低了单片机的运行效率。运行效率。n 中断传送中断传送vI

16、/OI/O设备处于主动申请中断的地位。设备处于主动申请中断的地位。I/OI/O设备处理数设备处理数据期间,单片机不必浪费大量的时间查询据期间,单片机不必浪费大量的时间查询I/OI/O设备设备的状态。的状态。v在中断传送方式中,单片机与在中断传送方式中,单片机与I/OI/O设备设备并行工作并行工作,工作效率大大提高。工作效率大大提高。n 直接存储器存取传送(直接存储器存取传送( DMADMA )方式)方式vDMA(Direct Memory Access) 采用专用硬件电路执采用专用硬件电路执行输入行输入/ /输出,它使输出,它使I/OI/O设备可直接与内存进行高速设备可直接与内存进行高速数据传

17、送,不必经过数据传送,不必经过CPUCPU执行传送程序。执行传送程序。v通常采用专门的硬件通常采用专门的硬件DMA控制器,也可采用具有控制器,也可采用具有DMA通道的单片机。通道的单片机。v适用场合适用场合l 外设和存储器之间有大量的数据需要传送外设和存储器之间有大量的数据需要传送l 外设的工作速度很快,而不是一般印象中的慢速工作外设的工作速度很快,而不是一般印象中的慢速工作 的外部设备的外部设备7.2.3 7.2.3 单片机扩展单片机扩展TTLTTL芯片的输入芯片的输入/ /输出输出 v 基本扩展电路基本扩展电路 80C51 80C51单片机将片外扩展的单片机将片外扩展的I/OI/O口片外口

18、片外RAMRAM统一编址,扩展统一编址,扩展的接口相当于扩展的片外的接口相当于扩展的片外RAMRAM单元。访问外部接口,使用单元。访问外部接口,使用MOVXMOVX指令。指令。【例例】根据上图编写程序段,完成将根据上图编写程序段,完成将8 8位拨动开关的状态反应位拨动开关的状态反应在在8 8个个LEDLED上。上。 MOV DPTR,#7FFFH MOV DPTR,#7FFFH LOOPLOOP:MOVX A,DPTRMOVX A,DPTR MOVX DPTR,A MOVX DPTR,A JMP LOOP JMP LOOP 选择接口芯片时,注意不同的芯片需要不同的控制方式。选择接口芯片时,注意

19、不同的芯片需要不同的控制方式。如触发器如触发器74LS27374LS273是脉冲的上升沿送数并锁存;锁存器是脉冲的上升沿送数并锁存;锁存器74LS37374LS373是高电平送数,低电平锁存。是高电平送数,低电平锁存。 注意接口的驱动能力。注意接口的驱动能力。74LS37374LS373的低电平驱动能力是的低电平驱动能力是24mA24mA;LEDLED数码管的公共限流电阻可采用数码管的公共限流电阻可采用6868,以获得较好的亮度。,以获得较好的亮度。v 驱动驱动LEDLED数码管示例数码管示例 81C55接口芯片及其应用接口芯片及其应用7.3.1 81C557.3.1 81C55的结构及工作方

20、式的结构及工作方式 v 81C5581C55的结构及引脚的结构及引脚 81C5581C55内部包含内部包含n SRAM SRAM:256256字节字节n 三个可编程并行口三个可编程并行口PAPA、PBPB、PCPC PA PA,PBPB为为8 8位位 PCPC为为6 6位位n 计数器:一个计数器:一个1414位二进制减法位二进制减法 计数器计数器n 8 8位命令寄存器(只允许写入)位命令寄存器(只允许写入) /8 /8位状态寄存器(只允许读出)位状态寄存器(只允许读出)v RESET RESET:复位信号输入端(三个:复位信号输入端(三个I/OI/O口置口置v 成输入工作方式)成输入工作方式)

21、v CE CE:片选信号:片选信号v IO/M IO/M:内部端口和:内部端口和SRAMSRAM选择信号选择信号v IO/M=1 IO/M=1,选择内部端口,选择内部端口v IO/M=0 IO/M=0,选择,选择SRAMSRAMv WR WR:写选通信号:写选通信号v RD RD:读选通信号:读选通信号v PA7 PA7PA0PA0、 PB7PB7PB0PB0、PC5PC5PC0PC0v TIMER IN TIMER IN:计数脉冲输入端:计数脉冲输入端v TIMER OUT TIMER OUT:计数器输出端:计数器输出端v AD0 AD0AD7AD7三态地址三态地址/ /数据线,可与数据线,

22、可与80C5180C51v P0 P0口连接口连接v ALE ALE:信号的下降沿将:信号的下降沿将AD0AD0AD7AD7线上的线上的8 8位位v 地址锁存在内部地址寄存器中地址锁存在内部地址寄存器中81C5581C55各引脚功能各引脚功能v 81C5581C55的内部编址的内部编址v内部内部RAMRAM地址为地址为00H00HFFHFFHv内部端口地址内部端口地址 AD7AD0选中寄存器选中寄存器A7 A6 A5 A4 A3 A2 A1 A0X X X X X 0 0 0命令命令/ /状态寄存器状态寄存器X X X X X 0 0 1PAPA口口X X X X X 0 1 0PBPB口口X

23、 X X X X 0 1 1PCPC口口X X X X X 1 0 0计数器低计数器低8 8位位X X X X X 1 0 1计数器高计数器高6 6位及计数器方式设置位位及计数器方式设置位v 工作方式设置及状态字格式工作方式设置及状态字格式v方式设置方式设置76543210TM2TM1IEBIEAPC2PC1PBPA地址:地址:000PAPA:A A口方向。口方向。0-0-输入;输入;1-1-输出输出PBPB:B B口方向。口方向。0-0-输入;输入;1-1-输出输出 命令命令/ /状态寄存器状态寄存器 工作方式由可编程命令寄存器内容决定,状态可由读出状工作方式由可编程命令寄存器内容决定,状态

24、可由读出状态寄存器内容获得。态寄存器内容获得。PC2PC1PC2PC1工作方式工作方式说说 明明0000ALT1ALT1A A、B B口为基本口为基本I/OI/O,C C口方向为输入口方向为输入0101ALT2ALT2A A、B B口为基本口为基本I/OI/O,C C口方向为输出口方向为输出1010ALT3ALT3A A口为选通口为选通I/OI/O,PC0PC0PC2PC2作为作为A A口的选通应答口的选通应答B B口为基本口为基本I/OI/O,PC3PC3PC5PC5方向为输出方向为输出1111ALT4ALT4A A口为选通口为选通I/OI/O,PC0PC0PC2PC2作为作为A A口的选通

25、应答口的选通应答B B口为选通口为选通I/OI/O,PC3PC3PC5PC5作为作为B B口的选通应答口的选通应答PC1PC1、PC2PC2:C C口工作方式设置位口工作方式设置位 76543210TM2TM1IEBIEAPC2PC1PBPA地址:地址:000命令命令/ /状态寄存器状态寄存器IEAIEA:A A口的中断允许设置位。口的中断允许设置位。0-0-禁止;禁止;1-1-允许。允许。IEBIEB:B B口的中断允许设置位。口的中断允许设置位。0-0-禁止;禁止;1-1-允许。允许。TM2TM2、TM1TM1:计数器工作方式设置位:计数器工作方式设置位TM2TM1TM2TM1工作方式工作

26、方式说说 明明0000方式方式0 0空操作,对计数器无影响空操作,对计数器无影响0101方式方式1 1使计数器停止计数使计数器停止计数1010方式方式2 2减减1 1计数器回计数器回0 0后停止工作后停止工作1111方式方式3 3未计数时,送完初值及方式后立即启动计数;未计数时,送完初值及方式后立即启动计数;正在计数时,重置初值后,减正在计数时,重置初值后,减1 1计数器回计数器回0 0则则按新计数初值计数按新计数初值计数76543210TM2TM1IEBIEAPC2PC1PBPA地址:地址:000命令命令/ /状态寄存器状态寄存器v状态字格式状态字格式76543210TIMERINTEBBF

27、BINTRBINTEABFAINTRA地址:地址:000INTRXINTRX:中断请求标志:中断请求标志 INTRX=1,INTRX=1,有中断请求有中断请求 INTRX=0,INTRX=0,无中断请求无中断请求 BFXBFX:口缓冲器空:口缓冲器空/ /满标志满标志 BFX=1 BFX=1,口缓冲器已装满数据,可由外设或单片机取走,口缓冲器已装满数据,可由外设或单片机取走 BFX=0BFX=0,口缓冲器为空,可接收外设或单片机发送数据,口缓冲器为空,可接收外设或单片机发送数据 INTEXINTEX:口中断允许:口中断允许/ /禁止标志禁止标志 INTEX=1INTEX=1,允许口中断;,允许

28、口中断;INTEX=0INTEX=0,禁止口中断,禁止口中断TIMERTIMER:计数器计满标志:计数器计满标志 TIMER=1TIMER=1,计数器的原计数初值已计满回零,计数器的原计数初值已计满回零 TIMER=0 TIMER=0,计数器尚未计满,计数器尚未计满位位号号1514131211109876543210M2M1T13T12T11T10T9T8T7T6T5T4T3T2T1T0M2M1M2M1输出方式输出方式说说 明明0000方式方式0 0单方波输出单方波输出。计数期间输出低电平,计数器回。计数期间输出低电平,计数器回0 0后输出高后输出高电平。电平。0101方式方式1 1连续方波输

29、出连续方波输出。计数前半部分输出高电平,后半部分输。计数前半部分输出高电平,后半部分输出低电平。出低电平。1010方式方式2 2单脉冲输出单脉冲输出。计数器回。计数器回0 0后输出一个单脉冲。后输出一个单脉冲。1111方式方式3 3连续脉冲输出(计数值自动重装)连续脉冲输出(计数值自动重装)。计数器回。计数器回0 0后输出单后输出单脉冲,又自动向计数器重装原计数值,回脉冲,又自动向计数器重装原计数值,回0 0后又输出单脉后又输出单脉冲,如此循环。冲,如此循环。 硬件复位信号硬件复位信号RESETRESET的到达,会使计数器停止工作,直至的到达,会使计数器停止工作,直至由由C/SC/S寄存器再发

30、出启动计数器命令。寄存器再发出启动计数器命令。v计数器输出模式计数器输出模式81C55定时器格式及输出方式 v选通选通I/OI/O方式的组态方式的组态STBASTBBSTBA工作方式工作方式PC5PC5PC4PC4PC3PC3PC2PC2PC1PC1PC0PC0ALT1ALT1输入输入ALT2ALT2输出输出ALT3ALT3输出输出BFABFAINTRAINTRAALT4ALT4BFBBFBINTRBINTRBBFABFAINTRAINTRA选通方式时,选通方式时,C C口的口的PC0PC0PC5PC5被定义为被定义为A A或或B B口选通口选通I/OI/O方方式的应答和控制线式的应答和控制线

31、 组态逻辑组态逻辑 单片机与显示器和键盘的接口单片机与显示器和键盘的接口7.4.1 81C557.4.1 81C55与单片机的接口与单片机的接口A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0I/OI/O口口0 0 1 1 0 0 0 0 0 0命令命令/ /状态口状态口0 0 1 1 0 0 1 0 0 1A A口口0 0 1 1 0 1 0 0 1 0B B口口0 0 1 1 0 1 1 0 1 1C C口口0 0 1 1 1

32、0 0 1 0 0计数器低计数器低8 8位位0 0 1 1 1 0 1 1 0 1计数器高计数器高6 6位及方式位及方式RAM地址:01111110 0000000000000000B(7E0000H) 01111110 1111111111111111B(7EFFFFH) I/O端口的地址( 7F0000H 7F05H7F05H): 【例例】若若A A口定义为基本输入方式,口定义为基本输入方式,B B口定义为基本输出方式,口定义为基本输出方式,计数器作为方波发生器,对计数器作为方波发生器,对80C3180C31输入脉冲进行输入脉冲进行2424分频(注意分频(注意81C5581C55的计数最高

33、频率约为的计数最高频率约为4MHz4MHz),),81C5581C55的的I/OI/O口初始化程序:口初始化程序:START: MOV DPTR,#7F04H ;START: MOV DPTR,#7F04H ;指向计数寄存器低指向计数寄存器低8 8位位 MOV A,#18H ; MOV A,#18H ;设计数器初值设计数器初值#18H#18H(24D24D) MOVX DPTR,A ; MOVX DPTR,A ;计数器寄存器低计数器寄存器低8 8位赋值位赋值 INC DPTR ; INC DPTR ;指向计数器寄存器高指向计数器寄存器高6 6位及方式位及方式位位 MOV A,#40H ; MO

34、V A,#40H ;计数器为连续方波方式计数器为连续方波方式 MOVX DPTR,A ; MOVX DPTR,A ;计数器寄存器高计数器寄存器高6 6位赋值位赋值 MOV DPTR,#7F00H ; MOV DPTR,#7F00H ;指向命令寄存器指向命令寄存器 MOV A,#0C2H ; MOV A,#0C2H ;设命令字设命令字 MOVX DPTR,A ; MOVX DPTR,A ;送命令字送命令字LEDLED的结构和显示原理的结构和显示原理静态显示方式静态显示方式动态显示方式动态显示方式动态显示的实现动态显示的实现7.4.2 LED7.4.2 LED数码显示器与单片机的接口数码显示器与单

35、片机的接口LEDLED数码管的数码管的结构结构:共阳与共阴共阳与共阴 单片机系统扩展单片机系统扩展LEDLED数码管时数码管时多用多用共阳共阳LEDLED: :共阳数码管每个段笔画是用低电平共阳数码管每个段笔画是用低电平(“0”)(“0”)点亮的点亮的, ,要求驱要求驱动功率很小;而共阴数码管段笔画是用高电平动功率很小;而共阴数码管段笔画是用高电平(“0”)(“0”)点亮点亮的,要求驱动功率较大。的,要求驱动功率较大。 通常每个段笔画要串一个数百欧姆的通常每个段笔画要串一个数百欧姆的降压电阻降压电阻。公共公共阳阳极极h g f e d c b ah g f e d c b aa ab bc c

36、d dg ge ef fh h公共公共阴阴极极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮接高电平接高电平接地接地LEDLED数码管的数码管的译码译码:硬件译码与软件译码硬件译码与软件译码硬件译码特点硬件译码特点: :采用专用的译码采用专用的译码/ /驱动器件驱动器件, ,驱动功驱动功率较大率较大; ;增加了硬件的开销增加了硬件的开销; ;软件软件编程简单编程简单; ;字型固字型固定定( (比如比如: :只有七段只有七段, ,只可译数字只可译数字, ,字型不好看字型不好看)。共阴共阴

37、LEDa ab bc cd dg ge ef fh hg gf fe ed dc cb b a aD DC CB BA ACD4511CD4511AT89C51AT89C5174LS48/CD451174LS48/CD4511是是“BCDBCD码码七段七段共阴共阴译码译码/ /驱动驱动”IC; IC; 74LS4774LS47是是“BCDBCD码码七段七段共阳共阳译码译码/ /驱动驱动”ICICLEDLED数码管的译码:数码管的译码:软件译码软件译码软件译码特点软件译码特点: : 不用专用的译码不用专用的译码/ /驱动器件,驱动驱动器件,驱动功率较小功率较小;不增不增加加硬件的开销;软件硬件的

38、开销;软件编程较复杂编程较复杂;字型;字型灵活灵活( (比如:比如:有八段,只可译多种字符,字型好看有八段,只可译多种字符,字型好看)。共阳共阳LEDa ab bc cd dg ge ef fh h+5V+5VAT89C51AT89C51硬件译码特点硬件译码特点: : 采用专用译码采用专用译码/ /驱动器件,驱动器件,驱动功率较大;增加了硬驱动功率较大;增加了硬件的开销;软件编程简单;件的开销;软件编程简单;字型固定字型固定( (比如:只有七比如:只有七段,只可译数字,字型不段,只可译数字,字型不好看好看)。LEDLED数码管的软件译码数码管的软件译码八段八段LEDLED数码管数码管段代码编码

39、表段代码编码表公共阳极公共阳极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh h公共阴极公共阴极h g f e d c b ah g f e d c b aa ab bc cd dg ge ef fh hh g f ah g f a高电平点亮高电平点亮低电平点亮低电平点亮接高电平接高电平接地接地LEDLED数码管的数码管的显示方式显示方式:静态与动态静态与动态静态显示静态显示 A AB BCLKCLKh g f e d c b ah g f e d c b aCLRCLRA AB BCLKCLKCLRCLRA AB BCLKCLKCLR

40、CLR+5V+5VVCCVCCTxDTxDRxDRxD 89C51单片机单片机74LS16474LS16474LS164h g f e d c b ah g f e d c b ah g f e d c b ah g f e d c b a+5V+5V共阳共阳LED数码管数码管LEDLED数码管数码管静态静态显示举例显示举例有几个有几个LEDLED就要几个就要几个74LS16474LS164,但只要数据不变,但只要数据不变,送一次就保持住了,且不闪烁,编程十分简单。送一次就保持住了,且不闪烁,编程十分简单。要求:要求:根据上图编写通过串行口和根据上图编写通过串行口和74LS16474LS164

41、驱动驱动共共 阳阳LEDLED数码管数码管查表显示的子程序。查表显示的子程序。条件:条件:系统有系统有6 6个个LEDLED数码管数码管, ,待显数据待显数据(00H09H)(00H09H)已放在已放在35H30H35H30H单元中单元中( (分别对应分别对应十万位十万位个位个位) ),DSPLYDSPLY:MOV DPTR, #TABLE :MOV DPTR, #TABLE ; ;共阳共阳LEDLED数码管译码数码管译码表首址表首址 MOV R0MOV R0,#30H #30H ; ;待显数据缓冲区的待显数据缓冲区的个位个位地址地址REDOREDO:MOV AMOV A, R0 R0 ; ;

42、通过通过R0R0实现寄存器实现寄存器间接寻址间接寻址 MOVC A, A+DPTR MOVC A, A+DPTR ; ;查表查表 MOV SBUF, A MOV SBUF, A ; ;经串行口经串行口发送发送到到74LS16474LS164 JNB TI, $ JNB TI, $ ; ;查询查询送完一个字节的第送完一个字节的第8 8位?位? CLR TI CLR TI ; ;为下一字节发送为下一字节发送作准备作准备 INC R0 INC R0 ;R0;R0指向下一个指向下一个数据缓冲单元数据缓冲单元 CJNE R0CJNE R0,#36H#36H,REDO REDO ; ;判断判断是否发完是否

43、发完6 6个数?个数? RET RET ; ;发完发完6 6个数就个数就返回返回TABLETABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 0C0H,0F9H,0A4H,0B0H,99H ; ;共阳共阳LEDLED译码表译码表 DB 92H, 82H, 0F8H, 80H,90HDB 92H, 82H, 0F8H, 80H,90H动态显示动态显示 动态显示基本原理电路的接法决定了必须采用电路的接法决定了必须采用逐位扫描显示方式逐位扫描显示方式。即从即从段选口段选口送出某位送出某位LEDLED的字型码,然后选通该位的字型码,然后选通该位LEDLED,并保,并保持一段延时时间

44、。然后选通下一位,直到所有位扫描完。持一段延时时间。然后选通下一位,直到所有位扫描完。1.字型码通常通过查表指令MOVC来求得2.换位显示时通常要加一段程序使所有的LED全灭AD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB 029C E8PB 130R D9PB 231W R10PB 332IO/M7PB 433ALE11PB 534PB 635PB 736TM R OUT6PC 037PC 138TM R IN3PC 239PC 31PC 42R ESET4PC 558155e

45、dcdpbafg70123456PB0PB7PA 0PA 72008LEDLED数码管数码管动态动态显示显示PA5 PA5 PA4PA4PA3PA3PA2PA2PA1PA1PA0PA0PB7 PB7 PB6 PB6 PB5 PB5 PB4 PB4 PB3 PB3 PB2 PB2 PB1 PB1 PB0PB07406 OC7406 OC门门 X 3X 3上拉上拉电阻电阻1414+5V+5V8155工作原理工作原理:从从PBPB口送段代码口送段代码,PA,PA口送位选信号口送位选信号。段码虽同时。段码虽同时到达到达 6 6个个LEDLED,但,但一次仅一个一次仅一个LEDLED被选中被选中。利用。

46、利用“视觉暂视觉暂留留”,每送一个字符并选中相应位线,延时一会儿,每送一个字符并选中相应位线,延时一会儿, ,再送再送/ /选下一个选下一个循环扫描循环扫描即可。即可。共阴共阴 数码管数码管位位选选线线段段代代码码PA5 PA5 PA4PA4PA3PA3PA2PA2PA1PA1PA0PA0PB7 PB7 PB6 PB6 PB5 PB5 PB4 PB4 PB3 PB3 PB2 PB2 PB1 PB1 PB0PB07406 OC7406 OC门门+5V+5V8155位位选选线线段段代代码码要求要求:此处为共阴数码管,此处为共阴数码管,PBPB口送段代码,口送段代码,PAPA口送位选信号。口送位选信

47、号。通过查表实现动态显示。通过查表实现动态显示。条件条件:待显数据待显数据(00H09H)(00H09H)已放在已放在: : 65H60H65H60H单元中单元中( (分别对分别对应应十万位十万位个位个位) )说明说明:由于用了由于用了反相驱动器反相驱动器74067406,要用共阳译码表。,要用共阳译码表。共阴共阴 数码管数码管上拉上拉电阻电阻14147406 OC7406 OC门门 X 3X 3+5V+5V(65H) (64H) (63H) (62H) (61H) (60H)十万十万 万位万位 千位千位 百位百位 十位十位 个位个位数据缓冲区数据缓冲区 / / 显示缓冲区显示缓冲区PBPB口

48、口送段送段代码,代码,PAPA口口送位选送位选信号。信号。待显数据待显数据已经放在已经放在: : 65H60H65H60H单元单元( (分别分别对应对应十万十万位位个位个位) )使用共阳使用共阳译码表译码表。动态显示程序流程图动态显示程序流程图 81C55的PA口、PB口,工作在基本输出方式。PB口输出显示代码,PA口输出位选码。设PA口的地址为7F01H,PB口的地址为7F02H,控制字 寄 存 器 的 地 址 为7F00H,显示缓冲区为60H65H。程序清单:程序清单:START:MOV A , #03H ;对;对81C55初始化初始化MOV DPTR , #7F00H;8155C命令口地

49、址命令口地址MOVX DPTR , AMOV R0 , #60H ;置显示缓冲区首地址;置显示缓冲区首地址 MOV R2 , #01H ; 置位选码初值置位选码初值MOV A , R2LOOP:MOV DPTR , #7F01H ;81C55 A口地址口地址MOVX DPTR , A ;位码从;位码从A口输出口输出INCDPTRMOV A , R0 ;待显示数据送;待显示数据送AADDA , #0DH ;形成查表的偏移地址;形成查表的偏移地址MOVC A , A+PC DIR: MOVXDPTR , A ;B口输出段码口输出段码 ACLLDELAY ;延时;延时 INCR0 ;修改数据指针;修

50、改数据指针 MOVA , R2 JBACC.5 , LOOP1 ;判断;判断6位是否显示完毕位是否显示完毕 RL A ;没显示完,位码左移;没显示完,位码左移 MOVR2 , A ;位码暂存;位码暂存 AJMPLOOP ;转回,显示下一个数码;转回,显示下一个数码LOOP1:RET ;发完;发完6个数就返回个数就返回DB0C0H , 0F9H , 0A4H , 0B0H , 66H DB92H , 82H , 0F8H , 80H , 90H DB88H , 83H , 0C6H , 0A1H,86H,8EHDELAY:MOV R7 , #04H ;延时子程序;延时子程序DELAY1: MOV

51、 R6 , #0FFHDELAY2: DJNZ R6 , DELAY2 DJNZ R7 , DELAY1RET按键的特点及输入原理按键的特点及输入原理独立式按键独立式按键矩阵式按键矩阵式按键7.4.2 7.4.2 非编码键盘与单片机的接口非编码键盘与单片机的接口v 按键的特点及输入原理按键的特点及输入原理v 键输入原理键输入原理v 通过按键的接通与断开,产生两种相反的逻辑状态通过按键的接通与断开,产生两种相反的逻辑状态v低电平低电平“0 0”与高电平与高电平“1 1”。v 键功能的实现键功能的实现v 对于一组键或一个键盘,需通过接口电路与单片机相对于一组键或一个键盘,需通过接口电路与单片机相

52、连。可采用连。可采用查询查询或或中断中断方式测试有无键按下,再确定是哪方式测试有无键按下,再确定是哪一个键按下,将该键号送入累加器一个键按下,将该键号送入累加器ACCACC,然后判断是数字键,然后判断是数字键还是功能键,若是数字键,则将键号对应的数字送入相关还是功能键,若是数字键,则将键号对应的数字送入相关输入缓冲区;若是功能键,则通过跳转指令转入执行该键输入缓冲区;若是功能键,则通过跳转指令转入执行该键的功能程序,执行完后再返回主程序。的功能程序,执行完后再返回主程序。 n按键识别按键识别 是否有键按下。是否有键按下。n键抖动及消除键抖动及消除 机械按键抖动时间在机械按键抖动时间在5ms5m

53、s10ms10ms之间。之间。 v 键盘接口需要解决的问题键盘接口需要解决的问题 硬件方案硬件方案双稳态去抖电路双稳态去抖电路 软件方案软件方案延时延时10ms10ms20ms20ms后再次判断后再次判断消除方法:消除方法:v 独立式按键独立式按键8 0 3 1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7Vc c接口电路原理原理-当任何一个键被按下时,与其相连的输入线被当任何一个键被按下时,与其相连的输入线被置成置成 “ “0”0”,平时该线为,平时该线为“1”1”。键键处处理理程程序序ORG 2000HSTART:MOV A ,#0FFH ;先置;先置P1口为口为“1”M

54、OV P1,AMOV A,P1 ;输入键状态;输入键状态, P0F ;查询;查询0号键号键, P1F ;查询;查询1号键号键, P2F ;查询;查询2号键号键, P3F ;查询;查询3号键号键, P4F ;查询;查询4号键号键, P5F ;查询;查询5号键号键, P6F ;查询;查询6号键号键, P7F ;查询;查询7号键号键LJMP STARTP0F:LJMP PROM0 ;入口地址表;入口地址表P1F:LJMP PROM1P6F:LJMP PROM6P7F:LJMP PROM7PROM0:. ;0号键功能程序号键功能程序PROM7:. ;7号键功能程序号键功能程序 . LJMP START

55、 ;0号键处理完返回键盘扫描号键处理完返回键盘扫描 LJMP START ;7号键处理完返回键盘扫描号键处理完返回键盘扫描 .资源分配:资源分配:用用P1P1口的低口的低3 3位检测位检测3 3个按键的输入,为个按键的输入,为1 1则表示按键则表示按键没有按下,为没有按下,为0 0则表示相应按键被按下。则表示相应按键被按下。流程图:流程图:【例例】用用P1P1口检测三个按键的状态并完成相应的功能。口检测三个按键的状态并完成相应的功能。 ORG 0000HKB: MOV P1,#0FFH MOV A,P1 CPL A ANL A,#0FH JZ KBACK LCALL D10MS MOV A,P

56、1 CPL A ANL A,#0FH JZ KBACK CJNE A,#01H,KB01 LCALL PGM1 SJMP KBACKKB01: CJNE A,#02H,KB02 LCALL PGM2 SJMP KBACKKB02: CJNE A,#04H,KB LCALL PGM3KBACK: LJMP KB END按三个按键中的任一键按三个按键中的任一键都对应一个特定功能。都对应一个特定功能。v 独立式键盘与独立式键盘与LEDLED显示示例显示示例【例例】数据端与数据端与P0P0口口正序正序连接。编写程序,分别实现功能:连接。编写程序,分别实现功能:上电后数码管显示上电后数码管显示“P”P”

57、,按下任何键后,显示从,按下任何键后,显示从“0”0”开始开始每隔每隔1 1秒加秒加1 1,加至,加至“F”F”后,数码管显示后,数码管显示“P”P”,进入等待按,进入等待按键状态。键状态。 TEMP EQU 30H TEMP EQU 30HORG 0000HORG 0000HJMP STARTJMP START ORG 0100H ORG 0100HSTART:MOV SP,#5FHSTART:MOV SP,#5FH MOV P0,#8CH ; MOV P0,#8CH ;显示显示PPMOV P3,#0FFHMOV P3,#0FFHNOKEY:MOV A,P3NOKEY:MOV A,P3CPL

58、 ACPL AJZ NOKEY ;JZ NOKEY ;无键按下无键按下MOV TEMP,P3 ;MOV TEMP,P3 ;有键按下有键按下CALL D10msCALL D10msMOV A,P3MOV A,P3CJNE A,TEMP,NOKEY;CJNE A,TEMP,NOKEY;去抖去抖MOV R7,#16MOV R7,#16MOV R2,#0MOV R2,#0LOOP:MOV A,R2LOOP:MOV A,R2 MOV DPTR,#CODE_P0 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOVC A,A+DPTR MOV P0,A MOV P0,A INC R2 I

59、NC R2 SETB RS0 ; SETB RS0 ;切换组切换组 CALL D_1S CALL D_1S CLR RS0 CLR RS0 DJNZ R7,LOOP DJNZ R7,LOOP JMP START JMP START D_1S D_1S:(子程序):(子程序)D10msD10ms:(子程序):(子程序) CODE_P0:DB 0C0H,0F9H,0A4H,0B0HCODE_P0:DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8H DB 99H,92H,82H,0F8H DB 80H,90H,88H,83H, DB 80H,90H,88H,83H,

60、 DB 0C6H,0A1H,86H,8EH DB 0C6H,0A1H,86H,8EH 有时为方便走线而采用逆序连接,显示段码要进行调整:有时为方便走线而采用逆序连接,显示段码要进行调整:CODE_P2:DB 03H,9FH,25H,0DH,99H,49H,40H,1FHCODE_P2:DB 03H,9FH,25H,0DH,99H,49H,40H,1FH DB 01H,09H,11H,0C1H,63H,85H,61H,71H DB 01H,09H,11H,0C1H,63H,85H,61H,71HCODE_P0:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HCODE

温馨提示

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

评论

0/150

提交评论