日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā) | 基礎(chǔ)入門 | 電路原理圖 | 梯形图实例 | PLC基础   《如果喜欢本站,请按 Ctrl+D 手动收藏!感谢您的支持》一起学习一起进步,电子开发王欢迎您!.

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)

★电路公式手册,最新版《电子电路公式计算器》,电路公式查询手册 电路公式计算器【电子从业人员必备手册】
☆十天学会单片机实例100 c语言 chm格式。资料内容详细,覆盖例子多,内容广【电子从业人员必备手册】
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 基礎(chǔ)入門 >> Arduino開發(fā)學(xué)習(xí) >> 正文

Arduino基礎(chǔ)篇(一)-- 打開Arduino的大門

作者:佚名    文章來源:網(wǎng)絡(luò)整理    點(diǎn)擊數(shù):451    更新時(shí)間:2025/2/6

文章目錄

歡迎來到Arduino的世界,本文主要介紹Arduino是什么,為什么Arduino廣受歡迎,如何選擇一款適合自己的Arduino控制器、Arduino開發(fā)工具、Arduino的數(shù)據(jù)類型、變量和常量,結(jié)合Arduino常用的基本函數(shù),就可以制作各種小作品。想要了解更多信息,請(qǐng)進(jìn)入Arduino官網(wǎng)

1 什么是Arduino

Arduino是一個(gè)能夠用來感應(yīng)和控制現(xiàn)實(shí)物理世界的一套工具。它由一個(gè)基于單片機(jī)并且開放源碼的硬件平臺(tái),和一套為Arduino板編寫程序的開發(fā)軟件組成。它的硬件包含一個(gè)以 Atmel AVR 單片機(jī)為核心的開發(fā)板和其他各種 I/O 板;軟件包括一個(gè)標(biāo)準(zhǔn)編程語言開發(fā)環(huán)境和在開發(fā)板上運(yùn)行的燒錄程序。Arduino 主要是為業(yè)余愛好者的使用而設(shè)計(jì)的,被設(shè)計(jì)成一個(gè)小型計(jì)算機(jī)的形式,可以作為嵌入式計(jì)算機(jī)平臺(tái),所以說它是一個(gè)交互系統(tǒng),可以通過硬件和軟件與它的環(huán)境進(jìn)行互動(dòng)。例如,它可以讀取大量的開關(guān)和傳感器信號(hào),可以檢測(cè)到光線的有無和強(qiáng)弱、可以檢測(cè)到手指按下按鍵、甚至可以檢測(cè)到微信上的新消息;并將這些感受到的“信號(hào)”轉(zhuǎn)換為動(dòng)作 比如電機(jī)動(dòng)一下、LED 燈的打開或關(guān)閉、在互聯(lián)網(wǎng)上發(fā)布一條信息等;Arduino也可以開發(fā)出與 PC 相連的周邊裝置,能在運(yùn)行時(shí)與 PC 上的軟件進(jìn)行通信。

Arduino 本質(zhì)上就是一塊單片機(jī),但它拋開了傳統(tǒng)硬件開發(fā)的復(fù)雜操作,不需要了解硬件的內(nèi)部結(jié)構(gòu)和寄存器設(shè)置(如果是單片機(jī)開發(fā),是需要了解寄存器并且設(shè)置各個(gè)寄存器),也不需要過多的電子知識(shí)和編程知識(shí),開發(fā)者只需要通過簡(jiǎn)單學(xué)習(xí),了解各個(gè)引腳和函數(shù)的作用,便可利用它開發(fā)出各種出色的項(xiàng)目。


2 為什么選擇Arduino作為開發(fā)平臺(tái)

目前市場(chǎng)上還有許多其他的單片機(jī)和單片機(jī)平臺(tái),例如51單片機(jī)、STM32單片機(jī)等。但他們對(duì)于普通開發(fā)者來說門檻相對(duì)較高,需要有一定編程和硬件相關(guān)基礎(chǔ),內(nèi)部寄存器較為繁雜,主流開發(fā)環(huán)境Keil配置相對(duì)麻煩,特別是對(duì)于STM32的開發(fā),即使使用官方庫也少不了環(huán)境配置,還有就是開發(fā)環(huán)境是收費(fèi)的。

Arduino 不但簡(jiǎn)化了使用單片機(jī)工作的流程,同時(shí)還為教師、學(xué)生以及興趣愛好者提供了一些其他系統(tǒng)不具備的優(yōu)勢(shì):

1、性價(jià)比高

