單片機 C語言程序設計實訓 100例 — 基於 Arduino + Proteus 模擬

單片機 C語言程序設計實訓 100例 — 基於 Arduino + Proteus 模擬

作者: 彭偉
出版社: 電子工業
出版在: 2019-08-01
ISBN-13: 9787121367885
ISBN-10: 7121367882





內容描述


本書基於Atmel Studio+Arduino IDE開發平臺和Proteus硬件模擬平臺,精心編寫了100項Arduino C語言程序設計案例並分別提出了難易適中的實訓目標。全書基礎設計類案例涵蓋Arduino最基本的埠I/O、定時控制、A/D轉換、中斷控制、串口通信等程序設計;硬件應用類案例涵蓋編/解碼器件,串/並與並/串轉換器件,LED顯示及驅動器件,字符/圖形液晶,TFT彩屏,實時日歷時鐘器件,I2C/SPI/1-Wire總線器件,電動機,溫/濕度、壓力、雷達傳感器,SD卡等器件;綜合設計類案例包括大量實用型項目設計,如多功能電子萬年歷、計算器、電子秤、密碼鎖、大幅面LED點陣屏設計、交流電壓檢測、K型熱電偶及鉑電阻溫度計、GPS、紅外遙控、測距、溫室監控、游戲設計、Arduino Web應用等,因全書大量案例基於庫進行設計,很多復雜的程序均可通過便捷的代碼實現。


目錄大綱


