找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2348|回复: 4
收起左侧

大佬帮忙看看,单片机没电输出,8段四位数码管

[复制链接]
ID:734017 发表于 2020-4-27 01:16 | 显示全部楼层 |阅读模式
接线检查过来,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]);
}

回复

使用道具 举报

ID:584814 发表于 2020-4-27 09:22 | 显示全部楼层
P1、P3是啥东东
回复

使用道具 举报

ID:70069 发表于 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定时器设置不对
回复

使用道具 举报

ID:734017 发表于 2020-4-27 23:24 | 显示全部楼层

IO 口 P1和P3
回复

使用道具 举报

ID:734017 发表于 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有冲突,谢谢你哦
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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