相比于其他單片機(jī)平臺(tái)而言,Arduino生態(tài)的各種開發(fā)板性價(jià)比相對(duì)較高,也可以自己動(dòng)手制作開發(fā)板。

2、跨平臺(tái)

Arduino IDE可以在 Windows、Mac OS X和 Linux 三大主流操作系統(tǒng)上運(yùn)行,而其他的大多數(shù)控制器只能在 Windows 上開發(fā)。

3.簡(jiǎn)單清晰的開發(fā)

Arduino IDE基于Processing IDE開發(fā),這對(duì)于初學(xué)者來說極易掌握,同時(shí)對(duì)于高級(jí)用戶來說又有著足夠的靈活性。Arduino語言是基于 Wiring 語言開發(fā)的,是對(duì)AVR-GCC庫的二次封裝,并不需要太多的單片機(jī)基礎(chǔ)和編程基礎(chǔ),只要簡(jiǎn)單地學(xué)習(xí)后就可以快速地進(jìn)行開發(fā)。

4.開放性

Arduino的硬件原理圖、電路圖、IDE軟件及核心庫文件都是開源的,在開源協(xié)議范圍內(nèi)可以任意修改原始設(shè)計(jì)及相應(yīng)代碼。

5.社區(qū)與第三方支持

Arduino有著眾多的開發(fā)者和用戶,因此可以找到他們提供的眾多開源的示例代碼和硬件設(shè)計(jì)。例如,可以在Github.comArduino.ccOpenjumper.comArduino中文社區(qū)等網(wǎng)站上找到 Arduino 的第三方硬件、外設(shè)和類庫等支持,以便更快、更簡(jiǎn)單地?cái)U(kuò)展自己的Arduino項(xiàng)目。

6.硬件開發(fā)趨勢(shì)

Arduino 不僅僅是全球最流行的開源硬件,也是一個(gè)優(yōu)秀的硬件開發(fā)平臺(tái),更是硬件開發(fā)的趨勢(shì)。Arduino簡(jiǎn)單的開發(fā)方式使得開發(fā)者更關(guān)注于創(chuàng)意與實(shí)現(xiàn),可以更快地完成自己的項(xiàng)目開發(fā),大大節(jié)約學(xué)習(xí)的成本,縮短開發(fā)的周期。

鑒于 Arduino 的種種優(yōu)勢(shì),越來越多的專業(yè)硬件開發(fā)者已經(jīng)或開始使用 Arduino 來開發(fā)項(xiàng)目和產(chǎn)品;越來越多的軟件開發(fā)者使用 Arduino 進(jìn)入硬件、物聯(lián)網(wǎng)等開發(fā)領(lǐng)域。


3 Arduino硬件

3.1 Arduino開發(fā)板的類型

根據(jù)使用的不同微控制器,可提供各種 Arduino 板。然而,所有 Arduino 板都有一個(gè)共同點(diǎn):它們通過 Arduino lDE 編程。
差異基于輸入和輸出的數(shù)量(可以在單個(gè)板上使用的傳感器,LED和按鈕的數(shù)量),速度,工作電壓,外形尺寸等。一些板被設(shè)計(jì)為嵌入式,并且沒有編程接口(硬件),因此你需要單獨(dú)購(gòu)買。有些可以直接從3.7V電池運(yùn)行,其他至少需要5V。
以下是可用的不同Arduino板的列表。

