藍橋杯 — 蜂鳴器、繼電器、LED、數碼管的初始化詳解

1、初識蜂鳴器

相信大多同學拿到板子寫入代碼的時候,會出現蜂鳴器發響的現象,不知道的還以爲板子有問題呢,我們也沒有寫入蜂鳴器相關操作,那爲什麼蜂鳴器會響呢?這個問題我們先不急討論,接下來先看蜂鳴器繼電器總體原理圖如下:

圖1:總體電路圖

(1)蜂鳴器

圖2:蜂鳴器

   蜂鳴器工作條件是: N BUZZ=0,即爲低電平時。

(2)繼電器

圖3:繼電器

   繼電器工作條件是:N RELAY=0,即爲低電平。

(3)LED

   LED的573使能端由Y4C控制的,所以當LED工作時,要把Y4C=1,即爲高電平。 

(4)數碼管

   數碼管DS1與DS2由Y6C和Y7C控制。必須使Y6C=1,Y7C=1這樣數碼管才能工作,而Y7C控制abcdefg和dp;Y6C控制com。

   接下來進行逐一瞭解內部原理圖具體含義。

2、瞭解系統組成原理圖

(1)74HC138(俗稱38譯碼器)

   74HC138譯碼器可接受3位二進制加權地址輸入(A, B和C),並當使能時,提供8個互斥的低有效輸出(Y0至Y7)。

    (2)74HC02

   WR與GND用跳帽連接起來,即WR爲低電平0。

   結合(1)(2)從表中可以看出:當ABC輸入爲101時Y5爲低電平,打開Y5C=1控制蜂鳴器繼電器等模塊。接下來繼續瞭解原理圖,現在是蜂鳴器繼電器模塊已經開始工作,看看繼電器與蜂鳴器的控制接口是啥?

(3)ULN2003(反相器)和M74HC573(鎖存器)

從圖中看出,P06控制着蜂鳴器,P04控制着繼電器。二者依次經過了鎖存器(數據不變)、反相器(數據取反),在結合上述蜂鳴器繼電器工作條件可知:當P06=0、P04=0時,關閉了繼電器蜂鳴器。

3、控制繼電器蜂鳴器操作步驟

 結合上述原理來說,首先設置74HC138譯碼器A、B、C分別爲1、0、1,即:

P25=1;
P26=0;
P27=1;

 這是滿足了Y5=0;進而得到Y5C=1,打開了573使能端。

 然後再控制P06和P04進而對蜂鳴器繼電器的控制。大致就這些。

4、繼電器、蜂鳴器、LED、數碼管初始化代碼

初始化繼電器蜂鳴器:

void init_buzzer_relay(){
P2=0XA0; //P27=1,P26=0,P25=1,其餘爲0,此時38譯碼器中的Y5=0,進而的得到Y5C=1
P0=0X00; //P06=0關閉蜂鳴器,P04=0關閉集電器
}

初始化LED:

void init_led(){
P2=0X80; //P27=1,P26=0,P25=0,其餘都爲0,此時38譯碼器中的Y4=0,進而得到Y4C=1
P0=0XFF; //關閉所有LED燈
}

 初始化數碼管:

void init_DS1_DS2(){
P2=0XC0; //P27=1,P26=1,P25=0,其餘爲0,此時38譯碼器中的Y6=0,進而的得到Y6C=1
P0=0X01; //選擇數碼管位置操作,此時選的爲DS1的第一個位置
P2=0XFF; //P27=1,P26=1,P25=1,此時38譯碼器中的Y7=0,進而的得到Y7C=1
P0=0XFF	 //數碼管顯示數字操作,此時是全關閉
}

  上述詳細的解釋了繼電器蜂鳴器、LED、數碼管的初始化操作,以上就是我們剛開始寫代碼時候的一些初始化操作,當時並不瞭解爲啥初始化操作是這些,剛開始寫的時候都是自己背會,並沒有瞭解其中的原理,每個模塊學完時候再去了解這些初始化操作,感覺會豁然開朗。這部分就這麼多,關鍵是自己理解原理圖加上實踐。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章