微控制器介紹

2021-08-30 03:41:20 字數 3208 閱讀 7272

微控制器是指乙個整合在一塊晶元上的完整計算機系統。儘管他的大部分功能整合在一塊小晶元上,但是它具有乙個完整計算機所需要的大部分部件:cpu、記憶體、內部和外部匯流排系統,目前大部分還會具有外存。同時整合諸如通訊介面、定時器,實時時鐘等外圍裝置。而現在最強大的微控制器系統甚至可以將聲音、影象、網路、複雜的輸入輸出系統整合在一塊晶元上。

微控制器也被稱為微控制器(microcontroller),是因為它最早被用在工業控制領域。微控制器由晶元內僅有cpu的專用處理器發展而來。最早的設計理念是通過將大量外圍裝置和cpu整合在乙個晶元中,使計算機系統更小,更容易整合進複雜的而對體積要求嚴格的控制裝置當中。intel的z80是最早按照這種思想設計出的處理器,從此以後,微控制器和專用處理器的發展便分道揚鑣。

早期的微控制器都是8位或4位的。其中最成功的是intel的8031,因為簡單可靠而效能不錯獲得了很大的好評。此後在8031上發展出了mcs51系列微控制器系統。基於這一系統的微控制器系統直到現在還在廣泛使用。隨著工業控制領域要求的提高,開始出現了16位微控制器,但因為價效比不理想並未得到很廣泛的應用。90年代後隨著消費電子產品大發展,微控制器技術得到了巨大的提高。隨著intel i960系列特別是後來的arm系列的廣泛應用,32位微控制器迅速取代16位微控制器的高階地位,並且進入主流市場。而傳統的8位微控制器的效能也得到了飛速提高,處理能力比起80年代提高了數百倍。目前,高階的32位微控制器主頻已經超過300mhz,效能直追90年代中期的專用處理器,而普通的型號出廠**跌落至1美元,最高端的型號也只有10美元。當代微控制器系統已經不再只在裸機環境下開發和使用,大量專用的嵌入式作業系統被廣泛應用在全系列的微控制器上。而在作為掌上電腦和手機核心處理的高階微控制器甚至可以直接使用專用的windows和linux作業系統。

微控制器比專用處理器更適合應用於嵌入式系統,因此它得到了最多的應用。事實上微控制器是世界上數量最多的計算機。現代人類生活中所用的幾乎每件電子和機械產品中都會整合有微控制器。手機、**、計算器、家用電器、電子玩具、掌上電腦以及滑鼠等電腦配件中都配有1-2部微控制器。而個人電腦中也會有為數不少的微控制器在工作。汽車上一般配備40多部微控制器,複雜的工業控制系統上甚至可能有數百台微控制器在同時工作!微控制器的數量不僅遠超過pc機和其他計算的綜合,甚至比人類的數量還要多。

微控制器學習應用的六大重要部分

一、匯流排:我們知道,乙個電路總是由元器件通過電線連線而成的,在模擬電路中,連線並不成為乙個問題,因為各器件間一般是序列關係,各器件之間的連線並不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協調,所以需要的連線就很多了,如果仍如同模擬電路一樣,在各微處理器和各器件間單獨連線,則線的數量將多得驚人,所以在微處理機中引入了匯流排的概念,各個器件共同享用連線,所有器件的8根資料線全部接到8根公用的線上,即相當於各個器件併聯起來,但僅這樣還不行,如果有兩個器件同時送出資料,乙個為0,乙個為1,那麼,接收方接收到的究竟是什麼呢?這種情況是不允許的,所以要通過控制線進行控制,使器件分時工作,任何時候只能有乙個器件傳送資料(可以有多個器件同時接收)。器件的資料線也就被稱為資料匯流排,器件所有的控制線被稱為控制匯流排。在微控制器內部或者外部儲存器及其它器件中有儲存單元,這些儲存單元要被分配位址,才能使用,分配位址當然也是以電訊號的形式給出的,由於儲存單元比較多,所以,用於位址分配的線也較多,這些線被稱為位址匯流排。

1•位址(如mov dptr,1000h),即位址1000h送入dptr。