表1.1 基于ATMEGA328微控制器的Arduino開發(fā)板
板名稱 工作電壓 時(shí)鐘速度 數(shù)字i/o 模擬輸入 PWM UART 編程接口
Arduino Uno R3 5V 16MHz 14 6 6 1 USB通過ATMega16U2
Arduino Uno R3 SMD 5V 16MHz 14 6 6 1 USB通過ATMega16U2
Red Board 5V 16MHz 14 6 6 1 USB通過FTDI
Arduino Pro 3.3v/8 MHz 3.3V 8MHz 14 6 6 1 FTDI兼容頭
Arduino Pro 5V/16MHz 5V 16MHz 14 6 6 1 FTDI兼容頭
Arduino mini 05 5V 16MHz 14 8 6 1 FTDI兼容頭
Arduino Pro mini 3.3v/8mhz 3.3V 8MHz 14 8 6 1 FTDI兼容頭
Arduino Pro mini 5v/16mhz 5V 16MHz 14 8 6 1 FTDI兼容頭
Arduino Ethernet
5V 16MHz 14 6 6 1 FTDI兼容頭
Arduino Fio 3.3V 8MHz 14 8 6 1 FTDI兼容頭
LilyPad Arduino 328 main board 3.3V 8MHz 14 6 6 1 FTDI兼容頭
LilyPad Arduino simply board 3.3V 8MHz 9 4 5 0 FTDI兼容頭
表1.2 基于ATMEGA32u4微控制器的Arduino開發(fā)板
板名稱 工作電壓 時(shí)鐘速度 數(shù)字i/o 模擬輸入 PWM UART 編程接口
Arduino Leonardo 5V 16MHz 20 12 7 1 本機(jī)USB
Pro micro 5V/16MHz 5V 16MHz 14 6 6 1 本機(jī)USB
Pro micro 3.3V/8MHz 5V 16MHz 14 6 6 1 本機(jī)USB
LilyPad Arduino USB 3.3V 8MHz 14 6 6 1 本機(jī)USB
表1.3 基于ATMEGA2560微控制器的Arduino開發(fā)板
板名稱 工作電壓 時(shí)鐘速度 數(shù)字i/o 模擬輸入 PWM UART 編程接口
Arduino Mega 2560 R3 5V 16MHz 54 16 14 4 USB通過ATMega16U2B
Mega Pro 3.3V 3.3V 8MHz 54 16 14 4 FTDI兼容頭
Mega Pro 5V 5V 16MHz 54 16 14 4 FTDI兼容頭
Mega Pro Mini 3.3V 3.3V 8MHz 54 16 14 4 FTDI兼容頭
表1.4 基于AT91SAM3X8E微控制器的Arduino開發(fā)板
板名稱 工作電壓 時(shí)鐘速度 數(shù)字i/o 模擬輸入 PWM UART 編程接口
Arduino Mega 2560 R3 3.3V 84MHz 54 12 12 4 本機(jī)USB

注:引用自Arduino概述

3.2 不同開發(fā)板的對(duì)比

在使用 Arduino 控制器完成項(xiàng)目制作之前,應(yīng)該對(duì)各個(gè)型號(hào)有一定的了解,以便選擇適合自己項(xiàng)目的控制器。

1、Arduino UNO

Arduino UNO 是目前使用最廣泛的 Arduino 控制器,具有 Arduino 的所有功能,是初學(xué)者的最佳選擇。在大部分參考書或者開源代碼,都以 UNO 為例子。當(dāng)然,掌握UNO開發(fā)技巧,其他型號(hào)控制器也是類似的,可以很輕松地移植代碼。

2、Arduino MEGA

Arduino Mega 是一個(gè)增強(qiáng)型的Arduino 控制器,相對(duì)于UNO,它提供了更大的存儲(chǔ)空間和更多的輸入/輸出接口,可以控制更多的設(shè)備,是完成較大型項(xiàng)目的較好選擇。

3、Arduino Leonardo

Arduino Leonardo 使用集成了 USB 功能的 AVR 單片機(jī)作為主控芯片,具備其他型號(hào) Arduino 控制器的所有功能之外還可以輕松模擬USB鍵盤/鼠標(biāo)等USB設(shè)備。

4、Arduino Due

Arduino Due 突破性使用了32位的 ARM Cortex-M3 作為主控芯片。它集成了多種外設(shè),有著其他Arduino板無法比擬的性能,是目前最為強(qiáng)大的 Arduino 控制器。

5、小型化的Arduino

常見小型 Arduino 控制器有 Arduino Nano,Arduino Mini,Arduino Micro,Arduino LilyPad 等。這些小型控制器雖然在設(shè)計(jì)上精簡(jiǎn)了許多地方,但使用起來一樣方便。其中 Arduino Mini 和 Arduino Lilypad 需要外部模塊配合來完成程序下載功能。


4 Arduino軟件

4.1 IDE

Arduino提供了Arduino Software IDE,一套以 Java 編寫的跨平臺(tái)應(yīng)用軟件。Arduino Software IDE 源自于 Processing 編程語言以及 Wiring 計(jì)劃的集成開發(fā)環(huán)境。它是被設(shè)計(jì)于介紹程序編寫給藝術(shù)家和不熟悉程序設(shè)計(jì)的人們,且包含了一個(gè)擁有語法高亮、括號(hào)匹配、自動(dòng)縮進(jìn)和一鍵編譯并將可執(zhí)行文件燒寫入Arduino 硬件中的編輯器。

