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