avr單片機讀寫sd和手機sim卡的資料
我的貢獻
草稿箱
馬叆琳 秀才 二級(232) | 我的百科 | 我的知道 | 我的消息(0/0) | 我的空間 | 百度首頁 | 退出
到百科首頁
新聞 網頁 貼吧 知道 MP3 圖片 視頻 百科
幫助
添加到搜藏 返回百度百科首頁
編輯詞條
AVR單片機
什麽是AVR單片機?AVR單片機是什麽意思?
單片機又稱單片微控制器,它是把壹個計算機系統集成到壹個芯片上,概括的講:壹塊芯片就成了壹臺計算機。單片機技術是計算機技術的壹個分支,是簡易機器人的核心元件。
1997年,由ATMEL公司挪威設計中心的A先生與V先生利用ATMEL公司的Flash新技術, ***同研發出RISC精簡指令集的高速8位單片機,簡稱AVR。
AVR單片機的優勢特征
單片機已廣泛地應用於軍事、工業、家用電器、智能玩具、便攜式智能儀表和機器人制作等領域,使產品功能、精度和質量大幅度提升,且電路簡單,故障率低,可靠性高,成本低廉。單片機種類很多,在簡易機器人制作和創新中,為什麽選用AVR單片機呢?
壹、簡便易學,費用低廉
首先,對於非專業人員來說,選擇AVR單片機的最主要原因,是進入AVR單片機開發的門檻非常低,只要會操作電腦就可以學習AVR單片機的開發。單片機初學者只需壹條ISP下載線,把編輯、調試通過的軟件程序直接在線寫入AVR單片機,即可以開發 AVR單片機系列中的各種封裝的器件。AVR單片機因此在業界號稱“壹線打天下”。
其次,AVR單片機便於升級。AVR程序寫入是直接在電路板上進行程序修改、燒錄等操作,這樣便於產品升級。
再次,AVR單片機費用低廉。學習AVR單片機可使用ISP在線下載編程方式(即把PC機上編譯好的程序寫到單片機的程序存儲器中),不需購買仿真器、編程器、擦抹器和芯片適配器等,即可進行所有AVR單片機的開發應用,這可節省很多開發費用。程序存儲器擦寫可達10000次以上,不會產生報廢品。
二、高速、低耗、保密
首先,AVR單片機是高速嵌入式單片機:
1、AVR單片機具有預取指令功能,即在執行壹條指令時,預先把下壹條指令取進來,使得指令可以在壹個時鐘周期內執行。
2、多累加器型,數據處理速度快。AVR單片機具有32個通用工作寄存器,相當於有32條立交橋,可以快速通行。
3、中斷響應速度快。AVR單片機有多個固定中斷向量入口地址,可快速響應中斷。
其次,AVR單片機耗能低。對於典型功耗情況,WDT關閉時為100nA,更適用於電池供電的應用設備。有的器件最低1.8 V即可工作。
再次,AVR單片機保密性能好。它具有不可破解的位加密鎖Lock Bit技術,保密位單元深藏於芯片內部,無法用電子顯微鏡看到。
三、I/O口功能強,具有A/D轉換等電路
1. AVR單片機的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實情況。工業級產品,具有大電流(灌電流)10~40 mA,可直接驅動可控矽SSR或繼電器,節省了外圍驅動器件。
2. AVR單片機內帶模擬比較器,I/O口可用作A/D轉換,可組成廉價的A/D轉換器。ATmega48/8/16等器件具有8路10位A/D。
3. 部分AVR單片機可組成零外設元件單片機系統,使該類單片機無外加元器件即可工作,簡單方便,成本又低。
4. AVR單片機可重設啟動復位,以提高單片機工作的可靠性。有看門狗定時器實行安全保護,可防止程序走亂(飛),提高了產品的抗幹擾能力。
四、有功能強大的定時器/計數器及通訊接口
定時/計數器T/C有8位和16位,可用作比較器。計數器外部中斷和PWM(也可用作D/A)用於控制輸出,某些型號的AVR單片機有3~4個PWM,是作電機無級調速的理想器件。
AVR單片機有串行異步通訊UART接口,不占用定時器和SPI同步傳輸功能,因其具有高速特性,故可以工作在壹般標準整數頻率下,而波特率可達576K。
AVR單片機的型號標識解析
1. 型號緊跟的字母,表示電壓工作範圍。帶“V”:1.8-5.5V;若缺省,不帶“V”:2.7-5.5V。
例:ATmega48-20AU,不帶“V”表示工作電壓為2.7-5.5V。
2. 後綴的數字部分,表示支持的最高系統時鐘。
例:ATmega48-20AU,“20”表示可支持最高為20MHZ的系統時鐘。
3. 後綴第壹(第二)個字母,表示封裝。“P”:DIP封裝,“A”:TQFP封裝,“M”:MLF封裝。
例:ATmega48-20AU,“A”表示TQFP封裝。
4. 後綴最後壹個字母,表示應用級別。“C”:商業級,“I”:工業級(有鉛)、“U”工業級(無鉛)。
例:ATmega48-20AU,“U”表示無鉛工業級。ATmega48-20AI,“I”表示有鉛工業級。
AVR 8-Bit 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已被廣泛用於:
· 空調控制板
· 打印機控制板
· 智能電表
· 智能手電筒
· LED控制屏
· 醫療設備
· GPS
從市場角度看AVR單片機
· 性價比:AVR大部分型號的性價比較高,性價比表現突出的型號有:atmega48、atmega8、atmega16、atmega169P
· 供貨方面:通用型號的AVR供貨較為穩定,非常規型號的AVR樣品及供貨仍存在問題。
· 市場占有率:目前,AVR的市場占有率還是不如PIC與51,但,AVR的優點使得AVR的市場占有壹直在擴展,AVR的年用量也壹直在上漲。
開發AVR單片機,需要哪些編譯器、調試器?
軟件名稱
類型
簡介
官方網址
AVR Studio
IDE、匯編編譯器
ATMEL AVR Studio集成開發環境(IDE),可使用匯編語言進行開發(使用其它語言需第三方軟件協助),集軟硬件仿真、調試、下載編程於壹體。ATMEL官方及市面上通用的AVR開發工具都支持AVRStudio。
www.atmel.com
GCCAVR
(WinAVR)
C編譯器
GCC是Linux的唯壹開發語言。GCC的編譯器優化程度可以說是目前世界上民用軟件中做的最好的,另外,它有壹個非常大優點是,免費!在國外,使用它的人幾乎是最多的。但,相對而言,它的缺點是,使用操作較為麻煩。
sourceforge.net
ICC AVR
C編譯器
(集燒寫程序功能)
市面上(大陸)的教科書使用它作為例程的較多,集成代碼生成向導,雖然它的各方面性能均不是特別突出,但使用較為方便。雖然ICCAVR軟件不是免費的,但,它有Demo版本,在45天內是完全版。
www.imagecraft.com
CodeVision AVR
C編譯器
(集燒寫程序功能)
與KeilC51的代碼風格最為相似,集成較多常用外圍器件的操作函數,集成代碼生成向導,有軟件模塊,不是免費軟件,Demo版為限2KB版。
www.hpinfotech.ro
ATman AVR
C編譯器
支持多個模塊調試(AVRStudio不支持多個模塊調試)。
www.atmanecl.com
IAR AVR
C編譯器
IAR實際上在國外比較多人使用,但它的價格較為昂貴,所以,中國大陸內,使用它的開發人員較少,只有習慣用IAR的工程師才會去使用它。
www.iar.com
Devices
Flash Kbytes
EEPROM Kbytes
SRAM Bytes
I/O
F.max (MHz)
Vcc
(V)
pico
Power
16bit Timers
8bit Timers
PWM channels
RTC
SPI
UART
TWI
ISP
10-bit A/D (channels)
Analog Com
parator
WDT
Hardware Multiplier
Ext Int
-errupts
Self Program Memory
ATtiny13 ATtiny13V
1
0.064
64B
32reg
6
20
1.8-5.5
-
--
1
2
-
-
-
-
√
4
√
√
No
6
√
ATtiny24 ATtiny24V
2
0.128
128
12
20
1.8-5.5
-
1
1
4
-
USI
-
USI
√
8
√
√
--
12
√
ATtiny44 ATtiny44V
4
0.256
256
12
20
1.8-5.5
-
1
1
4
-
USI
-
USI
√
8
√
√
--
12
√
ATtiny84 ATtiny84V
8
0.512
512
12
20
1.8-5.5
-
1
1
4
-
USI
-
USI
√
8
√
√
--
12
√
ATtiny26 ATtiny26L
2
0.125
128
16
16
2.7-5.5
-
--
2
2
-
USI
-
USI
√
11
√
√
--
1
--
ATtiny2313 ATtiny2313V
2
0.128
128
18
20
1.8-5.5
-
1
1
4
-
USI
1
USI
√
--
√
√
--
2
√
ATmega48 ATmega48V
4
0.256
512
23
20
1.8-5.5
-
1
2
6
√
1+USART
1
√
√
8/6(DIP)
√
√
√
26
√
ATmega88 ATmega88V
8
0.5
1024
23
20
1.8-5.5
-
1
2
6
√
1+USART
1
√
√
8/6(DIP)
√
√
√
26
√
ATmega168 ATmega168V
16
0.5
1024
23
20
1.8-5.5
-
1
2
6
√
1+USART
1
√
√
8/6(DIP)
√
√
√
26
√
ATmega8 ATmega8L
8
0.5
1024
23
16
2.7-5.5
-
1
2
3
√
1
1
√
√
8/6(DIP)
√
√
√
2
√
ATmega16 ATmega16L
16
0.5
1024
32
16
2.7-5.5
-
1
2
4
√
1
1
√
√
8
√
√
√
3
√
ATmega32 ATmega32L
32
1
2048
32
16
2.7-5.5
-
1
2
4
√
1
1
√
√
8
√
√
√
3
√
ATmega64 ATmega64L
64
2
4096
53
16
2.7-5.5
-
2
2
8
√
1
2
√
√
8
√
√
√
8
√
ATmega128 ATmega128L
128
4
4096
53
16
2.7-5.5
-
2
2
8
√
1
2
√
√
8
√
√
√
8
√
ATmega1280 ATmega1280V
128
4
8192
86
16
1.8-5.5
-
4
2
16
√
1+USART
4
√
√
16
√
√
√
32
√
ATmega162 ATmega162V
16
0.5
1024
35
16
1.8-5.5
-
2
2
6
√
1
2
--
√
-
√
√
√
3
√
ATmega169 ATmega169V
16
0.5
1024
53
16
1.8-5.5
-
1
2
4
√
1+USI
1
USI
√
8
√
√
√
17
√
ATmega169P ATmega169PV
16
0.5
1024
54
16
1.8-5.5
√
1
2
4
√
1+USI
1
USI
√
8
√
√
√
17
√
ATmega8515 ATmega8515L
8
0.5
512
35
16
2.7-5.5
-
1
1
3
-
1
1
-
√
-
-
√
√
3
√
ATmega8535 ATmega8535L
8
0.5
512
32
16
2.7-5.5
-
1
2
4
-
1
1
√
√
8
√
√
√
3
√
ATmega48P ATmega48PV
4
0.256
512
23
20
1.8-5.5
√
1
2
6
√
1+USART
1
√
√
8/6(DIP)
√
√
√
26
√
ATmega88P ATmega88PV
8
0.5
1024
23
20
1.8-5.5
√
1
2
6
√
1+USART
1
√
√
8/6(DIP)
√
√
√
26
√
ATmega168P ATmega168PV
16
0.5
1024
23
20
1.8-5.5
√
1
2
6
√
1+USART
1
√
√
8/6(DIP)
√
√
√
26
√
ATmega164P ATmega164PV
16
0.5
1024
32
20
1.8-5.5
√
1
2
6
√
1+USART
2
√
√
8
√
√
√
32
√
ATmega324P ATmega324PV
32
1
2048
32
20
1.8-5.5
√
1
2
6
√
1+USART
2
√
√
8
√
√