Arduino Software IDE 使用與C語言和C++相仿的編程語言,并且提供了包含常見的輸入/輸出函數(shù)的Wiring 軟件庫。在使用 GNU toolchain 編譯和鏈接后,Arduino Software IDE 提供了一個(gè)程序“avrdude”用來轉(zhuǎn)換可執(zhí)行檔成為能夠燒寫入Arduino硬件的固件。

4.2 Sketch

使用 Arduino Software IDE 編寫的程序被稱為“sketch”(草圖)。一個(gè)典型的 Arduino C/C++ sketch 程序會(huì)包含兩個(gè)函數(shù),它們會(huì)在編譯后合成為 main() 函數(shù):

  • setup():在程序運(yùn)行開始時(shí)會(huì)運(yùn)行一次,用于初始化設(shè)置。
  • loop():直到Arduino硬件關(guān)閉前會(huì)重復(fù)運(yùn)行函數(shù)放的代碼。
1
2
3
4
5
6
7
8
9
// 打開IDE會(huì)自動(dòng)創(chuàng)建一個(gè)sketch模板,如下:
void setup() {
  <!-- -->
  // put your setup code here, to run once:
}
void loop() {
  <!-- -->
  // put your main code here, to run repeatedly:
}

4.3 編程語言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define led 2        //定義數(shù)字IO 2的名字為led 
void setup()    //初始化部分
{
  <!-- -->
  pinMode(led,OUTPUT);  //定義led引腳為輸出模式
}
void loop()     //主循環(huán)
{
  <!-- -->
  digitalWrite(led,LOW); //led引腳輸出低電平,點(diǎn)亮led
  delay(1000);    //延時(shí)1000ms
  digitalWrite(led,HIGH); //led引腳輸出高電平,熄滅led
  delay(1000);    //延時(shí)1s
}

Arduino 程序可由五個(gè)部分組成 :

(1) 導(dǎo)入庫與定義 (可有可無)

1
2
#include <stdint.h>
#define LED 2

(2)聲明常量與全域變量 (可有可無)

1
2
const float PI = 3.14159;
int r = 0 ;

(3)初始化函數(shù)setup() (必要)

1
2
void setup() {
  <!-- -->}

(4)循環(huán)函數(shù)loop() (必要)

1
2
void loop() {
  <!-- -->}

(5)自定義函數(shù) (可有可無)

1
2
3
4
5
float area(float r) {
  <!-- -->
  float a = PI*r*r;
  return a;
  }

其中 setup() 與 loop() 是一定要有的函數(shù) (均無參數(shù)無傳回值),其他則視需要而定。Arduino 語言采用 C/C++ 語法,加上以 Wiring 為基礎(chǔ)的電子設(shè)計(jì)核心庫組合而成,包括 Digital I/O,Analog I/O 等庫.。內(nèi)置的庫可直接調(diào)用,但若有使用第三方庫(例如驅(qū)動(dòng)感測(cè)器模塊所需的庫),則必須使用 include 前置指令引入。此外,也可以用前置指令 define 定義一個(gè)常量或宏 (表達(dá)式)

前置指令乃 C 編譯器指令, 不屬于 C 語言本身, 其用途有三 :

  1. 引入頭文件:例如 #include <myLibrary.h> 或 “myLibrary.h”
  2. 定義常量:例如 #define PI 3.14159
  3. 定義宏:例如 #define AREA PIrr

所以前置指令的功能之一就是替換,include 就是在標(biāo)頭處以指定之文件內(nèi)容替換;而 #define 就是在程序中用到所定義之常量與宏名稱時(shí),以其內(nèi)容替換。

宏的功能事實(shí)上與函數(shù)類似,不同之處是函數(shù)調(diào)用使用堆棧,而宏則是直接放在源代碼中,由編譯器自動(dòng)進(jìn)行替換,運(yùn)行效率較快 (但若很多地方都要用到時(shí), 編譯后就會(huì)比較大)。

注意:

頭文件可用角括號(hào) < > 或雙引號(hào) " ", 差別是:

  1. 用雙引號(hào)時(shí), 前置處理器會(huì)先從源文件所在位置開始去搜索頭文件;
  2. 而用角括號(hào)則會(huì)先從 libraries 目錄開始找.

5 C/C++語言基礎(chǔ)

5.1 數(shù)據(jù)類型

Arduino 家族中的8位開發(fā)板和32位開發(fā)板的基本數(shù)據(jù)類型是有差別。對(duì)于8位開發(fā)板來說,int 占2字節(jié),double 和 float 占4字節(jié)。而對(duì)于32位開發(fā)板,int 占用4字節(jié),double 占用8字節(jié)。下表提供了你將在Arduino編程期間使用的所有數(shù)據(jù)類型。

