-单片机的并行扩展技术
- 格式:doc
- 大小:57.00 KB
- 文档页数:8
第六章单片机的并行扩展技术6·1 什么是并行外围扩展? 并行外围扩展有哪两种方式?这两种方式本质上的区别是什么?答:(1)并行外围扩展单片机的并行外围扩展是指单片机与外围扩展单元采用并行接口的连接方式,数据传输为并行传送方式。
并行扩展体现在扩展接口数据传输的并行性。
(2)并行外围扩展的方式并行外围扩展方式有两种I/O方式与总线方式。
题图6-1是80C5l两种并行外围扩展接口示意图。
图中的并行口数据宽度为8位。
①并行I/O口方式: I/O口并行扩展由I/O口完成与外围功能单元的并行数据传送任务,单片机与外围功能单元数据传送过程中的握手交互也由I/O口来完成的。
②并行总线方式:并行扩展采用三总线方式,即数据传送由数据总线DB完成;外围功能单元寻址由地址总线AB完成;控制总线CB则完成数据传输过程中的传输控制,如读、写操作等。
(3)两种方式本质上的区别两种并行外围扩展方式本质上的区别列于题表6-1中。
6·2 单片抗应用系统中有哪几种键盘类型?为什么这些键盘都是通过I/O 口扩展?答: (1)单片机应用系统中的键盘类型与通用计算机键盘相比,单片机应用系统中的键盘种类很多,键盘中按键数量的设置依系统操作要求而定。
一般说来,单片机应用系统中键盘有独立式和行列式两种,如题图6-2 所示。
题图6-2①独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立如题图6-2(a)所示。
I/O口通过按键与地相连。
I/O口有上拉电阻,无键按下时,引脚端为高电平;有键按下时,引脚端电平被拉低。
1/0端口有内部上拉电阻时,外部可不接上拉电阻。
②行列式键盘:行列式键盘采用行列电路结构。
行列交点处通过按键相连,列线为输出口,行线为输人口,如题图6-2(b)所示。
列线口输出全零电平时,若没有键按下则行线引脚上全部为高电平"1"状态;若有任何一个按键按下则行线引脚上为非全"1"状态;在有键按下后,通过列线逐个送"0",然后逐行检查哪根行线为"0"状态,即可查出是哪个键按下。
单片机并行口扩展和存储器扩展
单片机并行口扩展和存储器扩展
1、单片机并行口扩展,扩展I/O口采用和数据存储器相同的寻址方式。
其方法有三种:
1)总线扩展,通过锁存器对P0口扩展,这一扩展方法只分时占用P0口,而不会影响P0口与其他扩展电路的连接作用。
2)串口扩展,通过串口的工作方式完成I/O口的扩展,多通过移位寄存器164/165实现,缺点明显,占用了串口,采用移位方式,速度较慢。
3)通过片内I/O口扩展,也就是不通过P0口而通过其他片内I/O口扩展,例如8255等。
2、单片机存储器扩展,包括程序存储器的扩展和数据存储器的扩展。
由于单片机中的程序存储器和数据存储器严格分开了,因此程序存储器扩展的操作时序有所不同,可分为执行MOVX命令和不执行两种,而数据存储器的扩展相对较为简单,扩展方法也很多。
此处不再赘述。
扩展阅读:51单片机模拟串口的三种方法。
第六章单片机的并行扩展技术6·1 什么是并行外围扩展? 并行外围扩展有哪两种方式?这两种方式本质上的区别是什么?答:(1)并行外围扩展单片机的并行外围扩展是指单片机与外围扩展单元采用并行接口的连接方式,数据传输为并行传送方式。
并行扩展体现在扩展接口数据传输的并行性。
(2)并行外围扩展的方式并行外围扩展方式有两种I/O方式与总线方式。
题图6-1是80C5l两种并行外围扩展接口示意图。
图中的并行口数据宽度为8位。
①并行I/O口方式: I/O口并行扩展由I/O口完成与外围功能单元的并行数据传送任务,单片机与外围功能单元数据传送过程中的握手交互也由I/O口来完成的。
②并行总线方式:并行扩展采用三总线方式,即数据传送由数据总线DB完成;外围功能单元寻址由地址总线AB完成;控制总线CB则完成数据传输过程中的传输控制,如读、写操作等。
(3)两种方式本质上的区别两种并行外围扩展方式本质上的区别列于题表6-1中。
6·2 单片抗应用系统中有哪几种键盘类型?为什么这些键盘都是通过I/O 口扩展?答: (1)单片机应用系统中的键盘类型与通用计算机键盘相比,单片机应用系统中的键盘种类很多,键盘中按键数量的设置依系统操作要求而定。
一般说来,单片机应用系统中键盘有独立式和行列式两种,如题图6-2 所示。
题图6-2①独立式键盘:独立式键盘中,每个按键占用一根I/O口线,每个按键电路相对独立如题图6-2(a)所示。
I/O口通过按键与地相连。
I/O口有上拉电阻,无键按下时,引脚端为高电平;有键按下时,引脚端电平被拉低。
1/0端口有内部上拉电阻时,外部可不接上拉电阻。
②行列式键盘:行列式键盘采用行列电路结构。
行列交点处通过按键相连,列线为输出口,行线为输人口,如题图6-2(b)所示。
列线口输出全零电平时,若没有键按下则行线引脚上全部为高电平"1"状态;若有任何一个按键按下则行线引脚上为非全"1"状态;在有键按下后,通过列线逐个送"0",然后逐行检查哪根行线为"0"状态,即可查出是哪个键按下。
(2)键盘通过I/O口扩展键盘所采用的I/O口并行扩展电路都是外设接口的典型电路。
这类接口只有操作原理时序,没有器件的时序协议,故而都适宜于通过I/O口扩展。
6·3 请叙述行列式键盘的工作原理。
中断方式与查询方式的键盘其硬件和软件有何不同?答: (1)行列式键盘的工作原理行列式键盘采用行列电路结构。
行列交点处通过按键相连,列线为输出口,行线为输入口,如题图6-2(b)申所示。
其工作原理是:列线口输出全零电平时,若没有键按下则行线引脚上全部为高电平"1"状态,若有任何一个按键按下则行线引脚上为非全"1"状态;在有键按下后,通过列线逐个送"0",然后逐行检查哪根行线为"0"状态,即可查出是哪个键按下。
(2)中断方式与查询方式的键盘的区别单片机对键盘的操作方式可分为查询方式和中断方式。
题图6 - 2中为查询方式键盘的接口电路; 题图6-3所示为中断方式键盘的接口电路。
在查询方式中,单片机要不断查询键盘中有无键按下。
中断方式下单片机不必查询键盘情况,只需开放键盘中断请求。
当有键按下时,会请求中断,在中断服务程序中再检查是哪个键按下。
题图6-3①在硬件方面的区别:与查询方式相比,中断方式中增加了中断源生成电路,并要求单片机提供一个外部中断INT输人端口。
题图6-3中中断源生成电路为多输人端与门,当有键按下时,与门输入端有"0"状态出现,输出低电平的中断请求信号。
②在软件方面的区别:●中断方式:设计中断程序时,先在主程序中将中断系统初始化,并开中断。
设键盘中断服务程序入口标号为IO5lK16。
程序清单如下。
主程序:;MOV Pl,#0FH ;键盘初始化。
Pl.0~P1·3置输人方式;P1.4~P1.7为0状态MOV IE,#84H ;开CPU中断,开INTl中断;中断服务程序:ORG 0013H ;INTl中断入口地址LJMP IO51K16 ;从中断入口转移到键盘处理程序IO5lK16I051K16:LCALL D10MS ;延时l0msLCALL KEYIN ;调键输人检查子程序JNZ LKOUT ;有键输人,转查键号RET1 ;无键输入,中断返回LKOUT: MOV R2,#0EFH ;首列扫描字写入R2MOV R4,#00H ;首列偏移值入R4CONU: MOV P1,R2 ;列扫描字写入列线中MOV A,P1 ;读入Pl口状态到A中JB ACC.0,LONE ;检查第0行是否为0状态,不为0,表明;按下键不在此行,转下一行MOV A,#00H 第0行为0状态,表明按下键在此行;首列号人AAJMP LKP ;转求键号LONE : JB ACC·l,LTWO ;检查第1行有无键按下MOV A,#04H ;有键按下,该行首列号入AAJMP LKP ;转求键号LTWO: JB ACC.2,LTHRMOV A,#08HAJMP LKPLTHR : JB ACC.3,NEXT ;该列所有行都无键按下,转NEXT MOV A,#0CH ;有键按下,该行首列号入A中LKP : ADD A,R4 ;求键号,键号为首列号加列偏移值PUSH A ;键号入栈保护WKFE: LCALL KEYIN ;等待键释放JNZ WKFE ;键末释放,转WKFE等待POP A ;键释放,键号入ALJMP KJMP ;转键操作散转处理NEXT: INC R4 ;转查下一列,列偏移值加1MOV A,R2JNB ACC.7,KND ;最后一列查完?查完中断返回RL AMOV R2,A ;末查完,列扫描字左移1位LJMP CONU ;扫描宇入R2,继续查找KND: RETIKEYIN: MOV Pl,#0FH ;查看有无键按下。
A不为0,有键按下MOV A,PlCPL AANL A,#0FHRETD10MS: (略)KJMP: (略)●查询方式:设计查询程序时,只需在主程序中直接调用KEYIN和LKOUT(此时将程序中的RETI换成RET)即可,程序清单如下。
主程序:;LCALL D10MS ;延时l0msLCALL KEYIN ;调键输入检查子程序LCALL LKOUT ;有键输入,转查键号;6·4 请叙述LED显示器的静态与功态显示原理。
什么是LED显示器的段吗?答: (l)LED显示器的静态与动态显示原理题图6-4是静态、动态方式下n位LED显示器与I/O口的连接示意。
题图6-4(a)为静态显示方式,题图6-4(b)为动态显示方式。
题图6-4①静态显示方式下,LED显示器的公共极COM接地(共阴极)或接电源端(共阳极),是位控制端。
显示器的段极(a~dp)和I/O口的D0~D7相连,在静态显示方式下,n位LED显示要占用n个8位I/O口线。
要显示n位的数码,在相应的I/O口上送出相应的段码数据即可。
②动态显示方式下,LED显示器的所有段极(a~dp)共用一个8位I/O口线,而每个LED显示位要占用一根I/O口线,因此, n位动态显示的LED显示器只要占用一个8位I/O 端口和n根I/O口线。
显示n位数码时,连接段极的8位I/O端口依次送出祝位数码的段码数据;同时,依次控制相应位公共端COM(位极),当公共端电平为"0"(共阴极)或"1"(共阳极) 时,该位的数码点亮。
段极不断轮流送入段码,位极轮流控制该位点亮,满足人眼视觉暂留效应要求,在n位LED显示器上形成稳定的祝位数码显示效果。
(2)LED显示器段码的意义按照发光二极管点亮时,相应的字符段点亮的原理,将共阴极LED显示器的公共端COM接地,将八字符段端a,b,c,···,dp依次与一个8位I/O口的最低位到最高位相连。
例如,与80C5l的Pl.0,Pl.l,P1.2,···,P1.7相连时,如果给Pl口送入00H,LED 显示器为全灭状态;给Pl口送入FFH时,LED显示器全部点亮。
要求LED显示器显示字符"2"时,要求a,b,g,e,d点亮,这时,LED端口输人的段码为010110llB=5BH;如果将上述共阴极LED显示器改为共阳极显示器,并将公共极COM接V CC,要求显示字符“2”,LED端口输入的断码为=A4H。
这时8位I/O送出的数据称为断码,题表6 –4 给出了在上述连接时的共阴极和共阳极断码。
6·5 并行总线外围扩展应用中,为什么有地址选择? 什么是地址编码? 有哪几种地址编码?答: 1·并行总线外围扩展应用中的地址选择在并行总线外围扩展中,外围设备(器件)都连接到相同的数据总线及读、写线上,因此,必须通过地址线的编(译)码,将地址线的寻址空间进行划分,分成不同的地址空间给外围设备(器件)使用。
若有16位地址线时,寻址空间为64KB(0000H~FFFFH);采用高3位的3 - 8 译码器时,每根译码输出线(Y0~Y7)的空间为8KB(分别为0000H~lFFFH,2000H~3FFFH,4000H~5FFFH,···,E000H~FFFFH),可以分别给8个外围设备(器件)使用。
将译码输出线与每个外围设备(器件)的选通线相连,不会造成空间的冲突。
CPU通过并行总线对总线上某个扩展的外围设备(器件)操作时,只要通过地址译码来选通该设备(器件)。
从上述地址译码的作用原理可看出,当单片机需要与某个外围设备(器件)进行数据通信时,通过地址译码器的输出线来选通该设备(器件),这时,该设备(器件)在并行扩展空间占据了该译码输出所规定的地址空间,这就是该设备(器件)的设备(器件)地址。
子地址是设备(器件)内部实际操作时需要的寻址单元。
子地址只能是寻址空间中的一部分。
例如,在16位地址的并行总线中,寻址范围为64KR,最高3位地址线通过3 - 8译码器输出(Y0~Y7)可以给8个外围设备(器件)作选通用,其设备(器件)的主地址分别为0000H~ lFFFH,2000H~3FFFH,4000H~5FFFH,···,E000H~FFFFF。
如果用Y0和Yl分别扩展一片8KB 数据存储器和一片可编I/O接口82C55时,8KB数据存储器的器件地址为0000H~lFFFH,片内8KR数据单元子地址为0000H~lFFFH,子地址占据了全部器件地址空间;82C55的器件地址为2000H~3FFFH,但片内子地址只有PA口、PB口、PC口寄存器和控制寄存器4个地址单元,这样子地址只使用了2000H~3FFFH8KR地址范围中的4个地址单元。