大致思路:開啟總硬體控制器 -> 開啟子硬體 -> 對子硬體操作實現功能
通過74hc138 控制 74hc02,74hc02 控制著led、蜂鳴器、數碼管(74hc573),控制選通可以選擇功能。
以實現數碼管com選擇為例:
wr通過跳線可以接地,低電平0.
控制數碼管的 74hc573 功能表:
即控制y6、wr使y6c輸出高電平(h) = 1 ,使d(n) -> q(n)輸出保持一致。
按開頭的思路來:
1、開啟總硬體控制器:
通過控制 74hc138 a、b、c -> p25、p26、p27 來實現 74hc02 的輸出1 到y6c:
2、開啟子硬體
如圖:使 a、b、c 為 l、h、h ,進而使 y6輸出0。 y6 = 0 與 wr =0 或非等於 1,實現了對74hc573晶元的啟用。然後可以對該晶元操作,即對p0口賦值進行com選。
3、 對子硬體操作實現功能
注:這裡需要注意數碼是共陰極還是共陽極的
如果為共陽極數碼管,則需要通過p0口賦值低電平(0),使其導通。共陰極反之。
這裡以共陽極為例,如對賦值 p0 = 1101,1111(2進製) = 0xdf(16進製制);
即完成了對com6數碼管的選通。
同理,以同樣的操作,可以實現數碼管的段碼顯示,led點亮、流水燈等操作。
----僅作記錄本人學習過程,如有不對之處多多指正。
藍橋杯CT107D之PCF8591
include reg52.h include intrins.h include iic.h 匯流排引腳定義 sbit sda p2 1 資料線 sbit scl p2 0 時鐘線 void iic delay unsigned char i while i 匯流排啟動條件 void iic st...
CT107D藍橋杯EEPROM使用(8)
今天我給大家講一下eeprom的使用,該記憶體採用的是iic通訊,所有我們要有乙個iic驅動程式,或者自己寫乙個,我前面寫過乙個,我這裡就不寫了。那麼下面我寫乙個開機計數的程式吧,這裡需要顯示出來。這裡我選擇數碼管顯示,數碼管驅動前面也有,我就直接用了 unsigned char read eepr...
藍橋杯CT107D之ds18b20
單匯流排延時函式 單匯流排延時函式,此處延時函式很重要,根據自己的時鐘頻率而定 void delay onewire unsigned int t y5指令集,fosc 11059200l,軟體延時15us t 1 單匯流排寫時序 通過單匯流排向ds18b20寫乙個位元組 void write ds...