日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 技術學院 > 技術前線
[導讀]初學者的態(tài)度很重要。哪一款單片機不重要,只要你精通擅長一款,日后再用其他公司的那都是小菜一碟,進而學習32位的處理器也是游刃有余,輕松自如,否則,每個單片機對你來說,都永遠處于入門狀態(tài)。

很多電子愛好者都會學習單片機,在學之前會感覺單片機好神秘的樣子,其實說白了單片機就是可以去自動的實現你的想法的一塊芯片,那在實現你想法的時候就需要外部的一些電路啊,機械結構啊(統(tǒng)稱外設)等等的作為輔助來完成。學單片機就是把你的想法告訴單片機芯片,怎么告訴它呢?

我們人類懂的是人類的語言(漢字),單片機它懂的是機器語言。人通過學習可以懂英語,德語,還可以學懂C語言,匯編語言。怎么用這些人類學會的語言轉換為單片機懂的機器語言呢,這就是學習單片機的核心部分----編程。編程的工具就是開發(fā)環(huán)境,說白了就是個寫代碼的軟件,由軟件來把我們人類的語言翻譯為機器語言給單片機識別?,F在我們推薦大家還是學C語言,優(yōu)點就不說了,百度可以找到一大堆。今天的主題就是我們如何來學這個C語言,在此特指單片機的C語言啊,更準確的說是如何來學習單片機這門手藝?

回到主題,小代在此呢總結了學習單片機的六個步驟,這幾個步驟是小代自己覺得這樣說比較好,可能也不全對,大家看看就好。

在我的學生中,不少人覺得8位機太簡單了,稍微入門就準備要學嵌入式,搞ARM,玩Linux。在他們看來,會單片機并不等于嵌入式。實際上這是兩個概念,而且你會用單片機就等于你能用單片機了嗎?不,還差很遠。不管是8位機還是32位機,它只是你解決問題的一個工具而已。很多人都會用C語言,但是有幾個人能用C語言寫出Linux和uCOS來呢?

所以,初學者的態(tài)度很重要。哪一款單片機不重要,只要你精通擅長一款,日后再用其他公司的那都是小菜一碟,進而學習32位的處理器也是游刃有余,輕松自如,否則,每個單片機對你來說,都永遠處于入門狀態(tài)。

一頁紙講清單片機

也許有人問:有沒有那么簡單呀?

當然不會那么簡單啦,首先你要把書讀薄,然后再把書讀后,最后把書放進自己腦子里,形成自己的一套思路。

理解任何一個事物,最好把握它的本質。對于各個各樣的嵌入式微處理器產品,實際上用一頁紙就可以把本質的脈絡說清楚。有這么神奇,嗯...我也是自己總結的,大家可以看看,加以斧正。

8位和32位機都可以看成是“內核+外設”的結構,外設多,單片機就復雜些,總線位數高,運行就快一些。本質上還逃不出這個架構。對于設計人員編程來說,操作外設實際上就是讀寫各種特殊功能寄存器,傳輸數據就是讀寫總線,相應外設就是處理中斷。除了這三大操作,好像沒有其他了。當然對于不同的外設,其特殊功能寄存器的定義不同,中斷向量不同,操作流程不同,但本質上還是在操作寄存器、總線和中斷。

有人不服說,不會吧,一定還有別的。當然有了,但對于初學者來說,不要鉆牛角尖,把常見的、大多數的東西把握了,慢慢再去研究小眾技能吧。上面講了這么多,實際上就想告訴初學者:嵌入式或者單片機的入門真的不難,但也不容易,需要你拿出態(tài)度來。我經常對我的學生說:“單片機或者嵌入式這東西是入門難,到經驗積累到一定程度就比較容易了?!?

一些不是建議的經驗

1、從8位單片機入門比較好一點,選好一個型號,認真學習,直到精通。

2、多練習,多寫代碼,多上網看看博客,當然自己要有一塊學習板了。

3、掌握簡單常用的模擬電路和數字電路,比如:電阻限流、電容濾波、運放放大等等,將來你在設計電路和調試程序的時候都會用到。

4、精通C語言,特別是指針和數組,最好把預處理和編譯過程了解一下。

5、掌握一個電路設計軟件,對于單片機,其實會Protell99都可以了。

6、會使用萬用表,最好有示波器啦,而且要掌握一些常用的測試手段。

7、在自己學習過程中,整理并形成自己的元器件庫和常用程序庫,這是你進階下一階段成為高手的關鍵。

8、多看看各種單片機案例,掌握各種常用芯片的使用,嵌入式就是一個逐漸積累的過程。你的嵌入式技術有多高,就看你心里的案例與資源有多少?,F在各種功能都有模塊或專用芯片,還都提供UR、SPI、IIC等接口。

表面上你用單片機在實現藍牙,實際上你只是在使用單片機的串口讀寫數據。如果說元器件電路模塊是硬件資源的積累,那么,常用接口模塊驅動程序則是軟件資源的積累。 將來在你的產品設計中,可能用到很多新的模塊和元件,只要它的接口是SPI接口、IIC接口、UR串口等你熟悉的接口,那么對于你來說,它就是一個舊模塊和元件。因為單片機實際上面對的不是模塊和元件,而是你熟悉的常用接口。

9、最好有做筆記的習慣,你也可以寫寫博客,這個到后面會有意想不到的作用。

經典51內核資源全覽濃縮圖

你不要當51單片機是高科技產品,請把它看作一款玩具。你不是在學習開發(fā),你是在玩“極品飛車”。學習會讓懶人痛苦,而玩耍會給懶人快樂,沒有愉悅的心情,還談什么學好學精?

