新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 單片機設計經驗技巧精華集錦(三)

        單片機設計經驗技巧精華集錦(三)

        作者: 時間:2013-05-27 來源:網絡 收藏
        四 愛好者制作機器人首選 AVR系列

          1 簡介

          AVR是1997年由ATMEL公司研發出的增強型內置Flash的RISC(Reduced Instruction Set CPU) 精簡指令集高速8位。高可靠性、功能強、高速度、低功耗和低價位一直是衡量單片機性能的重要指標,而AVR單片機是典型高性能單片機。

          早期單片機,比如51單片機為了提高可靠性(防止數據誤讀或跑飛)采用較高的分頻系數對時鐘分頻,使得指令周期長,執行速度慢。例如51單片機需要12個晶振周期才能組成1個機器周期,而且很多指令需要2個機器周期才能執行。AVR單片機的推出,徹底打破這種舊設計格局,廢除了機器周期,采用精簡指令集,取指周期短,又可預取指令,實現流水作業,故可高速執行指令。AVR單片機在12個晶振周期中能執行12條指令,從這個角度看,如果晶振頻率相同,AVR的速度是51的12倍到24倍。

          AVR有32個通用寄存器,在進行大量復雜運算時,AVR的32個寄存器可相當于51的32個累加器,克服了51系列單片機只有單一累加器數據處理造成的瓶頸現象,在復雜運算時速度比51快5倍以上。由此可看出,51與AVR相比是多么慢,AVR是多么快。

          AVR系列單片機多內部集成了多路AD轉換器、電壓比較器、ISP、I2C、JTAG總線電路、UART串口、大功率IO口、看門狗等實用電路,并且很多AVR單片機型號有EEPROM、FLASH、SRAM三種存儲器,可以實現實時修改程序存儲器中的內容,即AVR單片機可以自己修改自己的程序。同時AVR一般能工作在寬電壓范圍(2.7~6.0V),有的居然可以在1.8V電壓下工作。以上這些性能只是AVR眾多性能中的一部分,然而已經讓51系列單片機望塵莫及了。

          如此高性能的單片機價格居然和51單片機差不多,比如ATmega8價格為8元左右,ATmega16在13元左右,這是AVR有極高性價比的真實寫照。

          單片機設計經驗技巧精華集錦(三)

          2 性能

          AVR家族人丁興旺,包括ATinyAVR(微小型)、低功耗類、ATmegaAVR高中低檔5類單片機。它們都基于同一核心技術,但在內部集成的電路多少上有不同。不論你要做電子手表還是視頻處理,都有一款合適的AVR單片機能滿足你的需要。

          本文只列出ATmega16中檔單片機的性能:

          16KB的FLASH程序存儲器;512B的EEPROM;1KB的SRAM;32個快速寄存器;32個大功率IO口;20個中斷;2個外部中斷口;有SPI、SUART、I2C總線接口;2個8位定時器;1個16位定時器;3個PWM通道;有實時時鐘RTC;8個10位AD通道;電壓比較器;看門狗;內置時鐘振蕩器;JTAG接口;ISP在線編程;電壓范圍為2.7V-5.5V;外部時鐘晶振0-16MHz;有PID和多種貼片封裝。

          AVR的IO口能輸出20mA和吸收40mA的電流,不僅可直接驅動LED,甚至可直接驅動微型直流減速電機。而且AVR的IO口可編程設置成輸入、輸出、高阻態狀態,是真正的3態IO口。和51相比使用AVR開發產品你會發現前所未有的方便和自由。

          AVR單片機可上操作系統,比如UCOS2、Linux等,自主編程實現操作系統功能也很容易。

          根據任務具體需要選擇最合適的單片機,使單片機資源充分利用,使系統性價比達到最高,同時兼顧未來擴展需要,不要一味選用高性能單片機,這就是選單片機的原則。

          用ARM+操作系統做超聲波測距儀——殺雞用了牛刀。用AVR中檔單片機做機器視覺——有些吃不消。如果把它們調換一下,一切就恰到好處了。

          3 使用方法

          學AVR單片機的好書是《AVR單片機嵌入式系統原理與應用實踐》,封面見下圖。

          AVR一般采用CVAVR編程軟件編程,也可用GUN GCC AVR、AVR Studio軟件編程。可采用匯編或C語言編程。燒程序前先輸出HEX文件,然后用SLISP(雙龍ISP)軟件加載,再通過ISP編程線或者25針并口連接線燒入AVR單片機,支持在線編程。

          由于AVR單片機最小系統很簡單,就是電源+晶振(可不用)+LED+ISP接口(通電就運行,斷電就停止,不用復位電路),因此任何初學者都可以用面包板搭出AVR最小系統,并且編程實踐。

          4 實踐經驗

          使用AVR單片機時注意要正確設置熔絲位,SLISP軟件就可設置,熔絲位可決定單片機是采用外部晶振還是采用內部時鐘振蕩器,如果熔絲位設置為采用外部晶振,而電路中沒有接入晶振,則AVR程序不能運行。很多初學者忽視了這一點,他們的AVR系統不能運行卻找不到原因。再有就是AVR的IO口在使用前需先編程設置其狀態,否則你將發現程序在運行,但IO口沒信號。

          單片機設計經驗技巧精華集錦(三)

          4 應用舉例

          單片機設計經驗技巧精華集錦(三)

          單片機設計經驗技巧精華集錦(三)

          五 高級機器人控制器 ARM

          1 簡介

          ARM是一個公司名,他們基于同一內核設計了很多高性能處理器,這些處理器都叫ARM。該技術被很多公司購買后生產出了集成很多功能電路的ARM芯片,使得ARM成為高性能單片機。ARM一般為32位單片機,適于處理大量復雜數據,很多ARM裝上了UCOS2、Windows CE、Linux操作系統,能夠同時運行多個程序。ARM廣泛應用于手機、MP3、GPS導航儀、吸塵機器人等產品上。

          單片機設計經驗技巧精華集錦(三)

        pid控制相關文章:pid控制原理


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        晶振相關文章:晶振原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 天峨县| 道孚县| 肃宁县| 平阳县| 恭城| 佛坪县| 德惠市| 仙桃市| 防城港市| 凌源市| 翁源县| 双柏县| 新平| 通榆县| 松江区| 兖州市| 余干县| 利川市| 甘南县| 肇东市| 阿克陶县| 大城县| 石河子市| 崇信县| 云阳县| 文登市| 宝坻区| 滨州市| 霍城县| 南昌县| 塘沽区| 怀宁县| 临泽县| 泗洪县| 晋宁县| 循化| 云浮市| 蒲城县| 滦南县| 沙河市| 灯塔市|