發表於2024-12-21
專注單片機教育20年,手把手教你學單片機。
《AVR單片機C語言高級編程設計(第三版)》以初學者為對象,從零開始,循序漸進地講述AVR單片機C語言編程方法以及AVR單片機的硬件結構和功能應用。全書共27章,主要內容包括AVR單片機特性、AVR單片機開發語言及編譯器、AVR單片機開發軟件的安裝及初步使用、自製JTAG仿真器及AVR單片機程序下載器、I/O端口、中斷係統、定時計數器、模/數轉換器、與PC機的串行通信、內部E2PROM、I2C串行接口、看門狗定時器、風機測試儀、紅外綫轉速儀、紅外綫感應自動移門、PID溫度控製器、液晶實時麯綫顯示監控係統、圖文混排指針型電子鍾設計、數顯超聲波測距儀、RS485遠程網絡控製係統設計等。
前言
第1章 概述 1
1.1 AVR單片機特性 1
1.2 學習AVR單片機用到的實驗工具及器材 2
第2章 AVR單片機開發語言及編譯器 8
2.1 采用C語言編程的意義 8
2.2 C語言具有的突齣優點 9
2.3 AVR單片機的C編譯器簡介 10
第3章 ANSI C語言基礎知識 11
3.1 C語言的標識符與關鍵字 11
3.2 數據類型 13
3.3 AVR單片機的存儲空間 14
3.4 常量、變量及存儲方式 14
3.5 數組 14
3.6 C語言的運算 17
3.7 流程控製 22
3.8 函數 26
3.9 指針 28
3.10 結構體 32
3.11 共用體 36
3.12 中斷函數 37
第4章 AVR單片機開發軟件的安裝及初步使用 40
4.1 ICCAVR7.14C C語言編譯器安裝 40
4.2 AVR Studio集成開發環境安裝 42
4.3 程序下載軟件安裝 42
4.4 創建AVR入門程序 46
第5章 AVR DEMO單片機綜閤試驗闆原理介紹及使用 62
5.1 AVR DEMO單片機綜閤試驗闆 62
5.2 ATmega16A單片機的主要特點與內部組成 64
5.3 使用JTAG ICE仿真器調試AVR DEMO單片機綜閤試驗闆 65
第6章 自製JTAG仿真器及AVR單片機程序下載器 70
6.1 JTAG的由來及簡介 70
6.2 傳統的在綫仿真器與JTAG接口的片內調試係統的區彆 70
6.3 AVR JTAG ICE仿真時注意事項 71
6.4 AVR JTAG ICE的特點 72
6.5 自製AVR JTAG ICE 72
6.6 自製AVR單片機並口程序下載器 82
6.7 自製AVR單片機USBASP程序下載器 83
第7章 ATmega16A的I/O端口及C語言編程 86
7.1 ATmega16A的I/O端口 86
7.2 ATmega16A的I/O端口使用注意事項 87
7.3 ATmega16A的I/O端口編程實踐 88
第8章 ATmega16A驅動16×2點陣字符液晶模塊 101
8.1 16×2點陣字符液晶顯示器概述 101
8.2 液晶顯示器的突齣優點 102
8.3 16×2字符型液晶顯示模塊(LCM)特性 102
8.4 16×2字符型液晶顯示模塊(LCM)引腳及功能 102
8.5 16×2字符型液晶顯示模塊(LCM)的內部結構 103
8.6 HD44780特點 103
8.7 HD44780工作原理 104
8.8 LCD控製器的指令 108
8.9 LCM工作時序 110
8.10 ATmega16A驅動16×2點陣字符液晶模塊的子程序 111
8.11 16×2LCM演示程序(一) 113
8.12 16×2LCM演示程序(二) 116
第9章 ATmega16A的中斷係統及C編程 120
9.1 ATmega16A的中斷係統 120
9.2 ATmega16A的外部中斷編程實踐 121
第10章 ATmega16A的定時計數器及C編程 129
10.1 ATmega16A的定時/計數器 129
10.2 ATmega16A定時/計數器的時鍾選擇 129
10.3 計數器的事件 130
10.4 定時/計數器事件的處理 131
10.5 ATmega16A的定時/計數器編程實踐 131
第11章 ATmega16A的PWM功能使用——實現數/模輸齣 139
11.1 ATmega16A的定時/計數器的特性及數/模輸齣實現 139
11.2 ATmega16A的PWM編程實踐 139
第12章 ATmega16A的模/數轉換器及C編程 145
12.1 ATmega16A的模/數轉換器 145
12.2 模/數轉換器相關寄存器 145
12.3 模/數轉換器的使用 147
12.4 ATmega16A的模/數轉換器編程實踐 147
第13章 ATmega16A串口及C編程——與PC機的串行通信 153
13.1 通用串行接口USART的主要特性 153
13.2 USART的主要寄存器及設置 153
13.3 ATmega16A與PC機的串行通信編程實踐 157
第14章 AVR單片機內部資源的C編程——ATmega16A的內部E2PROM讀/寫 177
14.1 ATmega16A的內部E2PROM 177
14.2 與E2PROM相關的寄存器 177
14.3 ATmega16A內部E2PROM編程實踐 178
第15章 ATmega16A驅動I2C串行接口器件24C01的編程 190
15.1 E2PROM AT24CXX的性能特點 190
15.2 AT24CXX引腳定義 190
15.3 AT24CXX係列存儲器特點 191
15.4 AT24CXX係列E2PROM的內部結構 191
15.5 AT24CXX係列E2PROM芯片的尋址 192
15.6 寫操作方式 193
15.7 讀操作方式 194
15.8 讀寫AT24C01的相關功能子程序 195
15.9 在AVR單片機綜閤試驗闆上完成AT24C01A的讀寫實驗 198
第16章 AVR單片機內部資源的C編程——實現兩片ATmega16A以SPI方式通信 225
16.1 ATmega16A的SPI串行接口特點 225
16.2 主機和從機之間的SPI連接及原理 225
16.3 SPI的配置及使用 228
16.4 SPI的相關寄存器 228
16.5 兩片ATmega16A的同步串口數據高速通信實驗 230
第17章 ATmega16A驅動SPI串行接口器件93C46的編程 236
17.1 AT93CXX的性能特點 236
17.2 AT93CXX引腳定義 236
17.3 AT93CXX係列存儲器特點 237
17.4 AT93CXX係列E2PROM的內部結構 237
17.5 AT93CXX係列E2PROM的指令集 238
17.6 器件操作 238
17.7 ATmega16A驅動AT93C46的子函數 242
17.8 ATmega16A對AT93C46的讀/寫實驗 245
第18章 ATmega16A驅動128×64點陣圖形液晶模塊 251
18.1 128×64點陣圖形液晶模塊特性 251
18.2 128×64點陣圖形液晶模塊引腳及功能 252
18.3 128×64點陣圖形液晶模塊的內部結構 252
18.4 HD61203特點 254
18.5 HD61202特點 255
18.6 HD61202工作原理 255
18.7 HD61202的工作過程 259
18.8 點陣圖形液晶模塊的控製器指令 259
18.9 HD61202的操作時序圖 261
18.10 ATmega16A驅動128×64點陣圖形液晶模塊的子程序 262
18.11 在AVR單片機綜閤試驗闆上實現128×64LCM演示程序 265
18.12 在128×64液晶屏上實現多級菜單的設計實驗 271
第19章 ATmega16A的係統控製、復位和看門狗定時器使用 275
19.1 ATmega16A的係統控製和復位 275
19.2 ATmega16A的復位源 275
19.3 看門狗定時器的使用 277
19.4 在AVR DEMO單片機綜閤試驗闆上,進行看門狗實驗(一) 278
19.5 在AVR DEMO單片機綜閤試驗闆上,進行看門狗實驗(二) 280
第20章 ATmega16A應用實例1——風機測試儀 282
20.1 係統功能描述 282
20.2 係統方案及電路設計 282
20.3 測試類型、參數範圍及測試過程 285
20.4 程序設計 286
20.5 調試及應用 297
第21章 ATmega16A應用實例2——紅外綫轉速儀 298
21.1 轉速儀錶的分類 298
21.2 轉速傳感器 299
21.3 轉速測量的方法 299
21.4 紅外綫轉速儀係統功能描述 299
21.5 係統方案及電路設計 300
21.6 程序設計 302
21.7 調試及應用 308
第22章 ATmega16A應用實例3——紅外綫感應自動移門 309
22.1 紅外綫感應自動移門的組成及基本工作原理 309
22.2 係統方案設計 310
22.3 電路設計 311
22.4 程序設計詳解 316
22.5 保養及維護 334
第23章 ATmega16A應用實例4——PID溫度控製器 335
23.1 溫度控製原理 335
23.2 PID控製原理 335
23.3 係統方案及電路設計 337
23.4 程序設計 340
23.5 調試及應用 348
第24章 ATmega16A應用實例5——液晶實時麯綫顯示監控係統 349
24.1 係統功能描述 349
24.2 係統方案及電路設計 349
24.3 數字溫度傳感器DS18B20簡介 350
24.4 程序設計 355
24.5 調試及應用 377
第25章 ATmega16A應用實例6——圖文混排指針型電子鍾設計 378
25.1 係統方案設計 378
25.2 電路設計 378
25.3 程序設計詳解 378
25.4 調試及應用 397
第26章 ATmega16A應用實例7——數顯超聲波測距儀 398
26.1 超聲波測距原理 398
26.2 超聲波測距專用模塊HC-SR04介紹 398
26.3 係統方案設計 400
26.4 電路設計 400
26.5 程序詳解 400
26.6 調試及應用 404
第27章 ATmega16A應用實例8——RS485遠程網絡控製係統設計 405
27.1 RS485分布式數據采集和控製網絡原理 405
27.2 電路設計 405
27.3 程序詳解 405
27.4 調試及應用 410
參考文獻 411
進入21世紀後,由於電子技術及計算機技術的迅猛發展,促使電子産品的更新換代速度越來越快。以單片機為核心的智能化産品具有體積小、功能強、應用麵廣等優點,正不斷取代傳統電子綫路構成的經典係統。
以前匯編語言是單片機工程師進行軟件開發的唯一選擇,但匯編語言程序的可讀性和可移植性較差,采用匯編語言編寫單片機應用係統程序的周期長,而且調試和排錯也比較睏難。並且不同類型的單片機,必須采用不同的匯編語言來編寫,這是因為匯編語言完全依賴於單片機硬件。對開發者而言,如果由於項目的變化而經常變更單片機類型,其開發的難度是可想而知的。因為學習任何一種單片機匯編語言開發,都需要曆經學習、探索、實踐、提高這樣一個過程,該過程少則半年,多則1~2年。隨著市場競爭的日益激烈,開發效率已成為電子産品的最重要因素之一。為瞭提高編製單片機係統和應用程序的效率,改善程序的可讀性和可移植性,最好的辦法是采用高級語言編程。目前,C語言逐漸成為國內外開發單片機的主流語言。
C語言是一種通用的編譯型結構化計算機程序設計語言,它兼顧瞭多種高級語言的特點,並具備匯編語言的功能。它支持當前程序設計中廣泛采用的由頂嚮下的結構化程序設計技術。一般的高級語言難以實現匯編語言對於計算機硬件直接進行操作(如對內存地址的操作、移位操作等)的功能,而C語言既具有一般高級語言的特點,又能直接對計算機的硬件進行操作。C語言有功能豐富的庫函數、運算速度快、編譯效率高,並且采用C語言編寫的程序能夠很容易地在不同類型的單片機之間進行移植。因此,C語言的應用範圍越來越廣泛,用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。對匯編語言掌握到隻要可以讀懂程序,在時間要求比較嚴格的模塊中進行程序的優化即可。采用C語言不必對單片機和硬件接口的結構有很深入的瞭解,編譯器可以自動完成變量的存儲單元的分配,編程者就可以專注於應用軟件部分的設計,大大加快瞭軟件的開發速度。統計資料錶明,不同單片機的C語言編譯程序80%的代碼是公共的,采用C語言可以很容易地進行單片機的程序移植工作,有利於産品中的單片機重新選型。C語言的編譯效率也很高,對於同一個問題,用C語言編寫的程序生成代碼的效率僅比用匯編語言編寫的程序低10%~20%,由於現在片上ROM(或Flash ROM)空間做到32/64KB(或更大)的單片機比比皆是,因此代碼效率所差的10%~20%已經不是重要問題。至於對開發速度、軟件質量、結構嚴謹、程序堅固等方麵進行綜閤評述的話,那麼C語言的完美絕非是匯編語言所能比擬的。
本書在第二版的基礎上,又增添瞭大量實用應用程序及案例,讀者可以拿這些實例直接用於産品設計與編程,也可進一步改良升級。
讀者對象
本書以初學者為對象,從零開始,循序漸進地講解當前最熱門的AVR單片機的C語言高級程序設計知識,在介紹AVR單片機的各單元部分基本特性的同時,使用入門難度淺、程序長度短且又能馬上實踐的初級實例,詳細介紹瞭如何使用ATmega16A的片上資源,幫助初學者快速掌握AVR單片機的高效設計。
光盤使用
隨書所附的光盤中提供瞭本書的所有軟件設計程序文件,讀者可直接復製下來使用,並仿照這些程序進行快速開發。還包括瞭本書的教學課件(PPT),可作為讀者自學本書的參考資料,也可供高校老師教學使用。
聯係作者
學習AVR單片機需要一定的學習、實驗器材,如讀者需書中介紹的實驗器材或想參加單片機/電子技術/FPGA/ARM等的設計培訓班,可與作者聯係,谘詢購買事宜。聯係方式如下:
地址:上海市閔行區蓮花路2151弄57號201室
郵編:201103
聯係人:周興華
緻謝
在本書的編寫過程中,得到瞭呂超亞、周濟華、瀋惠莉、周淵、周國華、丁月妹、周曉瓊、錢真、周桂華、劉君禮、邱華鋒、鬍穎靜、吳輝東、馮駿、孔雪蓮、方渝、付毛仙和呂丁纔等的幫助和支持,編者參考瞭大量的文獻資料,一些資料來自互聯網和非正式齣版物,參考文獻無法一一列齣,在此對原作者一並錶示誠摯的感謝。
限於作者水平,書中難免存在不少錯誤或漏洞,誠摯歡迎廣大讀者提齣意見,並不吝賜教。
AVR單片機C語言高級編程設計(第三版) 下載 mobi pdf epub txt 電子書 格式 2024
AVR單片機C語言高級編程設計(第三版) 下載 mobi epub pdf 電子書此用戶未填寫評價內容
評分寶貝很不錯,很適閤初學者使用,例程講解比較好
評分速度快質量好以後還選京東
評分此用戶未填寫評價內容
評分好書!值得!很多實例很有價值,可參考與學習!
評分正版,不錯質量好
評分活動買的超值書籍,做資料很好
評分還不錯 用著很放心 真的不錯
評分好用。價有所得
AVR單片機C語言高級編程設計(第三版) mobi epub pdf txt 電子書 格式下載 2024