标题: 大佬帮忙看看,单片机没电输出,8段四位数码管 [打印本页]

作者: happy2058    时间: 2020-4-27 01:16
标题: 大佬帮忙看看,单片机没电输出,8段四位数码管
接线检查过来,11对应,就是没电来
用的是共阳8段四位数码管,8段接P0,有上拉,片选接P0~P3


#include <reg52.h>
//                 0   1   2   3   4   5   6   7  8    9
unsigned char LED8DATA_One[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
//                 高位       底位
unsigned char LED8DATA_Two[4] = {0x01, 0x02, 0x04, 0x08};
unsigned char led[4] = {0x00};
unsigned char k=0;
int minute = 0,sec = 0;
unsigned int Counter=0;
void LEDDATA(unsigned char MM, unsigned char jj)
{
P1 = MM;
P3 = jj;
}
void Time1_Init()
{
TMOD |= 0X10;
TMOD &= 0XDF;
TH1 = 0XFC;
TL1 = 0X66;
TR1 = 1;
}
void int_Init()
{
ET1 = 1;
EA = 1;
}
void main()
{
Time1_Init();
int_Init();

while (1);
}
void interrupt_time_1() interrupt 3
{
TH1 = 0XFC;
TL1 = 0X66;
Counter++;
if (1000 == Counter)
{
  Counter = 0;
  sec++;
  if (sec == 60)
  {
   minute++;
   sec = 0;
  }
  led[3] = sec % 10;
  led[2] = sec / 10 % 10;
  led[1] = minute % 10;
  led[0] = minute / 10 % 10;
}
if (k < 4)
{
  k++;
}
else
{
  k = 0;
}
LEDDATA(LED8DATA_One[led[k]],LED8DATA_Two[k]);
}


作者: man1234567    时间: 2020-4-27 09:22
P1、P3是啥东东
作者: benclee    时间: 2020-4-27 10:12
#include <reg52.h>
//                 0   1   2   3   4   5   6   7  8    9
unsigned char LED8DATA_One[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
//                 高位       底位
unsigned char LED8DATA_Two[4] = {0x01, 0x02, 0x04, 0x08};
unsigned char led[4] = {0x00};
unsigned char k=0;
int minute = 0,sec = 0;
unsigned int Counter=0;
void LEDDATA(unsigned char MM, unsigned char jj)
{
P1 = MM;
P3 =jj;
}
void Time1_Init()
{
//TMOD |= 0X10;
//TMOD &= 0XDF;          
EA = 1;
TMOD=0X10;
TH1 = 0XFC;
TL1 = 0X66;
ET1 = 1;
TR1 = 1;
}
void delay(int i)
{ int a,b;
for(        a=0;a<i;a++)
   for(b=0;b<200;b++)
   ;

}
void main()
{
Time1_Init();
while (1)
  { led[3] = sec % 10;
  led[2] = sec / 10 % 10;
  led[1] = minute % 10;
  led[0] = minute / 10 % 10;
     if (k < 4)
     {
        k++;
     }
      else
      {
       k = 0;
        }
     LEDDATA(LED8DATA_One[led[k]],LED8DATA_Two[k]);
     delay(5);
     P0=0X00;
  }
}
void interrupt_time_1() interrupt 3
{
TH1 = 0XFC;
TL1 = 0X66;
Counter++;
if (1000 == Counter)
{
  Counter = 0;
  sec++;
  if (sec == 60)
  {
   minute++;
   sec = 0;
  }
  
}
}
TOMD定时器设置不对
作者: happy2058    时间: 2020-4-27 23:24
man1234567 发表于 2020-4-27 09:22
P1、P3是啥东东

IO 口 P1和P3
作者: happy2058    时间: 2020-4-29 12:25
benclee 发表于 2020-4-27 10:12
#include
//                 0   1   2   3   4   5   6   7  8    9
unsigned char LED8DATA_One[10]  ...

是我学习板上IO有冲突,谢谢你哦




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