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導航儀、吸塵機器人等產品上。
六 音頻視頻處理首選 DSP
1 簡介
DSP數字信號處理(Digital Signal Processing,簡稱DSP),它是一種獨特的微處理器,是以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數字信號,再對數字信號進行修改、刪除、強化,并在其他系統芯片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。
在高速小車巡線、語音識別等領域DSP被廣泛應用。但如果僅用DSP檢測幾個碰撞開關、控制幾個電機顯得大材小用。
七 新興控制器 FPGA
1簡介
FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,系統設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。簡單說,如果使用者想開發一個用簡單數字邏輯電路就能控制的小車,又嫌搭電路麻煩,他就可用軟件給一個FPGA編程讓它實現數字電路功能去控制小車。即FPGA可被用來模擬各種電路。有的FPGA甚至能模擬51單片機的運行。因FPGA通過編程即可修改它模擬的電路結構,因此在系統實驗、調試中很方便,很多愛好者嘗試用FPGA做機器人控制器。
八 更多可供選擇的單片機
? ?? ? 我們選擇學一款單片機前首先要考慮自己面對的實際任務需要什么性能的單片機,然后在眾多性能滿足要求的單片機中作出選擇。此時我們還要考慮不同單片機的“應用廣泛程度”,比方說:當我們要做一個電子大賽智能小車,有AVR單片機和PIC單片機可滿足任務需要,如何在兩者中作出選擇需要考慮哪種單片機學起來比較容易、學習資料容易獲取、可供參考的程序和案例更加豐富、哪種單片機更容易獲得編程軟件和下載器等。筆者感覺要想做智能小車,AVR單片機的資料比較豐富。
? ?? ? 世界上有種類繁多的單片機,它們當中絕大多數都可用來控制機器人,但存在一個是否合適的問題。比如PLC是可編程控制器,當然可以用來控制愛好者手中的機器人,但PLC多用于工業控制領域,設備龐大價格昂貴,同時不易獲得用PLC控制小型機器人的資料。愛好者選擇學一種單片機前,首先得明確自己要用單片機干什么,然后再選最合適的單片機學習。學單片機重在學精一兩種單片機,如果有人泛泛地學ARM、PLC、PIC、凌陽、DSP、FPGA等所有有名的單片機,那么他將無法擁有真正的深度開發能力。所謂深度開發,以AVR單片機為例,初學者可以用它實現小燈交替閃爍,中級技術人員可以用它控制參加比賽的機器人,而真正的高級開發人員可以用AVR實現機器視覺、無人機自動駕駛、坦克火控系統……
? ?? ? AVR單片機過時了嗎?
? ?? ? 有初學者甚至中級開發人員認為因ARM性能一般比AVR性能高,因此ARM將代替AVR,AVR將退出歷史舞臺,或者MSP430將代替51系列單片機,或者FPGA將取代所有單片機等。這種看法不對,因為不同單片機都有各自的特點和優點,沒有哪種單片機是完美的,在不同場合用最合適的單片機,發揮它們各自的特長,而不存在ARM一統天下,取代所有其他型號單片機的可能性。試想,原本十幾元的電子表因為采用ARM控制買到幾百元,誰能受得了?因此不要覺得AVR已經過時,學完51就直接學ARM,或者覺得學51沒用,直接學ARM,否則你將碰壁。
? ?? ?? ? MSP430系列單片機:比較適于機器人開發,是美國德州儀器推向市場的一種16位、具有精簡指令集的、超低功耗的混合信號處理器。具有Flash存儲器,中斷源較多,并且可以任意嵌套,使用時靈活方便。MSP430系列單片機的電源電壓采用的是 1.8~3.6V 電壓。因而可使其在1MHz的時鐘條件下運行時,芯片的電流會在200~400uA左右,時鐘關斷模式的最低功耗只有0.1uA。MSP430系列單片機的各成員都集成了較豐富的片內外設。它們分別是看門狗、模擬比較器、定時器、串口0、1、硬件乘法器、液晶驅動器、10位/12位ADC、16位Sigma-Delta AD、直接尋址模塊(DMA)、IO端口、基本定時器(Basic Timer)等的一些外圍模塊的不同組合。MSP430 系列單片機引進了JTAG技術,不僅使開發工具變得簡便,而且價格也相對低廉,并且還可以實現在線編程。
? ?? ?? ? PIC單片機:可用于機器人開發,是8位單片機,產品種類豐富,采用精簡指令集,有不錯的開發環境,引腳驅動能力強,可直接連接繼電器控制強電。自帶看門狗,有睡眠和低功耗模式。很多性能不如AVR和MSP430系列單片機,但因其有特殊優點,也被廣泛應用。
? ?? ?? ? 凌陽單片機:比較適于機器人開發,以16位計算機為核心,集成不同規模的RAM、ROM和其他豐富的功能電路,使用者可以根據自己需要選擇集成了特定功能電路的凌陽單片機。凌陽單片機指令系統提供出具有較高運算速度的16位,16位的乘法運算指令和內積運算指令,為其應用添加了DSP功能,因此凌陽適合進行語音識別。在我國凌陽單片機在學校比較常見,應用實例較多,可作為機器人愛好者選用的單片機。
學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導航儀、吸塵機器人等產品上。
六 音頻視頻處理首選 DSP
1 簡介
DSP數字信號處理(Digital Signal Processing,簡稱DSP),它是一種獨特的微處理器,是以數字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉換為0或1的數字信號,再對數字信號進行修改、刪除、強化,并在其他系統芯片中把數字數據解譯回模擬數據或實際環境格式。它不僅具有可編程性,而且其實時運行速度可達每秒數以千萬條復雜指令程序,遠遠超過通用微處理器,是數字化電子世界中日益重要的電腦芯片。它的強大數據處理能力和高運行速度,是最值得稱道的兩大特色。
在高速小車巡線、語音識別等領域DSP被廣泛應用。但如果僅用DSP檢測幾個碰撞開關、控制幾個電機顯得大材小用。
七 新興控制器 FPGA
1簡介
FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,系統設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。簡單說,如果使用者想開發一個用簡單數字邏輯電路就能控制的小車,又嫌搭電路麻煩,他就可用軟件給一個FPGA編程讓它實現數字電路功能去控制小車。即FPGA可被用來模擬各種電路。有的FPGA甚至能模擬51單片機的運行。因FPGA通過編程即可修改它模擬的電路結構,因此在系統實驗、調試中很方便,很多愛好者嘗試用FPGA做機器人控制器。
八 更多可供選擇的單片機
? ?? ? 我們選擇學一款單片機前首先要考慮自己面對的實際任務需要什么性能的單片機,然后在眾多性能滿足要求的單片機中作出選擇。此時我們還要考慮不同單片機的“應用廣泛程度”,比方說:當我們要做一個電子大賽智能小車,有AVR單片機和PIC單片機可滿足任務需要,如何在兩者中作出選擇需要考慮哪種單片機學起來比較容易、學習資料容易獲取、可供參考的程序和案例更加豐富、哪種單片機更容易獲得編程軟件和下載器等。筆者感覺要想做智能小車,AVR單片機的資料比較豐富。
? ?? ? 世界上有種類繁多的單片機,它們當中絕大多數都可用來控制機器人,但存在一個是否合適的問題。比如PLC是可編程控制器,當然可以用來控制愛好者手中的機器人,但PLC多用于工業控制領域,設備龐大價格昂貴,同時不易獲得用PLC控制小型機器人的資料。愛好者選擇學一種單片機前,首先得明確自己要用單片機干什么,然后再選最合適的單片機學習。學單片機重在學精一兩種單片機,如果有人泛泛地學ARM、PLC、PIC、凌陽、DSP、FPGA等所有有名的單片機,那么他將無法擁有真正的深度開發能力。所謂深度開發,以AVR單片機為例,初學者可以用它實現小燈交替閃爍,中級技術人員可以用它控制參加比賽的機器人,而真正的高級開發人員可以用AVR實現機器視覺、無人機自動駕駛、坦克火控系統……
? ?? ? AVR單片機過時了嗎?
? ?? ? 有初學者甚至中級開發人員認為因ARM性能一般比AVR性能高,因此ARM將代替AVR,AVR將退出歷史舞臺,或者MSP430將代替51系列單片機,或者FPGA將取代所有單片機等。這種看法不對,因為不同單片機都有各自的特點和優點,沒有哪種單片機是完美的,在不同場合用最合適的單片機,發揮它們各自的特長,而不存在ARM一統天下,取代所有其他型號單片機的可能性。試想,原本十幾元的電子表因為采用ARM控制買到幾百元,誰能受得了?因此不要覺得AVR已經過時,學完51就直接學ARM,或者覺得學51沒用,直接學ARM,否則你將碰壁。
? ?? ?? ? MSP430系列單片機:比較適于機器人開發,是美國德州儀器推向市場的一種16位、具有精簡指令集的、超低功耗的混合信號處理器。具有Flash存儲器,中斷源較多,并且可以任意嵌套,使用時靈活方便。MSP430系列單片機的電源電壓采用的是 1.8~3.6V 電壓。因而可使其在1MHz的時鐘條件下運行時,芯片的電流會在200~400uA左右,時鐘關斷模式的最低功耗只有0.1uA。MSP430系列單片機的各成員都集成了較豐富的片內外設。它們分別是看門狗、模擬比較器、定時器、串口0、1、硬件乘法器、液晶驅動器、10位/12位ADC、16位Sigma-Delta AD、直接尋址模塊(DMA)、IO端口、基本定時器(Basic Timer)等的一些外圍模塊的不同組合。MSP430 系列單片機引進了JTAG技術,不僅使開發工具變得簡便,而且價格也相對低廉,并且還可以實現在線編程。
? ?? ?? ? PIC單片機:可用于機器人開發,是8位單片機,產品種類豐富,采用精簡指令集,有不錯的開發環境,引腳驅動能力強,可直接連接繼電器控制強電。自帶看門狗,有睡眠和低功耗模式。很多性能不如AVR和MSP430系列單片機,但因其有特殊優點,也被廣泛應用。
? ?? ?? ? 凌陽單片機:比較適于機器人開發,以16位計算機為核心,集成不同規模的RAM、ROM和其他豐富的功能電路,使用者可以根據自己需要選擇集成了特定功能電路的凌陽單片機。凌陽單片機指令系統提供出具有較高運算速度的16位,16位的乘法運算指令和內積運算指令,為其應用添加了DSP功能,因此凌陽適合進行語音識別。在我國凌陽單片機在學校比較常見,應用實例較多,可作為機器人愛好者選用的單片機。
?
評論
查看更多