• 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;

        }

    }

  • 相关阅读:
    uni-app 发起请求,Toast 消息提示 ,跳转页面
    uView初识
    uni-app初识
    docker目录 /var/lib/docker/containers 日志清理
    Linux中使用pigz工具更快的压缩和解压文件
    docker 修改默认网段
    LayaAir提示:版本不匹配!全局tsc(2.7.2)!=VS Code的语言服务(2.1.5)。可能出现不一致的编译错误
    C++ 格式化 浮点为字符串
    安装 ta-lib
    编译 python 代码
  • 原文地址:https://www.cnblogs.com/zym0805/p/4949376.html
Copyright © 2020-2023  润新知