久久精品综合视频,一区二区三区日韩免费播放,chinese熟女老女人和小伙,贱奴主人惩罚臀缝红肿

24小時(shí)聯(lián)系電話:18217114652、13661815404

中文

您當(dāng)前的位置:
首頁(yè)>
電子資訊>
技術(shù)專題>
單片機(jī)編程分步指南

技術(shù)專題

單片機(jī)編程分步指南


單片機(jī)編程分步指南

對(duì)于那些希望從微控制器編程開始的人,這是一個(gè)循序漸進(jìn)的指南。本文首先介紹了將在本指南中使用的一些基本術(shù)語(yǔ),一系列工具,編程語(yǔ)言,最后是可下載代碼的示例以及逐步指南,可用于實(shí)踐微控制器編程。 

但是在進(jìn)入微控制器編程之前。讓我們定義前兩個(gè)基本術(shù)語(yǔ):硬件和軟件。 

硬件由系統(tǒng)中的物理組件組成,例如芯片,鍵盤,鼠標(biāo),監(jiān)視器,內(nèi)存,I / O設(shè)備。與軟件相比,硬件更難開發(fā),必須針對(duì)非常特定的應(yīng)用程序進(jìn)行設(shè)計(jì),并且它是高速系統(tǒng)中非常有效且完美的解決方案。 

軟件是在硬件上運(yùn)行的非物理組件或應(yīng)用程序,例如操作系統(tǒng),計(jì)算機(jī)游戲和網(wǎng)絡(luò)應(yīng)用程序。軟件是高度可配置的,易于開發(fā)且開發(fā)速度較快,與硬件相比也非常便宜。 

什么是微控制器 

要了解什么是微控制器,我們首先需要了解什么是微處理器或CPU(中央處理單元)。CPU是任何計(jì)算機(jī)系統(tǒng)的心臟,就像執(zhí)行任務(wù)時(shí)的人腦一樣。我們基本上可以將其分為兩個(gè)基本部分:

控制單元:該單元用于從內(nèi)存中獲取數(shù)據(jù)。

執(zhí)行單元:該單元用于執(zhí)行或運(yùn)行數(shù)據(jù)。 

處理器類型 

處理器有很多類別,例如通用處理器,專用系統(tǒng)處理器和多處理器系統(tǒng)。通用處理器有多種類型:

?微處理器

?單片機(jī)

?嵌入式處理器

?數(shù)字信號(hào)處理器 

微處理器是半導(dǎo)體設(shè)備或芯片上的計(jì)算機(jī),而不是功能齊全的計(jì)算機(jī)。其中央處理器單元包含 

?ALU

?程序計(jì)數(shù)器

?寄存器

?其他電路(時(shí)鐘時(shí)間,中斷)

微控制器是一種IC,其中包含微處理器和一些外圍設(shè)備,這些外圍設(shè)備將構(gòu)成完整的功能計(jì)算機(jī),例如ADCRAMROMDAC等外圍設(shè)備。 

 

單片機(jī)的歷史 

最初,英特爾公司是第一家制造微控制器的公司。第一個(gè)微控制器于1971年在美國(guó)生產(chǎn)。它是一個(gè)名為i40044位微控制器。后來(lái),英特爾當(dāng)時(shí)使用8位微控制器生產(chǎn)了更復(fù)雜的模型,此后,東芝開發(fā)了12位微控制器。 

微控制器的應(yīng)用 

微控制器在許多行業(yè)中都有許多應(yīng)用,例如汽車,醫(yī)療,工業(yè)自動(dòng)化,航空航天,機(jī)器人技術(shù)。 

例如,在汽車工業(yè)中,當(dāng)今的現(xiàn)代汽車具有100多個(gè)微處理器,用于諸如空調(diào),ABSEBDADAS之類的系統(tǒng),或者諸如自適應(yīng)居里控制器和車道輔助系統(tǒng)之類的高級(jí)駕駛輔助系統(tǒng),以下是ECU的圖像或電子控制單元。 

在醫(yī)療領(lǐng)域,有些醫(yī)療設(shè)備包括微控制器,例如MRI,葡萄糖測(cè)試儀,便攜式EKG。下圖是葡萄糖測(cè)試設(shè)備。 

 

