|
实验8
74LS14反向器实验
74LS14 是一个6反向器,
引脚定义如图:A端为输入端,Y端为输出端,一片芯片一共6路,即1,3,5,9,11,13 为输入端, 2,4,6,8,10,12
为输出端,输出结果与输入结果反向。即如果输入端为高电平, 那么输出为低电平。 如果输入低电平,输出为高电平。
在本套件中, 一共使用了2片74LS14芯片, 组成8路反向器。 反向器是重要的数字电路之一,下面我带领大家来学习反向器的应用。
实验目的:先做一个8路加法器的实验, 然后通过反向器后, 观察LED的发光管的状态变化。
相关原理:

程序运行照片:

1、直接连接:用一条8PIN的数据排线把CPU部份的P1口(JP44)连接到八路指示灯部份的JP32
2、通过反向器连接:用一条8PIN的数据排线把CPU部份的P1口(JP44)接到反向器部份的输入端JP29用一条8PIN的数据排线把反向器的输出端JP34接到八路指示灯部份的JP32
程序流程图:

汇编语言参考程序:
org 0000h
ajmp main
org 0080h
main: mov a,#0
loop: mov p1,a ;输出到P1口
call delay ;延时。
inc a ;每次加1
jmp loop
delay: mov r5,#50 ;延时。
d1: mov r6,#40
d2: mov r7,#248
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
end
c语言参考程序:
#include<reg51.h> //头文件
#define uchar unsigned char //宏定义,为方便编程
#define uint unsigned int
#define LED P1 //宏定义,将P1口定义为数码管
uchar value[]={0,1,3,7,15,31,63,127,255}; //定义LED值数组
void delay() //延迟函数
{
uchar ii,jj;
for(ii=0;ii<200;ii++)
for(jj=0;jj<200;jj++);
}
char code SST516[3] _at_ 0x003b; //仿真器插入代码
main() //主函数
{
uchar i=0;
while(1)
{
for(i=0;i<=8;i++) //8个LED灯逐次熄灭
{
LED=value[i];
delay();
}
}
} |