單片機原理及應用項目化教程(C語言版)

-
【作 者】主編 謝四連 王善偉 李石林
【I S B N 】978-7-5170-4504-5
【責任編輯】李炎
【適用讀者群】本專通用
【出版時間】2016-07-20
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】236
【千字數】364
【印 張】14.75
【定 價】¥30
【叢 書】普通高等教育“十三五”規劃教材(計算機專業群)
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書以十一個項目的形式分別介紹了51單片機的基礎知識、常用軟件Keil C與Proteus的使用、單片機的輸入/輸出功能、數碼管基礎與矩陣鍵盤掃描、定時器與數碼管動態顯示、外部中斷與串行通信、LCD1602顯示原理及實現、I2C總線與EEPROM、溫度傳感器DS18B20與蜂鳴器、A/D與D/A轉換、實時時鐘DS1302、紅外與步進電機。
本書中的項目以由淺入深的形式對單片機的各個部分進行了介紹,每個部分都以具體的實例對內容進行鞏固,幾乎所有實例都配有電路圖和具體分析,程序代碼的編寫規范已經過實際驗證,部分章節后留有思考題,可以供同學們后續自學。
本書內容難易適中,編排合理,可作為各類工科院校自動化、電子信息工程、電子信息科學與技術、計算機、機電一體化等專業的單片機課程教材,也可作為從事電子技術、計算機應用與開發的工程技術人員的學習和參考用書,還可作為單片機自學者的入門用書。
本書配有電子教案,讀者可以到中國水利水電出版社網站和萬水書苑上免費下載,網址為http://www.waterpub.com.cn/softdown/和http://www.dgboyong.cn。
采用項目教學法,使學生在“做中學,學中做”:項目中涵蓋了51系列單片機的重要知識點。各項目的編排采用了由淺入深、由易到難的順序。
采用C語言教學,突出單片機C程序的軟件架構設計:本書中的所有實例都采用C語言編寫,突出單片機C語言程序的軟件架構設計思想。
針對當今技術需求,講解熱點知識:本書突出了對當今熱點知識的講解,把重點放在定時器、中斷、串行通信、鍵盤、LCD顯示、溫度采集、A/D與D/A轉換、實時時鐘、紅外與步進電機、I2C總線、EEPROM等知識的應用上,突出了實時性與實用性。
前 言
單片機作為微型計算機的一個重要分支,被廣泛應用于工業過程的自動檢測與控制等領域。目前,單片機作為嵌入式系統的入門課程在各工科院校中被廣泛開設,長期以來,該課程存在原理難以理解、設計能力難以提高等問題。本書結合作者多年的教學成果,采用新思路、新方法編寫而成,更加適合單片機初學者學習。
本書的主要特點:
1.采用項目教學法,使學生在“做中學,學中做”
本書以十一個項目的形式分別介紹了51單片機的基礎知識、常用軟件Keil C與Proteus的使用、單片機的輸入/輸出功能、數碼管基礎與矩陣鍵盤掃描、定時器與數碼管動態顯示、外部中斷與串行通信、LCD1602顯示原理及實現、I2C總線與EEPROM、溫度傳感器DS18B20與蜂鳴器、A/D與D/A轉換、實時時鐘DS1302。項目中涵蓋了51系列單片機的重要知識點,各項目的編排采用了由淺入深、由易到難的順序。
2.采用C語言教學,突出單片機C程序的軟件架構設計
本書中的所有實例都采用C語言編寫,突出單片機C語言程序的軟件架構設計思想。另外C語言具有運算速度快、編譯效率高的特點,有良好的可移植性,而且可以直接實現對系統硬件進行控制,和單片機匯編語言相比,還具有不需要記指令,學生容易掌握與理解等優點。
3.針對當今技術需求,講解熱點知識
本書突出了對當今熱點知識的講解,把重點放在定時器、中斷、串行通信、鍵盤、LCD顯示、溫度采集、A/D與D/A轉換、實時時鐘、紅外、步進電機、I2C總線、EEPROM等知識的應用上,突出了實時性與實用性。
本書的項目一由謝四連、王善偉共同編寫,項目二、三、四、五、六由王善偉編寫,項目七、八、九、十、十一由李石林編寫,謝四連負責全書的統編定稿與審閱工作,方智文、胡文明負責全書的校對工作。
本書中所有項目的實例都是基于金沙灘工作室的KST-51單片機開發板設計的,感謝金沙灘工作室宋雪松老師等對本書出版的支持和內容上的指導。
本書的所有作者都是多年從事單片機原理及應用教學的老師,本書更是作者們多年教學經驗的積累和總結,但仍難免存在錯誤和不足,懇請廣大讀者指正和諒解,您的指正是我們的期待,我們的聯系方式:1635@huhst.edu.cn。
最后,再次感謝所有幫助和關心我們的朋友,謝謝你們使用本書,并祝你們早日成功。
作 者
2016年5月
項目一 單片機介紹 1
1.1 任務一:認識單片機 1
1.1.1 單片機的基本概念 1
1.1.2 單片機的應用領域 2
1.1.3 單片機的種類 3
1.1.4 單片機的選擇 5
1.1.5 MCS-51單片機識讀 5
1.1.6 單片機最小系統的組成 9
1.2 任務二:Keil開發軟件的使用 12
1.2.1 Keil軟件安裝 12
1.2.2 Keil基本情況介紹 14
1.2.3 Keil軟件的使用 17
1.3 任務三:Proteus仿真軟件的使用 24
1.3.1 Proteus軟件安裝 24
1.3.2 Proteus軟件的使用 27
項目二 輸入/輸出功能 38
2.1 任務一:輸出功能——點亮LED燈 38
2.1.1 LED燈介紹 38
2.1.2 任務實施 39
2.2 任務二:輸入功能——按鍵檢測 45
2.2.1 鍵盤介紹 45
2.2.2 MCS-51單片機并行I/O接口結構 46
2.2.3 獨立按鍵掃描 49
2.2.4 任務實施 51
項目三 數碼管基礎與矩陣鍵盤掃描 53
3.1 任務一:認識數碼管 53
3.1.1 數碼管的基本介紹 53
3.1.2 數碼管真值表 54
3.1.3 數碼管的靜態顯示 56
3.2 任務二:矩陣鍵盤掃描 58
3.2.1 結構和工作原理 58
3.2.2 軟件設計思路 59
3.2.3 任務實施 60
項目四 定時器與數碼管動態顯示 63
4.1 任務一:定時器的使用 63
4.1.1 定時器的初步認識 63
4.1.2 定時器的寄存器 64
4.1.3 定時器初始化 67
4.1.4 定時器中斷 68
4.1.5 定時器的應用 73
4.2 任務二:數碼管動態顯示 75
4.2.1 動態顯示的基本原理 75
4.2.2 數碼管動態顯示應用 75
項目五 外部中斷與串行通信 80
5.1 任務一:STC89C52外部中斷 80
5.1.1 外部中斷觸發電路 80
5.1.2 外部中斷初始化 81
5.1.3 外部中斷的應用 82
5.2 任務二:串行通信 84
5.2.1 串行口介紹 84
5.2.2 串行口初始化 89
5.2.3 串口助手使用說明 90
5.2.4 串行數據發送 91
5.2.5 串行數據接收 93
項目六 LCD1602顯示原理及實現 95
6.1 任務一:了解液晶顯示器 95
6.1.1 1602字符型液晶顯示模塊的
基本組成 95
6.1.2 LCD1602字符型液晶顯示器
引腳及功能 96
6.1.3 LCD指令碼工作說明 97
6.1.4 LCD控制器接口時序說明 101
6.1.5 LCD初始化設置 103
6.1.6 LCD1602簡單實例 103
6.2 任務二:LCD顯示時鐘 106
項目七 I2C總線與EEPROM 110
7.1 任務一:認識 I2C總線 110
7.1.1 I2C總線內部結構 110
7.1.2 I2C時序 111
7.1.3 I2C數據傳輸格式 111
7.1.4 I2C尋址模式 112
7.2 任務二:學習EEPROM 118
7.2.1 EEPROM讀寫操作時序 118
7.2.2 EEPROM跨頁寫操作時序 119
7.3 任務三:設計計數器 119
項目八 溫度傳感器DS18B20與蜂鳴器 125
8.1 任務一:了解溫度傳感器DS18B20 125
8.1.1 溫度傳感器DS18B20特性 125
8.1.2 應用范圍 126
8.1.3 溫度傳感器DS18B20引腳定義 126
8.1.4 溫度傳感器DS18B20工作原理 126
8.2 任務二:了解蜂鳴器 131
8.3 任務三:制作溫度報警器 132
項目九 A/D與D/A轉換 137
9.1 任務一:了解A/D轉換 137
9.1.1 A/D的主要指標 137
9.1.2 PCF8591的硬件接口 138
9.1.3 PCF8591的軟件編程 139
9.1.4 任務實施 140
9.2 任務二:了解D/A轉換 143
項目十 實時時鐘DS1302 146
10.1 任務一:了解DS1302 146
10.1.1 DS1302的特點 146
10.1.2 DS1302的硬件電路 147
10.1.3 DS1302寄存器介紹 149
10.1.4 DS1302通信時序介紹 150
10.2 任務二:設計具有鬧鐘功能的
高精度時鐘 151
項目十一 紅外與步進電機 170
11.1 任務一:了解紅外遙控器 170
11.1.1 紅外光的基本原理 170
11.1.2 紅外遙控通信原理 170
11.1.3 NEC協議(紅外遙控器) 172
11.2 任務二:認識28BYJ-48型步進電機 177
11.2.1 步進電機的分類 177
11.2.2 讓電機轉起來 179
11.3 任務三:用紅外遙控器控制步進電機
正反轉 182
附錄A ASCII碼字符表 187
附錄B 單片機C語言基礎 191
附錄C 單片機C語言技術規范 214
參考文獻 230
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- C語言同步案例習題精解 [主編 肖朝暉]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應用開發與實戰(微課版) [主 編 程永恒]
- PHP程序設計項目化教程 [主 編 杜海穎]