在航空航天領(lǐng)域,大多數(shù)飛機(jī)都采用微控制器設(shè)計(jì)了新的航空電子系統(tǒng)。此外,還有所有基于微控制器的飛行控制系統(tǒng),空中交通控制系統(tǒng),導(dǎo)航和氣象系統(tǒng)。  

流行的微控制器 

微控制器的類型和平臺(tái)很多,但是選擇微控制器取決于許多因素: 

?申請(qǐng)

?預(yù)算

?表現(xiàn)

?GPIO引腳數(shù)

?內(nèi)存大小

?工作環(huán)境溫度

?耗電量 

AVR微控制器 

下圖包含AVE12DA的框圖,AVE12DA是最流行的微控制器之一-AVR微控制器: 

  

AVR微控制器由Atmel公司(現(xiàn)為Microchip)生產(chǎn)。Atmel擁有6個(gè)系列的AVR微控制器,4個(gè)系列的通用微控制器和2個(gè)專用的微控制器。通用微控制器是:

?8大型AVR

?8– AT Tiny

?8位和16– AVR Xmega

?32– AVR 

專用微控制器是: 

?汽車AVR

?電池管理 

車載AVR,顧名思義,是為汽車應(yīng)用而開發(fā)的。它可以在高達(dá)150攝氏度的高溫下工作,并且包括用于短路問(wèn)題的保護(hù)系統(tǒng)。 

電池管理微控制器是為電池管理系統(tǒng)開發(fā)的,以確保充電和放電操作的安全。 

AVR平臺(tái)示例 

?Arduino UNO

?Adafruit藍(lán)色水果微

?Raspduino

?Digispark Pro

ARM微處理器/微控制器 

ARM微處理器是世界上最受歡迎的處理器,尤其是在消費(fèi)類應(yīng)用中。您可能擁有基于ARM處理器的設(shè)備,但您不知道!在大多數(shù)成功的32位嵌入式系統(tǒng)中,ARM幾乎都是關(guān)鍵組件。第一個(gè)ARM1985年開發(fā)。 

RISC技術(shù) 

ARM使用了RISC技術(shù),RISC代表精簡(jiǎn)指令集計(jì)算機(jī),這是一種在單個(gè)周期內(nèi)交付簡(jiǎn)單指令的設(shè)計(jì)理念。它更多地依賴于軟件。另一方面,CISC技術(shù)更多地依賴于硬件。 

 RISC技術(shù)致力于減少處理器的指令集。另一方面,CISC處理器具有指令集的非固定編號(hào)。 

ARM功能

Arm具有每個(gè)嵌入式系統(tǒng)設(shè)計(jì)人員想要的許多功能,例如,由于其緊湊的尺寸而降低了功耗,而且由于我們正在開發(fā)嵌入式系統(tǒng),因此高代碼密度是另一個(gè)功能,在大多數(shù)情況下,我們的資源將有限。 

基于ARM的微控制器的內(nèi)部結(jié)構(gòu)   

該圖顯示了大多數(shù)基于ARM的設(shè)備的內(nèi)部結(jié)構(gòu): 

 

框代表功能,線代表總線。讓我們?cè)敿?xì)討論每個(gè)組件: 

?ARM處理器是它負(fù)責(zé)處理操作的核心組件

?控制器用于協(xié)調(diào)系統(tǒng)功能,如存儲(chǔ)和中斷控制器

?外圍設(shè)備用于提供系統(tǒng)輸入和輸出

?總線用于在系統(tǒng)中不同組件之間交換數(shù)據(jù)  

ARM平臺(tái)的例子 

有許多具有手臂微處理器的設(shè)備和嵌入式平臺(tái),例如 

?Arduino到期

?樹莓派

?STM32F103C8T6

?恩智浦LPC1768 

其他微控制器和平臺(tái) 

正如我們?cè)谶x擇微控制器或平臺(tái)之前所說(shuō)的,這取決于許多因素(預(yù)算,引腳數(shù)等)。還有其他微控制器和平臺(tái),例如 

?PIC微控制器

?8051

?ESP32

?摩托羅拉微控制器 

單片機(jī)軟件和硬件工具 

