行业新闻
Group news
江苏宏丰木业有限公司    您的位置: 首页  >  行业新闻  >  正文

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

2019年11月02日 文章来源:网络整理 热度:161℃ 作者:刘英

[导读] 74hc164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口。这种方法只需要2个MPU 的IO端口,而且在锁存器件这2个端口还可以干别的事情。 74HC164驱动共阴、共阳数码管都很方便。 74hc164驱动要点 1、上升沿写入串行数据 : CLK=0; DAT=num0x01; CLK=1; 2、写入数据的数码管编码(指代码中的 tab[]) 串行数据是FIFO先进先出,也就是先写高位,移位放入。 74hc164驱动共阴数码管 74hc164驱动共阴数码管电路图 74hc164驱动共

关键词:74HC164数码管驱动

  74hc164是比较典型的移位寄存器,该移位寄存器有一个数据输入端口、一个时钟信号端口和八个输出端口。这种方法只需要2个MPU 的IO端口,而且在锁存器件这2个端口还可以干别的事情。 74HC164驱动共阴、共阳数码管都很方便。

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

  74hc164驱动要点

  1、上升沿写入串行数据

  CLK=0;

  DAT=num&0x01;

  CLK=1;

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

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

  74hc164驱动共阴数码管

  74hc164驱动共阴数码管电路图

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

  74hc164驱动共阴数码管源程序

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

  #include《AT892051.H》

  #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驱动共阳数码管

  74hc164驱动共阳数码管电路图

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

  74hc164驱动共阳数码管源程序

  #include《reg51.h》

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

  }

  }

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

关注电子发烧友微信

有趣有料的资讯及技术干货

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

下载发烧友APP

打造属于您的人脉电子圈

74hc164驱动共阴数码管与共阳数码管_74hc164驱动源程序

关注发烧友课堂

锁定最新课程活动及技术直播

声明:电子发烧友网转载作品均尽可能注明出处,该作品所有人的一切权利均不因本站而转移。

上一篇:浅析微软的MMLSpark技术


下一篇:如何区分深度学习与机器学习

友情链接
Links
鸿运国际官网_鸿运国际备用网址