找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1969|回复: 4
打印 上一主题 下一主题
收起左侧

1寸的数码管不显示

[复制链接]
跳转到指定楼层
楼主
     朋友的一台智能数显控制仪,说不显示,让我给维修,打开看了测量+5V供电正常就是不显示,请大佬给指点一二。

数码管2.jpg (102.14 KB, 下载次数: 89)

数码管

数码管

数码管3.jpg (61.48 KB, 下载次数: 86)

数码管1

数码管1
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:109943 发表于 2018-12-31 23:00 | 只看该作者
这个有移位寄存器,你不送数据他怎么会显示呢
回复

使用道具 举报

板凳
ID:448852 发表于 2019-1-1 11:50 | 只看该作者
谢谢大佬提醒。我犯错误了。
回复

使用道具 举报

地板
ID:155507 发表于 2019-1-1 16:54 | 只看该作者
我给你来个程序试试
  1. /*
  2. 51单片机74HC164串口控制数码管显示

  3. 一般数码管需要接7个脚才能显示,如果用单片机本身的I/O口,虽然可以但是浪费宝贵的i/O口资源。本例用移位寄存器74HC164作为数码管驱动进行控制。

  4. 74HC164特性   是一种8位串转并口的控制芯片,用于数码管和液晶显示等.
  5.         工作电压2--6V
  6.         管脚定义:
  7.      1)  A,B管脚:与门数据输入引脚。
  8.      2)QA---QH 数据并口输出引脚
  9.      3) CLR 低电平时,数据清零,不能输入
  10.      4) CLK 数据输入时钟,上升沿读取串口数据                          
  11.                           
  12. 本51单片机用的是12MHZ晶振,每条指令最小执行时间1uS》》1ns  ,可以根据时序图随便使用.

  13. 原理图:

  14. */
  15. #include<reg52.h>
  16. #include<intrins.h>

  17. #define uchar unsigned char
  18. #define uint unsigned int
  19. //74HC164     MR Pin9 接5V
  20. sbit CLK=P1^0;        // 低电平到高电平边沿触发 接74HC164 CLK
  21. sbit MOSI=P1^1;       //         数据输入 接74HC164 A、B,

  22. unsigned char code Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
  23.                               0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};        //共阴数码管
  24. unsigned char DS_data[6];
  25. /*****************************************************
  26. 函数功能:数码管扫描延时子函数
  27. 函数功能:延时1ms

  28. ***************************************************/
  29. void delay1ms()
  30. {
  31.         unsigned char i,j;        
  32.         for(i=0;i<10;i++)
  33.            for(j=0;j<33;j++)
  34.         ;                 
  35. }
  36. void separateData(unsigned long dat)         // dat为6位数
  37. {
  38.         DS_data[0]=dat%10;
  39.         DS_data[1]=dat/10%10;
  40.         DS_data[2]=dat/100%10;
  41.         DS_data[3]=dat/1000%10;
  42.         DS_data[4]=dat/10000%10;
  43.         DS_data[5]=dat/100000%10;
  44. }
  45. void write_164(unsigned char dat)
  46. {
  47.         unsigned char i;
  48.         for(i=0;i<8;i++)
  49.         {
  50.                 CLK=0;            
  51.                 if(dat&0x80)  MOSI=1;
  52.                 else          MOSI=0;
  53.                 CLK=1;               
  54.                 dat<<=1;
  55.         }
  56. }

  57. void display()
  58. {
  59.         unsigned char i;
  60.         for(i=0;i<6;i++)
  61.         {
  62.                 write_164(Tab[DS_data]);
  63.                 P2=0x3f&(~(0x01<<i));     //数码管位 共阴低电平选中seg1对应P2.5 seg6对应P2.0
  64.                 delay1ms();
  65.                 P2=0xff;        //数码管灭
  66.         }

  67. }

  68. main()
  69. {
  70.         separateData(654321);
  71.         while(1)
  72.         {
  73.                 display();
  74.         }
  75. }

复制代码
回复

使用道具 举报

5#
ID:448852 发表于 2019-1-2 08:35 | 只看该作者
angmall 收到,谢谢大佬。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表