《手把手教你學51單片機——C語言版(第2版)》是2020年清華大學出版社出版的圖書,作者是宋雪松。
基本介紹
- 中文名: 手把手教你學51單片機——C語言版(第2版)
- 作者:宋雪松
- 出版時間:2020年
- 出版社: 清華大學出版社
- ISBN: 9787302549994
- 定價:79 元
內容簡介,圖書目錄,
內容簡介
本書旨在培養和鍛鍊單片機系統實用開發技能,全書以實踐為主線,讓讀者在一個個實踐案例中逐步掌握單片機電路設計與程式代碼編寫能力。書中的內容從最初點亮一個小燈的簡單實驗,逐步擴展知識面,到最後多功能電子鐘的實際項目開發指導,不僅講解了大量原理性知識,更重要的是給讀者提供了實際項目開發的思路和經驗,可以讓讀者在實踐過程中提高自己發現問題、分析問題、解決問題的能力。
本書的參編人員都是擁有多年實際項目研發經驗的資深工程師,因此書中的內容涵蓋了大量的實際項目中所採用的技術和技巧,具有極強的實時性和先進性,為讀者鋪就一條從單片機初學者晉級為工程師的康莊大道。
本書既適合剛剛接觸單片機的初學者自學閱讀,又可以作為各類院校電子技術相關專業的單片機教材,同時對電子行業的從業技術人員也有很高的參考價值。
圖書目錄
第1章如何學習單片機
1.1學什麼類型的單片機
1.2學習單片機的最佳方法
1.3單片機學習的準備工作
1.4單片機開發軟體環境搭建
1.5Keil基本概況介紹
1.6答讀者問
第2章點亮你的LED
2.1單片機的內部資源
2.2單片機最小系統
2.2.1電源
2.2.2晶振
2.2.3復位電路
2.3LED小燈
2.4程式代碼編寫
2.4.1特殊功能暫存器和位定義
2.4.2新建一個工程
2.4.3編寫點亮小燈的程式
2.5程式下載
2.6練習題
第3章硬體基礎知識學習
3.1電磁干擾
3.2去耦電容的套用
3.3三極體在數字電路中的套用
3.3.1三極體的初步認識
3.3.2三極體的原理
3.3.3三極體的套用
3.474HC138三八解碼器的套用
3.5LED閃爍程式
3.6練習題
第4章C語言基礎以及流水燈的實現
4.1二進制、十進制和十六進制
4.2C語言變數類型和範圍
4.3C語言基本運算符
4.4for循環語句
4.5while循環語句
4.6函式的簡單介紹
4.7Keil軟體延時
4.8流水燈程式
4.9練習題
第5章定時器與數碼管基礎
5.1邏輯電路與邏輯運算
5.2定時器的學習
5.2.1定時器的初步認識
5.2.2定時器的暫存器
5.2.3定時器的套用
5.3數碼管的學習
5.3.1數碼管的基本介紹
5.3.2數碼管的真值表
5.3.3數碼管的靜態顯示
5.4練習題
第6章中斷與數碼管動態顯示
6.1C語言的數組
6.1.1數組的基本概念
6.1.2數組的聲明
6.1.3數組的初始化
6.1.4數組的使用和賦值
6.2if語句
6.3switch語句
6.4數碼管的動態顯示
6.4.1動態顯示的基本原理
6.4.2數碼管顯示消隱
6.5單片機中斷系統
6.5.1中斷的產生背景
6.5.2定時器中斷的套用
6.5.3中斷的優先權
6.6練習題
第7章變數進階與點陣LED
7.1變數的作用域
7.1.1局部變數
7.1.2全局變數
7.2變數的存儲類別
7.3點陣的初步認識
7.4點陣的圖形顯示
7.5點陣的動畫顯示
7.5.1點陣的縱向移動
7.5.2點陣的橫向移動
7.6練習題
第8章函式進階與按鍵
8.1單片機最小系統
8.1.1電源
8.1.2晶振
8.1.3復位電路
8.2函式的調用
8.3函式的形式參數和實際參數
8.4按鍵
8.4.1獨立按鍵
8.4.2矩陣按鍵
8.4.3獨立按鍵的掃描
8.4.4按鍵消抖
8.4.5矩陣按鍵的掃描
8.5簡易加法計算器
8.6練習題
第9章步進電機與蜂鳴器
9.1單片機I/O口的結構
9.2上下拉電阻
9.328BYJ48型步進電機詳解與實例
9.3.1電機的分類
9.3.228BYJ48型步進電機原理詳解
9.3.3讓電機轉起來
9.3.4轉動精度與深入分析
9.3.5編寫實用程式的基礎
9.3.6包含綜合套用的實用程式
9.4蜂鳴器
9.5練習題
第10章實例練習與經驗積累
10.1數字秒表實例
10.1.1不同數據類型間的相互轉換
10.1.2定時時間精準性調整
10.1.3位元組操作修改位的技巧
10.1.4數碼管掃描函式算法改進
10.1.5秒表程式
10.2PWM知識與實例
10.3交通燈實例
10.451單片機RAM區域的劃分
10.5長短按鍵的套用
10.6練習題
第11章UART串口通信
11.1串列通信的初步認識
11.2RS232通信接口
11.3USB轉串口通信
11.4I/O口模擬UART串口通信
11.5UART串口通信的基本套用
11.5.1通信的三種基本類型
11.5.2UART模組介紹
11.5.3UART串口程式
11.6通信實例與ASCII碼
11.7練習題
第12章指針基礎與1602液晶的初步認識
12.1指針的概念與指針變數的聲明
12.1.1變數的地址
12.1.2指針變數的聲明
12.1.3指針的簡單示例
12.2指向數組元素的指針
12.2.1指向數組元素的指針和運算法則
12.2.2指向數組元素指針的實例
12.3字元數組和字元指針
12.3.1常量和符號常量
12.3.2字元和字元串數組實例
12.41602液晶的認識
12.4.11602液晶的硬體接口介紹
12.4.21602液晶的讀寫時序介紹
12.4.31602液晶的指令介紹
12.4.41602液晶簡單實例
12.5練習題
第13章1602液晶與串口的套用實例
13.1通信時序解析
13.21602整屏移動
13.3多.c檔案的初步認識
13.4計算器實例
13.5串口通信機制和實用的串口例程
13.6練習題
第14章I2C匯流排與E2PROM
14.1I2C時序初步認識
14.2I2C定址模式
14.3E2PROM的學習
14.3.1E2PROM單位元組讀寫操作時序
14.3.2E2PROM多位元組讀寫操作時序
14.3.3E2PROM的頁寫入
14.4I2C和E2PROM的綜合實驗學習
14.5練習題
第15章實時時鐘DS1302
15.1BCD碼的概念
15.2SPI時序初步認識
15.3實時時鐘晶片DS1302
15.3.1DS1302的特點
15.3.2DS1302的硬體信息
15.3.3DS1302暫存器介紹
15.3.4DS1302通信時序介紹
15.3.5DS1302的BURST模式
15.4複合數據類型
15.4.1結構體數據類型
15.4.2共用體數據類型
15.4.3枚舉數據類型
15.5電子鐘實例
15.6練習題
第16章紅外通信與DS18B20溫度感測器
16.1紅外線的基本原理
16.2紅外遙控通信原理
16.3NEC協定紅外遙控器
16.4溫度感測器DS18B20
16.5練習題
第17章模數轉換A/D與數模轉換D/A
17.1A/D和D/A的基本概念
17.2A/D的主要指標
17.3PCF8591的硬體接口
17.4PCF8591的軟體編程
17.5A/D差分輸入信號
17.6D/A輸出
17.7簡易信號發生器實例
17.8練習題
第18章RS485通信與Modbus協定
18.1RS485通信
18.2Modbus通信協定介紹
18.2.1Modbus協定特點
18.2.2RTU協定幀數據
18.3Modbus多機通信例程
18.4練習題
第19章實踐項目: 多功能電子鐘
19.1類型說明
19.2頭檔案
19.3條件編譯
19.4項目實戰
19.4.1項目需求分析
19.4.2程式結構規劃
19.4.3程式代碼編寫
19.5練習題
第20章擴展實例: 超音波測距*
20.1超音波測距原理
20.2超音波測距硬體準備
20.3超音波測距並在數碼管上顯示
20.4最佳化超音波測距的精度
附錄A單片機開發常用工具
A.1萬用表
A.1.1萬用表的功能及類型
A.1.2萬用表的使用方法
A.2示波器
A.2.1示波器的功能及類型
A.2.2示波器的使用
A.3邏輯分析儀
A.3.1什麼是邏輯分析儀
A.3.2邏輯分析儀的參數
A.3.3邏輯分析儀的使用
A.3.4套用實例——分析UART、I2C、SPI
A.3.5數字電路套用中邏輯分析儀比之示波器的優勢
A.4練習題
附錄BASCII碼字元表
附錄CC語言運算符及優先權
附錄DKST51開發板原理圖429