如何用微控制器實現數碼管顯示1 7?求程序,和實做原理圖。。急

2022-11-15 10:00:09 字數 946 閱讀 4476

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位數碼管,亮度不一樣,第一位很亮,其他很暗,為什麼?

長期點亮就是 數碼管最亮 的時候。但動態顯示中做不到長期點亮,那麼就要換種說法 最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。又但是,動態顯示中,數碼管亮的時間越長,幾個數碼管就會變得一閃一閃的,甚至是,一個亮完另一個亮,跟流水燈似的。這就是所謂的 刷屏!因此,...