|
發布時間: 2020-2-28 23:15
正文摘要:#include<reg52.h> sbit LED = P0^0; sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() { while(1) { &nb ... |
| 我是來學習的 |
單片機是根據硬件電路圖的設計來寫代碼的,所以我們不僅僅要學習編程知識,還有硬件知識,也要進一步的學習
那么我們在整體捋一遍點亮LED小燈的過程,首先看74HC138,我們要讓LEDS6為低電平才能導通三極管Q16,所以ENLED = 0;ADDR3 = 1;保證74HC138使能。然后ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;這樣保證了三極管Q16這個開關開通,5V電源加到LED上。 而74HC245左側是通過P0口控制,我們讓P0.0引腳等于0,就是DB_0等于0,而右側DB0等于DB_0的狀態,也是0,那么這樣在這一排共8個LED小燈當中,只有最右側的小燈和5V之間有壓差,有壓差就會有電流通過,有電流通過我們的LED2就會發光。 |
|
在你未提供電路的情況下,我猜想 ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; 這些語句是控制一片74ls154的譯碼輸出,該芯片是4-16譯碼器,可以控制選擇16個不同的數碼管動態顯示 |