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