AVR、51系列、PIC單片機(jī)的對比分析
在51系列中,所有的邏輯運(yùn)算都必須在A中進(jìn)行;而AVR卻可以在任兩個(gè)寄存器之間進(jìn)行,省去了在A中的來回折騰,這些都比51系列強(qiáng)。
AVR的專用寄存器集中在$00~$3F地址區(qū)間,無需像PIC那樣得先進(jìn)行選存儲體的過程,使用起來比PIC方便。AVR的片內(nèi)RAM的地址區(qū)間為$0060~$00DF(AT90S23131)和$0060~$025F(AT90S85l5、AT90S8535),它們占用的是數(shù)據(jù)空間的地址,這些片內(nèi)RAM僅僅是用來存儲數(shù)據(jù)的,通常不具備通用寄存器的功能。當(dāng)程序復(fù)雜時(shí),通用寄存器R0一R31就顯得不夠用;而51系列的通用寄存器多達(dá)128個(gè)(為AVR的4倍),編程時(shí)就不會有這種感覺。
AVR的I/O腳類似PIC,它也有用來控制輸入或輸出的方向寄存器,在輸出狀態(tài)下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。雖不如PIC,但比51系列強(qiáng)。
綜合來看,AVR與51、PIC單片機(jī)相比具有一系列的優(yōu)點(diǎn),用通俗的說法主要體現(xiàn)在這幾個(gè)方面:
(1)、在相同的系統(tǒng)時(shí)鐘下AVR運(yùn)行速度最快;
(2)、所有AVR單片機(jī)的FLASH、EEPROM蓄存器都可以反復(fù)燒寫、支持在ISP在線編程(燒寫),入門費(fèi)用非常少;
(3)、片內(nèi)集成多種頻率的RC振蕩器、上電自動復(fù)位、看門狗、啟動延時(shí)等功能,使得電路設(shè)計(jì)變得非常簡單;
(4)、每個(gè)IO口作輸出時(shí)都可以輸出很強(qiáng)的高、低電平,作輸入時(shí)IO口可以是高阻抗或者帶上拉電阻;
(5)、片內(nèi)具有豐富實(shí)用的資源,如AD模數(shù)器、DA數(shù)模器,豐富的中斷源、SPI、USART、TWI通信口、PWM等等;
(6)、片內(nèi)采用了先進(jìn)的數(shù)據(jù)加密技術(shù),大大的提高了破解的難度;
(7)、片內(nèi)FLASH空間大、品種多,引腳少的有8腳,多的有64腳等各種封裝
(8)、部分芯片的引腳兼容51系列,代換容易,如ATtiny2313兼容AT89C2051,ATmega8515/162兼容AT89S51等
四、單片機(jī)的選擇。
各種單片機(jī)都有各自的優(yōu)缺點(diǎn),應(yīng)根據(jù)需要選擇。選擇單片機(jī)原則如下:
1. 單片機(jī)的基本參數(shù)例如速度,程序存儲器容量,I/O引腳數(shù)量
2. 單片機(jī)的增強(qiáng)功能,例如看門狗,雙指針,雙串口,RTC(實(shí)時(shí)時(shí)鐘),EEPROM,擴(kuò)展RAM,CAN接口,I2C接口,SPI接口,USB接口。
3. Flash和OTP(一次性可編程)相比較,最好是Flash。
4. 封裝IP(雙列直插),PLCC(PLCC有對應(yīng)插座)還是貼片。DIP封裝在做實(shí)驗(yàn)時(shí)可能方便一點(diǎn)。
5. 工作溫度范圍,工業(yè)級還是商業(yè)機(jī)。如果設(shè)計(jì)戶外產(chǎn)品,必須選用工業(yè)級。
6. 功耗,比如設(shè)計(jì)并口加密狗,信號線取電只能提供幾個(gè)mA,用PIC就是因?yàn)榈凸?,后來出了MSP430也不錯(cuò)。
7. 工作電壓范圍。例如設(shè)計(jì)電視機(jī)遙控器,2節(jié)干電池供電,至少應(yīng)該能在1.8-3.6V電壓范圍內(nèi)工作。
8. 供貨渠道暢通。能申請樣片,小批量購買有現(xiàn)貨。最好像標(biāo)準(zhǔn)51,中發(fā)里隨便找個(gè)柜臺就能買到(我在北京)
9. 價(jià)格低。
10. 有服務(wù)商,像周立功公司推Philips,雙龍公司推AVR,都提供了很多有用的技術(shù)支持,起碼燒寫器有地方買。
11. 燒錄器價(jià)格低,如果是ICP(把單片機(jī)放在燒錄器上編程)能否利用現(xiàn)有的燒錄器,如果是表貼封裝,買一個(gè)轉(zhuǎn)接座也很貴,至少得一二百元。能否ISP(在系統(tǒng)編程,即把芯片先焊到板子上再通過預(yù)留的ISP接口編程),一般ISP編程器比較便宜大約一二百元甚至幾十元。
12. 仿真器便宜。對于FLASH型單片機(jī),仿真器不是必備的。但是對于OTP(一次性可編程)型單片機(jī),必須購買或者租用仿真器。
13. 單片機(jī)匯編語言是自己熟悉的,并且能支持C語言。編程環(huán)境要像keil一樣好用,并且還是免費(fèi)的。
14. 網(wǎng)站速度快,資料豐富。包括芯片手冊,應(yīng)用指南,設(shè)計(jì)方案,范例程序。最好有中文,像Atmel就不錯(cuò)。
15. 保密性能好,查一下專業(yè)解密網(wǎng)站上的黑名單,再發(fā)個(gè)mail咨詢一下解密價(jià)格。
16. 抗干擾性能好。我曾經(jīng)把XXC52改為S52后發(fā)現(xiàn)抗干擾性能下降,只好改回去。
17. 和其他外設(shè)芯片放在一起的綜合考慮
評論