STC89C52-Led小灯

一、从左到右小灯依次亮代码

#include<reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit led1=P0^0;//二极管该端为低电平小灯亮
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
void delay(unsigned int i)
{
	while(i--);
}
void main(void)
{
    ENLED = 0;   //U3、U4两片74HC138总使能,低电平有效
    ADDR3 = 1;   //使能U4使之正常输出
    ADDR2 = 1;   //经U4的Y1输出开启三极管Q11
    ADDR1 = 1;
    ADDR0 = 0;
	while(1)
	{
		led8=0;//小灯亮
		delay(2000);
		led8=1;//小灯灭
		delay(2000);
		
		led7=0;
		delay(2000);
		led7=1;
		delay(2000);
		
		led6=0;
		delay(2000);
		led6=1;
		delay(2000);
		
		led5=0;
		delay(2000);
		led5=1;
		delay(2000);
		
		led4=0;
		delay(2000);
		led4=1;
		delay(2000);
		
		led3=0;
		delay(2000);
		led3=1;
		delay(2000);
		
		led2=0;
		delay(2000);
		led2=1;
		delay(2000);
		
		led1=0;
		delay(2000);
		led1=1;
		delay(2000);
	}
}

二、变量设置原理

1.ENLED:低电平有效

2.ADDR3:高电平有效,当ENLED为0,ADDR3为1时74HC138工作

3.

ADDR0ADDR1ADDR有效输出端
000Y0'
001Y1'
010Y2'
011Y3'
100Y4'
101Y5'
110Y6'
111Y7

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值