Arduino練習十一 數碼管顯示實驗

2021-09-25 08:45:49 字數 1460 閱讀 1728

數碼管是一種半導體發光器件,其基本單元是發光二極體。數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多乙個發光二極體單元(多乙個小數點顯示),本實驗所使用的是八段數碼管。按發光二極體單元連線方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極體的陽極接到一起形成公共陽極(com)的數碼管。共陽數碼管在應用時應將公共極com 接到+5v,當某一欄位發光二極體的陰極為低電平時,相應欄位就點亮。當某一字段的陰極為高電平時,相應欄位就不亮。共陰數碼管是指將所有發光二極體的陰極接到一起形成公共陰極(com)的數碼管。共陰數碼管在應用時應將公共極com 接到地線gnd 上,當某一欄位發光二極體的陽極為高電平時,相應欄位就點亮。當某一字段的陽極為低電平時,相應欄位就不亮。

數碼管的每一段是由發光二極體組成,所以在使用時跟發光二極體一樣,也要連線限流電阻,否則電流過大會燒毀發光二極體的。本實驗用的是共陰極的數碼管,共陰數碼管在應用時應將公共極接到gnd,當某一欄位發光二極體的陽極為低電平時,相應欄位就點熄滅。當某一字段的陽極為高電平時,相應欄位就點亮。

元件

我們參考實物連線圖按原理圖連線好電路。

數碼管共有七段顯示數字的段,還有乙個顯示小數點的段。當讓數碼管顯示數字時,只要將相應的段點亮即可。例如:讓數碼管顯示數字1,則將b、c 段點亮即可。將每個數字寫成乙個子程式。在主程式中每隔2s 顯示乙個數字,讓數碼管迴圈顯示1~8 數字。每乙個數字顯示的時間由延時時間來決定,時間設定的大些,顯示的時間就長些,時間設定的小些,顯示的時間就短。

參考程式源**

int a=7;//定義數字介面7 連線a 段數碼管

int b=6;// 定義數字介面6 連線b 段數碼管

int c=5;// 定義數字介面5 連線c 段數碼管

int d=10;// 定義數字介面10 連線d 段數碼管

int e=11;// 定義數字介面11 連線e 段數碼管

int f=8;// 定義數字介面8 連線f 段數碼管

int g=9;// 定義數字介面9 連線g 段數碼管

int dp=4;// 定義數字介面4 連線dp 段數碼管

void digital_1(void) //顯示數字1

void setup()

void loop()

}

其餘的數字與一同理。

在setup()前面定義了一系列的數字顯示子程式,這些子程式的定義可以方便在loop()中使用,使用時只需將子程式的名寫上即可。

Arduino 數碼管LED屏驅動

今天測試數碼管led屏驅動,用某產品的乙個共陰極的led屏,依據電路圖做數碼管led屏的檢測。寫得有些冗長,有好幾種驅動的方法,這裡僅僅是當中一種最直接的方案,抽出時間要做個更有效率的呼叫和驅動的方案。設定陰極介面 int d1 1 int d2 2 int d3 3 int d4 4 int d5...

Arduino 模擬交通燈( 數碼管讀秒)

此次加上了行人過街按鈕與數碼管,一下子 的複雜度就提高了不少。1.主要是多工的問題。使用millis 函式進行多工處理,而不是使用delay 使用delay 可能會阻止我們在 等待 時執行 比如這裡就是我們的按鈕,它是需要時刻待命的。而且millis 具有更加準確的時間安排,這裡不再多說。2.數碼管...

基於數碼管和OLED的Arduino桌面級顯示裝置

前天才回到學校,打掃了兩天的宿舍,今天終於有空整理自己的東西了。於是我找到了塵封已久的基於數碼管和oled的arduino桌面級顯示裝置 之前做好了,但是由於各種原因被我拆掉了一些零件 今天可算是把它修復了,以後就掛宿舍欣賞了 手動滑稽 關於數碼管程式及oled的arduino程式編寫可檢視我之前的...