|
10黑幣
新手請教下各位大神,原理圖如圖所示,我的程序數碼管亮度很暗,同樣的程序開發板亮度可以,為什么在自己做的板子上亮度會很暗呢,有什么解決辦法啊
1629956856(1).jpg (44.32 KB, 下載次數: 120)
下載附件
2021-8-26 13:49 上傳
單片機源程序如下:
char smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uint x)
{
while(x--);
}
void Digplay()
{
uchar x,sec,min,sum;
delay(10000);
sum++;
if(sum==50)
{
sec++;
sum=0;
}
if(sec==60)
{
sec=0;
min++;
}
if(min==60)
min=0;
for(x=0;x<4;x++)
{
switch(x)
{
case 0:COM0=1;COM1=0;COM2=0;COM3=0;P0=smgduan[sec%10];break;
case 1:COM0=0;COM1=1;COM2=0;COM3=0;P0=smgduan[sec/10];break;
case 2:COM0=0;COM1=0;COM2=1;COM3=0;P0=smgduan[min%10];break;
case 3:COM0=0;COM1=0;COM2=0;COM3=1;P0=smgduan[min/10];break;
default:break;
}
// delay(100);
//P0=smgduan[x];
delay(3000);
P0=0x00;
}
}
|
最佳答案
查看完整內容
如果程序沒有什么別的事要做,直接用延時就行,如果是初學者,沒有必要把程序搞得太麻煩,等到你學會了,這種Delay()基本就可以不用在主函數中了輸出端口要設定成強推挽輸出,幾個三極管是沒有必要的,實際電路用20mA的驅動電流是完全足夠的
這個是我的,參考一下,實際驗證通過的
#include
sbit com0=P2^0;
sbit com1=P2^1;
sbit com2=P2^2;
sbit com3=P2^3; //定義4個com端口
#define out P0 //p0 為顯示
sfr P0M0=0x94;
sfr P0 ...
|