2•方式字或控制字(如mov tmod,#3),3即是控制字。

3•常數(如mov th0,#10h)10h即定時常數。

4•實際輸出值(如p1口接彩燈,要燈全亮,則執行指令:mov p1,#0ffh,要燈全暗,則執行指令:mov p1,#00h)這裡0ffh和00h都是實際輸出值。又如用於led的字形碼,也是實際輸出的值。

理解了位址、指令的本質,就不難理解程式執行過程中為什麼會跑飛,會把資料當成指令來執行了。

三、p0口、p2口和p3的第二功能用法:初學時往往對p0口、p2口和p3口的第二功能用法迷惑不解,認為第二功能和原功能之間要有乙個切換的過程,或者說要有一條指令,事實上,各埠的第二功能完全是自動的,不需要用指令來轉換。如p3.6、p3.7分別是wr、rd訊號,當微片理機外接ram或有外部i/o口時,它們被用作第二功能,不能作為通用i/o口使用,只要一微處理機一執行到movx指令,就會有相應的訊號從p3.6或p3.7送出,不需要事先用指令說明。事實上『不能作為通用i/o口使用』也並不是『不能』而是(使用者)『不會』將其作為通用i/o口使用。你完全可以在指令中按排一條setb p3.7的指令,並且當微控制器執行到這條指令時,也會使p3.7變為高電平,但使用者不會這麼去做,因為這通常會導致系統的崩潰。

四、程式的執行過程: 微控制器在通電復位後8051內的程式計數器(pc)中的值為『0000』,所以程式總是從『0000』單元開始執行,也就是說:在系統的rom中一定要存在『0000』這個單元,並且在『0000』單元中存放的一定是一條指令。

五、堆疊: 堆疊是乙個區域,是用來存放資料的,這個區域本身沒有任何特殊之處,就是內部ram的一部份,特殊的是它存放和取用資料的方式,即所謂的『先進後出,後進先出』,並且堆疊有特殊的資料傳輸指令,即『push』和『pop』,有乙個特殊的專為其服務的單元,即堆疊指標sp,每當執一次push指令時,sp就(在原來值的基礎上)自動加1,每當執行一次pop指令,sp就(在原來值的基礎上)自動減1。由於sp中的值可以用指令加以改變,所以只要在程式開始階段更改了sp的值,就可以把堆疊設定在規定的記憶體單元中,如在程式開始時,用一條mov sp,#5fh指令,就時把堆疊設定在從記憶體單元60h開始的單元中。一般程式的開頭總有這麼一條設定堆疊指標的指令,因為開機時,sp的初始值為07h,這樣就使堆疊從08h單元開始往後,而08h到1fh這個區域正是8031的第

二、三、四工作暫存器區,經常要被使用,這會造成資料的混亂。不同作者編寫程式時,初始化堆疊指令也不完全相同,這是作者的習慣問題。當設定好堆疊區後,並不意味著該區域成為一種專用記憶體,它還是可以象普通記憶體區域一樣使用,只是一般情況下程式設計者不會把它當成普通記憶體用了。

六、微控制器的開發過程: 這裡所說的開發過程並不是一般書中所說的從任務分析開始,我們假設已設計並製作好硬體,下面就是編寫軟體的工作。在編寫軟體之前,首先要確定一些常數、位址,事實上這些常數、位址在設計階段已被直接或間接地確定下來了。如當某器件的連線設計好後,其位址也就被確定了,當器件的功能被確定下來後,其控制字也就被確定了。然後用文字編輯器(如edit、cced等)編寫軟體,編寫好後,用編譯器對源程式檔案編譯,查錯,直到沒有語法錯誤,除了極簡單的程式外,一般應用**機對軟體進行除錯,直到程式執行正確為止。執行正確後,就可以寫片(將程式固化在eprom中)。在源程式被編譯後,生成了擴充套件名為hex的目標檔案,一般程式設計器能夠識別這種格式的檔案,只要將此檔案調入即可寫片。

微控制器介紹

單片微型計算機簡稱微控制器,是典型的嵌入式微控制器 microcontroller unit 微控制器晶元 常用英文本母的縮寫mcu表示微控制器,微控制器又稱單片微控制器,它不是完成某乙個邏輯功能的晶元,而是把乙個計算機系統整合到乙個晶元上。相當於乙個微型的計算機,和計算機相比,微控制器只缺少了i ...

微控制器1 基礎介紹

微控制器 單片微型計算機 也稱mcu微控制器,也叫嵌入式控制器emcu 在一塊半導體矽片上整合微處理器 cpu 儲存器 ram,rom,eprom 和各種輸入輸出介面 定時器 計數器,並行i o口,序列口,a d轉換器以及脈寬調變器pwm等 具有計算機的屬性。主要實現 測試和控制功能。按用途分類 通...

微控制器儲存器介紹

1.2 ram儲存器 2 儲存器功能分類 本文介紹車用微控制器儲存器,無論是暫存器指令還是autosar的nvm單元,都是以微控制器的儲存器硬體為基礎 read only memory,唯讀儲存器,最初代表一種出廠後只能讀不能寫 不掉電的裝置。燒入資料後,無需外加電源來儲存資料,且斷電資料不丟失。p...