經典款51單片機都有什么東西?一張圖就可以告訴你...


一文總結單片機初學者如何快速成為大神

<1> 四組8位并行I/O端口:

P0端口:PC門,集電極開路輸出,必須接上拉電阻才能輸出高電平。

P1端口:無特殊之處。

P2端口:訪問外部存儲器時,作高8位地址用。

P3端口:功能復用端口,詳情看表。

<2> 三大外設:外部中斷、定時/計數、串行通信

<3> 五個中斷源:2個外部中斷、2個定時/計數中斷、1個串行通信中斷

注意:要記住中斷號與中斷源的對應關系...編程時會用到!

<4> 三大特殊功能寄存器:TCON、SCON、TMOD

經典型51單片機的重要外設歸納

不管簡單還是復雜的微處理器,其基本架構都是“內核+外設”,而控制外設的重要途徑就是特殊功能寄存器。作為一個嵌入式設計師,如果做底層的程序開發(fā),絕大部分的工作都在跟各種特殊功能寄存器打交道。

51單片機的外設不多,可以分成三大塊:中斷系統(tǒng)、定時/計數器和串行接口。

要想把這些外設應用好,首先得把控制這些外設的特殊功能寄存器弄明白,其實也不多,就下面幾個:

IE寄存器:中斷控制寄存器。

IP寄存器:中斷優(yōu)先級寄存器。

TCON寄存器:中斷狀態(tài)標志寄存器。

TMOD寄存器:定時/技術模式控制寄存器。

THx和TLx寄存器:定時/計數器的技術初值寄存器。

SCON寄存器:串口控制寄存器。

SBUF寄存器:串行接口收據發(fā)送和接收緩沖器。

<1> IE寄存器與IP寄存器(IP用的不多)

一文總結單片機初學者如何快速成為大神

<2> TCON寄存器

<3> TMOD寄存器

<4> SCON寄存器

程序設計要點

<1> 引入頭文件

在單片機的程序設計中,很多時候需要操作特殊功能寄存器,而這些寄存器實際上就是芯片中的一個內存地址。我們要記住這些地址很難,而且代碼編寫也比較復雜。為了方便記憶和使用,我們給每一個特殊功能寄存器都起了一個名字。如果在程序設計中你想直接使用這些名字,那么你就需要引入對應當芯片頭文件,例如51單片機,你需要引入“reg52.h”文件。

特殊功能寄存器P0的地址為80H,引入這個頭文件之后,你就可以使用P0這個名字了

P0 = 0x02;

<2> 中斷服務函數的格式

在51單片機中有5個中斷源,每個中斷源都有固定的入口地址(也就是中斷向量)和中斷號。我們在程序設計的過程中,不需要記住中斷向量地址,但需要知道每個中斷源對應的中斷號(參考【經典51懶人5步速成法-01】)

一般情況下,中斷的處理函數有兩個,其一為中斷初始化函數,其二為中斷服務函數。初始化函數就是一個普通的函數,而中斷服務函數卻有特殊的格式要求:

A. 中斷函數沒有返回值,也不能帶參數。

B. 函數名后面要跟一個關鍵字interrupt,說明這是一個中斷服務函數。

C. 在關鍵字interrupt后面要跟上中斷號,說明這個中斷服務函數是為那個中斷服務的。

中斷服務函數的格式為:

void 函數名() interrupt 中斷號

{ ----函數體---- }

例如,定時器0的中斷服務函數,我們C語言可以這樣寫:

三大外設的開發(fā)與可重用代碼

在51內核的單片機中,主要有外部中斷、定時計數和串行通信三大外設。在其他的嵌入式芯片中,這三個外設也是必不可少的。三大外設的程序設計實際上就成了51單片機最基礎核心,掌握著三個部分的設計思路是學習單片機開發(fā)的必經之路。

編寫三大外設的程序實際上有很多類似的地方。它們都需要進行初始的寄存器配置,也就是初始化,它們都和中斷有關,都需要編寫中斷服務函數。因此,對于每一個外設,我們都需要編寫一個初始化函數和中斷服務函數。這些函數在不同的應用工程中實際上都差不多,也就是說代碼的重用性很高。

1、外部中斷模塊

在51單片機中有INT0和INT1兩個中斷模塊,外部的觸發(fā)信號可以是電平,也可以是邊沿,由寄存器TCON的IT0和IT1位來決定。


一文總結單片機初學者如何快速成為大神

2、定時/計數模塊

在51單片機中有T0和T1兩個定時器,對內部可以定時,對外部可以計數。在初始化的時候,需要確定該模塊是定時功能還是技術功能,工作模式是什么,最大計數值是多少。


一文總結單片機初學者如何快速成為大神

3、串行接口模塊

在51單片機的串行接口中,產生波特率需要占用定時器T1,發(fā)送數據時,將內容放到SBUF中,數據發(fā)送完畢,TI會置1。當完整接收到一個數據后,RI會置1,這時從SBUF中將內容讀出即可。不管是TI還是RI標志位,都需要人工清0。

一般情況下,發(fā)送數據采用查詢方式,接收數據采用中斷方式。


結束語

嵌入式應用開發(fā)涉及的知識點很多,初次接觸往往感到無從下手。沒錯,與一些高級編程語言“易懂難精”的情況相比,嵌入式應用開發(fā)的入門是比較難的,但是,隨著知識的積累和經驗的豐富,后面的路會越走越寬,越走越順。廣大的嵌入式應用開發(fā)入門者應該充滿信心。我一直都認為嵌入式應用開發(fā)就像一場馬拉松,必須一步一個腳印,積蓄能量,逐步進階,才能越走越遠的。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