找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

关于数码管显示亮度问题

[复制链接]
admin 发表于 2012-9-2 10:22:57 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
我用不同的方式写了两个中断控制显示的程序,但它们显示的亮度不相同,相差很大,哪位大虾看看问题出在哪里?
大概框架为

#头文件
中断初始化程序,延时程序,table表,
void main()
{定义变量;
while(1){//里面是判断是否有键按下的程序}
}


其中中断程序一为:
void time0_rupt(void) interrupt 1 using 2

{ int i;

TH0=0xff; //定时初值设定
TL0=0x00;

for(i=1;i<4;i++) //显示3位
{ P1=tnumber; //位码
w_chose=1; //位选开
w_chose=0;

P1=temp[i-1]; //段码,主程序有temp的赋值语句;
d_chose=1; //段码开

d_chose=0;

P1=0x00;//消影
d_chose=1;

d_chose=0;

}

}
程序二为:
void time0_rupt(void) interrupt 1 using 2

{ int i;

TH0=0xff;

TL0=0x00;

for(i=1;i<4;i++)

{ P1=tnumber;//位码
w_chose=1;

w_chose=0;

switch(i)

{case 1:P1=tdisplay[j%1000%100%10];break; //j为全局变量,tdisplay为段码设定数组,0-9位分别存放的是0-9显示值
case 2:P1=tdisplay[j%1000%100/10];break;

case 3:P1=tdisplay[j%1000/100];break;

}

d_chose=1;

d_chose=0;

P1=0x00;//消影
d_chose=1;

d_chose=0;

}
显示和执行都没有问题,就是亮度有差异。
如果说程序一显示的亮度为100%的话,程序二显示的亮度就只有50%了。

*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-24 16:37 , Processed in 0.051784 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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