出版時(shí)間:2012-2 出版社:機(jī)械工業(yè)出版社 作者:徐瑋 等編著
內(nèi)容概要
本書是以目前最為流行的AVR系列單片機(jī)為主體,使用C語言來進(jìn)行描述。本書共分為五部分內(nèi)容:單片機(jī)基礎(chǔ)知識、C程序設(shè)計(jì)知識、單片機(jī)入門基礎(chǔ)實(shí)例、單片機(jī)高級應(yīng)用實(shí)例、配套學(xué)習(xí)套件的使用說明。本書采用理論與實(shí)踐相結(jié)合的方式進(jìn)行講解,避免了傳統(tǒng)教科書給人枯燥、乏味的感覺。講解風(fēng)格通俗易懂,條理清晰,實(shí)例豐富,圖文并茂,并帶視頻演示,即使是沒有接觸過單片機(jī)的讀者,也可以通過本書的學(xué)習(xí)快速跨入單片機(jī)世界的大門。
書籍目錄
前言
第1章 單片機(jī)嵌入式系統(tǒng)概述
1.1 嵌入式系統(tǒng)簡介
1.1.1 嵌入式計(jì)算機(jī)
1.1.2 單片機(jī)嵌入式系統(tǒng)
1.1.3 單片機(jī)的發(fā)展歷史
1.1.4 單片機(jī)的發(fā)展趨勢
1.2 單片機(jī)嵌入式系統(tǒng)的結(jié)構(gòu)與應(yīng)用領(lǐng)域
1.2.1 單片機(jī)嵌入式系統(tǒng)的結(jié)構(gòu)
1.2.2 單片機(jī)嵌入式系統(tǒng)的應(yīng)用領(lǐng)域
1.3 AVR單片機(jī)簡介
1.3.1 ATMEL公司的單片機(jī)簡介
1.3.2 AVR單片機(jī)的主要特點(diǎn)
1.3.3 AVR單片機(jī)最小系統(tǒng)
第2章 AVR單片機(jī)的基本結(jié)構(gòu)
2.1 單片機(jī)的基本組成
2.1.1 單片機(jī)的基本組成結(jié)構(gòu)
2.1.2 單片機(jī)的基本單元與作用
2.2 ATmega16單片機(jī)的組成
2.2.1 AVR單片機(jī)的內(nèi)核結(jié)構(gòu)
2.2.2 ATmega16的特點(diǎn)
2.2.3 ATmega16的外部引腳與封裝
2.3 ATmega16單片機(jī)的內(nèi)部結(jié)構(gòu)
2.3.1 中央處理器
2.3.2 系統(tǒng)時(shí)鐘部件
2.3.3 CPU的工作時(shí)序
2.3.4 存儲器
2.3.5 I/O口
2.4 存儲器結(jié)構(gòu)和地址空間
2.4.1 支持ISP的Flash程序存儲器
2.4.2 SRAM數(shù)據(jù)存儲器空間
2.4.3 內(nèi)部EEPROM 存儲器
2.5 通用寄存器組與I/O寄存器
2.5.1 通用寄存器組
2.5.2 I/O寄存器
2.5.3 狀態(tài)寄存器和堆棧指針寄存器
2.6 ATmega16單片機(jī)的工作狀態(tài)
2.6.1 AVR單片機(jī)最小系統(tǒng)
2.6.2 AVR單片機(jī)的復(fù)位源和復(fù)位方式
2.6.3 對AVR單片機(jī)的編程下載
2.6.4 ATmega16的熔絲位
2.6.5 AVR單片機(jī)的工作狀態(tài)
2.6.6 支持ISP編程的最小系統(tǒng)設(shè)計(jì)
2.7 AVR單片機(jī)內(nèi)部資源的擴(kuò)展和刪減
第3章 AVR單片機(jī)開發(fā)工具安裝及開發(fā)環(huán)境的使用
3.1 AVR Studio集成開發(fā)環(huán)境簡介及其安裝
3.2 AVR Studio集成開發(fā)環(huán)境的使用
3.2.1 建立一個(gè)新的工程項(xiàng)目管理文件
3.2.2 匯編源文件的建立
3.2.3 匯編源文件的編譯
3.3 ICCAVR集成開發(fā)環(huán)境簡介
3.3.1 ICCAVR編譯器的安裝
3.3.2 ICCAVR中的文件類型及其擴(kuò)展名
3.3.3 ICCAVR的附注和擴(kuò)充
3.3.4 ICCAVR的代碼轉(zhuǎn)換
3.4 ICCAVR向?qū)?br /> 3.5 ICCAVR的IDE環(huán)境
3.6 菜單解釋
3.7 C庫函數(shù)與啟動(dòng)文件
3.8 訪問AVR單片機(jī)硬件的編程
3.9 C語言的運(yùn)行結(jié)構(gòu)
3.10 其他主流AVR單片機(jī)開發(fā)環(huán)境簡介
3.10.1 GCCAVR開發(fā)環(huán)境
3.10.2 CodeVision AVR集成開發(fā)環(huán)境
3.10.3 IAR集成開發(fā)環(huán)境
第4章 C語言概論、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
4.1 C語言概論
4.1.1 C語言的發(fā)展過程
4.1.2 C語言的特點(diǎn)
4.1.3 C源程序的結(jié)構(gòu)特點(diǎn)
4.1.4 C語言的字符集
4.1.5 C語言的詞匯
4.2 數(shù)據(jù)類型、運(yùn)算符與表達(dá)式
4.2.1 C語言的數(shù)據(jù)類型
4.2.2 算術(shù)運(yùn)算符和算術(shù)表達(dá)式
4.2.3 關(guān)系運(yùn)算符和表達(dá)式
4.2.4 邏輯運(yùn)算符和表達(dá)式
第5章 分支與循環(huán)控制
5.1 if語句
5.1.1 程序的3種基本結(jié)構(gòu)
5.1.2 if語句的3種形式
5.1.3 if語句的嵌套
5.2 條件運(yùn)算符和條件表達(dá)式
5.3 switch語句
5.4 循環(huán)控制
5.4.1 概述
5.4.2 goto語句和if語句構(gòu)成循環(huán)
5.4.3 while語句
5.4.4 do?while語句
5.4.5 for語句
5.4.6 循環(huán)的嵌套
5.4.7 break和continue語句
第6章 編譯預(yù)處理與位運(yùn)算
6.1 概述
6.2 宏定義
6.2.1 不帶參數(shù)的宏定義
6.2.2 帶參數(shù)的宏定義
6.3 文件包含
6.4 條件編譯
6.5 位操作運(yùn)算符
第7章 數(shù)組與函數(shù)
7.1 一維數(shù)組的定義和引用
7.1.1 一維數(shù)組的定義方式
7.1.2 一維數(shù)組元素的引用
7.1.3 一維數(shù)組的初始化
7.1.4 一維數(shù)組程序舉例
7.2 二維數(shù)組的定義和引用
7.2.1 二維數(shù)組的定義
7.2.2 二維數(shù)組元素的引用
7.2.3 二維數(shù)組的初始化
7.3 字符數(shù)組
7.3.1 字符數(shù)組的定義
7.3.2 字符數(shù)組的初始化
7.3.3 字符數(shù)組的引用
7.3.4 字符串和字符串結(jié)束標(biāo)志
7.4 函數(shù)概述
7.4.1 函數(shù)定義的一般形式
7.4.2 函數(shù)的參數(shù)和函數(shù)的值
7.4.3 函數(shù)的返回值
7.4.4 函數(shù)的調(diào)用
7.4.5 被調(diào)用函數(shù)的聲明和函數(shù)原型
7.4.6 函數(shù)的嵌套調(diào)用
7.4.7 函數(shù)的遞歸調(diào)用
7.4.8 數(shù)組作為函數(shù)參數(shù)
7.5 局部變量和全局變量
7.5.1 局部變量
7.5.2 全局變量
第8章 指針、結(jié)構(gòu)體與共用體
8.1 指針和地址
8.2 指針變量和指針運(yùn)算符
8.3 指針與函數(shù)參數(shù)
8.4 指針、數(shù)組和字符串指針
8.5 指針數(shù)組
8.6 多級指針
8.7 返回指針的函數(shù)
8.8 函數(shù)指針
8.9 結(jié)構(gòu)與聯(lián)合
8.9.1 結(jié)構(gòu)的定義
8.9.2 結(jié)構(gòu)數(shù)組
8.9.3 結(jié)構(gòu)與函數(shù)
8.9.4 結(jié)構(gòu)的初始化
8.9.5 聯(lián)合
第9章 AVR開發(fā)套件快速入門
9.1 AVR單片機(jī)實(shí)驗(yàn)系統(tǒng)簡介
9.2 建立第一個(gè)項(xiàng)目(軟件操作指南)
9.3 AVR單片機(jī)綜合學(xué)習(xí)系統(tǒng)芯片燒寫操作指南
9.4 AVR ATmega16單片機(jī)引腳說明
第10章 ATmega16基礎(chǔ)實(shí)例
10.1 發(fā)光二極管閃動(dòng)實(shí)驗(yàn)
10.1.1 實(shí)例功能
10.1.2 器件與原理
10.1.3 硬件電路
10.1.4 程序設(shè)計(jì)
10.2 流水燈實(shí)驗(yàn)
10.3 按鍵實(shí)驗(yàn)
10.3.1 實(shí)例功能
10.3.2 器件與原理
10.3.3 程序設(shè)計(jì)
10.4 蜂鳴器實(shí)驗(yàn)
10.4.1 實(shí)例功能
10.4.2 器件與原理
10.4.3 硬件電路
10.4.4 程序設(shè)計(jì)
10.5 繼電器實(shí)驗(yàn)
10.5.1 實(shí)例功能
10.5.2 器件與原理
10.5.3 硬件電路
10.5.4 程序設(shè)計(jì)
10.6 數(shù)碼管實(shí)驗(yàn)
10.6.1 實(shí)例功能
10.6.2 器件與原理
10.6.3 硬件電路
10.6.4 程序設(shè)計(jì)
10.7 串行口實(shí)驗(yàn)
10.7.1 實(shí)例功能
10.7.2 硬件電路
10.7.3 程序設(shè)計(jì)
第11章 ATmega16高級應(yīng)用實(shí)例
11.1 矩陣鍵盤應(yīng)用實(shí)例
11.1.1 矩陣鍵盤簡介
11.1.2 矩陣鍵盤的工作原理
11.1.3 矩陣鍵盤軟硬件設(shè)計(jì)實(shí)例
11.2 步進(jìn)電動(dòng)機(jī)應(yīng)用實(shí)例
11.2.1 步進(jìn)電動(dòng)機(jī)簡介
11.2.2 步進(jìn)電動(dòng)機(jī)的控制
11.2.3 步進(jìn)電動(dòng)機(jī)的應(yīng)用設(shè)計(jì)
11.3 DS18B20單總線數(shù)字溫度傳感器應(yīng)用實(shí)例
11.3.1 單總線技術(shù)簡介
11.3.2 DS18B20單總線溫度傳感器簡介
11.3.3 DS18B20軟硬件設(shè)計(jì)
11.4 I2C總線應(yīng)用實(shí)例
11.4.1 I2C串行總線簡介
11.4.2 I2C總線器件工作原理及時(shí)序
11.4.3 AT24C系列存儲器的軟硬件設(shè)計(jì)實(shí)例
11.5 93CXX系列存儲器應(yīng)用實(shí)例
11.5.1 SPI總線簡介
11.5.2 93C46存儲器的軟硬件設(shè)計(jì)實(shí)例
11.6 DS1302時(shí)鐘芯片應(yīng)用實(shí)例
11.6.1 實(shí)時(shí)時(shí)鐘(RTC)簡介
11.6.2 DS1302的軟硬件設(shè)計(jì)實(shí)例
11.7 ADC應(yīng)用實(shí)例
11.7.1 ATmega16片內(nèi)ADC內(nèi)部寄存器
11.7.2 ADC軟硬件設(shè)計(jì)實(shí)例
11.8 1602字符型LCD應(yīng)用實(shí)例
11.8.1 液晶顯示簡介
11.8.2 1602字符型LCD簡介
11.8.3 1602LCD的軟硬件設(shè)計(jì)實(shí)例
11.9 12864點(diǎn)陣型LCD應(yīng)用實(shí)例
11.9.1 點(diǎn)陣LCD的顯示原理
11.9.2 12864點(diǎn)陣型LCD簡介
11.9.3 12864點(diǎn)陣型LCD軟硬件設(shè)計(jì)實(shí)例
11.10 紅外遙控軟件解碼應(yīng)用實(shí)例
11.10.1 紅外遙控概述
11.10.2 μPD6121紅外接收的軟件解碼應(yīng)用實(shí)例
11.10.3 μPD6121解碼應(yīng)用設(shè)計(jì)
11.11 無線通信模塊應(yīng)用實(shí)例
11.11.1 無線通信模塊原理與分類
11.11.2 無線通信模塊主要技術(shù)指標(biāo)
11.11.3 PT2262/PT2272無線模塊簡介
11.11.4 無線通信模塊的軟硬件設(shè)計(jì)應(yīng)用
11.12 PWM應(yīng)用實(shí)例
11.12.1 PWM的特點(diǎn)
11.12.2 ATmega16內(nèi)部PWM簡介
11.12.3 基于ATmega16的PWM應(yīng)用設(shè)計(jì)
11.13 SD卡讀寫實(shí)例
11.13.1 SD卡簡介
11.13.2 SD卡讀寫應(yīng)用實(shí)例
11.14 LED點(diǎn)陣顯示屏的應(yīng)用實(shí)例
11.14.1 LED點(diǎn)陣的種類及結(jié)構(gòu)
11.14.2 8×8單色點(diǎn)陣LED的工作原理
11.14.3 LED點(diǎn)陣顯示屏系統(tǒng)設(shè)計(jì)
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁:插圖:5)數(shù)據(jù)通信接口電路。數(shù)據(jù)通信接口電路是滿足遠(yuǎn)程數(shù)據(jù)通信或構(gòu)成多機(jī)網(wǎng)絡(luò)應(yīng)用系統(tǒng)的接口。通常有RS232、PSI、I2C、CAN總線、USB總線等通信接口電路。3.系統(tǒng)應(yīng)用軟件系統(tǒng)應(yīng)用軟件的核心就是下載到單片機(jī)中的系統(tǒng)運(yùn)行程序。整個(gè)嵌入式系統(tǒng)全部硬件的相互協(xié)調(diào)工作、智能管理和控制都由系統(tǒng)運(yùn)行程序決定。它可認(rèn)為是單片機(jī)嵌入式系統(tǒng)核心的核心。一個(gè)系統(tǒng)應(yīng)用軟件設(shè)計(jì)得好壞,往往也決定了整個(gè)系統(tǒng)性能的好壞。系統(tǒng)軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的,一個(gè)嵌入式系統(tǒng)的運(yùn)行程序?qū)嶋H上就是該系統(tǒng)的監(jiān)控與管理程序。對于小型系統(tǒng)的應(yīng)用程序,一般采用匯編語言編寫。而對于中型和大型系統(tǒng)的應(yīng)用程序,往往采用高級程序設(shè)計(jì)語言(如C語言、Basic語言)來編寫。編寫嵌入式系統(tǒng)應(yīng)用程序與編寫其他類型的軟件程序(如基于PC的應(yīng)用軟件設(shè)計(jì)開發(fā))有很大的不同,嵌入式系統(tǒng)應(yīng)用程序更加面向硬件低層和控制,而且還要面對有限的資源(如有限的RAM)。因?yàn)榍度胧较到y(tǒng)的應(yīng)用軟件不僅要直接面對單片機(jī)以及與它連接的各種不同種類和設(shè)計(jì)的外圍硬件電路編程,還要面對系統(tǒng)的具體應(yīng)用和功能編程。整個(gè)運(yùn)行程序常常是輸入輸出接口、存儲器、外圍芯片、中斷處理等多項(xiàng)功能交織在一起。因此,除了硬件系統(tǒng)的設(shè)計(jì),系統(tǒng)應(yīng)用軟件的設(shè)計(jì)也是嵌入式系統(tǒng)開發(fā)研制過程中重要和困難的任務(wù)。需要強(qiáng)調(diào)說明的是,針對單片機(jī)嵌入式系統(tǒng)的硬件設(shè)計(jì)和軟件設(shè)計(jì)兩者之間的關(guān)系是十分緊密,互相依賴和制約的。因此,通常要求嵌入式系統(tǒng)的開發(fā)人員既要具備扎實(shí)的硬件設(shè)計(jì)能力,同時(shí)也要具備相當(dāng)優(yōu)秀的軟件程序設(shè)計(jì)能力。
編輯推薦
《AVR單片機(jī)快速入門》編輯推薦:實(shí)例豐富,圖文并茂,視頻演示。
圖書封面
評論、評分、閱讀與下載