51单片机:74LS138译码实验
一、实验内容
通过单片机P1.2P1.0控制74LS138译码器的使能及译码输入端口,控制其译码输出端口(Y7Y0)。
(74LS138译码单元C、B、A分别连接P1.2、P1.1、P1.0。)
把译码输出端口Y7Y0连接到L7L0八位LED电平指示输入端口,验证74LS138的逻辑译码功能。
二、仿真图
三、代码
C语言实现:
在这里插入代码片
```#include <reg52.h>
#include <intrins.h>
void delay1s(void);
void main()
{
char num;
while(1)
{
for(num=0;num<8;num++)
{
P1=num;
delay1s();
}
}
}
void delay1s(void) //误差 0us
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}
汇编实现:
```c
ORG 0000H
LJMP START
ORG 0030H
START: MOV SP, #60H
ST1: CLR A ;累加器清零
LOOP: MOV P1,A
CALL DELAY1S
INC A
JNB ACC.3,LOOP ;ACC.3=1时 向下执行
SJMP ST1
DELAY1S: ;误差 0us
MOV R7,#0A7H
DL1:
MOV R6,#0ABH
DL0:
MOV R5,#10H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
NOP
RET
评论(0)
您还未登录,请登录后发表或查看评论