单片机 第八讲并行接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第8章 并行接口与应用
8.1 并行接口的基本概念 8.2 可编程并行接口芯片8255A 8.3 可编程并行接口芯片8155
8.4 单片机与键盘和数码管显示器的接口电路
退出
8.1 并行接口的基本概念
MCS-51单片机有四个并行I/O口。当用MCS-51单
片机组成的应用系统需外扩程序存储器和数据存储器
判断是否有键按下的方法,是查询每一个连接按
键的I/O线。当查询到的I/O线为低电平时,便知此键
按下。 (2)非编码行列式键盘 非编码行列式键盘是将I/O线的一部分作为行线, 另一部分作为列线,按键设置在行线和列线的交叉点
上。行列式键盘的数量为:行线数m乘以列线数n。图
8-22是一个4×4行列式键盘,按键数量为16个。
TM2TM1=11,连续方式,当计数器赋予初值后,立 即 启动定时/计数器;若正在计数,则置新的方式和 长度,计数结束后按新的方式和新的时间常数计数。
(2)状态寄存器 状态寄存器由7位寄存器组成,其中6位用于表示A 口和B口的状态,1位表示定时/计数器的状态。此寄存 器为只读寄存器其位格式为:
INTRA:A口中断请求位。 BFA:A口缓冲器满标志位。 INTEA:A口中断允许位。 INTRB:B口中断请求位。 BFB:B口缓冲器满标志位。 INTEB:B口中断允许位。 TIMER:定时中断请求位。 (3)PA寄存器 (4)PB寄存器 (5)PC寄存器 PC0~5的工作方式及各位的作用如表8-5所示。
其中,T0~T14构成14位计数器。定时/计数器是 递减计数器,对输入脉冲计数。当计数器计到0时,可 从定时计数器的输出端输出一个脉冲或方波。M2M1 决定定时器的输出波形。 当:M2M1=00时,定时/计数器的输出波形为单个方波;
M2M1=01时,定时/计数器的输出波形为连续方波;
M2M1=10时,定时/计数器的输出波形为单个脉冲; M2M1=00时,定时/计数器的输出波形为连续脉冲。
@DPTR , A
ACLL DELAY;延时
INC
MOV A , R2 JB RL
R0
ACC.5 , LOOP1; A
判断6位是否显示完毕
MOV R2 , A
AJMP LOOP
LOOP1: 4FH , 66H , 6DH
RET DB
3FH , 06H , 5BH ,
DB
6FH , 77H , 7CH
PA:决定A口的工作方式。PA=0,A口为输入方 式;PA=1,A口为输出方式。 PB:决定B口的工作方式。PB=0,B口为输入方 式;PB=1,B口为输出方式。 PC2、PC1:决定PC口的工作方式。 PC2PC1 (ALT1)=00,A口、B口为基本输入/输出, C口为基本输入口; PC2PC1 (ALT2)=01,A口、B口为基本输入/输 出,C口为基本输出口; PC2PC1 (ALT3)=10,A口为选通输入/输出口, B口为基本输入/输出口; PC2PC1 (ALT4)=11,A口、B口为选通输入/输 出口。
MOV R0 , #60H;
置显示缓冲区首地址 MOV R2 , #01H;
置位选码初值
MOV A , R2
LOOP:
MOV DPTR , #7F01H MOVX @DPTR , A
INC
DPTR
MOV A , @R0
ADD
A , #0DH;
形成查表的偏移地址
MOVC
A , @A+PC
DIR
:
MOVX
7DH , 07H , 7FH ,
DB 39H , 5EH , 79H , 71H DELAY: MOV R7 , #04H DELAY1: MOV R6 , #0FFH DELAY2: DJNZ R6 , DELAY2 DJNZ R7 , DELAY1 RET 通过8155扩展24键键盘和6位动态数码管显示器的 接口电路,如图8-28所示,供读者参考。
8155初始化参考程序如下: MOV DPTR , #7F04H MOV A , #20H;对计数器的低8位赋初值 MOVX @DPTR , A INC DPTR MOV A , #C0H ;设定定时器为连续脉冲输出 MOVX @DPTR , A;装入定时器高8位 MOV DPTR , #7F00H MOV A , #0C1H;设定命令控制字,并启动定时 器 MOVX @DPTR , A
ቤተ መጻሕፍቲ ባይዱ
IEA:A口中断允许位。IEA=1允许A口中断, IEA=0禁止A口中断。 IEB:B口中断允许位。IEB=1允许B口中断, IEB=0禁止B口中断。 TM2、TM1:定时/计数器命令。 TM2TM1=00,空操作,不影响计数器操作; TM2TM1=01,停止计数器计数; TM2TM1=10,定时/计数器长度减为0时停止计数;
8.3.2 8155的工作方式
8155的工作方式有两种:基本输入/输出方式和选
通工作方式。这两种工作方式与8255的方式0和方式1
具有相同的时序;不同的是,工作在选通工作方式时,
8155的输入/输出共用一组联络信号。
8.3.3 MCS-51单片机与8155的接口
【例8-4】试设计一个8031单片机与并行接口芯片 8155的接口电路,并对8155进行初始化编程:让8155 的PA口、PB口工作在基本输入/输出方式,其中,A口 为输出,B口为输入,对输入脉冲进行32分频,定时 器作为脉冲发生器,输出连续脉冲。 对8155I/O口地址分配如下: 命令/状态寄存器的地址: 7F00H PA口的地址:7F01H PB口的地址:7F02H PC口的地址:7F03H 定时器低8位的地址:7F04H 定时器高8位的地址:7F05H。 8031单片机与并行接口8155的接口电路如图8-17 所示。
3、非编码键盘按键的处理过程 (1)键盘处理程序的功能
a 首先应判断键盘中有无键按下
b消除键的抖动 c求键号 对I/O口中的D3~D0依次输出下列扫描信号 :
D3 D2 D1 D0
第一次 第二次 1 1 1 1 1 0 0 1
第三次
1
0
1
1
1
第四次 0 1 1 (2)中断扫描方式
2、数码管显示器接口 【例8-5】如图8-26,通过并行接口芯片8155扩展6 位动态数码管显示电路,轮流点亮各LED数码管,每 位点亮2ms,重复此过程。
时,真正可用的并行口,就只有一个P1口了。
8.2 可编程并行接口芯片 8255A
8.2.1 8255A的内部结构及引脚
2、8255A的引脚 (1)8255A与单片机相连的引脚 8255A采用NMOS工艺制造,有40个引脚,采用双 列直插式封装形式。其引脚如图8-2所示。
8.2.3 MCS-51单片机与8255A的接口 【例8-3】试设计一个8031单片机与并行接口芯片 8255A的接口电路。端口A接一组指示灯,显示的内容 由A口输出至指示灯; 端口B接一组开关,将开关的内
容由B口输入,并将此开关状态通过A口由指示灯显示
出来。8255A的A口、B口、C口和控制字的地址分别 为7F00H、7F01H、7F02H和7F03H。
8031单片机与8255A的接口电路如图8-13所示。
参考程序如下: ORG 1000H
MOV DPTR , #7F03H
MOV A , #82H MOVX @DPTR , A MOV DPTR , #7F01H MOV A , @DPTR DEC DPTR MOV @DPTR , A RET
让8155的PA口、PB口,工作在基本输出方式。 PB口输出显示代码,PA口输出位选码。设PA口的地 址为7F01H,PB口的地址为7F02H,控制字寄存器的 地址为7F00H,显示缓冲区为60H~65H。其显示程序
流程,如图8-27所示。
参考程序如下: START: MOV A , #03H; 对8155初始化 MOV DPTR , #7F00H MOVX @DPTR , A
8.4 单片机与键盘和数码管
显示器的接口电路
8.4.1 键盘接口
1、按键电路和抖动的消除
键盘中的每一个按键为常开状态,如图8-18所示。
2、非编码键盘的结构
非编码键盘分为独立式非编码键盘,和行列式非
编码键盘。下面分别进行介绍。
(1)独立式非编码键盘
独立式非编码键盘,是每个按键独立地占用一条 数据输入线。如图8-21所示。当某一按键闭合时,相 应的I/O线变为低电平。
8.3 可编程并行接口芯片 8155
8.3.1 8155的内部结构及引脚 1、8155的内部结构
2、8155的引脚
Intel8155为HMOS型芯片,40个引脚采用双列直
插式封装。其引脚如图8-15所示。
3、8155的寄存器
(1)命令寄存器 8155只有一个控制字,命令寄存器决定A口、B口、 C口和定时器/计数器的工作方式及功能。其位格式为:
相关文档
最新文档