認識數碼管
數碼管是一種半導體發光器件,其基本單元是發光二極體。數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多乙個發光二極體單元(多乙個小數點顯示),本實驗所使用的是八段數碼管。按發光二極體單元連線方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極體的陽極接到一起形成公共陽極(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....