《AVR單片機C語言套用100例》是2012年2月1日電子工業出版社出版的一本圖書,作者嚴雨、廉潔。本書基於Proteus仿真和C語言由淺入深地介紹了ATmega128單片機的套用。
基本介紹
- 書名:AVR單片機C語言套用100例
- 作者:嚴雨, 廉潔
- ISBN:9787121156083
- 頁數:364頁
- 出版社:電子工業出版社
- 出版時間:2012年2月1日
- 裝幀:平裝
- 開本:16
- 叢書名:百例成才系列叢書
內容簡介,目錄,
內容簡介
《AVR單片機C語言套用100例》所提供100個實例覆蓋了整個單片機系統開發全過程,包括單片機開發環境、單片機的內部結構、C語言基礎,以及ATmega128單片機的內部資源套用。所涉及的ATmega128單片機的內部資源包括I/O引腳、外部中斷、E2PROM、us-ART模組、定時/計數器、TWI接口、SPI接口、模擬比較器、ADC模組、看門狗等。
《AVR單片機C語言套用100例》適合作為具有初步單片機基礎的單片機工程師,以及高等院校電子類專業的學生和單片機愛好者的參考書。
目錄
第1章 ATmega128單片機基礎
1.1 ATmega128單片機介紹
1.2 ATmega128單片機的結構
1.2.1 ATmega128單片機的核心
1.2.2 ATmega128單片機的存儲器體系
1.2.3 ATmega128單片機的系統時鐘
1.2.4 ATmega128單片機的電源管理
1.2.5 ATmega128單片機的復位
1.2.6 ATmega128單片機的中斷系統
1.3 ATmega128單片機的指令系統和定址
第2章 ATmega128單片機的軟體開發環境
2.1 ICCAVR軟體開發環境
2.1.1 ICCAVR軟體安裝
2.1.2 ICCAVR選單
2.1.3 ICCAVR的常用檔案類型
2.1.4 ICCAVR的擴展關鍵字
2.1.5 ICCAVR的啟動檔案
2.1.6 ICCAVR的庫函式
2.2 ICCAVRIDE的使用
套用實例1——使用ICCAVRIDE
第3章 ATmega128單片機的開發環境
3.1 ATmega128單片機開發常用的工具
3.1.1 ISP編程器
3.1.2 數字萬用表
3.1.3 數字示波器
3.2 Proteus仿真軟體的使用
套用實例2——使用Proteus仿真ATmega128單片機
3.3 Proteus仿真軟體的套用說明
3.3.1 運行、單步運行、暫停和停止運行
3.3.2 打開對應的觀察視窗
第4章 ATmega128單片機套用系統開發基礎
4.1 ATmega128單片機套用系統的構成
4.2 ATmega128單片機套用系統開發流程
4.3 ATmega128單片機套用系統的硬體設計
4.4 3個微型ATmega128單片機套用系統
套用實例3——點亮8位LED
套用實例4——驅動7位數碼管
套用實例5——串口數據傳送和接收
第5章 ATmega128單片機C語言基礎
5.1 ATmega128單片機C語言的數據類型、運算符和表達式
5.1.1 ATmega128單片機C語言的數據類型
5.1.2 ATmega128單片機C語言的常量和變數
套用實例6——使用常量
套用實例7——使用變數
5.1.3 ATmega128單片機C語言的算術運算、賦值運算、邏輯運算和關係運算
套用實例8——使用算術表達式
套用實例9——使用強制類型轉換
套用實例10——邏輯運算套用
套用實例11——關係運算套用
5.1.4 ATmega128單片機C語言的位操作
套用實例12——位邏輯運算:位與和位或
套用實例13——位邏輯運算:位異或和位取反
套用實例14——移位運算套用
套用實例15——自增減運算套用
套用實例16——複合運算套用
套用實例17——逗號運算套用
5.1.5 運算符的優先權
5.2 ATmega128單片機C語言的結構語句
5.2.1 順序結構
套用實例18——順序結構語句套用
5.2.2 選擇結構
套用實例19——if語句的基本結構套用
套用實例20——switch語句的套用
5.2.3 循環結構
套用實例21——while語句的套用
套用實例22——dowhile語句套用
套用實例23——for語句的套用
套用實例24——循環語句的進階用法
5.2.4 break語句、continue語句和goto語句
套用實例25——break語句的套用
套用實例26——continue語句的套用
套用實例27——goto語句的套用
第6章 ATmega128單片機高階C語言
6.1 ATmega128單片機C語言的函式
6.1.1 函式的分類
6.1.2 函式的定義
套用實例28——無參函式的套用
套用實例29——有參函式的套用
6.1.3 函式的調用
套用實例30——函式的預先定義
套用實例31——函式的後定義
套用實例32——函式的遞歸調用
套用實例33——函式的嵌套調用
6.1.4 內部函式和外部函式
6.1.5 變數類型
套用實例34——靜態局部變數套用
套用實例35——全局變數套用
6.2 ATmega128單片機C語言的數組和指針
6.2.1 數組
套用實例36——一維數組的套用
套用實例37——二維數組的套用
套用實例38——字元數組的套用
6.2.2 指針
套用實例39——指針的套用
6.2.3 數組和指針
套用實例40——數組下標引用輸出
套用實例41——數組名作為地址輸出
套用實例42——指針引用數組輸出
套用實例43——使用指針運算引用數組輸出
套用實例44——數組下標引用二維數組的輸出
套用實例45——指針引用二維數組的輸出
6.2.4 字元串和指針
套用實例46——字元指針的字元數組輸出
6.2.5 數組、指針和函式的聯繫
套用實例47——數組作為函式參數的套用
套用實例48——指針作為函式參數
套用實例49——返回指針的函式
6.2.6 指針數組和指向指針的指針
套用實例50——指向指針的指針套用
6.3 ATmega128單片機C語言中的自定義數據類型
6.3.1 結構體
套用實例51——結構體的套用
套用實例52——結構體數組套用
套用實例53——結構體變數指針
套用實例54——結構體指針變數作為函式參數
6.3.2 聯合體(共用體)
套用實例55——結構體的套用
6.3.3 枚舉
套用實例56——枚舉變數的套用
6.4 ATmega128單片機C語言程式設計技巧
6.4.1 養成好的編程習慣
6.4.2 宏定義
套用實例57——宏定義的套用
套用實例58——參數宏定義的套用
6.4.3 條件編譯
套用實例59——條件編譯
6.4.4 一些關鍵字的使用
第7章 ATmega128單片機的I/O引腳套用實例
7.1 ATmega128單片機的I/O引腳基礎
7.1.1 ATmega128單片機的I/O引腳配置
7.1.2 ATmega128單片機讀取引腳電平
7.1.3 ATmega128單片機的I/O引腳低功耗處理
7.1.4 ATmega128單片機的I/O引腳的第二功能
7.2 ATmega128單片機擴展發光二極體(LED)
7.2.1 發光二極體(LED)基礎
7.2.2 ATmega128單片機擴展發光二極體(LED)套用實例
套用實例60——使用I/O引腳驅動LED閃爍
套用實例61——使用I/O引腳驅動流水燈
7.3 ATmega128單片機擴展數碼管
7.3.1 一位數碼管基礎
7.3.2 ATmega128擴展一位數碼管套用實例
套用實例62——使用I/O引腳驅動數碼管顯示
7.3.3 多位數碼管基礎
7.3.4 ATmega128單片機擴展多位數碼管套用實例
套用實例63——使用I/O引腳驅動多位數碼管動態顯示
7.4 ATmega128單片機擴展按鍵、鍵盤和撥碼開關
7.4.1 獨立按鍵基礎
7.4.2 ATmega128單片機擴展獨立按鍵套用實例
套用實例64——使用I/O引腳擴展獨立按鍵格式
7.4.3 行列掃描鍵盤基礎
7.4.4 ATmega128單片機擴展行列掃描鍵盤套用實例
套用實例65——使用I/O引腳擴展行列掃描鍵盤
7.4.5 撥碼開關基礎
7.4.6 ATmega128單片機擴展撥碼開關套用實例
套用實例66——使用I/O引腳擴展撥碼開關
7.5 ATmega128單片機擴展繼電器
7.5.1 繼電器基礎
7.5.2 功率驅動器件基礎
7.5.3 ATmega128單片機擴展繼電器套用實例
套用實例67——使用I/O引腳擴展繼電器
7.6 ATmega128單片機擴展蜂鳴器
7.6.1 蜂鳴器基礎
7.6.2 ATmega128單片機擴展蜂鳴器套用實例
套用實例68——使用I/O引腳擴展蜂鳴器
7.7 ATmega128單片機擴展電動機
7.7.1 直流電動機基礎
7.7.2 ATmega128單片機擴展直流電動機的套用實例
套用實例69——使用I/O引腳擴展直流電動機
7.7.3 步進電動機基礎
7.7.4 ATmega128單片機擴展步進電動機的套用實例
套用實例70——使用I/O引腳擴展步進電動機
第8章 ATmega128單片機的外部中斷套用實例
8.1 ATmega128單片機的外部中斷基礎
8.1.1 外部中斷控制暫存器A(EICRA)
8.1.2 外部中斷控制暫存器B(EICRA)
8.1.3 外部中斷禁止暫存器(EIMSK)
8.1.4 外部中斷標誌暫存器(EIFR)
8.2 ATmega128單片機的外部中斷套用實例
套用實例71——外部中斷7脈衝計數
套用實例72——外部中斷控制LED
套用實例73——多個外部中斷聯合計數
第9章 ATmega128單片機的內部E2PROM套用實例
9.1 E2PROM基礎
9.1.1 地址暫存器EEARH和EEARL
9.1.2 數據暫存器EEDR
9.1.3 控制暫存器EECR
9.1.4 E2PROM的操作時間
9.1.5 E2PROM的寫操作
9.1.6 E2PROM的讀操作
9.1.7 E2PROM的掉電處理
9.2 ATmega128單片機的E2PROM套用實例
套用實例74——用E2PROM保存用戶數據
套用實例75——E2PROM的數據寫入和讀出
第10章 ATmega128單片機的USART模組套用實例
10.1 USART模組套用基礎
10.1.1 USART的相關暫存器
10.1.2 USART的時鐘發生器
10.1.3 USART的數據幀格式
10.1.4 USART的使用方法
10.2 ATmega128單片機的USART套用實例
套用實例76——USART0的數據傳送
套用實例77——USART1的數據傳送
套用實例78——Proteus中的虛擬串口調試
套用實例79——使用USART0和計算機進行雙向數據通信
套用實例80——綜合使用USART0和USART1
套用實例81——使用單片機A控制單片機B
第11章 ATmega128單片機的定時/計數器模組套用實例
11.1 定時/計數器T/C0基礎
11.1.1 定時/計數器T/C0的工作模式
11.1.2 T/C0的相關暫存器
11.2 定時/計數器T/C1和T/C3基礎
11.2.1 T/C1和T/C3的工作模式
11.2.2 T/C1和T/C3的相關暫存器
11.3 定時/計數器T/C2基礎
11.3.1 T/C2的工作模式
11.3.2 T/C2的相關暫存器
11.4 定時/計數器模組套用實例
套用實例82——T/C0控制LED閃爍
套用實例83——T/C1控制LED閃爍
套用實例84——T/C2脈衝計數
套用實例85——T/C1實現頻率計
套用實例86——T/C1實現占空比可調PWM輸出
套用實例87——T/C0的秒定時
套用實例88——頻率可調的PWM信號輸出
第12章 ATmega128單片機的TWI(I2C)接口匯流排模組套用實例
12.1 TWI(I2C)匯流排基礎
12.1.1 TWI(I2C)接口匯流排的一些術語
12.1.2 TWI(I2C)接口匯流排的數據傳輸過程和幀格式
12.1.3 TWI(I2C)匯流排器件的地址
12.2 ATmega128單片機的TWI(I2C)接口匯流排模組套用基礎
12.2.1 ATmega128單片機的TWI(I2C)接口匯流排模組構成
12.2.2 ATmega128單片機的TWI(I2C)接口匯流排模組暫存器
12.2.3 ATmega128單片機的TWI(I2C)接口匯流排模組的工作模式
12.2.4 ATmega128單片機的TWI(I2C)接口匯流排模組的使用
12.3 ATmega128單片機的TWI(I2C)接口匯流排模組套用實例
套用實例89——使用TWI(I2C)匯流排進行雙機通信
第13章 ATmega128單片機的SPI接口匯流排模組套用實例
13.1 SPI匯流排基礎
13.1.1 SPI匯流排的結構
13.1.2 SPI匯流排的時序
13.2 ATmega128單片機的SPI接口匯流排模組套用基礎
13.2.1 ATmega128單片機的SPI接口匯流排模組的暫存器
13.2.2 ATmega128單片機的SPI接口匯流排模組的工作模式
13.3 ATmega128單片機的SPI接口匯流排模組套用實例
套用實例90——使用SPI匯流排接口進行雙機通信
第14章 ATmega128單片機的模擬比較器模組套用實例
14.1 ATmega128單片機的模擬比較器模組套用基礎
14.1.1 ATmega128單片機模擬比較器模組的暫存器
14.1.2 ATmega128單片機模擬比較器模組輸入通道
14.2 ATmega128單片機的模擬比較器模組套用實例
套用實例91——使用比較器模組比較兩個模擬信號
套用實例92——使用比較器模組將正弦波信號轉換為方波信號
套用實例93——多通道模擬信號電壓比較
第15章 ATmega128單片機的ADC模組套用實例
15.1 ADC基礎知識
15.2 ATmega128單片機的ADC模組套用基礎
15.2.1 ATmega128單片機的ADC模組的相關暫存器
15.2.3 ATmega128單片機的ADC模組的使用
15.3 ATmega128單片機的ADC模組套用實例
套用實例94——單通道A/D採樣
套用實例95——多通道A/D採樣
套用實例96——差分輸入A/D採樣
套用實例97——增益放大A/D採樣
套用實例98——定時器控制A/D採樣
套用實例99——多通道電壓比較和A/D採樣
第16章 ATmega128單片機的看門狗模組套用實例
16.1 ATmega128單片機看門狗模組套用基礎
16.2 ATmega128單片機看門狗模組套用實例
套用實例100——ATmega128單片機看門狗模組工作狀態測試