通常,我們正在設計電路,并通過提供該電路使用的電源來連接到其他不同的組件,例如電動機,LCD,LED。用該電路編程時,微控制器會做什么?微控制器系列理解用匯編語言或C語言編寫的程序,該程序必須被編譯成稱為二進制語言(即零和一)的機器語言。已編程的文件存儲在計算機硬盤或微控制器的內存中。匯編程序用于將匯編程序轉換為機器代碼。要使用匯編語言編寫程序,程序員必須具有CPU或硬件方面的知識。低級語言用于交叉開發。十六進制系統被用作表示二進制數的更有效方法,而使用二進制語言時,CPU的工作速度非常快。
今天,我們可以使用許多不同的編程語言,例如C,JAVA,ORACLE等。這些語言稱為高級語言。以高級語言編寫程序,程序員不需要任何用于高級應用程序開發的硬件方面的知識。編譯器在將高級程序轉換為機器級方面起著至關重要的作用,因為本機開發中使用了高級語言。
以下是微控制器編程中使用的一些工具:
Keil uVison
Code Editor
Assembler
C compiler
Burner/Programmer
Keil Uvison:
Keil Uvison是免費軟件,可以解決嵌入式開發人員的許多難題。該軟件是集成開發環境(IDE),集成了文本編輯器以編寫程序,編譯器,并將源代碼轉換為十六進制文件。
Keil uVsion軟件
開始使用Keil Uvison的指南:
1.單擊桌面上的Keil Vision圖標。
2.單擊標題欄中的“項目”菜單
3.通過在C:\或D:\中自己的文件夾中鍵入適當的項目名稱(不帶擴展名)來保存項目。
4.然后點擊上方的保存按鈕。
選擇項目的組件。即Atmel……
根據需要,單擊+符號。此處示例選擇了Atmel。
5.選擇AT89C51,如下所示
6.然后點擊“確定”
7.然后單擊“是”或“否。..……,主要是“否”。
現在您的項目已經可以使用了。
現在雙擊Target1,您將獲得另一個選項“ Source group 1”。
8.單擊菜單欄中的文件選項,然后選擇“新建”
9.下一個屏幕將顯示為文本頁面
10.現在開始用“ EMBEDDED C”或“ ASM”編寫程序。
對于要用匯編語言編寫的程序,我們必須將其保存為擴展名“。 Asm”和基于“ EMBEDDED C”的程序,我們必須將其保存為擴展名“ .C”
11.現在,右鍵單擊“源組1”,然后單擊“將文件添加到組源”
12.現在,根據保存文件時提供的文件擴展名進行選擇。
在選項“ ADD”上僅單擊一次。
現在按功能鍵F7進行編譯。如果發生這種情況,將出現任何錯誤。
如果文件中沒有錯誤,請同時按Control + F5。
代碼編輯器或文本編輯器:
代碼編輯器用于編寫程序。 uVision編輯器包括所有標準功能,例如突出顯示顏色語法并快速識別錯誤。調試時可以使用該編輯器。自然的調試環境可幫助您快速識別和糾正程序中的錯誤。在代碼編輯器中編寫程序后,根據您選擇的匯編器將文件保存為.asm或.C格式。
匯編器:
匯編程序用于將源代碼(低級語言)轉換為機器級(二進制格式)。
編譯器:
編譯器用于將源代碼(高級語言)轉換為機器級別(二進制格式)。
使用DOS編輯器或其他編輯器創建第一個文件。
匯編器將生成目標文件和文件列表。目標文件的擴展名是“ .obj”,而列表文件的擴展名是“ .lst”。
匯編程序需要執行的第三步稱為鏈接。鏈接程序獲取一個或多個目標文件,并生成擴展名為“ .abs”的目標文件。
將“ .abs”文件輸入到名為OH(目標到十六進制轉換器)的程序中,該程序會創建一個擴展名為“ hex”的文件,該文件可直接寫入微控制器ROM。
Burner/Programmer:
對微控制器進行編程或刻錄意味著“將程序從編譯器傳輸到微控制器的存儲器”。微控制器的程序通常是用C或匯編語言編寫的,最后編譯器會生成一個十六進制文件,其中包含機器語言指令(例如零和微控制器可以理解的指令)。正是微控制器的內容被傳輸到微控制器,一旦程序被傳輸到微控制器的存儲器,它就根據該程序工作。
如何編程微控制器?
微控制器是一種集成芯片,我們在其中存儲以匯編語言編寫的代碼。因此,要將編碼后的程序轉儲到微控制器IC中,我們需要一種稱為刻錄機或編程器的設備。程序員是一種帶有軟件的硬件設備,該軟件可以讀取存儲在PC或筆記本電腦上的十六進制文件的內容。它會讀取十六進制文件數據串行或USB電纜,并將數據傳輸到微控制器的內存中。
對于不同的微控制器來說,編程器和編譯器是不同的,這對于不同的公司來說是不同的,例如使用8051微控制器“ flash magic”對微控制器進行編程,以及使用AT89C51微控制器“程序員”對微控制器進行編程。這就是我們在帶有刻錄機或編程器的微控制器中編程代碼的方式。
什么是微控制器?
盡管您不知道,但您家里可能有很多這樣的東西!微控制器是一種集成電路(IC)或“芯片”,通常用于家庭中裝有電子電路的設備中。您可能聽說過微處理器,例如Intel Pentium,它們被用作計算機中的CPU(中央處理單元),實際上是“大腦”。微處理器是集成電路,用于處理計算機程序中的指令,執行計算并將數據發送到內存和磁盤以及從內存和磁盤發送數據。微控制器是一種特定類型的微處理器。它與普通的微處理器在以下方面有所不同:
它具有內置的“ I / O”(輸入/輸出)功能。因此,它可以讀取和寫入數字和模擬值/狀態,并直接連接到“現實世界”。與微處理器不同,微控制器可以直接連接到開關,按鈕,LCD顯示器,LED,繼電器和串行端口
微控制器通常用于中低復雜度的設備中的特定任務。這與處理各種軟件應用程序的PC中使用的強大的數字處理微處理器形成鮮明對比。
微控制器通常用在依靠電池供電的便攜式設備中。數碼相機。因此它們通常功耗低且消耗電流小(與臺式計算機中的散熱風扇冷卻微處理器不同)
與PC中的微處理器相比,微控制器中的RAM通常范圍從64k到最小1k。
微控制器中的程序通常存儲在EPROM或EEPROM中。這是一種非易失性(設備關閉時程序不會消失)的非易失性存儲器,可以連續擦除和重寫。
單片機用途
許多設備都使用微控制器。一些例子:
防盜警報器包含一個微控制器芯片,該芯片連接到鍵盤,顯示器和傳感器/觸點輸入。微控制器通常是自包含芯片,而ALU(算術邏輯單元),存儲器和I / O全部包含在一個集成電路中
較早的自動洗衣機使用凸輪開關在洗滌周期內對操作進行排序。這是一個相當復雜的開關,安裝在您用來選擇清洗程序的旋鈕軸的末端。較新的機器使用微控制器對操作進行排序。微波爐和洗碗機等其他設備可能會包含微控制器
電視使用微控制器來處理頻道的選擇并讀取電視上按鈕的狀態
微控制器用于發動機控制和在車輛的儀表板(儀表板)上顯示信息
數碼相機使用微控制器來處理來自按鈕的輸入,圖像捕獲和顯示的控制。
單片機實例
一些常用的微控制器:
Zilog Z8
Intel 8051
Atmel AVR
什么是Arduino?
Arduino是基于Atmel微控制器的開源硬件/軟件編程平臺。開源意味著可以免費獲得設計中使用的電路原理圖和軟件源代碼,并且發燒友可以對其進行修改。 Arduino開發板及其模擬和數字輸入和輸出,是希望將系統組裝在一起而無需了解大量數字設計知識的藝術家,設計師和電子愛好者的理想選擇。使用排成一排的凹型連接器可在Arduino板上提供輸入和輸出信號,可將單個引線或單列(SIL)連接器插入其中。
Arduino開發板將至少具有:
9個數字引腳,可以用作輸入/輸出通道。其中一些可以設置為PWM(脈沖寬度調制)輸出。 PWM信號是方波,其脈沖寬度可以改變。 PWM用于機器人和遠程控制應用中的電機和伺服器的速度和位置控制
4個模擬輸入通道。
至少一個串行端口,也可用于將代碼下載到Arduino
一些板卡還具有一系列模擬輸出通道。
引腳的功能具有高度的靈活性,其中一些引腳可以配置為模擬或數字。數字引腳可以配置為輸入或輸出。
當Arduino板從連接到這些模擬和數字輸入的傳感器接收輸入時,它們會感知周圍的環境。他們還可以控制執行器,例如電機,警報器和電動閥,或打開LED,燈或其他視覺指示設備。輸出的輸出驅動能力有限,因此通常必須在Arduino輸出引腳和被驅動設備之間使用晶體管,FETS或繼電器。但是,有一個輸出能夠直接驅動LED。
板上的連接器以標準方式布置,以便可以連接屏蔽。屏蔽是具有專用功能的模塊(例如,紅外輸出,藍牙,GSM,WIFI,以太網,使用Relas的電機開/關控制,步進電機控制)。根據屏蔽類型的不同,可能可以將多個屏蔽疊放在一起,然后通過I2C串行總線分別尋址。
由于Arduino代碼和硬件是開源的,因此第三方開發人員已經制作了Arduino官方開發板的副本。
Arduino開發板具有32至512k的閃存,可用于程序存儲。
Leonardo-特定型號的Arduino開發板。數字引腳可以配置為輸入或輸出。除了標準模擬輸入之外,幾個數字引腳還可以兼作模擬輸入。
Arduino開發板可以用來做什么?
Arduino開發板可用于做很多很酷的事情。您可以輕松添加LCD顯示屏,鍵盤或七個分段顯示模塊,并快速構建一個簡單的系統。 Arduino.cc網站上提供了大量信息和庫。您可以設計自己的電子插件或使用屏蔽罩來構建模塊化系統。 Arduino由于其多功能性,可用于簡單,平凡的任務或復雜的應用程序。一個簡單的應用示例就是當室內溫度降至一定水平以下時開啟設備的功能。擴展此應用程序并添加一個GSM模塊可以很容易,它可以在發生這種情況時發出文本消息。 Arduino開發板可用于實現復雜的家庭自動化系統,該系統可通過智能手機進行控制。發燒友還將它們用作機器人中的處理和控制設備,并提供了用于構建簡單的輪式機器人的套件。
Micontroller項目-對Arduino開發板進行編程
Arduino板使用C語言編程,并提供了高級功能,作為對模擬和數字引腳以及串行端口進行讀寫的標準功能。源代碼被稱為“草圖”。標準庫也可用于諸如輸出到LCD面板或與GSM模塊通信的任務。發燒友還貢獻了許多其他庫和代碼,這些庫和代碼可在Arduino網站上找到。
Arduino網站上提供了基本的代碼編輯器/編譯器,可用于開發程序。但是,該編輯器基本上就像寫字板一樣,不提供任何顏色編碼突出顯示或具有復雜的調試功能。 Atmel Studio是Visual Studio的簡化定制版本,是提供這些功能的替代方法。
使用串行端口或USB連接將程序下載到Arduino板上。然后,引導加載程序會在重置時將程序加載到內存中,因此不需要外部編程器。
責任編輯:tzh
-
微控制器
+關注
關注
48文章
7641瀏覽量
151822 -
led
+關注
關注
242文章
23336瀏覽量
662217 -
單片機
+關注
關注
6041文章
44615瀏覽量
637353
發布評論請先 登錄
相關推薦
評論