单片机数码管亮度很低,哪位大神帮忙看一下代码哪里出错了?

#include<reg51.h>#include<intrins.h>intnum=0;sbitkey_s2=P3^3;sbitQ=P2^7;sbitW=P2^6;sb... #include <reg51.h>
#include <intrins.h>
int num=0;
sbit key_s2=P3^3;

sbit Q=P2^7;
sbit W=P2^6;
sbit E=P2^5;

void timer1init();
void delay(char k)
{

while(k--);
}

void display(int i)
{

static int wei;
char code a[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

switch(wei)
{
case 0: P0=a[i/100]; Q=0; P0=a[i/100]; Q=1; break;
case 1: P0=a[i%100/10]; W=0; P0=a[i%100/10]; W=1; break;
case 2: P0=a[i%10]; E=0; P0=a[i%10]; E=1; break;
}

wei++ ;
if(wei==3)
wei=0;
delay(2);

}
void timer0init()
{
EA=1;
ET0=1;
TR0=1;
TMOD |=0x01;
TH0=0xed;
TL0=0xff;
}

void main()
{

timer0init();

while(1)
{
if(key_s2==0)
delay(100);
if(key_s2==0)
{
num++;

while(!key_s2);
}

}
}

void int1() interrupt 1
{
TH0=0xed;
TL0=0xff;

display(num);
}
展开
 我来答
lycdl
高粉答主

2019-08-15 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2万
采纳率:94%
帮助的人:4889万
展开全部
单片机数码管亮度很低,只看宽歼代码,不好液雀判断原因。不论什么程序,都是针对具体电路而写的,如果程序与电路不符,就慎埋冲不会正常工作,当然数码管显示也不正常。你这是实物开纹板吗,数码管是3位共阳的吗,具体电路没有图吗?
更多追问追答
追问

追答
要看的是数码管电路,可你却正好把数码管电路切掉了,真的对电脑一点也不懂吗,可那上的汉字总认识吧?
丁丁舞台
2024-12-13 广告
作为广州丁丁舞台技术有限公司的工作人员,我们深知LED显示屏维护的重要性。日常维护需确保工作环境温度在-20℃至50℃、湿度10%至90%RH内,避免恶劣环境,远离易燃易爆物品。需定期清洁模组表面,使用软毛刷或酒精擦拭,避免使用液体。同时,... 点击进入详情页
本回答由丁丁舞台提供
匿名用户
2019-08-15
展开全部
void main()
{

timer0init();

while(1)
{
display(num);
if(key_s2==0)
delay(100);
if(key_s2==0)
{
num++;

while(!key_s2);
}

}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式