自從創(chuàng)建微控制器以來(lái),已經(jīng)有許多類型的軟件和硬件開發(fā)工具。當(dāng)然,某些工具可以在各種微控制器類型中使用,但是某些工具對(duì)于每個(gè)微控制器來(lái)說(shuō)都是非常特定的。在開始微控制器編程之前,您可能需要熟悉微控制器編程工具以及最后但并非最不重要的開發(fā)過(guò)程。 

使用嵌入式開發(fā)工具,我們可能需要以下工具: 

組裝工 

它是一個(gè)軟件工具,可以將匯編中的源代碼轉(zhuǎn)換為機(jī)器代碼,例如(GNU匯編器)。 

編譯器 

它是一個(gè)軟件程序,可以將高級(jí)編程語(yǔ)言的源代碼轉(zhuǎn)換為匯編語(yǔ)言或機(jī)器代碼。編譯可以是: 

?本機(jī):這意味著您在同一臺(tái)計(jì)算機(jī)上運(yùn)行編譯器和生成的代碼

?交叉:這意味著您在計(jì)算機(jī)上運(yùn)行編譯器,而生成的代碼在另一臺(tái)計(jì)算機(jī)(處理器體系結(jié)構(gòu))上運(yùn)行。 

鏈接器和定位器 

鏈接器是一個(gè)程序,它收集和鏈接編譯和匯編操作并生成單個(gè)exe 

定位器是一種程序工具,可用于更改鏈接器輸出的內(nèi)存映射。 

仿真器 

它是一個(gè)模擬真實(shí)場(chǎng)景的程序,它產(chǎn)生實(shí)時(shí)系統(tǒng)的近似值。使用模擬器:

?如果實(shí)際硬件不可用

?在危險(xiǎn)的測(cè)試環(huán)境和場(chǎng)景中  

調(diào)試器 

它是一種軟件程序和硬件設(shè)備,可以與我的PC連接到嵌入式目標(biāo)。使用調(diào)試器:

?設(shè)置斷點(diǎn)

?跟蹤執(zhí)行

?轉(zhuǎn)儲(chǔ)內(nèi)存

硬件調(diào)試器可以

?在線調(diào)試器

?調(diào)試板載代理軟件 

閃存裝載器 

它是一種程序和硬件設(shè)備,可用于: 

?程序ROM /閃存

?觀察變量

?擦除ROM /閃存 

探查器 

Profiler是監(jiān)視軟件代碼性能的工具 

集成開發(fā)環(huán)境 

它是一個(gè)軟件程序,其中包含大多數(shù)工具。它可能包括 

?文字編輯器

?編譯器

?調(diào)試器

?分析器

?模擬器

?鏈接器 

單片機(jī)軟件語(yǔ)言

我們可以將它們分為兩種類型: 

高水平

?C / C ++

?Java

?艾達(dá) 

使用此類型將提供硬件級(jí)別的抽象 

低級(jí) 

機(jī)器碼 

它是01,很難被人寫,但是很容易讓計(jì)算機(jī)理解 

集會(huì) 

它是一個(gè)助記碼和偽指令,以提高可讀性

例子:

一條指令由助記符(操作碼)+操作數(shù)組成

操作碼是機(jī)器處理器執(zhí)行的操作

操作數(shù)是最終目標(biāo);操作碼必須執(zhí)行一個(gè)操作。 

匯編語(yǔ)言比機(jī)器代碼更具可讀性和可理解性,但是您需要在特定的處理器上使用匯編語(yǔ)言并了解其體系結(jié)構(gòu)。 

C / C ++編程語(yǔ)言 

高級(jí)語(yǔ)言具有以下功能

?易于編寫

?靈活

?獨(dú)立于處理器

?高生產(chǎn)率 

使用AVR ATMEGA16的單片機(jī)編程示例 

ATmega 16具有以下功能: 

?16 Kb系統(tǒng)內(nèi)自可編程閃存

?512字節(jié)EEPROM

?1 KB內(nèi)部SRAM

?編程鎖的安全性 

外圍功能 

?帶有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器

?可編程串行USART

?四個(gè)PWM通道

?8通道10ADC

?片內(nèi)振蕩器

?開機(jī)休息和掉電檢測(cè)

?內(nèi)部RC振蕩器和中斷源

?電壓(2.7v5.5v

請(qǐng)輸入搜索關(guān)鍵字

確定