可以请问下单片机里边74LS164控制八段数码管的显示应该如何设置CLR和CLK还有DATA端得数值来控制八段数码管

可以请问下单片机里边74LS164控制八段数码管的显示应该如何设置CLR和CLK还有DATA端得数值来控制八段数码管,第1张

CLR 为清零端,低电平有效,该脚加低电平时,输出被置零,用一个I/O来控制它,起到灭零作用。

CLK为脉冲计数输入端,用单片机的某个I/O口输出脉冲给它

DATA的8个输出端用来接8个LED

是不是和下面的类似:

>

----

楼主的题目,也没有说清电路,也没有指定语言。

前面,问了一次,楼主也没有反应。

下面,用C语言,编程实现:

//=======================================================

#include <AT89X51H>

char disp_buff [4] = {0};         //显示缓冲单元

//-------------------------------------------------------

delay(unsigned int t)             //1ms延时函数

{

  unsigned int i, j;

  for(i = 0; i < t; i++)  for(j = 0; j < 120; j++);

}

//-------------------------------------------------------

void display(void)                //显示函数

{

  char code table[] = {         //共阳段码 0 ~ 9

    0xC0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};

  char i;

  for (i = 0; i < 4; i++) {

    SBUF = table[disp_buff [i]];//输出段码

    while(!TI);

    TI = 0;

  }

}

//-------------------------------------------------------

unsigned char keyboard(void)      //扫描键盘函数

{

  unsigned  char i, tmp1, tmp2;

  for(i = 0; i < 4; i++)  {

    P1 = ~(1 << i);       //i = 0 : P1 = 1111 1110

    tmp1 = P1 & 0xF0;

    if(tmp1 != 0xF0)  {   //有键按下

      delay(10);          //延时

      tmp2 = P1 & 0xF0;   //再读

      if(tmp1 == tmp2)  { //两次相等,并非抖动

        if (tmp1 == 0x70) return i 4 + 0; //键值

        if (tmp1 == 0xb0) return i 4 + 1;

        if (tmp1 == 0xd0) return i 4 + 2;

        if (tmp1 == 0xe0) return i 4 + 3;

  } } }

  return 16;              //没有键按下

}

//-------------------------------------------------------

void  main(void)

{

  unsigned char  key;

  display();                    //初始显示

  while(1)  {                   //无限循环

    key = keyboard();           //读出一遍键盘

    if (key < 10) {             //如果0~9

//--------------------进行按键处理

      disp_buff [3] = disp_buff [2];

      disp_buff [2] = disp_buff [1];

      disp_buff [1] = disp_buff [0];

      disp_buff [0] = key;

      display();                //显示

//--------------------处理结束,去等待按键释放

      while(key < 16)  key = keyboard();//等待按键释放

  } }                           //无限循环

}

//=======================================================

仿真截图如下:

每个段,都应该有自己的限流电阻,仅仅使用一个,会造成混乱,下一个164的输入逻辑不清楚。

led数码管由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。

1LED数码管以发光二极管作为发光单元,颜色有单红, 黄,蓝,绿,白,黄绿等效果。单色,分段全彩管可用大楼,道路,河堤轮廓亮化,LED数码管可均匀排布形成大面积显示区域,可显示图案及文字,并可播放不同格式的视频文件。通过电脑下flash、动画、文字等文件,或使用动画设计软件设计个性化动画,播放各种动感变色的图文效果;

2可放在PCB电路板上按红绿蓝顺序呈直线排列,以专用驱动芯片控制,构成变化无穷的色彩和图形。外壳采用阻燃PC塑料制作,强度高,抗冲击,抗老化,防紫外线,防尘,防潮。LED护栏管具有功耗小,无热量,耐冲击,长寿命等优点,配合控制器,即可实现流水,渐变,跳变,追逐等效果。如果应用于大面积工程中,连接电脑同步控制器,还可显示图案,动画视频等效LED数码全彩灯管可以组成一个模拟LED显示屏,模拟显示屏可以提供各种全彩效果及动态显示图像字符,可以采用脱机控制或计算机连接实行同步控制;可以显示各式各样的全彩动态效果。控制系统采用专用灯光编程软件编辑,数码管控制花样更改方便,只需将编辑生成的花样格式文件复制进CF卡即可,数码管控制器可以单独控制,也可多台联机控制,数码管安装编排方式任意,适合各种复杂工程需求。数码管、控制器以及电源等以标准公母插头连接,方便快捷,并具有独特的外形设计,全新的户外防水结构。

74ls164驱动数码管不能显示小数点是因为第一次输入无法显示。1、根据查询相关信息显示,74ls164驱动数码管,只有一个数据信号输入口,所以不能对数码管进行“位”控,只能对数码管的整体显示进行控制。

2、所以每秒内至少需两次数据输出并显示,第一次输出显示的数的小数点都不亮,第二次输出显示的数(数的值不变)中第三个数码管的数的小数点亮,两者交替输出显示,即可实现点时分之间的点闪烁。

以上就是关于可以请问下单片机里边74LS164控制八段数码管的显示应该如何设置CLR和CLK还有DATA端得数值来控制八段数码管全部的内容,包括:可以请问下单片机里边74LS164控制八段数码管的显示应该如何设置CLR和CLK还有DATA端得数值来控制八段数码管、74hc164驱动的四个数码管第一次按按键1显示1- - - 按按键2显示2- - - 以此类推按1~9都是这样显示、关于74HC164驱动两位LED数码管显示的段码计算问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9318959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存