avr單片機和stm32區別與優缺點分析

2020-12-16 電子發燒友

  摘要:avr單片機和stm32單片機是目前使用較廣泛的單片機,那麼avr單片機和stm32單片機有什麼區別呢?有什麼優劣勢呢?

  一、AVR單片機介紹

  AVR單片機是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位單片機。可以廣泛應用於計算機外部設備、工業實時控制、儀器儀表、通訊設備、家用電器等各個領域。

  avr單片機特點:

  1. avr系列沒有類似累加器A的結構,它主要是通過R16~R31寄存器來實現A的功能。在avr中,沒有像51系列的數據指針DPTR,而是由X(由 R26、R27組成)、Y(由R28、R29組成)、Z(由R30、R31組成)三個16位的寄存器來完成數據指針的功能(相當於有三組DPTR),而且 還能作後增量或先減量等的運行,而在51系列中,所有的邏輯運算都必須在A中進行;而avr卻可以在任兩個寄存器之間進行,省去了在A中的來回折騰,這些 都比51系列出色些

  2. avr的專用寄存器集中在00~3F地址區間,無需像pic那樣得先進行選存儲體的過程,使用起來比pic方便。avr的片內RAM的地址區間為 0~00DF(AT90S2313) 和0060~025F(AT90S8515、AT90S8535),它們佔用的是數據空間的地址,這些片內RAM僅僅是用來存儲數據的,通常不具備通用寄 存器的功能。當程序複雜時,通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達128個(為avr的4倍),編程時就不會有這種感覺。

  3. avr的I/O腳類似pic,它也有用來控制輸入或輸出的方向寄存器,在輸出狀態下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點雖不如pic,但比51系列還是要優秀。

  AVR單片機優點:

  AVR單片機是Atmel公司推出的較為新穎的單片機,其顯著的特點為高性能、高速度、低功耗。它取消機器周期,以時鐘周期為指令周期,實行流水作 業。AVR單片機指令以字為單位,且大部分指令都為單周期指令。而單周期既可執行本指令功能,同時完成下一條指令的讀取。通常時鐘頻率用4~8MHz,故 最短指令執行時間為250~125ns。

  avr單片機缺點:

  1. 是沒有位操作,都是以字節形式來控制和判斷相關寄存器位的

  2. C語言與51的C語言在寫法上存在很大的差異,這讓從開始學習51單片機的朋友很不習慣

  3. 通用寄存器一共32個(R0~R31),前16個寄存器(R0~R15)都不能直接與立即數打交道,因而通用性有所下降。而在51系列中,它所有的通用寄存器(地址00~7FH)均可以直接與立即數打交道,顯然要優於前者。

  最多的器件:ATUC64L3U、ATxmega64A1U、AT90S8515

  每種MCU都有自身的優點與缺點,與其它8-bit MCU相比,avr 8-bit MCU最大的特點是:

  ● 哈佛結構,具備1MIPS / MHz的高速運行處理能力;

  ● 超功能精簡指令集(RISC),具有32個通用工作寄存器,克服了如8051 MCU採用單一ACC進行處理造成的瓶頸現象;

  ● 快速的存取寄存器組、單周期指令系統,大大優化了目標代碼的大小、執行效率,部分型號FLASH非常大,特別適用於使用高級語言進行開發;

  ● 作輸出時與pic的HI/LOW相同,可輸出40mA(單一輸出),作輸入時可設置為三態高阻抗輸入或帶上拉電阻輸入,具備10mA-20mA灌電流的能力;

  ● 片內集成多種頻率的RC振蕩器、上電自動復位、看門狗、啟動延時等功能,外圍電路更加簡單,系統更加穩定可靠;

  ● 大部分avr片上資源豐富:帶E2PROM,PWM,RTC,SPI,UART,TWI,ISP,AD,Analog Comparator,WDT等;

  ● 大部分avr除了有ISP功能外,還有IAP功能,方便升級或銷毀應用程式。

  ● 性價比高。

  AVR單片機用途應用

  市場角度

  性價比:AVR大部分型號的性價比較高,性價比表現突出的型號有:atmega48、atmega8、atmega16、atmega169P。

  供貨方面:通用型號的AVR供貨較為穩定,非常規型號的AVR樣品及供貨仍存在問題。

  市場佔有率:AVR的市場佔有率還是不如PIC與51,但AVR的優點使得AVR的市場佔有一直在擴展,AVR的年用量也一直在上漲。

  應用區域

  AVR已被廣泛用於:

  空調控制板

  印表機控制板

  智能電錶

  智能手電筒

  LED控制屏

  醫療設備

  GPS

  avr單片機典型應用電路圖

  avr單片機最常用的是5V與3.3V兩種電壓。本線路以開關切換兩種電壓,並且以雙色二極體指示(5V時為綠燈,3.3V時為紅燈)。JP3輸入電壓為7.5v—9v。

  串口使用一個max232晶片。

  使用跳線JMP2—1,不使用串口時,請將其斷開,防止串口電路對IO口的幹擾。

  VCC與R2out之間接串上一個電阻R2和一個發光二極體LED1,特別說明,只有當此二極體閃的時候才說明串口在工作,直接接上的時候,此發光二極體也可能會亮。

  

  為減小AD轉換的電源幹擾,Mega16晶片有獨立的AD電源供電。官方文檔推薦在VCC串上一隻10uH的電感(L1),然後接一隻0.1uF的電容到地(C3)。

  Mega16內帶2.56V標準參考電壓。也可以從外面輸入參考電壓,比如在外面使用TL431($0.0625)基準電壓源。不過一般的應用使用內部自帶的參考電壓已經足夠。習慣上在AREF腳接一隻0.1uF的電容到地(C4)。

  

  Mega16已經內置RC振蕩線路,可以產生1M、2M、4M、8M的振蕩頻率。不過,內置的畢竟是RC振蕩,在一些要求較高的場合,比如要與RS232($780.5000)通信需要比較精確的波特率時,建議使用外部的晶振線路。

  早期的90S系列,晶振兩端均需要接22pF左右的電容。Mega系列實際使用時,這兩隻小電容不接也能正常工作。不過為了線路的規範化,我們仍建議接上。

  二、stm32單片機介紹

  由ST廠商推出的stm32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。其基於專為要求高性能、低成 本、低功耗的嵌入式應用專門設計的ARM Cortex-M內核,同時具有一流的外設:1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表 現,當然和MSP430的功耗比起來是稍微遜色的一些,但這並不影響工程師們對它的熱捧程度,由於其簡單的結構和易用的工具再配合其強大的功能在行業中赫赫有名。

  特性:

  1.內核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬體除法

  2.存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器

  3.時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶 振。內嵌出廠前調校的8MHz RC振蕩電路。內部40 kHz的RC振蕩電路。用於CPU時鐘的PLL。帶校準用於RTC的32kHz的晶振

  4、調試模式:串行調試(SWD)和JTAG接口。最多高達112個的快速I/O埠、最多多達11個定時器、最多多達13個通信接口

  使用最多的器件:stm32F103系列、stm32 L1系列、stm32W系列

  stm32單片機優點:

  除新增的功能強化型外設接口外,STM32互連繫列還提供與其它STM32微控制器相同的標準接口,這種外設共用性提升了整個產品家族的應用靈活性,使開發人員可以在多個設計中重複使用同一個軟體。新STM32的標準外設包括10個定時器、兩個12位1-Msample/s 模數轉換器 (交錯模式下2-Msample/s)、兩個12位數模轉換器、兩個I2C接口、五個USART接口和三個SPI埠。新產品外設共有12條DMA通道,還有一個CRC計算單元,像其它STM32微控制器一樣,支持96位唯一標識碼。

  新系列微控制器還沿續了STM32產品家族的低電壓和節能兩大優點。2.0V到3.6V的工作電壓範圍兼容主流的電池技術,如鋰電池和鎳氫電池,封裝還設有一個電池工作模式專用引腳Vbat。以72MHz頻率從快閃記憶體執行代碼,僅消耗 27mA電流。低功耗模式共有四種,可將電流消耗降至兩微安。從低功耗模式快速啟動也同樣節省電能;啟動電路使用STM32內部生成的8MHz信號,將微控制器從停止模式喚醒用時小於6微秒。

  STM32由於有各種外設 操作起來簡單,可以處理模擬以及數位訊號,適用於設計的控制電路

  stm32缺點:

  STM32是跑指令的,適合跑算法,但是針對多路的信號處理就需要很多片DSP來並行處理。

  三、stm32與pic、avr單片機的對比分析

  下表格對avr、pic和STM32這三種系列的單片機進行比較,對象都選擇各個系列的64腳封裝的晶片,其中Mega128和pic18F6680均為其所在系列中高端晶片。通過表格可以看出不管在處理速度,外圍設備還是價格上,STM32都具有非常大的優勢,唯一不足之處就是stm32暫時還未集成內部EEPROM,但可以使用Flash的IAP功能來替代,在可靠性上應該更高點。

  在使用C語言編程方面,pic的體系結構是最不適合的,且編譯軟體無法與GCC,keilc相比。

  在抗幹擾方面,主要還是和開發者的水平有關,而一定要說哪種單片機的抗幹擾強,哪種弱,其實標準不一樣,結果也不一樣。人們普遍認為pic的抗幹擾很強,但那是C系列,現在集成內部Flash的F系列要差許多,特別是早期出廠的幾批。avr系列單片機普遍被認為抗幹擾性能是比較差的,曾經有人列出了一個表格,使用日本的測試方法,結果是avr排在了最後,其實對於一般的應用也沒什麼問題。STM32是由著名的ST公司生產的,該公司一直致力於電機控制晶片的研發生產,而且做的很出色,我想抗幹擾應該沒什麼問題,至少不會比前兩種差。


  推薦閱讀:avr單片機c語言編程風格介紹

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 51,AVR,PIC,MSP430,STM32單片機比較
    51,AVR,PIC,MSP430,STM32比較:常用型號,特點,優缺點,eeprom大,出廠時程序引導區就已經加密,並且stc解密的市面價格在1.5w到2.5w之間,可見解密難度大,在一定程度上保護了單片機工程師的利益和產品開發商的利益。生產時就已經考慮到與傳統51的兼容問題,兼容做的很好,又增加了許多功能,軟復位功能我比較喜歡。缺點:資料就是宏晶網上的資料,資料少,不適合初學者---我指學習它自己增加的功能。
  • stm32為什麼短短幾年就佔領了單片機的大半江山?來了解一下
    一、前言還記得12年的時候,當時市場上8位機還很多,尤其51單片機在stc的帶領下,佔據著大片的單片機市場,學單片機大家都用51,大學教材也是以51來入門,雖然此時Atmel系列51單片機已經不太常見了,但國產51任佔據著90%的國內51市場
  • stm32與pic單片機比較_哪個好
    stm32單片機特性   1、內核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬體除法   2、存儲器:片上集成32-512KB的Flash存儲器。
  • PIC單片機、AVR、51系列三類單片機優缺點分析
    pic單片機在日常中使用頻率較高,與pic單片機具備同等地位的還包含AVR、51系列單片機。那麼pic單片機與另外二者有何區別呢?相比較而言,pic單片機又擁有何特點?一起看看這篇關於pic單片機、AVR和51系列單片的對比分析吧。
  • 關於調試stm32和stm8(51單片機)的i2c和spi協議的之間的區別
    在調試STM32的i2c和io口模擬spi協議時發現時序是很關鍵的。stm32在72M運行下可以實現i2c或者spi協議,但並不代表把相同的代碼移植到51單片機上就會成功的跑起來,因為51單片機的速讀最塊8M,所以在時序上會產生很多大的區別。經過測試,在stm32上的spi協議時鐘線可達到20Khz,移植到51後,頻率會降到<10hz。
  • stm32屬於arm嗎_arm和stm32的區別
    打開APP stm32屬於arm嗎_arm和stm32的區別 發表於 2017-10-10 11:34:35 STM32 MCU融高性能、實時性、數位訊號處理、低功耗、低電壓於一身,同時保持高集成度和開發簡易的特點。業內最強大的產品陣容,基於工業標準的處理器,大量的軟硬體開發工具,讓STM32單片機成為各類中小項目和完整平臺解決方案的理想選擇。按內核架構分為不同產品系列。
  • 吃透單片機編程軟體,IAR單片機編程軟體創建stm32工程
    Keil和IAR單片機編程軟體,是當前流通度龐大的兩款單片機編程軟體。而對於單片機編程軟體的使用,各自存在一定區別。本文中,將為大家講解IAR單片機編程軟體建立stm32工程的詳細方法,希望大家通過本文能夠有所收穫哦。
  • stm32單片機休眠模式後無法下載程序怎麼辦
    打開APP stm32單片機休眠模式後無法下載程序怎麼辦 發表於 2018-03-23 14:40:00 利用stm32單片機的休眠模式,使單片機間歇的休眠從而實現低功耗的目的。
  • STM32 淺析HAL庫和LL庫的區別
    在智能家居的開發項目中,大多數設備屬於電池供電設備,並且多是環境監測sensor,也有DC供電的電燈控制和語音控制等,這些暫不在討論範圍,對於功能單一的終端檢測設備來說,成本和低功耗就是最為關鍵的成本因素,所以ST的低功耗系列STM32L類單片機在這類應用中也是大放異彩,此類單片機成本、外設和低功耗都做得很完善,但對應缺點就是flash容量一般只有幾十K,屬於小容量的STM32
  • 淺談STM32和51單片機之間的區別
    打開APP 淺談STM32和51單片機之間的區別 發表於 2019-01-30 09:36:46 單片微型計算機簡稱單片機,簡單來說就是集CPU(運算、控制)、RAM(數據存儲-內存)、ROM(程序存儲)、輸入輸出設備(串口、並口等)和中斷系統處於同一晶片的器件,在我們自己的個人電腦中,CPU、RAM、ROM、I/O這些都是單獨的晶片,然後這些晶片被安裝在一個主板上,這樣就構成了我們的PC主板,進而組裝成電腦,而單片機只是將這所有的集中在了一個晶片上而已。
  • C51、PIC和AVR單片機性能比較
    功能全,型號多,適於選型分析,抗幹擾能力強。  缺點:解密容易,單片機價格貴(從性價比方面說)。  IDE環境:推薦picc+mplab。  avr mega系列:價格便宜(從性價比方面說),硬體結構適合C語言編程,功能齊全,不容易解密。抗幹擾能力強。型號之間兼容性一般。應該說是比較滿意的片子了。
  • STM32編程與51編程一樣嗎?區別是什麼?
    而傳統的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。目前,高端的32位單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。 當代單片機系統已經不再只在裸機環境下開發和使用,大量專用的嵌入式作業系統被廣泛應用在全系列的單片機上。
  • 51單片機程序燒寫說明
    >型號51或者avr均可(常用的51型號為AT89S52,常用的AVR型號為ATMEGA16)設置熔絲位(若使用51單片機不需要設置熔絲,直接進入下一步),注意SPIEN要始終保持紅色,否則容易造成晶片死鎖。
  • 7個基於STM32單片機的精彩設計實例,附原理圖、代碼等相關資料
    尤其對於新手,是一個學習stm32單片機的「活生生」的範例。本文引用地址:http://www.eepw.com.cn/article/201706/348110.htm1、STM32與FPGA強強聯合,實現完整版信號發生器話說之前看過作者的另外一個作品,是STM32和FPGA實現的示波器,當然感覺不做。現在作者又推出了信號發生器。
  • esp32和stm32哪個好_ESP32對比ESP8266
    esp32和stm32哪個好_ESP32對比ESP8266 單片機愛好者 發表於 2020-04-23 11:06:19   esp32和stm32哪個好
  • 51/STM32/MSP430/STC/TMS/PIC/AVR,七大主流單片機最全面對比
    :Atmel、TI、ST、MicroChip、ARM…國內的宏晶STC單片機也是可圈可點…  下面為大家帶來51、MSP430、TMS、STM32、PIC、AVR、STC單片機之間的優缺點比較及功能體現……  51單片機  應用最廣泛的8位單片機當然也是初學者們最容易上手學習的單片機,最早由
  • 嵌入式和單片機的區別
    導讀 對於嵌入式和單片機,一聽到它們,我們就會聯想到插滿晶片和針腳的電路板。對於電子計算機類的學生,這兩個名詞可能就不那麼陌生了,它們和硬體系統有著非常密切的關係。
  • AVR ELF文件的生成與燒錄
    推薦閱讀 Microchip推出全新功能安全型AVR® DA系列單片機,支持實時控制、連接和HMI應用 隨著物聯網(IoT)為工業和家庭應用提供更強的連接性,以及車聯網提升了駕駛室和操控功能,業界需要更高性能的單片機來實現更好的實時控制以及增強的人機接口應用
  • 單片機的比較(avr 8051 stc 等)
    1、AVR單片機與8051的比較:主要區別是內核不同,指令集不同,io結構不同,外設不同。AVR單片機比8051的硬體資源多得多,AVR單片中的MEGA系列內部還有AD轉換器,在一些簡單的電路中,有了AVR單片機就甚至是零外部元件了,使用非常方便,是主流的單片機,而價格又不貴!2、STC是改進型51。
  • Stm32單片機開發KEIL啟動文件彙編語言詳解
    文章目錄簡介啟動文件彙編代碼相關指令堆棧空間的定義初始化中斷向量表復位中斷函數中斷函數的弱(WEAK)聲明用戶棧和堆初始化簡介我們在做單片機編程的時候,大部分都是用KEIL自帶的啟動文件來使程序進入C語言main函數,然後進行C語言編程開發的工作。那麼這個啟動文件到底做了什麼呢?