《51單片機套用開發案例手冊》是2011年11月1日電子工業出版社出版的圖書。
基本介紹
- 書名:51單片機套用開發案例手冊
- ISBN:9787121148460
- 頁數:449頁
- 出版社:電子工業出版社
- 出版時間:2011年11月1日
- 裝幀:平裝
- 開本:16開
- 重量:635 g
內容簡介,目錄,
內容簡介
《51單片機套用開發案例手冊》主要介紹如何在51單片機的套用系統中使用51單片機的內部資源和外圍器件,這些資源和器件包括I/O引腳、外部中斷、定時/計數器、串列接口、人機互動通道、數據採集和輸出通道、存儲器模組、通信模組。另外,《51單片機套用開發案例手冊》還介紹了51單片機C語言部分庫函式的詳細使用方法,以及RTX51作業系統的工作原理和使用方法。
《51單片機套用開發案例手冊》實例的電路原理圖及程式原始碼可以到資源下載欄目下載,讀者根據自己的實際需要稍加修改即可使用。《51單片機套用開發案例手冊》包含豐富的單片機內部資源和外圍模組的套用實例,作為一本單片機套用手冊,適合於具有單片機基礎知識的單片機工程師,以及高等院校電子類專業的學生和單片機愛好者參考閱讀。
目錄
第1章 51單片機I/O引腳套用實例
1.1 51單片機I/O引腳模組基礎
1.2 I/O引腳驅動LED
1.2.1 LED的工作原理
1.2.2 套用實例——LED閃爍和流水燈
1.3 I/O引腳驅動數碼管
1.3.1 單位數碼管的工作原理
1.3.2 套用實例——流水數字
1.3.3 多位數碼管的工作原理
1.3.4 套用實例——多位數字顯示和流水數碼管顯示
1.4 I/O引腳驅動繼電器
1.4.1 繼電器的工作原理
1.4.2 功率驅動器件的工作原理
1.4.3 套用實例——輪流加熱顯示系統
1.5 I/O引腳驅動蜂鳴器
1.5.1 蜂鳴器的工作原理
1.5.2 套用實例——定時報警和音樂播放
1.6 I/O引腳擴展獨立按鍵、鍵盤和撥碼開關
1.6.1 獨立按鍵的工作原理
1.6.2 套用實例——按鍵指示和按鍵發聲
1.6.3 行列掃描鍵盤的工作原理
1.6.4 套用實例——計算器鍵盤
1.6.5 撥碼開關的工作原理
1.6.6 套用實例——地址碼設定
1.7 I/O引腳驅動電動機
1.7.1 直流電動機的工作原理
1.7.2 套用實例——按鍵控制直流電動機
1.7.3 步進電動機的工作原理
1.7.4 套用實例——按鍵控制步進電動機
第2章 51單片機外部中斷套用實例
2.1 51單片機中斷和外部中斷模組基礎
2.1.1 中斷和外部中斷的相關控制
2.1.2 中斷的處理
2.1.3 編寫中斷服務函式
2.2 套用實例——外部中斷計數
2.3 套用實例——外部電平中斷實驗
2.4 套用實例——聯合中斷申請
第3章 51單片機的定時/計數器套用實例
3.1 51單片機定時/計數器基礎
3.1.1 定時/計數器的暫存器
3.1.2 定時/計數器的工作方式
3.1.3 定時/計數器的中斷
3.2 51單片機定時/計數器基礎套用
3.2.1 定時器套用實例1——T0方波發生器
3.2.2 定時器套用實例2——T1方波發生器
3.2.3 定時器套用實例3——PWM波形發生器
3.2.4 計數器套用實例1——按鍵燈控制
3.2.5 計數器套用實例2——按鍵計數
3.2.6 門控信號套用實例——脈衝寬度測量
3.3 51單片機定時/計數器綜合套用
3.3.1 套用實例——秒表
3.3.2 套用實例——門鈴
3.3.3 套用實例——交通燈
3.3.4 套用實例——聲光報警
第4章 51單片機的串列模組套用實例
4.1 51單片機串列模組基礎
4.1.1 串列模組的暫存器
4.1.2 串列模組的工作方式
4.1.3 串列模組的中斷
4.2 工作方式0套用實例——雙機高速通信
4.3 工作方式1套用實例1——單片機和PC通信
4.4 工作方式1套用實例2——用單片機U1控制U2外圍LED閃爍
4.5 工作方式1套用實例3——單片機U1和單片機U2雙向控制
4.6 工作方式2套用實例——多點溫度採集
第5章 51單片機常用C語言庫函式套用實例
5.1 51單片機C語言庫函式基礎
5.1.1 庫檔案和頭檔案分類
5.1.2 庫函式實例套用電路
5.2 ASCII字元分類和轉換函式
5.2.1 isdigit函式套用實例
5.2.2 toint函式套用實例
5.2.3 toupper函式套用實例
5.3 內部函式
5.3.1 _crol_函式套用實例
5.3.2 _nop_函式套用實例
5.4 數學函式
5.4.1 abs函式套用實例
5.4.2 floor函式套用實例
5.4.3 modf函式套用實例
5.4.4 sqrt函式套用實例
5.5 輸入/輸出函式
5.5.1 putchar函式套用實例
5.5.2 printf函式套用實例
5.5.3 sprintf函式套用實例
5.6 數據類型轉換和存儲器定位函式
5.6.1 atoi函式套用實例
5.6.2 atof函式套用實例
5.6.3 rand函式套用實例
5.6.4 srand函式套用實例
5.7 字元串操作函式館
5.7.1 memccpy函式套用實例
5.7.2 strlen函式套用實例
5.7.3 strcat函式套用實例
5.7.4 strncpy函式套用實例
5.7.5 strcmp函式套用實例
5.7.6 strstr函式套用實例
5.8 編譯常見報警錯誤及解決方法套用實例
5.8.1 變數未被使用警告(Warning280)
5.8.2 函式未被聲明警告(WarningC206)
5.8.3 頭檔案無法打開錯誤(ErrorC318)
5.8.4 函式名稱重複定義錯誤(ErrorC237)
5.8.5 函式未被調用警告
5.8.6 函式未定義警告(WarningC206)
5.8.7 記憶體空間溢出錯誤警告
5.8.8 函式重入警告
5.8.9 常見Keil編譯錯誤
第6章 51單片機內部資源高階套用實例
6.1 擴展外部中斷套用實例
6.1.1 套用實例——使用定時/計數器來擴展外部中斷
6.1.2 套用實例——使用串列模組來擴展外部中斷
6.2 使用I/O口進行串列通信套用實例
6.3 串列通信波特率自適應套用實例
6.4 使用軟體擴展多級中斷套用實例
6.5 可控PWM輸出套用實例
6.6 高速串列通信套用實例
6.6.1 波特率固定高速串列通信套用實例
6.6.2 波特率可變高速串列通信套用實例
6.7 51單片機內部資源綜合套用實例——投票系統
6.7.1 系統設計
6.7.2 套用代碼設計
第7章 RTX51實時多任務作業系統套用實例
7.1 RTX51基礎
7.1.1 RTX51占用的資源
7.1.2 RTX51的實現機制
7.1.3 套用實例——一個RTX51上的最簡單套用
7.2 RTX51的工作原理
7.2.1 時間片管理原理
7.2.2 任務管理原理
7.2.3 事件管理原理
7.2.4 任務調度管理
7.2.5 堆疊管理
7.3 RTX51的配置
7.3.1 RTX51的基礎配置
7.3.2 RTX51的庫檔案配置
7.3.3 RTX51的最佳化配置
7.4 RXT51的庫函式
7.4.1 isr_send_signal函式
7.4.2 isr_set_ready函式
7.4.3 os_clear_signal函式
7.4.4 os_create_task函式
7.4.5 os_delete_task函式
7.4.6 os_reset_interval函式
7.4.7 os_running_task_id函式
7.4.8 os_send_signal函式
7.4.9 os_set_ready函式
7.4.1 0os_switch_task函式
7.4.1 1os_wait函式
7.5 RTX51的使用方法
7.5.1 建立用戶項目
7.5.2 修改RTX51配置
7.5.3 編寫用戶代碼
7.5.4 RTX51的編譯
7.5.5 RTX51的調試
7.6 套用實例——基於RTX51的交通燈
第8章 51單片機的外部資源擴展方法
8.1 數據-地址匯流排擴展方法
8.2 串列模組擴展方法
8.3 I2C匯流排擴展方法
8.3.1 I2C匯流排擴展原理
8.3.2 套用實例——使用I/O連線埠來模擬I2C匯流排
8.4 SPI匯流排擴展方法
8.4.1 SPI匯流排擴展原理
8.4.2 套用實例——使用I/O連線埠來模擬SPI匯流排
8.5 1-wire(單線)匯流排擴展方法
8.5.1 1-wire匯流排擴展原理
8.5.2 套用實例——使用I/O連線埠來模擬1-wire匯流排
第9章 51單片機的I/O引腳擴展套用
9.1 使用74系列晶片來擴展I/O引腳
9.1.1 套用實例——使用74273來擴展輸出引腳
9.1.2 套用實例——使用74244來擴展輸入引腳
9.1.3 套用實例——使用74138來擴展輸出引腳
9.2 使用串列口來擴展I/O引腳
9.2.1 使用串列口來擴展輸出I/O引腳
9.2.2 使用串列口來擴展輸入I/O引腳
9.3 使用I/O引腳擴展I/O引腳
9.4 使用NEC8255擴展I/O引腳
9.4.1 NEC8255晶片介紹
9.4.2 NEC8255的典型擴展方法
9.4.3 套用實例——8位8段數碼管驅動
9.4.4 套用實例——4×8行列掃描鍵盤
第10章 51單片機人機互動通道擴展
10.1 使用MAX7219擴展多位數碼管
10.1.1 MAX7219介紹
10.1.2 MAX7219的數據格式
10.1.3 MAX7219的暫存器
10.1.4 套用實例——用MAX7219驅動8位數碼管
10.2 使用CH452擴展數碼管和按鍵
10.2.1 CH452晶片介紹
10.2.2 CH452的套用電路
10.2.3 套用實例——用CH452驅動4位數碼管和4×4行列鍵盤
10.3 使用1602液晶來顯示數字和字元
10.3.1 1602字元液晶介紹
10.3.2 1602字元液晶的套用電路和套用流程
10.3.3 套用實例——1602字元液晶循環顯示字元
10.4 使用12864液晶來顯示漢字和圖形
10.4.1 12864液晶模組介紹
10.4.2 12864液晶模組的操作流程
10.4.3 套用實例——12864液晶模組的庫函式
10.4.4 套用實例——12864液晶顯示漢字和圖形
第11章 51單片機數據採集輸出通道擴展
11.1 A/D數據採集通道擴展
11.1.1 A/D數據採集通道工作原理
11.1.2 ADC0809並行A/D晶片擴展
11.1.3 TLC2543串列多通道A/D晶片擴展
11.1.4 ADS1100高精度A/D晶片擴展
11.2 D/A數據輸出通道擴展
11.2.1 D/A晶片的分類和特點
11.2.2 DAC0832並行D/A晶片擴展
11.2.3 MAX517串列D/A晶片擴展
11.3 DS18B20溫度晶片擴展
11.3.1 DS18B20溫度感測器介紹
11.3.2 套用實例——串口溫度採集系統
11.4 PCF8563時鐘晶片擴展
11.4.1 PCF8563時鐘晶片介紹
11.4.2 套用實例——初始化PCF8563時鐘
11.4.3 套用實例——讀PCF8563時鐘信息
11.4.4 套用實例——設定PCF8563的報警信息
11.4.5 套用實例——PCF8563的秒中斷輸出
11.4.6 套用實例——PCF8563的秒時鐘信號輸出
第12章 51單片機的存儲器擴展套用
12.1 ROM存儲器和RAM存儲器擴展
12.1.1 ROM存儲器擴展
12.1.2 RAM存儲器擴展
12.1.3 套用實例——6264的數據讀/寫
12.2 E2PROM存儲器擴展
12.2.1 AT24系列E2PROM介紹
12.2.2 AT24系列E2PROM的操作
12.2.3 套用實例——AT24C04的位元組寫
12.2.4 套用實例——AT24C04的連續讀
12.2.5 套用實例——用AT24C04存放音樂數據
12.3 SLE4442接觸式加密IC存儲卡擴展
12.3.1 SLE4442卡基礎
12.3.2 SLE4442卡的工作模式
12.3.3 SLE4442卡的命令
12.3.4 套用實例——SLE4442卡的庫函式
12.3.5 套用實例——基於SLE4442的簡易電子房卡
12.4 隨身碟存儲器擴展
12.4.1 CH376基礎
12.4.2 CH376的命令
12.4.3 CH376的硬體接口
12.4.4 CH376的套用電路
12.4.5 CH376的隨身碟擴展套用
12.4.6 套用實例——CH376的庫函式
12.4.7 套用實例——使用CH376建立檔案並寫入數據
第13章 51單片機通信通道擴展
13.1 RS-232-C協定通信擴展
13.2 RS-422/485協定通信擴展
13.3 雙口RAM通信擴展
13.3.1 IDT7132雙口RAM介紹
13.3.2 套用實例——使用IDT7132進行雙單片機通信
13.4 無線數據通信擴展
13.4.1 PTR8000無線模組介紹
13.4.2 PTR8000無線模組的套用電路
13.4.3 51單片機擴展PTR8000無線模組的軟體工作流程
13.4.4 套用實例——無線按鍵指示系統終端
第14章 51單片機套用系統綜合設計
14.1 51單片機套用系統設計基礎
14.1.1 51單片機套用系統設計流程
14.1.2 51單片機套用系統設計原則
14.2 51單片機套用系統——太陽能電池監控模組
14.2.1 系統需求分析
14.2.2 系統設計
14.2.3 系統套用代碼設計
14.3 51單片機套用系統——手持傾角儀
14.3.1 系統需求分析
14.3.2 系統設計
14.3.3 系統套用代碼設計