标题: 双位数码管的显示问题 [打印本页]

作者: 清醒梦    时间: 2019-1-11 10:34
标题: 双位数码管的显示问题
论坛里面的各位,想问一下,双位数码管显示相同的数字,是什么问题呢,数码管的显示程序是这样的。数码管的位选由三极管驱动。
void display()       //显示程序
{
   P2=b[0],P0=a[NB%10];      /*由k的不同值进入确定显示数值*/
   delay(100);

   P2=b[1],P0=a[NB/10];
   delay(100);

   P2=b[2],P0=a[DX%10];
   delay(100);
         
   P2=b[3],P0=a[DX/10];
   delay(100);
}


作者: wc86110    时间: 2019-1-11 11:49
哪有问题,想要不同自个改就好
作者: HC6800-ES-V2.0    时间: 2019-1-11 13:06
用我这个试试,就是你的程序,我改了点符号,自己看,问题在哪里!
void display()       //显示程序
{
   P2=b[0];P0=a[NB%10];      /*由k的不同值进入确定显示数值*/
   delay(100);

   P2=b[1];P0=a[NB/10];
   delay(100);

   P2=b[2];P0=a[DX%10];
   delay(100);
         
   P2=b[3];P0=a[DX/10];
   delay(100);
}
作者: xuyaqi    时间: 2019-1-11 13:14
把段码输入后应该有位选输入,这样才能各位显示不一样。
作者: 累不死的狗    时间: 2019-1-11 14:25
这程序不能通过吧?

作者: 累不死的狗    时间: 2019-1-11 14:26
你那个格式都不对

作者: 累不死的狗    时间: 2019-1-11 14:27
你那个是几位数码管?
我看像是四位的数码管啊

作者: 清醒梦    时间: 2019-1-11 15:55
是两位数码管,程序改了,还是显示一样的数字,好像不能
作者: 清醒梦    时间: 2019-1-11 16:11
请问哪里的格式不对,可以说清楚一些吗?
作者: 清醒梦    时间: 2019-1-11 16:38
用了两个双位数码管
作者: 杀死比亚    时间: 2019-1-12 07:51
你在每位数码管显示后面加一句P0=0(共阴);如果是共阳让P0=0xff;这样的作用是每一位数码管显示完了以后,要将P0口的数据清零,不然会影响下一位显示,如果还不行,加上适当的延时函数
作者: gh001    时间: 2019-1-12 09:25
你的问题可能出现在位选信号上面
作者: 清醒梦    时间: 2019-1-12 10:39
位选信号也要延时吗
作者: 清醒梦    时间: 2019-1-12 10:41
加了P0=0xff,也延时了,但还是显示两个相同的数字。
作者: wh8010jky    时间: 2019-1-12 10:43
可能是位选不对,那个P2=[0] P2=[1] P2=[2] P2=[3] 是什么意思?把数组[]贴出来看看

作者: 清醒梦    时间: 2019-1-12 11:03
本帖最后由 清醒梦 于 2019-1-12 12:54 编辑

位选信号有什么问题,求指导,共阳极数码管的位选信号接pnp型三极管的集电极,发射极接电源,基极接单片机的P2口
作者: 清醒梦    时间: 2019-1-12 12:05
uchar code b[4]={0x01,0x02,0x04,0x08}; //位码组合
作者: GUELL    时间: 2019-1-12 14:48

#include<reg51.h>
#define uchar unsigned char
typedef unsigned char uint8;     
sbit  led1=P3^2;
sbit  led2=P3^3;
uchar code table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uchar ms,i,num=12;
void delay(uint8 ms)   
  {
  uint8 i;
  while(ms--)
    {
    for(i=0;i<120;i++);
    }
  }
void main()
  {
  while(1)
   {
   led2=1;
   P1=table[num%10];
   led1=0;
   delay(1);
   led1=1;
   P1=table[num%100/10];
   led2=0;
   delay(1);
   }
}

LED.jpg (77.95 KB, 下载次数: 42)

LED.jpg





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1