ARM Cortex-M3嵌入式C語言編程100例
定 價:88 元
- 作者:孫安青
- 出版時間:2018/11/1
- ISBN:9787519824105
- 出 版 社:中國電力出版社
- 中圖法分類:TP332.021
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是以基于32位ARM Cortex-M3為內(nèi)核的LPC1343器件為核心,通過100個應(yīng)用實例,以功能模塊為起點,以每個模塊的硬件、軟件設(shè)計為主線,通過大量實例的介紹來達(dá)到理論聯(lián)系實際的目的,讓讀者能迅速開發(fā)出實際的應(yīng)用系統(tǒng)。本書講解深入淺出,實例內(nèi)容翔實,絕大多數(shù)模塊、實例都有Proteus仿真驗證,所有的模塊和實例都有詳細(xì)的硬件和軟件設(shè)計。力求既能讓ARM初學(xué)者快速入門,又能讓中高級開發(fā)人員的水平得到進(jìn)一步提升,適合各類高校自動控制、電氣工程、自動化、機(jī)械電子專業(yè)的學(xué)生使用,同時也可供從事單片機(jī)系統(tǒng)開發(fā)的廣大技術(shù)人員參考閱讀。
100個經(jīng)典實例。功能模塊眾多,實例講解翔實,設(shè)計得到仿真驗證。
前 言
NXP公司生產(chǎn)的LPC1343是一款基于ARM Cortex-M3內(nèi)核的嵌入式微控制器,由于具有體積小、功能強(qiáng)和價格低的特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機(jī)電一體化、家用電器等領(lǐng)域有著廣泛的應(yīng)用,其應(yīng)用可以大大提高生產(chǎn)和生活的自動化水平。LPC1343的系統(tǒng)工作頻率最高可達(dá)72MHz。采用3級流水線執(zhí)行結(jié)構(gòu),內(nèi)核體系采用哈佛體系結(jié)構(gòu),采用精簡指令集。內(nèi)部采用3種總線結(jié)構(gòu)。ARM Cortex-M3 CPU內(nèi)部集成了支持隨機(jī)分支的預(yù)取單元。LPC1343的外設(shè)包括:最高可達(dá)32KB的Flash,8KB的數(shù)據(jù)存儲器SRAM,USB驅(qū)動,一個Fast-mode Plus的I2C接口,一個UART接口,4個通用定時器,最高可達(dá)42個通用I/O引腳。由于具有高速、單周期、低功耗、抗干擾能力強(qiáng)、內(nèi)置的資源豐富等特點,在嵌入式、物聯(lián)網(wǎng)等領(lǐng)域具有很好的應(yīng)用市場。
本書特點本書以LPC1343為核心器件,通過100個應(yīng)用實例,以功能模塊為起點,以每個模塊的硬件、軟件設(shè)計為主線,通過大量實例的介紹來達(dá)到理論聯(lián)系實際的目的,讓讀者能迅速開發(fā)出實際的應(yīng)用系統(tǒng)。本書具有以下特點。
(1)功能模塊眾多:本書講解的功能模塊涵蓋嵌入式使用的各個應(yīng)用場合,在每個功能模塊中,詳細(xì)講解了其應(yīng)用場合、工作原理、實現(xiàn)該功能的主要元器件,并且給出了原理圖和完整程序代碼。
(2)實例講解翔實:選用常見的實例作為講解對象,在每個實例中,分析了常見設(shè)計思路的優(yōu)劣,介紹了主要元器件的使用方法及完整的硬件、軟件設(shè)計,讀者只要稍作修改就可以應(yīng)用于實際項目中。
(3)設(shè)計得到仿真驗證:本書對所有功能模塊和實例都進(jìn)行了Proteus仿真驗證,并且將仿真過程穿插于內(nèi)容講解中,這樣既提高了設(shè)計的正確性,也為讀者設(shè)計實際系統(tǒng)提供了驗證設(shè)計思路的方法。本書講解深入淺出,實例內(nèi)容翔實,絕大多數(shù)模塊、實例都有Proteus仿真驗證,所有的模塊和實例都有詳細(xì)的硬件和軟件設(shè)計。力求既能讓ARM初學(xué)者快速入門,又能讓中高級開發(fā)人員的水平得到進(jìn)一步提升,適合各類高校自動控制、電氣工程、自動化、機(jī)械電子專業(yè)的學(xué)生使用,同時也可供從事單片機(jī)系統(tǒng)開發(fā)的廣大技術(shù)人員參考閱讀。主要內(nèi)容全書分為3章:第1章為基礎(chǔ)應(yīng)用實例,共有60個應(yīng)用實例,是以LPC1343微控制器的基礎(chǔ)應(yīng)用為主,這些基礎(chǔ)應(yīng)用主要包括I/O口的輸出、按鍵輸入、數(shù)碼管驅(qū)動、88點陣LED、三基色LED、定時器、中斷、串行口、內(nèi)置的A/D轉(zhuǎn)換器、CAP模塊捕獲、PWM脈寬調(diào)制、E2PROM、SPI接口。第2章為擴(kuò)展應(yīng)用實例,共有25個應(yīng)用實例,是以擴(kuò)展一些實際應(yīng)用中常用的器件和模塊為核心,介紹了這些器件和模塊的功能特點及實現(xiàn)如何用LPC1343微控制器來驅(qū)動這些器件的驅(qū)動程序的設(shè)計為主。這些外圍擴(kuò)展器件和模塊主要包括串/并轉(zhuǎn)換器件74HC595的應(yīng)用、字符LCD模塊、圖形點陣LCD模塊、不同尺寸和接口的真彩屏TFT LCD模塊、SPI和I2C接口的串行存儲器、并行和串行A/D轉(zhuǎn)換器、并行和串行D/A轉(zhuǎn)換器、實時時鐘RTC器件、直流電動機(jī)和步進(jìn)電動機(jī)驅(qū)動器件、溫度、濕度、超聲波傳感器、紅外遙控接收協(xié)議。第3章綜合應(yīng)用實例,共有15個應(yīng)用實例,這15個綜合應(yīng)用實例既有多個基本資源的綜合應(yīng)用,又有外圍擴(kuò)展方面的器件和模塊的高級應(yīng)用、算法和復(fù)雜的綜合應(yīng)用實例,讓讀者能夠了解到一個項目開發(fā)的全過程是如何實現(xiàn)的。包括:推箱子游戲設(shè)計實例、GPS定位系統(tǒng)設(shè)計實例、基于240128 TFTLCD的中文顯示萬年歷實例、基于PID算法的電動機(jī)轉(zhuǎn)速控制系統(tǒng)設(shè)計實例、帶溫度測量的6416點陣LED數(shù)字鐘設(shè)計實例、簡易波形顯示設(shè)計實例等光盤使用本書實例需要以下運(yùn)行的軟件支持:Proteus8.7 SP3和Keil uVision 4。
本書配套光盤中包括了所有章節(jié)的程序代碼,可以作為學(xué)習(xí)和參考之用,未經(jīng)許可不得用于任何商業(yè)等其他用途。
致謝本書由桂林電子科技大學(xué)孫安青編寫,在策劃和編寫過程中,編者參閱了大量的參考書籍、文獻(xiàn)以及相關(guān)網(wǎng)絡(luò)資源,并在書中引用了其中的部分文字和插圖,在此表示感謝。桂林電子科技大學(xué)信息與通信學(xué)院的領(lǐng)導(dǎo)對本書的編寫也給予大力支持,在此深表感謝。
由于編者水平有限,書中難免存在疏漏與不妥之處,懇請廣大同行與讀者批評指正(電子郵箱:supermcu@126.com)。
編者
孫安青,長期從事電子產(chǎn)品研發(fā)和單片機(jī)教學(xué)工作,有豐富的單片機(jī)項目開發(fā)經(jīng)驗,出版過多本專著。
前言
第 1 章 基礎(chǔ)應(yīng)用實例 1
1.1 流水燈實例 1
1.2 呼吸燈實例 2
1.3 LED電子沙漏實例 3
1.4 單個LED數(shù)碼管顯示數(shù)字0~9實例 5
1.5 按鍵計數(shù)十六進(jìn)制顯示實例 7
1.6 4位共陰LED數(shù)碼管動態(tài)顯示實例 8
1.7 基于計數(shù)方式去抖的按鍵計數(shù)LED數(shù)碼管動態(tài)顯示實例 10
1.8 多變循環(huán)LED彩燈顯示實例 12
1.9 基于引腳中斷方式的加減計數(shù)實例 16
1.10 44矩陣鍵盤讀取實例 18
1.11 4個PIO引腳構(gòu)成的43矩陣鍵盤讀取實例 21
1.12 16位定時器0實現(xiàn)的1sLED閃爍實例 24
1.13 16位定時器1實現(xiàn)的4位共陰LED數(shù)碼動態(tài)顯示實例 26
1.14 具有啟/?刂频拿氡韺嵗 28
1.15 基于32位定時器1的占空比可調(diào)的軟PWM實例 31
1.16 基于16位定時器1的MAT功能實現(xiàn)硬PWM實例 34
1.17 基于32位定時0的CAP測量脈寬實例 37
1.18 基于32位定時器1的可調(diào)數(shù)字鐘實例 41
1.19 基于16位定時器0的頻率測量實例 45
1.20 基于引腳中斷功能的頻率測量實例 48
1.21 基于系統(tǒng)節(jié)拍定時器的時鐘實例 51
1.22 基于SysTick的音階產(chǎn)生實例 53
1.23 基于32位定時器0的MAT功能實現(xiàn)的簡易電子琴實例 57
1.24 基于32位定時器1的PWM產(chǎn)生1kHz正弦波信號實例 59
1.25 滴水燈實例 62
1.26 基于定時器的救護(hù)車聲模擬實例 64
1.27 基于定時器的叮咚門鈴實例 67
1.28 紅外遙控編碼模擬實例 69
1.29 紅外遙控解碼模擬實例 73
1.30 LED圣誕樹實例 76
1.31 LED搖搖棒實例 79
1.32 基于定時器的音樂播放實例 83
1.33 基于SPI功能的串/并轉(zhuǎn)換LED數(shù)碼管顯示實例 90
1.34 基于查詢方式的A/D轉(zhuǎn)換應(yīng)用實例 92
1.35 基于LM35溫度傳感器的溫度測量實例 95
1.36 基于GPIO引腳構(gòu)成的R-2R電阻網(wǎng)絡(luò)產(chǎn)生的正弦波信號實例 97
1.37 基于UART的字符串發(fā)送實例 99
1.38 基于UART的中斷方式的發(fā)送接收實例 101
1.39 基于I2C接口的24C02串行存儲器讀寫實例 104
1.40 基于SPI接口的25AA010A串行存儲器讀寫實例 110
1.41 88點陣LED顯示數(shù)字0~9實例 112
1.42 1616點陣LED顯示漢字實例 114
1.43 1616點陣LED流水方式顯示漢字實例 117
1.44 基于88點陣LED的貪吃蛇實例 120
1.45 RGB LED燈珠顏色漸變實例 124
1.46 基于32位定時器1實現(xiàn)RGB LED燈珠顏色漸變實例 126
1.47 LM016L字符LCD模塊的顯示實例 128
1.48 12864點陣圖形LCD模塊的漢字顯示實例 131
1.49 基于ST7920的中文12864圖形點陣LCD顯示模塊實例 135
1.50 八層電梯運(yùn)行模擬實例 137
1.51 等精度頻率測量應(yīng)用實例 141
1.52 LED霹靂燈實例 144
1.53 簡易計算器應(yīng)用實例 147
1.54 基于MPX4250的氣壓測量實例 153
1.55 基于定時器的6路舵機(jī)控制實例 155
1.56 基于APDS-9002的照度測量實例 160
1.57 基于GP2D12的紅外測距應(yīng)用實例 162
1.58 基于SFR04的超聲波測距應(yīng)用實例 164
1.59 基于光敏電阻的光照度測量應(yīng)用實例 168
1.60 基于可控硅的交流調(diào)光應(yīng)用實例 171
第 2 章 擴(kuò)展應(yīng)用實例 176
2.1 基于74HC595的8位共陰LED數(shù)碼管顯示實例 176
2.2 基于74HC595的88點陣LED顯示實例 178
2.3 基于74HC595的1616點陣LED按鍵計數(shù)顯示實例 181
2.4 基于74HC595的1616點陣LED的飛機(jī)射擊游戲?qū)嵗?184
2.5 基于LM016L的字符LCD動態(tài)菜單顯示操作實例 192
2.6 基于12864的點陣LCD模塊的指針式時鐘顯示實例 198
2.7 基于12864的圖形LCD模塊的菜單設(shè)計實例 206
2.8 基于NOKIA3310的圖形LCD模塊顯示實例 214
2.9 基于NOKIA5510的LCD模塊的時鐘顯示實例 223
2.10 基于SHT11的環(huán)境溫濕度測量實例 229
2.11 基于DS18B20的數(shù)字溫度測量實例 236
2.12 基于DS1302的RTC時鐘實例 239
2.13 基于PCF8563的RTC應(yīng)用實例 245
2.14 基于SPI接口的DS3234實時時鐘應(yīng)用實例 255
2.15 基于SPI接口的TLC5615信號發(fā)生器實例 261
2.16 基于熱敏電阻的模擬溫度測量應(yīng)用實例 265
2.17 LCD顯示的直流電動機(jī)的調(diào)速與正反轉(zhuǎn)控制實例 270
2.18 基于CX20106A的超聲波測距應(yīng)用實例 276
2.19 基于A/D轉(zhuǎn)換的直流電動機(jī)調(diào)速實例 279
2.20 基于L297和L298驅(qū)動的2相4線步進(jìn)電動機(jī)控制實例 283
2.21 LCD顯示的4相5線步進(jìn)電動機(jī)控制實例 286
2.22 160128圖形LCD顯示模塊應(yīng)用實例 294
2.23 基于DAC0832的信號發(fā)生器應(yīng)用實例 305
2.24 基于PCF8591的直流穩(wěn)壓電源應(yīng)用實例 312
2.25 基于BMP180的大氣壓強(qiáng)溫度和海拔高度測量實例 318
第 3 章 綜合應(yīng)用實例 325
3.1 自動量程的電壓表設(shè)計實例 325
3.2 基于比較器的電容測量表設(shè)計實例 329
3.3 基于NE555構(gòu)成的電容測量表設(shè)計實例 333
3.4 可預(yù)設(shè)電壓的數(shù)控電源設(shè)計實例 337
3.5 LCD顯示的電子密碼鎖設(shè)計實例 341
3.6 迷你音樂頻譜顯示器設(shè)計實例 352
3.7 溫控風(fēng)扇系統(tǒng)設(shè)計實例 357
3.8 基于240128 TFTLCD的中文顯示萬年歷實例 363
3.9 帶記憶功能的數(shù)字調(diào)節(jié)式直流穩(wěn)壓電源設(shè)計實例 387
3.10 推箱子游戲設(shè)計實例 394
3.11 GPS定位系統(tǒng)設(shè)計實例 415
3.12 智能溫室控制系統(tǒng)應(yīng)用實例 420
3.13 基于PID算法的電動機(jī)轉(zhuǎn)速控制系統(tǒng)設(shè)計實例 429
3.14 帶溫度測量的6416點陣LED數(shù)字鐘設(shè)計實例 434
3.15 簡易波形顯示設(shè)計實例 447
參考文獻(xiàn) |