目錄 
第1章Arduino C語言程序設計概述1 
1.1 Arduino簡介1 
1.2 Arduino開發環境2 
1.3 Arduino開發語言6 
1.4 Arduino程序結構6 
1.5基本數據類型、有符號數與無符號數的應用及位相關操作8 
1.6數組、字符串與指針應用11 
1.7全局變量、靜態變量、外部變量及修飾符13 
1.8運算符的優先級14 
1.9關於中英文、數字字符的編碼處理及應用15 
1.10 Arduino的常用函數20 
1.11 Arduino的特殊寄存器21 
1.12 Arduino相關在線資源22 
第2章Proteus操作基礎24 
2.1 Proteus操作界面簡介24 
2.2仿真電路原理圖設計25 
2.3選擇元件27 
2.4仿真運行31 
第3章基礎程序設計32 
3.1閃爍的LED 32 
3.2雙向來回的流水燈35 
3.3花樣流水燈36 
3.4 LED模擬交通燈38 
3.5分立式數碼管循環顯示0~9 40 
3.6集成式數碼管動態掃描顯示42 
3.7按鍵控制LED開關45 
3.8按鍵消抖處理46 
3.9按鍵調節數碼管閃爍增/減顯示49 
3.10繼電器及雙向晶閘管控制照明設備53 
3.11數碼管顯示4×4鍵盤矩陣按鍵54 
3.12 INT0中斷計數58 
3.13 INT0 ~INT3中斷計數62 
3.14 Timer0控制LED閃爍65 
3.15使用TimerOne庫實現Timer1控制LED閃爍72 
3.16 Timer1定時器中斷控制數碼管動態顯示75 
3.17 Timer1定時器中斷控制5×7 LED點陣屏顯示77 
3.18 Timer2控制門鈴聲音輸出79 
3.19使用FreqencyTimer2庫實現Timer2控制音階演奏83 
3.20使用MsTimer2庫實現Timer2控制交通指示燈86 
3.21 Timer1、Timer2及INT0控制報警器與旋轉燈89 
3.22按鍵控制定時器選播多段音樂92 
3.23用模擬與數字輸出方法實現PWM控制LED漸變94 
3.24模數轉換與數碼管顯示97 
3.25通過A/D轉換實現5路按鍵檢測100 
3.26硬件及軟件串口應用103 
3.27雙機串口雙向通信106 
3.28 PC與Arduino雙向串口通信111 
3.29 Arduino內置EEPROM讀/寫測試117 
3.30 Flash數據訪問120 
第4章硬件應用124 
4.1 74HC138譯碼器與反向緩衝器控制數碼管顯示124 
4.2用74HC164驅動多位數碼管顯示127 
4.3串入並出芯片74HC595控制數碼管顯示4位數字129 
4.4並/串轉換器74HC165的應用133 
4.5用74HC148擴展中斷135 
4.6串行發送數據到2片8×8點陣屏滾動顯示138 
4.7數碼管BCD解碼驅動器CD4511與DM7447的應用140 
4.8撥碼開關及74HC245的應用142 
4.9 14段與16段數碼管演示144 
4.10 16鍵解碼芯片74C922的應用148 
4.11 1602字符液晶工作於8位模式切換顯示150 
4.12 1602字符液晶工作於4位模式顯示162 
4.13 LGM12864(KS0108)液晶屏顯示測試163 
4.14 UG-2864(SSD1306)OLED屏顯示測試170 
4.15 Nokia5110(PCD8544)液晶屏顯示測試175 
4.16 PG160128A(T6963C )液晶屏圖文演示178 
4.17 EADOGS102液晶屏顯示測試182 
4.18 TFT彩屏ILI9341顯示測試184 
4.19 WS2812串行全彩燈顯示測試190 
4.20 DS1302實時時鐘應用196 
4.21 I2C接口時鐘日曆芯片DS1307的應用200 
4.22日曆時鐘芯片PCF8583的應用206 
4.23 I2C接口存儲器AT24C04的讀/寫與顯示(4片) 210 
4.24用I2C存儲器設計的中文硬件字庫的應用217 
4.25 I2C接口DS1621溫度傳感器測試220 
4.26用I2C接口芯片PCF8574驅動LM044L液晶屏224 
4.27 I2C接口數字電位器AD5242的應用226 
4.28用兼容I2C接口的MAX6953驅動4片5×7點陣顯示器228 
4.29用I2C接口控制MAX6955驅動16段數碼管顯示232 
4.30用帶I2C接口的MCP23017擴展16位通用I/O端口235 
4.31使用I2C接口器件PCA9555擴展接口239 
4.32 I2C接口18位ADC芯片MCP3421的應用244 
4.33 SPI接口存儲器AT25F1024的讀/寫與顯示249 
4.34 SPI接口數字電位器AD5206的應用測試258 
4.35 SPI接口串行共陰驅動器MAX7219控制4+2+2數碼管顯示260 
4.36 8位數碼管段位複用串行驅動芯片MAX6951的應用264 
4.37 SPI接口溫度傳感器TC72的應用測試270 
4.38 NTC熱敏電阻應用測試273 
4.39溫度傳感器LM35全量程應用測試275 
4.40 8路12位模數轉換芯片MCP3208的應用278 
4.41壓力傳感器MPX4250的應用282 
4.42直流電動機正/反轉及PWM調速控制284 
4.43 ULN2803驅動單極步進電動機的正/反轉287 
4.44 L298N驅動雙極步進電動機運行292 
4.45伺服電動機控制測試296 
4.46用M145026與M145027設計的無線收發系統299 
4.47溫/濕度傳感器DHT22的應用302 
4.48 SRF04雷達測距傳感器的應用307 
4.49 DS18B20溫度傳感器的測試309 
4.50 SD卡FAT文件系統讀/寫測試315 
第5章綜合設計324 
5.1帶日曆時鐘及溫度顯示的電子萬年曆324 
5.2簡易計算器設計329 
5.3電子秤仿真設計333 
5.4簡易加密電子密碼鎖337 
5.5用T6963C液晶與DS1302設計的可調指針式電子鐘342 
5.6溫度控制L298N驅動直流電動機調節轉速349 
5.7 ULN2003驅動5路繼電器及74HC595控制電梯數字點陣屏滾動顯示351 
5.8用74LS595與74LS154及反向驅動器7406控制16×16LED點陣屏顯示354 
5.9紅外遙控收發仿真358 
5.10交流電壓檢測與數字顯示仿真363 
5.11 3端可調正穩壓器LM317應用測試367 
5.12 GP2D12紅外測距傳感器的應用370 
5.13帶液晶顯示的K型熱電偶溫度計377 
5.14用MCP3421與RTD- PT100設計的鉑電阻溫度計381 
5.15 T6963C液晶顯示的模擬射擊訓練遊戲388 
5.16簡易飛船遊戲392 
5.17可接收串口信息的帶中英文硬字庫的80×16LED點陣屏399 
5.18 GPS導航系統仿真405 
5.19溫室綜合監控系統仿真設計409 
5.20 Arduino Web服務應用415


作者介紹


彭偉,畢業於華中理工大學計算機及應用專業,現任武漢城市職業學院電子信息工程系教授、高級程序員,長期從事C/C++/C#語言程序設計、數據結構與算法設計,單片機C語言程序設計、嵌入式系統設計,計算機接口軟件設計課程教學,多次被評為省市級優秀教師和先進個人;發表過多篇學術論文,出版的多部教材以實踐指導性強,廣受讀者歡迎。




相關書籍

Wireless Networks, 3/e (Hardcover)

作者 Clint Smith Daniel Collins

2019-08-01

專題製作 (單晶片8051/8951C語言)

作者 蔡朝洋 蔡承佑

2019-08-01

初識量子計算

作者 Parag Lala 楊延華鄧成譯

2019-08-01