第1章 AVR單片機系統(tǒng) 1.1 概述 1.1.1 低開發(fā)成本 1.1.2 安全、高速、低功耗的性能 1.1.3 A/D轉換功能 1.1.4 具有較強驅動能力的I/O口 1.1.5 精簡指令集 1.1.6 其他功能 1.2 AVR系列單片機的選型 1.2.1 ATtiny系列單片機特點 1.2.2 AT90S系列單片機特點 1.2.3 ATmega系列單片機特點 1.3 AVR系列單片機的開發(fā)步驟 1.3.1 設計硬件電路 1.3.2 用C語言編寫程序 1.3.3 程序調試 1.3.4 搭建實驗電路板 1.3.5 程序下載 第2章 AVR單片機系統(tǒng)結構 2.1 AVR單片機結構 2.2 AVR存儲器 2.2.1 系統(tǒng)內可編程的Flash程序存儲器 2.2.2 SRAM數(shù)據(jù)存儲器 2.2.3 E2PROM數(shù)據(jù)存儲器 2.2.4 I/O存儲器 2.2.5 外部存儲器接口 2.3 時鐘管理 2.3.1 時鐘系統(tǒng)及其分布 2.3.2 時鐘源 2.3.3 默認時鐘源 2.3.4 晶體振蕩器 2.3.5 外部RC振蕩器 2.3.6 標定的片內RC振蕩器 2.3.7 外部時鐘 2.4 電源管理及睡眠模式 2.4.1 MCU控制寄存器(MCUCR) 2.4.2 空閑模式 2.4.3 ADC噪聲抑制模式 2.4.4 掉電模式 2.4.5 省電模式 2.4.6 Standby模式 2.4.7 擴展Standby模式 2.4.8 最小化功耗 2.5 系統(tǒng)控制和復位 2.5.1 復位AVR 2.5.2 復位源 2.5.3 上電復位 2.5.4 外部復位 2.5.5 掉電檢測復位 2.5.6 看門狗復位 2.5.7 MCU控制和狀態(tài)寄存器 2.5.8 片內基準電壓 2.5.9 看門狗定時器 2.5.10 改變看門狗定時器配置的時間序列 第3章 AVR單片機指令系統(tǒng) 3.1 指令格式 3.1.1 匯編指令 3.1.2 匯編器偽指令 3.1.3 表達式 3.2 尋址方式 3.3 數(shù)據(jù)操作和指令類型 3.3.1 數(shù)據(jù)操作 3.3.2 指令類型 3.3.3 指令集名詞 3.4 算術和邏輯指令 3.4.1 加法指令 3.4.2 減法指令 3.4.3 乘法指令 3.4.4 取反碼指令 3.4.5 取補指令 3.4.6 比較指令 3.4.7 邏輯與指令 3.4.8 邏輯或指令 3.4.9 邏輯異或指令 3.5 轉移指令 3.5.1 無條件轉移指令 3.5.2 條件轉移指令 3.6 數(shù)據(jù)傳送指令 3.6.1 直接數(shù)據(jù)傳送指令 3.6.2 間接數(shù)據(jù)傳送指令 3.6.3 從程序存儲器直接取數(shù)據(jù)指令 3.6.4 I/O口數(shù)據(jù)傳送 3.6.5 堆棧操作指令 3.7 位指令和位測試指令 3.7.1 帶進位邏輯操作指令 3.7.2 位變量傳送指令 3.7.3 位變量修改指令 3.7.4 其他指令 3.8 新增指令 3.8.1 EICALL——延長間接調用子程序 3.8.2 EIJMP——擴展間接跳轉 3.8.3 ELPM——擴展裝載程序存儲器 3.8.4 ESPM——擴展存儲程序存儲器 3.8.5 FMUL——小數(shù)乘法 3.8.6 FMULS——有符號數(shù)乘法 3.8.7 FMULSU——有符號小數(shù)和無符號小數(shù)乘法 3.8.8 MOVW——拷貝寄存器字 3.8.9 MULS——有符號數(shù)乘法 3.8.10 MULSU——有符號數(shù)與無符號數(shù)乘法 3.8.11 SPM——存儲程序存儲器 3.9 指令使用實例 第4章 ICCAVR語法基礎 4.1 ICCAVR標識符 4.1.1 ICCAVR標識符的構成規(guī)則 4.1.2 ICCAVR的關鍵字 4.2 數(shù)據(jù)類型 4.2.1 變量與常量 4.2.2 整型(int)數(shù)據(jù) 4.2.3 浮點型(float)數(shù)據(jù) 4.2.4 字符型(char)數(shù)據(jù) 4.2.5 指針型(*)數(shù)據(jù) 4.2.6 無值型(void)數(shù)據(jù) 4.3 變量的作用域 4.3.1 塊結構 4.3.2 自動型變量 4.3.3 外部型變量 4.3.4 靜態(tài)型變量 4.3.5 寄存器型變量 4.4 const修飾符 4.5 ICCAVR的分隔符 4.6 運算符 4.6.1 運算符的分類 4.6.2 運算符的優(yōu)先級 4.7 表達式 4.7.1 算術表達式 4.7.2 賦值表達式 4.7.3 逗號運算符與逗號表達式 4.7.4 關系表達式 4.7.5 邏輯表達式 4.8 訪問寄存器 4.9 語句 4.9.1 說明語句 4.9.2 表達式語句 4.9.3 復合語句 4.9.4 條件語句 4.9.5 開關與跳轉語句 4.9.6 循環(huán)語句 4.9.7 函數(shù)調用語句 4.9.8 空語句 4.9.9 ICCAVR語句的流程與控制 4.9.10 逐步求精的設計方法 4.10 函數(shù) 4.10.1 函數(shù)的調用和返回 4.10.2 函數(shù)的作用域 4.10.3 函數(shù)的變量作用域 4.10.4 main函數(shù) 4.10.5 ICCAVR中斷函數(shù) 4.11 ICCAVR庫函數(shù) 第5章 復位系統(tǒng)及睡眠模式 5.1 系統(tǒng)控制和復位 5.1.1 復位AVR 5.1.2 復位源 5.1.3 上電復位 5.1.4 外部復位 5.1.5 掉電檢測復位 5.1.6 看門狗復位 5.1.7 MCU控制和狀態(tài)寄存器MCUCSR 5.1.8 片內基準電壓 5.1.9 看門狗定時器 5.1.10 改變看門狗定時器配置的時間序列 5.2 睡眠模式 5.2.1 MCU控制寄存器包含了電源管理的控制位 5.2.2 空閑模式 5.2.3 ADC噪聲抑制模式 5.2.4 掉電模式 5.2.5 省電模式 5.2.6 Standby模式 5.2.7 擴展Standby模式 5.2.8 最小化功耗 第6章 AVR中斷系統(tǒng) 6.1 復位與中斷處理 6.1.1 中斷類型 6.1.2 中斷處理 6.1.3 中斷響應時間 6.2 中斷向量 6.3 外部中斷 6.3.1 外部中斷控制寄存器A(EICRA) 6.3.2 外部中斷控制寄存器B(EICRB) 6.3.3 外部中斷屏蔽寄存器(EIMSK) 6.3.4 外部中斷標志寄存器(EIFR) 第7章 調試工具 7.1 AVR單片機的編譯 7.1.1 AVR Assembler編譯文件的安裝與打開 7.1.2 AVR單片機匯編語言源程序實例 7.1.3 源文件說明 7.1.4 AVR匯編器 7.2 模擬調試窗口 7.2.1 安裝AVR Studio調試工具 7.2.2 設置器件配置文件 7.2.3 AVR Studio調試窗口下拉菜單 7.2.4 AVR Studio窗口 7.2.5 AVR Studio命令 第8章 接口技術 8.1 JTAG接口和片上調試系統(tǒng)OCD 8.1.1 測試訪問端口TAP 8.1.2 TAP控制器 8.1.3 使用片上調試系統(tǒng) 8.1.4 片上調試專用的JTAG指令 8.1.5 I/O存儲器里與片上調試相關的寄存器 8.1.6 利用JTAG的可編程能力 8.2 使用邊界掃描鏈 8.2.1 數(shù)據(jù)寄存器 8.2.2 用于邊界掃描的JTAG指令 8.3 AVR單片機串行接口 8.3.1 同步串行接口SPI 8.3.2 通用串行接口UART 8.4&nb