arduino八位數(shù)碼管怎么同時顯示數(shù)?
這個要看你的硬件電路了??梢苑譃閯討B(tài)掃描和靜態(tài)顯示,會顯示一位,所以很容易顯示靜態(tài)的八位。對于動態(tài)掃描的復雜點,單位時間只顯示一位。當切換速度非??鞎r,相當于只用一位就顯示了所有的數(shù)字。一般事先做一個表,找到的數(shù)據(jù)可以根據(jù)數(shù)字查找表送到數(shù)字驅(qū)動電路。
如何設計一個單片機可控的循環(huán)流水燈?
首先,在硬件方面,我們采用最經(jīng)典的AT89S51單片機作為主控芯片。
LED電路采用共陽極連接個紅色LED燈的陽極接5V電源,每路串聯(lián)一個限流電阻,保護LED不被燒壞,同時將LED的工作電流控制在10mA以內(nèi);根據(jù)IU/R,選擇大小為1K的電阻。陰極分別連接到P1.0~P1.7端口,構(gòu)成LED驅(qū)動電路。
這些鍵是獨立的鍵。選擇與按鍵串聯(lián)的10K電阻,一端接5V,另一端接單片機的IO口P2.0,如下圖所示:
讓讓我們來看看軟件部分:
首先包含頭文件,調(diào)用51單片機的寄存器定義。第二行的sbit用來定義一個pin值(即P2.0用KEY表示);
這是一個延遲調(diào)用函數(shù)。在這個函數(shù)中,我們定義了兩個變量,然后使用兩個for循環(huán)。內(nèi)部J函數(shù)是基本的延遲單元,參數(shù)tim代表具體的延遲時長。
這種延時功能,具體的延時時間,可以通過延時功能翻轉(zhuǎn)IO口,用示波器查看翻轉(zhuǎn)時間周期,就可以確定這個延時功能的真實延時時間。
這部分是關(guān)鍵的處理功能。它首先檢測是否有按鍵被按下,并使用Delayms來延遲抖動,然后等待按鍵被釋放,然后切換狀態(tài)變量。
如上圖所示,在while(1)中,每次循環(huán)1ms,num的個數(shù)代表num加1時的ms數(shù)。
當設置模式1時,所有的發(fā)光二極管都打開。
在模式2下,led全部關(guān)閉。
模式3或模式4,led數(shù)碼管間隔點亮。
Mode5,mode6led兩種led流量開和關(guān)。
按鍵切換不同led燈的效果。
以上是這個問題的答案,難免會有疏漏或錯誤。
歡迎大家留言,轉(zhuǎn)發(fā),點贊,關(guān)注!
謝謝大家
誰問的這個問題,這么簡單問,回百度~~~
1.LED可以通過公共陰極或公共陽極連接。
2、最佳驅(qū)動方法:查表法。(常見陰到常見陽的轉(zhuǎn)換只需要加減一個符號:~,方便改變運行列表的模式。我做過51,stm32,arduino)。
3.如果只是簡單的"流量與流量,那么用fordelay就可以簡單粗暴的完成了。如果你想添加一些其他的技巧,如電位器來控制"流速和流量,你必須打開定時器中斷并分配任務。