8段數碼管實驗

2021-10-03 11:20:30 字數 2287 閱讀 1920

認識數碼管

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

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

我們開始準備實驗用元器件。

八段數碼管1

220ω直插電阻8

麵包板1 麵包板跳線1 扎

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

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

參考程式源**:

//設定控制各段的數字io 腳

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

digital_2

(void

)//顯示數字2

void

digital_3

(void

)//顯示數字3

void

digital_4

(void

)//顯示數字4

void

digital_5

(void

)//顯示數字5

void

digital_6

(void

)//顯示數字6

void

digital_7

(void

)//顯示數字7

void

digital_8

(void

)//顯示數字8

void

digital_9

(void

)//顯示數字9

}void

digital_0

(void

)//顯示數字0

}void

digital_point

(void

)//顯示數字.

void

setup()

void

loop()

}

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

七段數碼管顯示實驗

連線模組埠的中間變數使用wire型別,而不應該是reg型別 不能再always裡呼叫模組 在verilog中,所有的埠隱含地宣告wire型別 如果輸出型別的埠需要儲存數值,則必須將其顯式地宣告為reg資料型別。不能將input和inout型別的埠宣告為reg資料型別,因為reg型別的變數是用於儲存數...

7段數碼管繪製

import turtle,time def drawgap turtle.speed 0 設定畫筆速度 fastest 0 fast 10 normal 6 slow 3 slowest 1 turtle.turtle screen.delay 0 畫筆速度無延遲turtle.penup turt...

7段數碼管繪製

import turtle,datetime def drawgap 繪製數碼管間隔 turtle.penup turtle.fd 5 def drawline draw 繪製單段數碼管 drawgap turtle.pendown if draw else turtle.penup turtle....