c语言与硬件连接案例,实际LED硬件连接
1.三極管認識
假如我們的開發板的硬件連接有如下情況,我們需要點亮LED,需要怎么做?
????????????????
先看左圖,要想點亮LED,根據本章第一講知識,只需“+5”與R1是短接狀態即可,那么PNP型三極管就是起到被單片機IO端口控制是否允許此處短接的作用,也叫三極管是否導通。
如果單片機IO端口輸出的是低電平(0V),此時我們可以直觀的認為“+5”那端與單片機IO端口形成壓差有電流通過,而電流流向正如箭頭所示,則表明此時“+5”與R1是短接狀態,三極管導通,燈就被點亮了。
那單片機IO端口輸出的是高電平(5V)時,則沒有形成壓差也就產生不了電流,那么箭頭不能代表此時有電流流向這個方向,所以“+5”與R1是斷開狀態,燈沒有被點亮。箭頭起到的就是輔助我們理解的優勢。
這樣我們可以根據箭頭很形象的判斷出單片機IO端口輸出什么電平狀態時就可以點亮LED。R1,R2電阻起到的是限流保護。
同理,右圖使用的是NPN型三極管,那么單片機IO端口輸出高電平時點亮LED,輸出低電平時點不亮LED。
《手把手教你學51單片機》文檔第3.3節有全面講解這部分知識。
2.三八譯碼器
有一種元器件只需要用到我們單片機三個IO端口就可以控制它的八個引腳其中的一個輸出低電平,開發板就用到這種叫74HC138三八譯碼器。我們省略它的電源供電引腳,畫出需要講解的引腳。
首先有三個引腳E0,E0,E1需要固定給它默認的電平它才能正常工作,俗稱使能器件。
此時3個單片機IO端口輸出不一樣的電平時,IO0~IO7的其中一個引腳就會輸出低電平,而其他7個IO都是輸出高電平。
當我們的三個IO端口這樣輸出時,則有以下情況
單片機IO端口3(輸出0)
單片機IO端口2(輸出0)??? → IO0輸出0
單片機IO端口1(輸出0)
單片機IO端口3(輸出0)
單片機IO端口2(輸出1)??? → IO2輸出0
單片機IO端口1(輸出0)
一句話總結,三個IO端口輸出的三個值從 IO端口3→IO端口2→IO端口1排成二進制數的得數就是哪個IOx輸出低電平。比如三個IO端口這樣輸出:1 1 0。此時二進制值為十進制的6,那么IO6就輸出低電平,其他輸出高電平。
不過僅憑我們這樣粗淺的講解初學者會有疑惑,所以大家前往《手把手教你學51單片機》文檔第三章深入學習了解這些元器件,多琢磨幾遍,每遍都會有更深入的認識。
3.原理圖新知識
我們先拿上一講的原理圖與圖二對比
圖一:
圖二:
上下兩張圖都表示同一個連接原理,圖一比較直觀看到1盞燈直接連上1個IO端口,而圖二為了使觀賞性更舒適,用兩個名字相同的標號(網絡標號)放在斷點處,表示這兩點代表著硬件連接中有一條覆銅線相連。平時閱讀原理圖我們推薦使用圖二,不然用圖一模式時元器件連接多了就會感覺太花眼。
我們通過對比以下兩張圖就看到使用網絡標號的優勢所在
總結
以上是生活随笔為你收集整理的c语言与硬件连接案例,实际LED硬件连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux apache2 伪静态,li
- 下一篇: mooc c语言测验答案,MOOC-SP