ARM Cortex-M3嵌入式C語言編程100例
內容描述
本書是以基於32位ARMCortex-M3為內核的LPC1343器件為核心,通過100個應用實例,以功能模組為起點,以每個模組的硬體、軟體設計為主線,通過大量實例的介紹來達到理論聯繫實際的目的,讓讀者能迅速開發出實際的應用系統。
本書講解深入淺出,實例內容翔實,絕大多數模組、實例都有Proteus模擬驗證,所有的模組和實例都有詳細的硬體和軟體設計。力求既能讓ARM初學者快速入門,又能讓中高級開發人員的水準得到進一步提升,適合各類高校自動控制、電氣工程、自動化、機械電子專業的學生使用,同時也可供從事單片機系統開發的廣大技術人員參考閱讀。
目錄大綱
前言
第 1 章 基礎應用實例 1
1.1 流水燈實例 1
1.2 呼吸燈實例 2
1.3 LED電子沙漏實例 3
1.4 單個LED數碼管顯示數位0~9實例 5
1.5 按鍵計數十六進位顯示實例 7
1.6 4位元共陰LED數碼管動態顯示實例 8
1.7 基於計數方式去抖的按鍵計數LED數碼管動態顯示實例 10
1.8 多變迴圈LED彩燈顯示實例 12
1.9 基於引腳中斷方式的加減計數實例 16
1.10 4×4矩陣鍵盤讀取實例 18
1.11 4個PIO引腳構成的4×3矩陣鍵盤讀取實例 21
1.12 16位計時器0實現的1sLED閃爍實例 24
1.13 16位計時器1實現的4位元共陰LED數碼動態顯示實例 26
1.14 具有啟/停控制的碼錶實例 28
1.15 基於32位計時器1的占空比可調的軟PWM實例 31
1.16 基於16位計時器1的MAT功能實現硬PWM實例 34
1.17 基於32位定時0的CAP測量脈寬實例 37
1.18 基於32位元計時器1的可調數位鐘實例 41
1.19 基於16位元計時器0的頻率測量實例 45
1.20 基於引腳中斷功能的頻率測量實例 48
1.21 基於系統節拍計時器的時鐘實例 51
1.22 基於SysTick的音階產生實例 53
1.23 基於32位計時器0的MAT功能實現的簡易電子琴實例 57
1.24 基於32位計時器1的PWM產生1kHz正弦波信號實例 59
1.25 滴水燈實例 62
1.26 基於計時器的救護車聲類比實例 64
1.27 基於計時器的“叮咚”門鈴實例 67
1.28 紅外遙控編碼類比實例 69
1.29 紅外遙控解碼類比實例 73
1.30 LED聖誕樹實例 76
1.31 LED搖搖棒實例 79
1.32 基於計時器的音樂播放實例 83
1.33 基於SPI功能的串/並轉換LED數碼管顯示實例 90
1.34 基於查詢方式的A/D轉換應用實例 92
1.35 基於LM35溫度感測器的溫度測量實例 95
1.36 基於GPIO引腳構成的R-2R電阻網路產生的正弦波信號實例 97
1.37 基於UART的字串發送實例 99
1.38 基於UART的中斷方式的發送接收實例 101
1.39 基於I2C介面的24C02串列記憶體讀寫實例 104
1.40 基於SPI介面的25AA010A串列記憶體讀寫實例 110
1.41 8×8點陣LED顯示數位0~9實例 112
1.42 16×16點陣LED顯示漢字實例 114
1.43 16×16點陣LED流水方式顯示漢字實例 117
1.44 基於8×8點陣LED的“貪吃蛇”實例 120
1.45 RGB LED燈珠顏色漸變實例 124
1.46 基於32位計時器1實現RGB LED燈珠顏色漸變實例 126
1.47 LM016L字元LCD模組的顯示實例 128
1.48 128×64點陣圖形LCD模組的漢字顯示實例 131
1.49 基於ST7920的中文128×64圖形點陣LCD顯示模組實例 135
1.50 八層電梯運行類比實例 137
1.51 等精度頻率測量應用實例 141
1.52 LED霹靂燈實例 144
1.53 簡易計算器應用實例 147
1.54 基於MPX4250的氣壓測量實例 153
1.55 基於計時器的6路舵機控制實例 155
1.56 基於APDS-9002的照度測量實例 160
1.57 基於GP2D12的紅外測距應用實例 162
1.58 基於SFR04的超聲波測距應用實例 164
1.59 基於光敏電阻的光照度測量應用實例 168
1.60 基於可控矽的交流調光應用實例 171
第 2 章 擴展應用實例 176
2.1 基於74HC595的8位共陰LED數碼管顯示實例 176
2.2 基於74HC595的8×8點陣LED顯示實例 178
2.3 基於74HC595的16×16點陣LED按鍵計數顯示實例 181
2.4 基於74HC595的16×16點陣LED的飛機射擊遊戲實例 184
2.5 基於LM016L的字元LCD動態功能表顯示操作實例 192
2.6 基於128×64的點陣LCD模組的指標式時鐘顯示實例 198
2.7 基於128×64的圖形LCD模組的功能表設計實例 206
2.8 基於NOKIA3310的圖形LCD模組顯示實例 214
2.9 基於NOKIA5510的LCD模組的時鐘顯示實例 223
2.10 基於SHT11的環境溫濕度測量實例 229
2.11 基於DS18B20的數位溫度測量實例 236
2.12 基於DS1302的RTC時鐘實例 239
2.13 基於PCF8563的RTC應用實例 245
2.14 基於SPI介面的DS3234即時時鐘應用實例 255
2.15 基於SPI介面的TLC5615信號發生器實例 261
2.16 基於熱敏電阻的類比溫度測量應用實例 265
2.17 LCD顯示的直流電動機的調速與正反轉控制實例 270
2.18 基於CX20106A的超聲波測距應用實例 276
2.19 基於A/D轉換的直流電動機調速實例 279
2.20 基於L297和L298驅動的2相4線步進電動機控制實例 283
2.21 LCD顯示的4相5線步進電動機控制實例 286
2.22 160×128圖形LCD顯示模組應用實例 294
2.23 基於DAC0832的信號發生器應用實例 305
2.24 基於PCF8591的直流穩壓電源應用實例 312
2.25 基於BMP180的大氣壓強溫度和海拔高度測量實例 318
第 3 章 綜合應用實例 325
3.1 自動量程的電壓表設計實例 325
3.2 基於比較器的電容測量表設計實例 329
3.3 基於NE555構成的電容測量表設計實例 333
3.4 可預設電壓的數控電源設計實例 337
3.5 LCD顯示的電子密碼鎖設計實例 341
3.6 迷你音樂頻譜顯示器設計實例 352
3.7 溫控風扇系統設計實例 357
3.8 基於240×128 TFTLCD的中文顯示萬年曆實例 363
3.9 帶記憶功能的數位調節式直流穩壓電源設計實例 387
3.10 “推箱子”遊戲設計實例 394
3.11 GPS定位系統設計實例 415
3.12 智慧溫室控制系統應用實例 420
3.13 基於PID演算法的電動機轉速控制系統設計實例 429
3.14 帶溫度測量的64×16點陣LED數位鐘設計實例 434
3.15 簡易波形顯示設計實例 447
參考文獻
作者介紹
孫安青,長期從事電子產品研發和單片機教學工作,有豐富的單片機專案開發經驗,出版過多本專著。