例程 15 數碼管

2021-08-28 04:13:32 字數 1844 閱讀 1809

數碼管介紹 

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

本實驗用的是共陰極的數碼管,共陰數碼管在應用時應將公共極接到gnd,當某一欄位發光二極體的陽極為低電平時,相應欄位就點熄滅。當某一字段的陽極為高電平時,相應欄位就點亮。介紹完原理,我們開始準備實驗用元器件:

八段數碼管*1 

220ω直插電阻*8

麵包板*1 麵包板跳線*1 扎

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

按照右圖鏈結好電路後,就可以開始編寫程式了。

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

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

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

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

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

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

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

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

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_a(void) //顯示字母a

void setup()

void loop()

}

數碼管顯示

數碼管顯示 最近因為對突然對電子感興趣,前幾天在路過電子 時買了乙個數碼管。因為以前總是紙上談兵,根本沒實驗過,連數碼見都沒見過,所以開始覺得將這塊數碼管顯示出來是非常具有挑戰性的工作。今天正好有空,拿來了我的數碼管,並在網上看了一些資料,才發現並不是想象中的那麼難,其實更準確的說是太簡單了。不到半...

數碼管顯示

一 區分數碼管的類別 共陰數碼管 即所有數碼管的陰極接在一起。要使某個數碼管點亮,只需置上高電平,中該位置 1 共陽數碼管 即所有數碼管的陽極接在一起。要使某個數碼管點亮,只需置上低電平,中該位置 0 二 單個數碼管顯示 a h 表示單個數碼管上面的8個led。根據共陰共陽的特性,點亮相應的led,...

數碼管原理

一 數碼管內部構造 數碼管也稱led數碼管,晶美 光電 不同行業人士對數碼管的稱呼不一樣,其實都是同樣的產品。數碼管按段數可分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多乙個發光二極體單元 多乙個小數點顯示 按能顯示多少個 8 可分為1位 2位 3位 4位 5位 6位 7位等數碼管 按發光二極...