zoukankan      html  css  js  c++  java
  • 74HC164dD驱动LED

    驱动要点:

       1、上升沿写入串行数据:

         CLK=0;

         DAT=num&0x01;

         CLK=1;

      2、写入数据的数码管编码(指代码中的 tab[])

         串行数据是FIFO先进先出,也就是先写高位,移位放入。

        电路如图:

    成功C <wbr><wbr>DIY <wbr><wbr>单片机(6)74HC164串行驱动数码管成功C <wbr><wbr>DIY <wbr><wbr>单片机(6)74HC164串行驱动数码管

     共阴数码管74HC164串行驱动(经过测试)

    //共阴数码管74HC164串行驱动

    #include

    #define uint unsigned int

    #define uchar unsigned char

    sbit DAT=P3^7; //模拟串口数据发送端

    sbit CLK=P3^4;//模拟时钟控制端

    uchar code tab[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xff,0xf6};//0-9,-,全灭

    void sendbyte(uchar byte)

    {   

            uchar num,c;

            num=tab[byte];

      for(c=0;c<8;c++)

            {

        CLK=0;

      DAT=num&0x01;

      CLK=1;

            num>>=1;

           

           

            }

    }

    void delay_50ms(unsigned int t)

    {

    unsigned int j; 

    for(;t>0;t--)

      for(j=6245;j>0;j--)

    {;}

    }

    main()

    {

    unsigned char h;

      while(1){

      for(h=0;h<10;h++){

          delay_50ms(1);

          sendbyte(h);

            

      delay_50ms(4);

      }

      h=0;

        }

       

    }

     共阳数码管74HC164串行驱动(暂未测试)

    #include

    #define uint unsigned int

    #define uchar unsigned char

    sbit DAT=P1^1; //模拟串口数据发送端

    sbit CLK=P1^2;//模拟时钟控制端

    uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff};//0-9,-,全灭 (共阳字段表)

    void sendbyte(uchar byte)

    {   

            uchar num,c;

            num=tab[byte];

      for(c=0;c<8;c++)

            {

        CLK=0;

      DAT=num&0x80; //(0x80即十进制的128, 二进制的10000000 按位发送)

      CLK=1;

            num<<=1;

           

           

            }

    }

    void delay_50ms(unsigned int t) //50MS演示程序

    {

    unsigned int j; 

    for(;t>0;t--)

      for(j=6245;j>0;j--)

    {;}

    }

    main()

    {

    unsigned char h;

      while(1){

      for(h=0;h<10;h++){

          delay_50ms(1);

          sendbyte(h);

      delay_50ms(10);

      }

      h=0;

        }

    }

  • 相关阅读:
    AJAX补充
    JQuery知识补充2
    JQuery知识补充1
    LiveBOS使用指南
    HTML5(1)
    .net 后台导出excel ,word
    Eval绑定方法:多条件绑定:
    repeater 的用法
    两个页面地址栏传值
    js取后台的值
  • 原文地址:https://www.cnblogs.com/zym0805/p/4949376.html
Copyright © 2011-2022 走看看