《实验二 4HC138译码器实验.docx》由会员分享,可在线阅读,更多相关《实验二 4HC138译码器实验.docx(7页珍藏版)》请在三一办公上搜索。
1、实验二 4HC138译码器实验实验二 74HC138译码器实验 一、实验目的与要求 1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了解74HC138是如何译码的。 2、认真预习本节实验内容,尝试自行编写程序,填写实验报告 二、实验设备 STAR系列实验仪一套、PC机一台 12三、实验原理图 DS20R68470VCCJP2812510VCCY0Y1Y2Y3Y4Y5Y6Y71651015141312111097R111R11212345678DS35DS36DS37DS38DS39DS40DS41DS42VCCK6 (8255)PC0K7 (8255)PC1
2、A(8255)PC2C(C1)VCCG1(C1)GNDG2A(C1)GNDG2B8AB123645U21ABCG1G2AG2BK8 510R113510R114510R115510R116510R117510R118GNDSN74LS138N四、实验内容 1、硬件测试 连线说明: C3区:A、B、C G6区:K6、K7、K8 C3区:G1、G2A、G2B C1区:VCC、GND、GND C3区:JP35 G6区:JP65 B实验步骤 上下闭合K6K8按钮,查看LED灯的亮灭规律。 开关状态 K6 K7 K8 上 下 上 连线CS1、A0、A1的功能: 规律: 2、编程控制 CLED灯的状态 第
3、3个LED灯亮,其余灯不亮 控制8255的片选信号、读信号和写信号 随着K6K7K8的状态由000到111改变,LED灯对应第0至第7个点亮,即符合二进制到十进制的译码规律 实验要求 要求从8255的C口低4位输出数据,控制74LS138的ABC端口,74LS138控制LED信号灯,使信号灯从第1个开始点亮,间隔一定时间,依次点亮第二个,直到第8个,每次只点亮一个。 如果要反方向点亮,程序应该如何调整。 如果要求正方向逐个点亮,最后8个灯全亮。程序又该如果调整。 连线说明 C3区:A、B、C B4区:PC0、PC1、PC2 C3区:G1、G2A、G2B C1区:VCC、GND、GND C3区:
4、JP35 G6区:JP65 B4区:CS、A0、A1 A3区:CS1、A0、A1 程序部分 D7 D6 D5 D4 D3 D2 D1 D0 1 A口方式选择 00:方式0 01:方式1 10:方式2 C口高4位 0:输出 1:输入 A口 0:输出 1:输入 B口 0:输出 1:输入 8255地址分配: PA:0F000 PB:0F001 PC:0F002 控制口:0F003 B口方式选择 0:方式0 1:方式1 C口低4位 0:输出 1:输入 程序开始部分,汇编部分自己补全: 1正方向点亮的程序: .MODEL TINY Con_8255 EQU 0F003H ;8255控制口 PC_8255
5、 EQU 0F002H ;8255 PC口 .STACK 100 .CODE START: MOV DX,Con_8255 MOV AL,80H OUT DX,AL ;8255初始化,PC口作输出用 MOV DX,PC_8255 MOV AL,0 START1: OUT DX,AL ;把0输出到8255的PC口 CALL Delay ;延时 INC AL ;AL加1,改变亮灯的状态 JMP START1 Delay: PROC NEAR ;延时 Delay1: XOR CX,CX LOOP $ RET Delay ENDP END START 说明: 本实验只用到PC0、PC1、PC2三个引脚
6、,分别接到74LS138的A、B、C引脚。通过程序使AL依次加1控制PC2PC1PC0从000增加到111,通过74LS138的译码使得led依次点亮。 另外,可通过排线反插实现LED灯反方向点亮。 2反方向点亮的程序: .MODEL TINY Con_8255 EQU 0F003H ;8255控制口 PC_8255 EQU 0F002H ;8255 PC口 .STACK 100 .CODE START: MOV DX,Con_8255 MOV AL,80H OUT DX,AL ;8255初始化,PC口作输出用 MOV DX,PC_8255 MOV AL,7 START1: OUT DX,AL
7、 ;把7输出到8255的PC口 CALL Delay ;调用延时程序 DEC AL ;AL减1,改变亮灯的状态 JMP START1 Delay: PROC NEAR ;延时 Delay1: XOR CX,CX LOOP $ RET Delay ENDP END START 3.正方向逐个点亮,最后8个灯全亮的程序: .MODEL TINY Con_8255 EQU 0F003H ;8255控制口 PC_8255 EQU 0F002H ;8255 PC口 .STACK 100 .CODE START: MOV DX,Con_8255 MOV AL,80H OUT DX,AL ;8255初始化,PC口作输出用 MOV DX,PC_8255 MOV AL,FFH START1: OUT DX,AL ;把FFH输出到8255的PC口 CALL Delay ;调用延时程序 SHL AL,1 ;AL的内容左移一位,改变亮灯的状态 JMP START1 Delay: PROC NEAR ;延时 Delay1: XOR CX,CX LOOP $ RET Delay ENDP END START