表1.5 Arduino基本數(shù)據(jù)類型
數(shù)據(jù)類型 占用字節(jié) 數(shù)值范圍 說明
void 僅用于函數(shù)聲明,表示沒有返回值
boolean/bool 1 true/false 每個(gè)布爾變量占一個(gè)字節(jié)的內(nèi)存
char 1 -128~127 Arduino中的char是有符號(hào)的,等價(jià)于signed char;char常被是用于儲(chǔ)存ASCII字符;如果想存儲(chǔ)數(shù)據(jù),建議使用byte類型
unsigned char 1 0~255 等同于byte和uint8_t類型
byte 1 0~255 byte類型不是C/C++標(biāo)準(zhǔn)類型,他是Arduino平臺(tái)下特有的,它實(shí)際就是無符號(hào)8位整型數(shù)據(jù)
int 2 -32768~32767 在基于 ATMega 的8位微控制器的Arduino開發(fā)板如Arduino UNO、Ardunio Mega2560,int占用2字節(jié)內(nèi)存;而對(duì)于32位Arduino開發(fā)板(如Arduino Due,SAMD)int占4字節(jié)
unsigned int 2 0~65536 等同于word和uint16_t類型;Due存儲(chǔ)4字節(jié)值
word 2 0~65536 在Uno和其他基于ATMEGA的板上,一個(gè)word存儲(chǔ)一個(gè)16位無符號(hào)數(shù);在Due和Zero上,它存儲(chǔ)一個(gè)32位無符號(hào)數(shù)
long 4 -2147483648~2147483647 用于數(shù)字存儲(chǔ)的擴(kuò)展大小變量
unsigned long 4 0~2^32-1 等同于uint32_t類型
short 2 -32768~32767 短整型
float 4 -3.4028235E+38~3.4028235E+38 只有6~7位小數(shù)精度
double 4 -3.4028235E+38~3.4028235E+38 在Arduino Due上有8個(gè)字節(jié),其余的跟float一樣
string 相當(dāng)于char類型的數(shù)組
array 數(shù)組

5.2 變量與常量

1、變量范圍
Arduino 使用的C語言中的變量具有名為scope(范圍)的屬性。scope是程序的一個(gè)區(qū)域,有三個(gè)地方可以聲明變量。它們是:

  • 在函數(shù)或代碼塊內(nèi)部,稱為局部變量
  • 在函數(shù)參數(shù)的定義中,稱為形式參數(shù)
  • 在所有函數(shù)之外,稱為全局變量

(1)局部變量
在函數(shù)或代碼塊中聲明的變量是局部變量。它們只能由該函數(shù)或代碼塊中的語句使用。局部變量不能在它們自己之外運(yùn)行。以下是使用局部變量的示例:

1
2
3
4
5
6
void setup() {
  <!-- -->}
void loop() {
  <!-- -->
  int i = 0;
}

(2)全局變量

全局變量在所有函數(shù)之外定義,通常位于程序的頂部。全局變量將在程序的整個(gè)生命周期中保持其真值。全局變量可以被任何函數(shù)訪問。也就是說,一個(gè)全局變量可以在整個(gè)程序中聲明后使用。

以下示例使用全局變量和局部變量:

注意:全局變量、靜態(tài)變量、常量應(yīng)使用大寫字母來命名name,防止混淆且有警示作用。

1
2
3
4
5
6
7
uint16_t NUMBER = 0; 
void setup() {
  <!-- -->}
void loop() {
  <!-- -->
  int i = 0;
}

5.3 運(yùn)算符

運(yùn)算符是一個(gè)符號(hào),它告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯函數(shù)。C語言具有豐富的內(nèi)置運(yùn)算符,并提供以下類型的運(yùn)算符:

  • Arithmetic Operators 算術(shù)運(yùn)算符
  • Comparison Operators 比較運(yùn)算符
  • Boolean Operators 布爾運(yùn)算符
  • Bitwise Operators 位運(yùn)算符
  • Compound Operators 復(fù)合運(yùn)算符

5.4 選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)

(1)選擇結(jié)構(gòu)又稱選取結(jié)構(gòu)或分支結(jié)構(gòu)。在編程中,經(jīng)常需要根據(jù)當(dāng)前數(shù)據(jù)做出判斷,以決定下一步的操作。

表1.6 Arduino常用控制語句
序號(hào) 控制語句和描述
1

If 語句

