AVR高速嵌入式單片機原理與應用(修訂版)詳細介紹ATMEL公司開發的AVR高速嵌入式單片機的結構;講述AVR單片機的開發工具和集成開發環境(IDE),包括Studio調試工具、AVR單片機匯編器和單片機串行下載編程;學習指令系統時,每條指令均有實例,邊學習邊調試,使學習者看得見指令流向及操作結果,真正理解每條指令的功能及使用注意事項;介紹AVR系列多種單片機功能特點、實用程序設計及應用實例;作為提高篇,講述簡單易學、適用AVR單片機的高級語言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機原理與應用(修訂版) 目錄 第一章ATMEL單片機簡介1.1ATMEL公司產品的特點11.2AT90系列單片機簡介21.3AT91M系列單片機簡介2第二章AVR單片機系統結構2.1AVR單片機總體結構42.2AVR單片機中央處理器CPU62.2.1結構概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運算邏輯單元92.3AVR單片機存儲器組織102.3.1可下載的Flash程序存儲器102.3.2內部和外部的SRAM數據存儲器102.3.3EEPROM數據存儲器112.3.4存儲器訪問和指令執行時序112.3.5I/O存儲器132.4AVR單片機系統復位162.4.1復位源172.4.2加電復位182.4.3外部復位192.4.4看門狗復位192.5AVR單片機中斷系統202.5.1中斷處理202.5.2外部中斷232.5.3中斷應答時間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機的省電方式242.6.1休眠狀態242.6.2空閑模式242.6.3掉電模式252.7AVR單片機定時器/計數器252.7.1定時器/計數器預定比例器252.7.28位定時器/計數器0252.7.316位定時器/計數器1272.7.4看門狗定時器332.8AVR單片機EEPROM讀/寫訪問342.9AVR單片機串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態寄存器ACSR462.11AVR單片機I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機存儲器編程612.12.1編程存儲器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機開發工具3.1AVR實時在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機開發下載實驗器SL?AVR703.4AVR集成開發環境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態開發實驗系統793.6SL?AVR*.ASM源文件說明81第四章AVR單片機指令系統4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達式874.2尋址方式894.3數據操作和指令類型924.3.1數據操作924.3.2指令類型924.3.3指令集名詞924.4算術和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉移指令1114.5.1無條件轉移指令1114.5.2條件轉移指令1144.6數據傳送指令1354.6.1直接數據傳送指令1354.6.2間接數據傳送指令1374.6.3從程序存儲器直接取數據指令1444.6.4I/O口數據傳送指令1454.6.5堆棧操作指令1464.7位指令和位測試指令1474.7.1帶進位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長間接調用子程序1624.8.2EIJMP--擴展間接跳轉1634.8.3ELPM--擴展裝載程序存儲器1644.8.4ESPM--擴展存儲程序存儲器1644.8.5FMUL--小數乘法1664.8.6FMULS--有符號數乘法1664.8.7FMULSU--有符號小數和無符號小數乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號數乘法1694.8.10MULSU--有符號數與無符號數乘法1694.8.11SPM--存儲程序存儲器170 第五章AVR單片機AT90系列5.1AT90S12001725.1.1特點1725.1.2描述1735.1.3引腳配置1745.1.4結構縱覽1755.2AT90S23131835.2.1特點1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點1865.3.2描述1875.3.3引腳配置1895.3.4開發實驗工具1905.4AT90S2333/44331915.4.1特點1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結構2015.6.6定時器/計數器2125.6.7看門狗定時器 2175.6.8EEPROM讀/寫2175.6.9串行外設接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數轉換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點2405.10.2描述2415.10.3引腳配置2435.10.4開發實驗工具2455.11ATmega1612465.11.1特點2465.11.2描述2475.11.3引腳配置2475.12AVR單片機替代MCS51單片機249第六章實用程序設計6.1程序設計方法2506.1.1程序設計步驟2506.1.2程序設計技術2506.2應用程序舉例2516.2.1內部寄存器和位定義文件2516.2.2訪問內部 EEPROM2546.2.3數據塊傳送2546.2.4乘法和除法運算應用一2556.2.5乘法和除法運算應用二2556.2.616位運算2556.2.7BCD運算2556.2.8冒泡分類算法2556.2.9設置和使用模擬比較器2556.2.10半雙工中斷方式UART應用一2556.2.11半雙工中斷方式UART應用二2566.2.128位精度A/D轉換器2566.2.13裝載程序存儲器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲的檢查2566.2.164×4鍵區休眠觸發方式2576.2.17多工法驅動LED和4×4鍵區掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗證SLAVR實驗器及AT90S1200的口功能12596.2.22驗證SLAVR實驗器及AT90S1200的口功能22596.2.23驗證SLAVR實驗器及具有DIP40封裝的口功能第七章AVR單片機的應用7.1通用延時子程序2607.2簡單I/O口輸出實驗2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實現字符8的循環移位顯示程序2757.3.4電腦放音機2777.3.5鍵盤掃描程序2857.3.6十進制計數顯示2867.3.7廉價的A/D轉換器2897.3.8高精度廉價的A/D轉換器2947.3.9星星燈2977.3.10按鈕猜數程序2987.3.11漢字的輸入3047.4復雜實用程序3067.4.110位A/D轉換3067.4.2步進電機控制程序3097.4.3測脈沖寬度3127.4.4LCD顯示8字循環3187.4.5LED電腦時鐘3247.4.6測頻率3307.4.7測轉速3327.4.8AT90S8535的A/D轉換334第八章BASCOMAVR的應用8.1基于高級語言BASCOMAVR的單片機開發平臺3408.2BASCOMAVR軟件平臺的安裝與使用3418.3AVR I/O口的應用3458.3.1LED發光二極管的控制3458.3.2簡易手控廣告燈3468.3.3簡易電腦音樂放音機3478.4LCD顯示器3498.4.1標準LCD顯示器的應用3498.4.2簡單游戲機--按鈕猜數3518.5串口通信UART3528.5.1AVR系統與PC的簡易通信3538.5.2PC控制的簡易廣告燈3548.6單總線接口和溫度計3568.7I2C總線接口和簡易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴展名3659.1.3附注和擴充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對安裝完成的軟件進行注冊3679.3ICC AVR導游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環境3709.4.1編譯一個單獨的文件3709.4.2創建一個新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應用構筑向導3719.4.6狀態窗口3719.4.7終端仿真3719.5C庫函數與啟動文件3729.5.1啟動文件3729.5.2常用庫函數3729.5.3字符類型庫3739.5.4浮點運算庫3749.5.5標準輸入/輸出庫3759.5.6標準庫和內存分配函數3769.5.7字符串函數3779.5.8變量參數函數3799.5.9堆棧檢查函數3799.6AVR硬件訪問的編程3809.6.1訪問AVR的底層硬件3809.6.2位操作3809.6.3程序存儲器和常量數據3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對內存地址3849.6.9C任務3859.6.10中斷操作3869.6.11訪問UART3879.6.12訪問EEPROM3879.6.13訪問SPI3889.6.14相對轉移/調用的地址范圍3889.6.15C的運行結構3889.6.16匯編界面和調用規則3899.6.17函數返回非整型值3909.6.18程序和數據區的使用3909.6.19編程區域3919.6.20調試3919.7應用舉例*3929.7.1讀/寫口3929.7.2延時函數3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機簡介398附錄2AT94K系列現場可編程系統標準集成電路401附錄3指令集綜合404附錄4AVR單片機選型表408參 考 文 獻412
上傳時間: 2013-11-08
上傳用戶:xcy122677
特點 精確度0.1%滿刻度±1位數 可直接量測交直流電壓(AC/DC 20~265V)無需另接電源 精密濾波整流,均方根值校正 尺寸小(24x48x50mm),穩定性 分離式端子,配線容易 CE認證
上傳時間: 2013-11-05
上傳用戶:gaome
AD9851模塊制作,可以產生方波及正弦波程序,用于串口測試
上傳時間: 2017-05-18
上傳用戶:leixinzhuo
飛思卡爾K20單片機產生PWM波程序代碼
上傳時間: 2016-05-10
上傳用戶:wtq蟲蟲
真實有效。EKF估計誤差均方值=17.7073 PF估計誤差均方值=5.493 UKF估計誤差均方值=8.5052
上傳時間: 2016-08-31
上傳用戶:sjw920325
波形發生器是常見的電氣測量裝置,它能把肉眼看不見的電信號轉變成看得見的圖像,便于人們研究各種電現象的變化過程。將對波形發生器的示波程序進行設計,以達到簡單示波的效果。選用的是AT89C51型號單片機,要求最終能出現方波、鋸齒波、三角波其中兩種波形。因為硬件條件不允許,故只討論電路的模擬和程序部分的設計思路、設計結果。
上傳時間: 2022-03-28
上傳用戶:
VIP專區-嵌入式/單片機編程源碼精選合集系列(33)資源包含以下內容:1. Embedded Web Server Architecture for Web-based Element and Network Management關于嵌入式Web服務器的完整論文.2. 這是一個電子時鐘程序,里面有顯示時間子程序,還有調整,鍵盤等子程序!.3. 這是一個可調的PWM波程序,稍作修改就可以控制電機轉速或其他設備!.4. 這是實驗室在進行嵌入式開發的時候的首選.5. LCD 仿真器 一、概述 LCD仿真器是一種電子產品的輔助開發工具。目前LCD(液晶屏)在各種電子產品的使用越來越廣泛.6. 提供了與《嵌入式實時操作系統及應用開發》教材配套的實驗系統軟件.7. 摩托羅拉公司發布的QL4的Lin總線kit,freescale網站上花錢買的.8. RTLinux的介紹.9. 嵌入式系統教學教案.10. 在UNIX 系統下得到字符點陣信息嵌入式系統設計中消除內存丟失的策略matlab循環變量小技巧hard disk 1.8# device driverC程序中如何轉換GB2312.11. 針對周立功2104板子的一個秒表程序,可以通過按鍵分別查看秒表的時間,分,秒..12. 難得一見的"EDA技術與PLD設計"課程的課件.13. C語言函數庫文件.14. 本程序用匯編語言編寫.15. 嵌入式系統設計中消除內存丟失的策略.16. 這是有關DM642開發板的相關幻燈片.17. 周立功2106板子的啟動程序代碼,包括初始化,中斷向量表,和頭文件..18. 嵌入式資料光盤,剛剛下的,還沒有來得及看,如果感興趣可以先看看,含有資料文檔..19. 320X240LCD仿真程序 320x240lcd仿真程序.20. 嵌入式我們老師的課件.優點用處..呵呵....呵呵后.21. MiniGui API函數大全及詳細介紹。.22. S3C2410開發板與PC機的通信 客戶端和 服務器端的代碼 以及makefile文件 服務器為開發板 執行 S3 PC機為客戶機 執行host.c.23. GIMP Dynamic Text是GIMP的插件程序.24. keil c公司網站下載的一些實例教程程序!.25. 移植到GBA上運行的LINUX的代碼.26. 用protel 99 設計的可編程彩燈控制器 可顯示16個畫面 8*8矩陣.27. ucos for vc ucos compiled and run in vc.28. 嵌入式的綜合內容.29. 基于ARMs3c44b0的鍵盤輸入輸出i/o的在 led上顯示出來的程序.30. PC-Lint是一個歷史悠久.31. PC-Lint是一種靜態代碼檢測工具.32. C++ 的難學.33. TCP/IP Lean: Web Servers for Embedded Systems, Second Edition.34. 一個多功能的遙控編碼程序,其中有較為詳細的鍵盤掃描程序和用于推動紅外發射的發碼程序.35. eCos/RedBoot for勤研ARM AnywhereII(4510) 含全部源代碼.36. Windows CE是微軟為嵌入式設備打造的操作系統.37. 現在開發的硬件良好產品 結合C和ASM一起開發 可以混合用C里的函數庫.38. Altera recommends the following system configuration: * Pentium II 400 with 512-MB system memory (fa.39. Cyclone1C20的Nios開發板完整原理圖Protel格式.40. Interface Fiche Technique : Langage de programmation : Visual Basic 5.0 Support : Une version de Win.
上傳時間: 2013-04-15
上傳用戶:eeworm
增強型51單片機STC12C5A60S2的內部AD和PWM波以及時鐘輸出程序
上傳時間: 2013-11-07
上傳用戶:wch1989
提出了采用兩段式同軸波紋慢波結構實現雙頻高功率微波輸出的相對論返波振蕩器, 推導了該結構的TM0n模式色散方程,數值求解了兩段式同軸波紋慢波結構TM0n模色散曲線,分析了該器件X波段雙頻高功率微波輸出的產生機理, 分析中考慮了電子注在慢波結構第二段工作效率不變和下降時的雙頻工作點情況,并運用2.5 維全電磁粒子模擬程序驗證了雙頻微波信號的可靠性。關鍵詞高功率微波;雙頻;X 波段;相對論返波振蕩器 當前, 應用于高功率微波效應的微波器件只有一個主頻率,已有的實驗結果表明,在現有條件下,單頻高功率微波用于攻擊敵方的電子系統所需的功率遠遠大于單只高功率微波源所能產生的功率,即破壞閾值很高[1]。但是,如果用兩個或多個頻率相近的高功率微波波束產生拍頻后用于攻擊電子系統,那么所需的功率密度將大大減小,即效應閾值大大下降, 采用這種方式將有可能在現有的技術下使高功率微波實用化[2],但是雙頻及多頻高功率微波源器件的研究目前是十分前沿的課題,處于剛起步階段,在國內外極少有報道[2~4],因而,用單個微波源器件產生穩定輸出的雙頻甚至多頻高功率微波具有重要的實際應用價值和學術價值,是高功率微波領域又一個新興的研究方向, 在高功率微波武器和新體制雷達等方面將有良好的應用前景。
上傳時間: 2013-10-31
上傳用戶:kxyw404582151
有趣的粒子爆炸效果....Win32 編程 [代碼性質] VC完整應用程序代碼 [代碼作者] a1324@yeah.net [文件大小] 13K
上傳時間: 2014-05-27
上傳用戶:1427796291