ob体育竞彩 _欧宝体育在线链接 學習網站

如何使用C語言控製硬件

時間:2022-05-05 09:44 來源:未知

C語言的應用編程在單片機的領域占了很大一部分,使用的比較多的51單片機和STM32單片機都可以使用MDK軟件編寫固件。

單片機燒寫了固件後可以點亮LED燈,可以驅動ADC檢測電壓,也可以驅動蜂鳴器發聲,這就是簡單地控製硬件。稍微複雜一點的,可以驅動NRF2401進行無線的連接,也可以使用ESP8266這類wifi芯片連接網絡。

接下來,簡單地講講如何使用C語言控製硬件。

1、電路連接
簡單的模塊可以直接使用高低電平來控製,比如紅外線發射模塊,當你在驅動引腳上的電壓達到3.3v,就能發出紅外線;然後將電平設置為0v,紅外線發射就停止了。

一般而言,單片機的引腳輸出電壓能夠達到3.3v,也是可以點亮紅外線LED,但是可能會導致電流不穩定的問題,所以一般會使用一個三極管接在引腳和LED之間放大電流的驅動能力。


從原理來說,通過加在LED上的電平不停的變化,並且嚴格按照一定的時間設置為高電平,然後變更為低電平,如此的反複循環,那就能夠發出一段紅外線控製碼。隻要手速夠快,時間夠精準完全能夠控製家裏的電視機、空調。

2、單片機控製硬件
上麵說到純手工控製模塊遙控電視機、空調,但是實際上誰有這樣的手速呢,即便有這樣的手速那開關也受不了這樣的操作頻率。

好了,到了這會我們的單片機該閃亮登場了。以常用的51單片機而言,頻率可以達到12MHZ。翻譯成大白話就是,一秒鍾可以按下開關12x10的6次方次。這簡直是魔鬼手速,不僅快而且精準。關鍵是價錢也不太貴。比如,diy一個遙控器,電路板上IC的價格不過3塊錢。

單片機在這裏就替代了手的作用,那麼C語言就相當於控製手的大腦。

其實這裏隻是舉例了硬件控製中最常用的IO控製,實際的應用情況中除了IO控製,還有常用的ADC控製,這個就相當於單片機替你把使用萬用表測量電壓的活給幹了。

3、C語言控製單片機
如果要從原理上來說,C語言並不能直接控製單片機。C語言是高級語言,是給我們人類來看的,單片機作為機器自然不懂這個。它隻懂機器語言,說白了就是高低電平。但是為了減少歧義,就將這高低電平規格化了,變成了數字的0和1。

編譯器的工作其實就是將我們編寫的C原因翻譯成了數字0和1存到單片機裏麵。然後,單片機就按照這個固定的模式去比對,然後去執行。有點像上學時,老師在台上點名的意思。

總的來說,C語言控製單片機,單片機控製硬件

    看過《如何使用C語言控製硬件》的人還看了以下文章
    c語言怎麼讀取一個變量的二進製文件內容 c語言怎麼讀取一個變量的二進製文件內容
    C語言是一種高級語言,很多設置都為了符合我們程序員的理解做了相應的調整。機器對於變量的理解是基於電路,也就是所謂的高低電平。也是因為這個出現了一個二進製。 而人類的計數更喜歡使用十進製,有專家說是因為是人類當初計數使用的手指,這樣十進製比較...
    c語言模電數電沒學可以直接學stm32單片機嗎 c語言模電數電沒學可以直接學stm32單片機嗎
    個人覺得還是要掌握一點基礎知識才能開始學。從硬件和軟件兩個方麵來說,首先硬件方麵,學單片機要懂基本的電子方麵的知識,數電和模電是最基礎的,一般搞嵌入式的都要能看得懂原理圖,需要知道自己的輸入、輸入分別是什麼,這就牽涉到一些比如GPIO、UART、I...
    我學單片機和C語言的經曆 我學單片機和C語言的經曆
    我在大一的時候加入實驗室,不懂單片機,也不懂 C 語言,全靠自己的興趣堅持下來的。 當時學長推薦譚浩強的書,所以從零開始看C語言,不懂地址的概念、也不懂內存是什麼。雖然書中也舉了很多例子進行說明,但我還是不知道C語言到底能幹什麼。書中有很多例題...
    為什麼不建議單片機初學編程把C語言作為入門語言 為什麼不建議單片機初學編程把C語言作為入
    作為一名單片機C語言開發工程師,對於入門編程語言,我覺得要分情況表述: 專業差異或者職業規範影響編程語言選擇 電子專業,自動化等嵌入式相關的專業, 我個人覺得,初學編程,選C語言作為入門語言,反而對整個編程生涯是有很大幫助,因為這是工作必須要的...
    學習C語言怎麼抓住重點知識點 學習C語言怎麼抓住重點知識點
    很多人在讀大學的時候,學校都有安排C語言課程,很多同學都覺得C語言非常難,都學不會。那麼C語言真的學不會嗎? 我的理解,並不是C語言有多難學,根本的狀態是,你不知道學習C語言的目的是什麼?它能用來做哪些有用的事情?唯一明確的是期末考試要考及格。...
    Baidu
    map