它采用括號(hào)中的表達(dá)式,后面跟隨語句或語句塊。如果表達(dá)式為真,則執(zhí)行語句或語句塊,否則跳過這些語句。

2

If … else 語句

一個(gè) if 語句后面可以跟隨一個(gè)可選的else語句,當(dāng)表達(dá)式為false時(shí)執(zhí)行。

3

If … else if … else 語句

if 語句后面可以跟隨一個(gè)可選的 else if ... else 語句,其對(duì)于測(cè)試各種條件非常有用。

4

switch case 語句

類似于if語句, switch ... case 通過允許程序員指定應(yīng)在各種條件下執(zhí)行的不同代碼來控制程序的流程。

5

條件運(yùn)算符 ? :

條件運(yùn)算符? :是C語言中唯一的三元運(yùn)算符。

(2)循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),即反復(fù)執(zhí)行某一部分的操作。有兩類循環(huán)結(jié)構(gòu):“當(dāng)”( while)循環(huán)和“直到”(until)循環(huán)。

表1.7 Arduino常用循環(huán)結(jié)構(gòu)
序號(hào) 循環(huán)及描述
1

while循環(huán)

while循環(huán)將會(huì)連續(xù)、無限循環(huán),直到括號(hào)()內(nèi)的表達(dá)式變?yōu)閒alse。必須用一些東西改變被測(cè)試的變量,否則while循環(huán)永遠(yuǎn)不會(huì)退出。

2

do…while循環(huán)

do ... while循環(huán)類似于while循環(huán)。在while循環(huán)中,循環(huán)連續(xù)條件在循環(huán)開始時(shí)測(cè)試,然后再執(zhí)行循環(huán)體。

3

for循環(huán)

for循環(huán)執(zhí)行語句預(yù)定的次數(shù)。循環(huán)的控制表達(dá)式在for循環(huán)括號(hào)內(nèi)完全的初始化,測(cè)試和操作。

4

嵌套循環(huán)

C語言允許你在另一個(gè)循環(huán)內(nèi)使用一個(gè)循環(huán)。下面的例子說明了這個(gè)概念。

5

無限循環(huán)

它是沒有終止條件的循環(huán),因此循環(huán)變?yōu)闊o限。


[Why]

1、什么是單片機(jī)?它與個(gè)人計(jì)算機(jī)有什么不同?

Ans:一臺(tái)能夠工作的計(jì)算機(jī)要有這樣幾個(gè)部份構(gòu)成:中央處理單元CPU(進(jìn)行運(yùn)算、控制)、隨機(jī)存儲(chǔ)器RAM(數(shù)據(jù)存儲(chǔ))、存儲(chǔ)器ROM(程序存儲(chǔ))、輸入/輸出設(shè)備I/O(串行口、并行輸出口等)。在個(gè)人計(jì)算機(jī)(PC)上這些部份被分成若干塊芯片,安裝在一個(gè)被稱之為主板的印刷線路板上。而在單片機(jī)中,這些部份全部被做到一塊集成電路芯片中了,所以就稱為單片(單芯片)機(jī),而且有一些單片機(jī)中除了上述部份外,還集成了其它外設(shè)電路如==模擬量/數(shù)字量轉(zhuǎn)換(A/D)和數(shù)字量/模擬量轉(zhuǎn)換(D/A)==等。

2、 為什么用單片機(jī),如Arduino、STm32,MCS-51等.

Ans:實(shí)際工作中并不是任何涉及計(jì)算和控制的場(chǎng)合都要求處理器或計(jì)算機(jī)有很高的性能,其應(yīng)用的關(guān)鍵在于使用性能(是否夠用)和經(jīng)濟(jì)性(是否有很好的性能價(jià)格比)


參考

  1. 初試Arduino:www.tuo13886.net.cn/jichu/Arduino/10320.html
  2. Arduino概述:https://www.w3cschool.cn/arduino/arduino_overview.html

Tags:Arduino,Arduino入門,編程  
責(zé)任編輯:admin
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
    没有任何评论
电子开发网:汇集综合各类电子制作与电路图的网站,plc工控技术,模电数电知识,单片机EDA等等!荟萃电路图网站精华,为工程师创造价值。欢迎关注微信公众号:电子开发网!

三菱PLC软件 GX Wor

西门子200smartPLC选

模拟量转换工程量转

简述555定时器工作原

TIA Portal博途软件

聊聊阻容降压原理和
 简单三极管逆变器
 TL494制作50HZ逆变
 80W简单的功放电路
 555制作的简易电子
 850热风枪电路图原
 直流12v荧光灯电路
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