zoukankan      html  css  js  c++  java
  • LED指示灯的基本控制

    LED原理图(CT107D开发板)

    硬件实现原理

    1.三八译码器

    实现通过LED点亮首先要驱动74H138译码器(三八译码器)输出,根据P2^5,P2^6,P2^7输入不同的电平,可以不同的输出口

    备注:(H—高电平 L—低电平 X—任意电平  E3、E2、E1 为输入使能端  

        A2(C)、A1(B)、A0(A)为二进制数据输入端  字母上面的“—”号说明该输入/输出为低电平有效)

     2.锁存器

    74HC573锁存器是八路3态输出的非反转透明锁存器,当锁存使能端LE为高时,数据就会同步输出,当锁存使能变低是,数据就会被锁存。

     

    3.LED电路原理

    当74HC573锁存器导通时候需要Y4C电平有效,Y4C有Y4和WR端通过或门输出,WR接地为低电平0,,那么就需要Y4输出低电平,Y4由74H138译码器控制输出。只要通过对CBA三端对应输出100即可。 

    代码实现

    #include "reg52.h"
    
    typedef unsigned int u16;
    typedef unsigned char u8;
    
    sbit HC138_A = P2^5;
    sbit HC138_B = P2^6;
    sbit HC138_C = P2^7;
    
    void delay(u16 i)
    {
        while(i--);
    }
    
    void LED()
    {
        u16 i;
        HC138_A = 0;
        HC138_B = 0;
        HC138_C = 1;
        
        for(i =0;i <3;i++)
        {
            P0 = 0x00;
            delay(60000);
            P0 = 0xff;
            delay(60000);
        }
        
        for(i=0;i<=7;i++)
        {
            P0=0xff<<i;
            delay(60000);
        }
        
        for(i=0;i<=7;i++)
        {
            P0=~(0xff<<i);
            delay(60000);
        }
        /*
        #include "intrins.h"
        for(i=0;i<7;i++)
       {
            led=_crol_(led,1);
         delay(50000);
       }
       for(i=0;i<7;i++)
       {
           led=_cror_(led,1);
        delay(50000);
       }//左移右移函数,也是可以跑马灯的。
        */
    }
    
    void main()
    {
        while(1)
        {
            LED();
        }
    }
  • 相关阅读:
    js 控制页面跳转的5种方法
    js外部文件问题
    JS设置cookie,删除cookie
    JS中的输出
    转:这些年我们爱犯的弱智错误(菜鸟必看)
    JS 代码调试经验总结(菜鸟必读)
    js中err
    不理解,如果有高手看到了,请帮忙解答,谢谢啦~
    window对象和全局变量,局部变量的疑问
    看script中函数的各种不同形式的结果
  • 原文地址:https://www.cnblogs.com/kevinkala/p/12901955.html
Copyright © 2011-2022 走看看