書????名 | 單片機C語言程序設(shè)計實訓(xùn)100例——基于Arduino+Proteus仿真 | 作????者 | 彭偉 |
---|---|---|---|
ISBN | 9787121367885 | 出版社 | 電子工業(yè)出版社 |
出版時間 | 2019年8月 | 頁????數(shù) | 436 |
字????數(shù) | 715千字 | 開????本 | 16開 |
版????次 | 01-01 |
目 錄
第1章 Arduino C語言程序設(shè)計概述1
1.1 Arduino簡介1
1.2 Arduino開發(fā)環(huán)境2
1.3 Arduino開發(fā)語言6
1.4 Arduino程序結(jié)構(gòu)6
1.5 基本數(shù)據(jù)類型、有符號數(shù)與無符號數(shù)的應(yīng)用及位相關(guān)操作8
1.6 數(shù)組、字符串與指針應(yīng)用11
1.7 全局變量、靜態(tài)變量、外部變量及修飾符13
1.8 運算符的優(yōu)先級14
1.9 關(guān)于中英文、數(shù)字字符的編碼處理及應(yīng)用15
1.10 Arduino的常用函數(shù)20
1.11 Arduino的特殊寄存器21
1.12 Arduino相關(guān)在線資源22
第2章 Proteus操作基礎(chǔ)24
2.1 Proteus操作界面簡介24
2.2 仿真電路原理圖設(shè)計25
2.3 選擇元件27
2.4 仿真運行31
第3章 基礎(chǔ)程序設(shè)計32
3.1 閃爍的LED32
3.2 雙向來回的流水燈35
3.3 花樣流水燈36
3.4 LED模擬交通燈38
3.5 分立式數(shù)碼管循環(huán)顯示0~940
3.6 集成式數(shù)碼管動態(tài)掃描顯示42
3.7 按鍵控制LED開關(guān)45
3.8 按鍵消抖處理46
3.9 按鍵調(diào)節(jié)數(shù)碼管閃爍增/減顯示49
3.10 繼電器及雙向晶閘管控制照明設(shè)備53
3.11 數(shù)碼管顯示4×4鍵盤矩陣按鍵54
3.12 INT0中斷計數(shù)58
3.13 INT0~I(xiàn)NT3中斷計數(shù)62
3.14 Timer0控制LED閃爍65
3.15 使用TimerOne庫實現(xiàn)Timer1控制LED閃爍72
3.16 Timer1定時器中斷控制數(shù)碼管動態(tài)顯示75
3.17 Timer1定時器中斷控制5×7 LED點陣屏顯示77
3.18 Timer2控制門鈴聲音輸出79
3.19 使用FreqencyTimer2庫實現(xiàn)Timer2控制音階演奏83
3.20 使用MsTimer2庫實現(xiàn)Timer2控制交通指示燈86
3.21 Timer1、Timer2及INT0控制報警器與旋轉(zhuǎn)燈89
3.22 按鍵控制定時器選播多段音樂92
3.23 用模擬與數(shù)字輸出方法實現(xiàn)PWM控制LED漸變94
3.24 模數(shù)轉(zhuǎn)換與數(shù)碼管顯示97
3.25 通過A/D轉(zhuǎn)換實現(xiàn)5路按鍵檢測100
3.26 硬件及軟件串口應(yīng)用103
3.27 雙機串口雙向通信106
3.28 PC與Arduino雙向串口通信111
3.29 Arduino內(nèi)置EEPROM讀/寫測試117
3.30 Flash數(shù)據(jù)訪問120
第4章 硬件應(yīng)用124
4.1 74HC138譯碼器與反向緩沖器控制數(shù)碼管顯示124
4.2 用74HC164驅(qū)動多位數(shù)碼管顯示127
4.3 串入并出芯片74HC595控制數(shù)碼管顯示4位數(shù)字129
4.4 并/串轉(zhuǎn)換器74HC165的應(yīng)用133
4.5 用74HC148擴展中斷135
4.6 串行發(fā)送數(shù)據(jù)到2片8×8點陣屏滾動顯示138
4.7 數(shù)碼管BCD解碼驅(qū)動器CD4511與DM7447的應(yīng)用140
4.8 撥碼開關(guān)及74HC245的應(yīng)用142
4.9 14段與16段數(shù)碼管演示144
4.10 16鍵解碼芯片74C922的應(yīng)用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實時時鐘應(yīng)用196
4.21 I2C接口時鐘日歷芯片DS1307的應(yīng)用200
4.22 日歷時鐘芯片PCF8583的應(yīng)用206
4.23 I2C接口存儲器AT24C04的讀/寫與顯示(4片)210
4.24 用I2C存儲器設(shè)計的中文硬件字庫的應(yīng)用217
4.25 I2C接口DS1621溫度傳感器測試220
4.26 用I2C接口芯片PCF8574驅(qū)動LM044L液晶屏224
4.27 I2C接口數(shù)字電位器AD5242的應(yīng)用226
4.28 用兼容I2C接口的MAX6953驅(qū)動4片5×7點陣顯示器228
4.29 用I2C接口控制MAX6955驅(qū)動16段數(shù)碼管顯示232
4.30 用帶I2C接口的MCP23017擴展16位通用I/O端口235
4.31 使用I2C接口器件PCA9555擴展接口239
4.32 I2C接口18位ADC芯片MCP3421的應(yīng)用244
4.33 SPI接口存儲器AT25F1024的讀/寫與顯示249
4.34 SPI接口數(shù)字電位器AD5206的應(yīng)用測試258
4.35 SPI接口串行共陰驅(qū)動器MAX7219控制4 2 2數(shù)碼管顯示260
4.36 8位數(shù)碼管段位復(fù)用串行驅(qū)動芯片MAX6951的應(yīng)用264
4.37 SPI接口溫度傳感器TC72的應(yīng)用測試270
4.38 NTC熱敏電阻應(yīng)用測試273
4.39 溫度傳感器LM35全量程應(yīng)用測試275
4.40 8路12位模數(shù)轉(zhuǎn)換芯片MCP3208的應(yīng)用278
4.41 壓力傳感器MPX4250的應(yīng)用282
4.42 直流電動機正/反轉(zhuǎn)及PWM調(diào)速控制284
4.43 ULN2803驅(qū)動單極步進(jìn)電動機的正/反轉(zhuǎn)287
4.44 L298N驅(qū)動雙極步進(jìn)電動機運行292
4.45 伺服電動機控制測試296
4.46 用M145026與M145027設(shè)計的無線收發(fā)系統(tǒng)299
4.47 溫/濕度傳感器DHT22的應(yīng)用302
4.48 SRF04雷達(dá)測距傳感器的應(yīng)用307
4.49 DS18B20溫度傳感器的測試309
4.50 SD卡FAT文件系統(tǒng)讀/寫測試315
第5章 綜合設(shè)計324
5.1 帶日歷時鐘及溫度顯示的電子萬年歷324
5.2 簡易計算器設(shè)計329
5.3 電子秤仿真設(shè)計333
5.4 簡易加密電子密碼鎖337
5.5 用T6963C液晶與DS1302設(shè)計的可調(diào)指針式電子鐘342
5.6 溫度控制L298N驅(qū)動直流電動機調(diào)節(jié)轉(zhuǎn)速349
5.7 ULN2003驅(qū)動5路繼電器及74HC595控制電梯數(shù)字點陣屏滾動顯示351
5.8 用74LS595與74LS154及反向驅(qū)動器7406控制16×16LED點陣屏顯示354
5.9 紅外遙控收發(fā)仿真358
5.10 交流電壓檢測與數(shù)字顯示仿真363
5.11 3端可調(diào)正穩(wěn)壓器LM317應(yīng)用測試367
5.12 GP2D12紅外測距傳感器的應(yīng)用370
5.13 帶液晶顯示的K型熱電偶溫度計377
5.14 用MCP3421與RTD-PT100設(shè)計的鉑電阻溫度計381
5.15 T6963C液晶顯示的模擬射擊訓(xùn)練游戲388
5.16 簡易飛船游戲392
5.17 可接收串口信息的帶中英文硬字庫的80×16LED點陣屏399
5.18 GPS導(dǎo)航系統(tǒng)仿真405
5.19 溫室綜合監(jiān)控系統(tǒng)仿真設(shè)計409
5.20 Arduino Web服務(wù)應(yīng)用415 2100433B
本書基于Atmel Studio Arduino IDE開發(fā)平臺和Proteus硬件仿真平臺,精心編寫了100項Arduino C語言程序設(shè)計案例并分別提出了難易適中的實訓(xùn)目標(biāo)。全書基礎(chǔ)設(shè)計類案例涵蓋Arduino最基本的端口I/O、定時控制、A/D轉(zhuǎn)換、中斷控制、串口通信等程序設(shè)計;硬件應(yīng)用類案例涵蓋編/解碼器件,串/并與并/串轉(zhuǎn)換器件,LED顯示及驅(qū)動器件,字符/圖形液晶,TFT彩屏,實時日歷時鐘器件,I2C/SPI/1-Wire總線器件,電動機,溫/濕度、壓力、雷達(dá)傳感器,SD卡等器件;綜合設(shè)計類案例包括大量實用型項目設(shè)計,如多功能電子萬年歷、計算器、電子秤、密碼鎖、大幅面LED點陣屏設(shè)計、交流電壓檢測、K型熱電偶及鉑電阻溫度計、GPS、紅外遙控、測距、溫室監(jiān)控、游戲設(shè)計、Arduino Web應(yīng)用等,因全書大量案例基于庫進(jìn)行設(shè)計,很多復(fù)雜的程序均可通過便捷的代碼實現(xiàn)。
1、此題先構(gòu)造一個求階乘的函數(shù),然后3次調(diào)用該函數(shù),即可。2、程序的源代碼如下:#include<stdio.h>int fact(int n);int main(){ int m,n,c...
;可設(shè)定時間的倒計時定時器,可選擇5/15/20/30/35/45/50分鐘倒計時 ;倒計時時間由四位撥碼開關(guān)的1/2/3位來控制, ;第2位表示5分鐘,第3位表示15分鐘,第4位表示30分鐘, ;通...
#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit spk=P3^0;sbit k0=P3^...
格式:pdf
大?。?span id="qhxaqda" class="single-tag-height">598KB
頁數(shù): 29頁
評分: 4.8
1緒論 1.1 自動門的簡介 自動門控制系統(tǒng),在現(xiàn)當(dāng)代社會是一個應(yīng)用非常廣泛的設(shè)備,自動門已經(jīng)廣 泛應(yīng)用于酒店、銀行、超市、停車場或公共建筑等入口,其主要核心部分——自 動門控制系統(tǒng)正是我們這篇論文的主要研究討論的課題。 自動門是指 :可以將人接近門的動作 (或?qū)⒛撤N入門授權(quán)) 識別為開門信號的 控制單元,通過驅(qū)動系統(tǒng)將門開啟, 在人離開后再將門自動關(guān)閉, 并對開啟和關(guān) 閉的過程實現(xiàn)控制的系統(tǒng)。 自動門的性能優(yōu)劣主要取決于它的控制裝置, 早期的 自動門控制系統(tǒng)采用繼電器邏輯控制,造成安裝繁瑣、體積大、不穩(wěn)定、不易維 修等缺點已逐漸被淘汰。 1.2 本設(shè)計研究的內(nèi)容 1.2.1 自動平移門機組的部件組成 在本設(shè)計中主要研究自動平移門, 設(shè)計的自動平移門具有手動和自動開門功 能以及分時段控制功能, 同時配備防夾人光柵、 后備電源等輔助裝置來滿足商場 等人流眾多場所的高效率、高安全性的要求。 (
格式:pdf
大?。?span id="gzwnjkj" class="single-tag-height">598KB
頁數(shù): 未知
評分: 4.7
在倡導(dǎo)全民健身的今天,我們帶來一種方便快捷安全的健身裝置_室內(nèi)攀巖機,通過模擬真實巖壁,使室內(nèi)攀巖成為了可能.我們將程序設(shè)計和硬件設(shè)計結(jié)合起來,不僅創(chuàng)新了室內(nèi)攀巖機的結(jié)構(gòu)、控制了攀巖壁的機械安裝角度和攀巖面的運動速度,還調(diào)節(jié)了運動的難易程度以適用不同使用群體,使室內(nèi)攀巖運動成為家庭運動的一種新理念、新可能.
本書基于Atmel Studio Arduino IDE開發(fā)平臺和Proteus硬件仿真平臺,精心編寫了100項Arduino C語言程序設(shè)計案例并分別提出了難易適中的實訓(xùn)目標(biāo)。全書基礎(chǔ)設(shè)計類案例涵蓋Arduino最基本的端口I/O、定時控制、A/D轉(zhuǎn)換、中斷控制、串口通信等程序設(shè)計;硬件應(yīng)用類案例涵蓋編/解碼器件,串/并與并/串轉(zhuǎn)換器件,LED顯示及驅(qū)動器件,字符/圖形液晶,TFT彩屏,實時日歷時鐘器件,I2C/SPI/1-Wire總線器件,電動機,溫/濕度、壓力、雷達(dá)傳感器,SD卡等器件;綜合設(shè)計類案例包括大量實用型項目設(shè)計,如多功能電子萬年歷、計算器、電子秤、密碼鎖、大幅面LED點陣屏設(shè)計、交流電壓檢測、K型熱電偶及鉑電阻溫度計、GPS、紅外遙控、測距、溫室監(jiān)控、游戲設(shè)計、Arduino Web應(yīng)用等,因全書大量案例基于庫進(jìn)行設(shè)計,很多復(fù)雜的程序均可通過便捷的代碼實現(xiàn)。
目 錄
第1章 Arduino C語言程序設(shè)計概述 1
1.1 Arduino簡介 1
1.2 Arduino開發(fā)環(huán)境 2
1.3 Arduino開發(fā)語言 6
1.4 Arduino程序結(jié)構(gòu) 6
1.5 基本數(shù)據(jù)類型、有符號數(shù)與無符號數(shù)的應(yīng)用及位相關(guān)操作 8
1.6 數(shù)組、字符串與指針應(yīng)用 11
1.7 全局變量、靜態(tài)變量、外部變量及修飾符 13
1.8 運算符的優(yōu)先級 14
1.9 關(guān)于中英文、數(shù)字字符的編碼處理及應(yīng)用 15
1.10 Arduino的常用函數(shù) 20
1.11 Arduino的特殊寄存器 21
1.12 Arduino相關(guān)在線資源 22
第2章 Proteus操作基礎(chǔ) 24
2.1 Proteus操作界面簡介 24
2.2 仿真電路原理圖設(shè)計 25
2.3 選擇元件 27
2.4 仿真運行 31
第3章 基礎(chǔ)程序設(shè)計 32
3.1 閃爍的LED 32
3.2 雙向來回的流水燈 35
3.3 花樣流水燈 36
3.4 LED模擬交通燈 38
3.5 分立式數(shù)碼管循環(huán)顯示0~9 40
3.6 集成式數(shù)碼管動態(tài)掃描顯示 42
3.7 按鍵控制LED開關(guān) 45
3.8 按鍵消抖處理 46
3.9 按鍵調(diào)節(jié)數(shù)碼管閃爍增/減顯示 49
3.10 繼電器及雙向晶閘管控制照明設(shè)備 53
3.11 數(shù)碼管顯示4×4鍵盤矩陣按鍵 54
3.12 INT0中斷計數(shù) 58
3.13 INT0~I(xiàn)NT3中斷計數(shù) 62
3.14 Timer0控制LED閃爍 65
3.15 使用TimerOne庫實現(xiàn)Timer1控制LED閃爍 72
3.16 Timer1定時器中斷控制數(shù)碼管動態(tài)顯示 75
3.17 Timer1定時器中斷控制5×7 LED點陣屏顯示 77
3.18 Timer2控制門鈴聲音輸出 79
3.19 使用FreqencyTimer2庫實現(xiàn)Timer2控制音階演奏 83
3.20 使用MsTimer2庫實現(xiàn)Timer2控制交通指示燈 86
3.21 Timer1、Timer2及INT0控制報警器與旋轉(zhuǎn)燈 89
3.22 按鍵控制定時器選播多段音樂 92
3.23 用模擬與數(shù)字輸出方法實現(xiàn)PWM控制LED漸變 94
3.24 模數(shù)轉(zhuǎn)換與數(shù)碼管顯示 97
3.25 通過A/D轉(zhuǎn)換實現(xiàn)5路按鍵檢測 100
3.26 硬件及軟件串口應(yīng)用 103
3.27 雙機串口雙向通信 106
3.28 PC與Arduino雙向串口通信 111
3.29 Arduino內(nèi)置EEPROM讀/寫測試 117
3.30 Flash數(shù)據(jù)訪問 120
第4章 硬件應(yīng)用 124
4.1 74HC138譯碼器與反向緩沖器控制數(shù)碼管顯示 124
4.2 用74HC164驅(qū)動多位數(shù)碼管顯示 127
4.3 串入并出芯片74HC595控制數(shù)碼管顯示4位數(shù)字 129
4.4 并/串轉(zhuǎn)換器74HC165的應(yīng)用 133
4.5 用74HC148擴展中斷 135
4.6 串行發(fā)送數(shù)據(jù)到2片8×8點陣屏滾動顯示 138
4.7 數(shù)碼管BCD解碼驅(qū)動器CD4511與DM7447的應(yīng)用 140
4.8 撥碼開關(guān)及74HC245的應(yīng)用 142
4.9 14段與16段數(shù)碼管演示 144
4.10 16鍵解碼芯片74C922的應(yīng)用 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實時時鐘應(yīng)用 196
4.21 I2C接口時鐘日歷芯片DS1307的應(yīng)用 200
4.22 日歷時鐘芯片PCF8583的應(yīng)用 206
4.23 I2C接口存儲器AT24C04的讀/寫與顯示(4片) 210
4.24 用I2C存儲器設(shè)計的中文硬件字庫的應(yīng)用 217
4.25 I2C接口DS1621溫度傳感器測試 220
4.26 用I2C接口芯片PCF8574驅(qū)動LM044L液晶屏 224
4.27 I2C接口數(shù)字電位器AD5242的應(yīng)用 226
4.28 用兼容I2C接口的MAX6953驅(qū)動4片5×7點陣顯示器 228
4.29 用I2C接口控制MAX6955驅(qū)動16段數(shù)碼管顯示 232
4.30 用帶I2C接口的MCP23017擴展16位通用I/O端口 235
4.31 使用I2C接口器件PCA9555擴展接口 239
4.32 I2C接口18位ADC芯片MCP3421的應(yīng)用 244
4.33 SPI接口存儲器AT25F1024的讀/寫與顯示 249
4.34 SPI接口數(shù)字電位器AD5206的應(yīng)用測試 258
4.35 SPI接口串行共陰驅(qū)動器MAX7219控制4 2 2數(shù)碼管顯示 260
4.36 8位數(shù)碼管段位復(fù)用串行驅(qū)動芯片MAX6951的應(yīng)用 264
4.37 SPI接口溫度傳感器TC72的應(yīng)用測試 270
4.38 NTC熱敏電阻應(yīng)用測試 273
4.39 溫度傳感器LM35全量程應(yīng)用測試 275
4.40 8路12位模數(shù)轉(zhuǎn)換芯片MCP3208的應(yīng)用 278
4.41 壓力傳感器MPX4250的應(yīng)用 282
4.42 直流電動機正/反轉(zhuǎn)及PWM調(diào)速控制 284
4.43 ULN2803驅(qū)動單極步進(jìn)電動機的正/反轉(zhuǎn) 287
4.44 L298N驅(qū)動雙極步進(jìn)電動機運行 292
4.45 伺服電動機控制測試 296
4.46 用M145026與M145027設(shè)計的無線收發(fā)系統(tǒng) 299
4.47 溫/濕度傳感器DHT22的應(yīng)用 302
4.48 SRF04雷達(dá)測距傳感器的應(yīng)用 307
4.49 DS18B20溫度傳感器的測試 309
4.50 SD卡FAT文件系統(tǒng)讀/寫測試 315
第5章 綜合設(shè)計 324
5.1 帶日歷時鐘及溫度顯示的電子萬年歷 324
5.2 簡易計算器設(shè)計 329
5.3 電子秤仿真設(shè)計 333
5.4 簡易加密電子密碼鎖 337
5.5 用T6963C液晶與DS1302設(shè)計的可調(diào)指針式電子鐘 342
5.6 溫度控制L298N驅(qū)動直流電動機調(diào)節(jié)轉(zhuǎn)速 349
5.7 ULN2003驅(qū)動5路繼電器及74HC595控制電梯數(shù)字點陣屏滾動顯示 351
5.8 用74LS595與74LS154及反向驅(qū)動器7406控制16×16LED點陣屏顯示 354
5.9 紅外遙控收發(fā)仿真 358
5.10 交流電壓檢測與數(shù)字顯示仿真 363
5.11 3端可調(diào)正穩(wěn)壓器LM317應(yīng)用測試 367
5.12 GP2D12紅外測距傳感器的應(yīng)用 370
5.13 帶液晶顯示的K型熱電偶溫度計 377
5.14 用MCP3421與RTD-PT100設(shè)計的鉑電阻溫度計 381
5.15 T6963C液晶顯示的模擬射擊訓(xùn)練游戲 388
5.16 簡易飛船游戲 392
5.17 可接收串口信息的帶中英文硬字庫的80×16LED點陣屏 399
5.18 GPS導(dǎo)航系統(tǒng)仿真 405
5.19 溫室綜合監(jiān)控系統(tǒng)仿真設(shè)計 409
5.20 Arduino Web服務(wù)應(yīng)用 4152100433B
MPLAB是目前應(yīng)用最廣泛的PIC單片機軟件開發(fā)環(huán)境,Proteus是應(yīng)用最廣泛的硬件仿真環(huán)境。本書基于MPLAB和Proteus介紹了24個PIC單片機應(yīng)用實例,每個實例都包含背景介紹、設(shè)計思路以及該實例涉及的基礎(chǔ)原理、硬件設(shè)計、軟件設(shè)計和仿真與總結(jié)等內(nèi)容,并提供了所有實例的Proteus仿真電路圖及基于MPLAB的程序源代碼,讀者可登錄華信教育資源網(wǎng)查找本書免費下載。