1樓:匿名使用者
#include
unsigned char scandate[4]=; //數碼管切換碼
unsigned char viewdate[4]=; //數碼管顯示碼
unsigned char getdate; //要顯示的變數
void time_delay1ms(unsigned int count)
unsigned j;
while(count--!=0)
for(j=0;j<72;j++);
void main()
unsigned i=0;
while(1)
getdate=234; //這裡更改變數值
p0=0x00;
p0=scandate[i]+viewdate[i]; //輸出選擇碼和顯示碼
time_delay1ms(1); //數碼管的切換時間
viewdate[2]=getdate/100; //提取變數getdate的百顯示編碼
getdate=getdate%100;
viewdate[1]=getdate/10; //提取變數getdate的十位顯示編碼
viewdate[0]=getdate%10; //提取變數getdate的個位顯示編碼
/*以上四行程式,用來把一個變數轉換為顯示碼*/
i++;
if(i==4)i=0;
祝您好運,這是我寫的程式!
2樓:匿名使用者
很簡單呀 一點都不難 首先申明一個陣列 陣列裡面存的都是 數碼管的狀態真值
這個可以查你的那個型號的數碼管的真值表。。
然後呼叫陣列 傳送到px埠 就可以啦 很簡單的承接各種微控制器業務 qq 357329481
微控制器數碼管動態掃描,微控制器動態掃描數碼管問題?
你的bai延時函式時間太短了 下面du 說工作流程 第一個管子zhi 的位選開啟,選dao中第一個管,關位版選,段選開啟,送權資料,關段選延時delay 5 注意這裡,人的眼睛有視覺暫留,大約0.1 0.4秒,如果你延時很短,這兩個數碼管分先後,第一個亮,然後第二個亮,迴圈往復,但是你的眼睛分辨不出...
微控制器數碼管顯示為什麼不均勻,如何讓微控制器不同數碼管同時顯示不同數?
i1 c 100000 4 十萬位j1 c 100000 10000 4 萬位k1 c 10000 1000 4 千位i0 c 1000 100 4 百位j0 c 100 10 4 十位 k0 c 10 4 個位 上面的運算很耗資源,相當於一個大的延時程式,絕對比 delay 25 大得多,這一點你...
微控制器控制數碼管為什麼顯示很暗使用微控制器驅動4位數碼管,亮度不一樣,第一位很亮,其他很暗,為什麼?
長期點亮就是 數碼管最亮 的時候。但動態顯示中做不到長期點亮,那麼就要換種說法 最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。又但是,動態顯示中,數碼管亮的時間越長,幾個數碼管就會變得一閃一閃的,甚至是,一個亮完另一個亮,跟流水燈似的。這就是所謂的 刷屏!因此,...