本書從實踐的角度、采用模塊化的思想,詳細闡述51單片機的接口模塊及其應用,主要包含電源與單片機最小系統、顯示與鍵盤、信號調理、A/D和D/A、紅外與無線收發、數據有線通信、傳感器、時鐘、語音和存儲等模塊及應用; 多功能電子時鐘、基于電話網的多功能密碼鎖、基于74LS04的參數測試儀的設計;Keil C51的應用技巧。
書名 | 51單片機開發實戰精講--從模塊到項目 | 作者 | 薛小鈴、劉志群、賈俊榮 |
---|---|---|---|
ISBN | 9787302374275 | 定價 | 55元 |
出版社 | 清華大學出版社 | 出版時間 | 2015.01.01 |
51單片機最小系統,就是使單片機正常運行的最低配置,它由一系列模塊組成:1、復位系統: &...
加減一加法器,通過P1口輸入一個八位無符號數,P2口輸入另
格式:pdf
大小:773KB
頁數: 22頁
評分: 4.4
基于 51單片機的電子時鐘設計 摘要 本電子時鐘以 STC89C52單片機作為主控芯片,采用 DS12C887時鐘芯片, 使用 1602液晶作為顯示輸出。該時鐘走時精確,具有鬧鐘設置,以及可同時顯 示時間、日期等多種功能。本文將詳細介紹該電子時鐘涉及到的一些基本原理, 從硬件和軟件兩方面進行分析。 【關鍵詞】 STC89C52單片機 DS12C887時鐘芯片 1602液晶 蜂鳴器 目 錄 一、緒論?????????????????????? 4 1.1 電子時鐘功能???????????????? 4 1.2 設計方案?????????????????? 4 二、硬件設計???????????????????? 4 2.1 51單片機部分設計???????????? 4 2.2 USB 供電電路設計???????????? 5 2.3 串行通信電路設計???????????? 6
格式:pdf
大小:773KB
頁數: 22頁
評分: 4.7
摘 要 本次的課程設計基于單片機技術原理,以美國 ATMEL公司開發的 AT89S52 芯片作為核心控制器。 通過硬件電路的制作及軟件程序的編制, 設計制作了一種 具有復位、校時功能的數字時鐘系統。利用 1602液晶同時顯示提示信息和時間 信息,用戶可通過系統上的按鍵對時間進行調整, 實現實時的時鐘顯示。 本次設 計的硬件由主控模塊、 復位模塊以及顯示模塊構成。 復位模塊主要由電阻、 電容、 按鍵和發光二極管組成而顯示模塊則由 1602字符液晶構成,用于顯示提示信息 和實時時鐘。 關鍵詞: AT89S52;LCD 1602; 實時時鐘 桂林電子科技大學課程設計(論文)報告用紙 Abstract The curriculum design is based on the principles of microcomputer technology and has adapted the
全書結構合理、定位精準,從單片機發展歷程到環境搭建及開發語言,拾級而上,順利進入典型模塊篇,內容簡單而實用,鍵盤、顯示器、D/A轉換等,面面俱到;最后通過3個大型綜合實例,匯總前面所學知識,使讀者融會貫通,學以致用。
《51單片機開發應用從入門到精通》面向單片機及其編程語言的初學者,其中典型模塊的設計思想與方法對于相關方向的大學課程畢業設計有非常好的指導意義。同時,《51單片機開發應用從入門到精通》也可作為單片機愛好者及單片機開發人員的實用參考書。
第1章 51單片機入門基礎
1.1 51單片機的發展與應用領域 1
1.1.1 發展階段 1
1.1.2 應用領域 2
1.2 51單片機產品兼容系列 3
1.2.1 Intel公司產品系列 3
1.2.2 Atmel公司產品系列 4
1.2.3 Philips公司產品系列 6
1.3 51單片機的硬件結構 7
1.3.1 引腳及其功能 7
1.3.2 內部結構 9
1.4 51單片機工作方式和指令系統 29
1.4.1 單片機的工作方式 29
1.4.2 單片機指令系統簡介 34
1.4.3 單片機的尋址方式 34
1.4.4 單片機的指令格式與符號 37
1.5 分析與總結 54
第2章 51單片機開發的常用單元
2.1 單片機的鍵盤輸入單元 55
2.1.1 行列式鍵盤 55
2.1.2 鍵識別方法 56
2.1.3 鍵識別法舉例 56
2.1.4 程序代碼與注釋 60
2.2 單片機數碼顯示單元 61
2.2.1 如何驅動8段數碼管 61
2.2.2 8段數碼管動態顯示舉例 62
2.2.3 程序代碼與注釋 64
2.3 單片機液晶顯示單元 65
2.3.1 液晶模塊 65
2.3.2 液晶模塊的電源設計 67
2.3.3 如何顯示液晶模塊 68
2.3.4 液晶顯示模塊舉例 70
2.3.5 程序代碼與注釋 71
2.4 單片機串行通信單元 78
2.4.1 單片機串行通信的原理 78
2.4.2 單片機串行通信舉例 81
2.4.3 程序代碼與注釋 83
2.5 數學運算 84
2.5.1 限幅濾波算法 85
2.5.2 中值濾波算法 85
2.5.3 算術平均濾波算法 86
2.5.4 加權平均濾波算法 86
2.5.5 滑動平均濾波算法 87
第3章 Keil 8051 C編譯器
3.1 Keil編譯器簡介 88
3.2 如何使用Keil開發 89
3.2.1 建立工程 90
3.2.2 工程的設置 92
3.2.3 編譯與連接 95
3.3 dScope for Windows的使用 95
3.3.1 如何啟動 95
3.3.2 如何調試 97
3.3.3 調試窗口 98
第4章 單片機應用系統開發流程
4.1 單片機系統設計分析 101
4.2 單片機軟件開發流程 103
4.3 單片機硬件開發流程 109
4.4 分析與總結 112
第5章 實時日歷時鐘系統設計實例
5.1 實例說明 113
5.2 設計思路分析 115
5.2.1 日歷時鐘芯片SD2000A 115
5.2.2 電源電路設計 116
5.3 硬件電路設計 117
5.4 軟件設計 118
5.4.1 接口時序與操作指令 118
5.4.2 寄存器 120
5.4.3 程序代碼說明 124
5.5 分析與總結 129
第6章 網絡遠程監控與采集系統設計實例
6.1 實例功能說明 130
6.2 Keil RTX51 Tiny介紹 130
6.2.1 RTX51的概述 131
6.2.2 系統要求和任務定義 134
6.2.3 建立RTX51 Tiny應用程序 137
6.2.4 RTX51 Tiny系統函數詳解 139
6.2.5 RTX51 Tiny系統調試 145
6.3 系統設計思路 146
6.3.1 遠程監控與采集連接圖 146
6.3.2 Modbus協議簡介 146
6.3.3 傳輸方式 148
6.3.4 協議內容 150
6.4 硬件電路設計 152
6.4.1 總體硬件框圖 152
6.4.2 單片機電路設計 152
6.4.3 從設備地址配置電路設計 153
6.4.4 485接口設計 154
6.4.5 狀態量采集電路 155
6.4.6 模擬量采集電路 155
6.5 軟件設計與代碼分析 157
6.5.1 軟件流程 158
6.5.2 初始化任務 159
6.5.3 定時采集任務 159
6.5.4 測試幀任務 160
6.5.5 輪詢處理任務 161
6.5.6 狀態量采集子程序 162
6.5.7 模擬量采集子程序 162
6.5.8 485發送、接收子程序 163
6.5.9 CRC校驗 164
6.5.10 串口發送接收模塊 165
6.6 分析與總結 168
第7章 工廠環境智能監測系統設計實例
7.1 系統功能說明 169
7.2 系統整體設計方案 170
7.3 硬件設計 171
7.3.1 微控制器模塊 171
7.3.2 溫度測量模塊 174
7.3.3 濕度測量模塊 175
7.3.4 LCD顯示模塊 177
7.3.5 通信模塊 179
7.4 軟件設計 181
7.4.1 溫度測量軟件 181
7.4.2 濕度測量軟件 184
7.4.3 LCD顯示軟件 185
7.5 分析與總結 187
第8章 電熱水器控制系統設計實例
8.1 系統功能說明 188
8.2 系統整體設計方案 189
8.3 硬件設計 191
8.3.1 微控制器模塊 191
8.3.2 溫度測量 192
8.3.3 實時時鐘 195
8.3.4 看門狗復位電路 196
8.3.5 LED顯示電路 198
8.4 軟件設計 199
8.4.1 模數轉換軟件設計 199
8.4.2 實時時鐘軟件設計 202
8.4.3 LED顯示軟件設計 205
8.5 分析與總結 208
第9章 無線智能抄表系統設計實例
9.1 系統功能說明 209
9.2 系統整體設計方案 210
9.3 硬件設計 211
9.3.1 樓棟集中器硬件結構 211
9.3.2 微控制器模塊 211
9.3.3 存儲模塊 212
9.3.4 人機接口模塊 214
9.3.5 抄表接口模塊 217
9.3.6 無線模塊 218
9.4 軟件設計 222
9.4.1 樓棟集中器系統軟件流程 222
9.4.2 SPI與UART轉換 224
9.4.3 中斷程序 226
9.4.4 FM3130的讀寫 227
9.4.5 鍵盤輸入 230
9.4.6 LCD顯示 232
9.5 分析與總結 235
第10章 汽車行駛狀態記錄儀系統設計
10.1 實例說明 237
10.1.1 功能和技術指標 237
10.1.2 面板介紹和使用方法 238
10.2 設計思路分析 239
10.2.1 獲取行駛狀態信息 239
10.2.2 系統總體結構 239
10.3 硬件設計 240
10.3.1 記錄儀的供電 240
10.3.2 信號采集模塊 242
10.3.3 單片機模塊 243
10.3.4 可編程邏輯器件 245
10.3.5 日歷時鐘芯片 248
10.3.6 液晶顯示模塊LCD 252
10.3.7 信息的存儲 254
10.4 軟件設計 256
10.4.1 軟件流程 256
10.4.2 中斷子程序 257
10.4.3 獲取狀態信息 258
10.4.4 時間信息的設置和獲取 259
10.4.5 鍵盤輸入 260
10.4.6 液晶顯示 261
10.4.7 IC卡操作 264
10.5 分析與總結 267
第11章 RS485-CAN智能嵌入式網關設計實例
11.1 系統功能說明 268
11.2 系統整體設計方案 269
11.3 硬件設計 270
11.3.1 RS485-CAN智能嵌入式網關硬件結構 270
11.3.2 微控制器模塊 271
11.3.3 CAN接口模塊 272
11.3.4 RS485接口模塊 277
11.3.5 存儲模塊 278
11.4 軟件設計 279
11.4.1 CAN接口軟件設計 279
11.4.2 RS485接口軟件設計 287
11.4.3 AT93C46存儲器讀寫 290
11.4.4 參數配置 292
11.5 分析與總結 292
附錄A C與匯編語言混合編程 294
第1章51單片機開發的基礎知識
1.151單片機的硬件結構
1.1.1功能模塊
1.1.2CPU
1.1.3并行I/O端口
1.1.4存儲囂結構
1.1.5定時/計數器
1.1.6串行口
1.1.7中斷系統
1.251單片機的指令系統
1.2.1尋址方式
1.2.2指令說明
1.2.3指令系統表
1.3本章總結
第2章C語言程序各語句用法與意義
2.1數據結構
2.1.1數據類型
2.1.2變量與常量
2.1.3數組
2.1.4指針
2.1.5結構
2.1.6共用體
2.1.7枚舉
2.2運算符與表達式
2.2.1運算符分類與優先級
2.2.2算術運算符與表達式
2.2.3關系運算符與表達式
2.2.4邏輯運算符與表達式
2.2.5位操作運算符與表達式
2.2.6賦值運算符與表達式
2.3程序結構與函數
2.3.1程序結構
2.3.2函數
2.4流程控制語句
2.4.1選擇語句
2.4.2循環語句
2.4.3轉移語句
2.5本章總結
第3章Keil8051C編譯器
3.1Keil編譯器簡介
3.2使用Keil開發應用軟件
3.2.1建立工程
3.2.2工程的設置
3.2.3編譯與連接
3.3dScopeforWindows的使用
3.3.1如何啟動
3.3.2如何調試
3.3.3調試窗口
3.4本章總結
第4章單片機實現液晶顯示
4.1實例說明
4.2設計思路分析
4.2.1液晶顯示模塊
4.2.2液晶顯示工作原理
4.2.3設計思路
4.3硬件電路設計
4.3.1器件選取
4.3.2電源模塊
4.3.3液晶顯示模塊
4.3.4單片機模塊
4.4軟件設計
4.4.1液晶控制驅動囂指令集
4.4.2程序說明
4.5實例總結
第5章基于MAX7219的8位數碼管顯示
5.1實例說明
5.2設計思路分析
5.2.1LED顯示驅動芯片的選取
5.2.2MAX7219的工作原理
5.3硬件電路設計
5.3.1主要器件
5.3.2電路原理圖
5.4軟件設計
5.4.1MAX7219的工作時序和寄存器描述
5.4.2程序說明
5.5實例總結
第6章鍵盤輸入實例——實現4x4鍵盤
6.1實例說明
6.2設計思路分析
6.3硬件電路設計
6.4軟件設計
6.5實例總結
第7章單片機實現語音錄放
7.1實例說明
7.2設計思路分析
7.2.1語音芯片選取
7.2.2語音芯片1SD2560簡介
7.3硬件電路設計
7.3.1主要器件
7.3.2電路原理圖及說明
7.4軟件設計
7.4.1程序流程
7.4.2程序說明
7.5實例總結
第8章基于MAX197的并行A/D轉換
8.1實例說明
8.2設計思路分析
8.2.1A/D轉換原理
8.2.2如何選擇A/D轉換器件
8.2.3A/D轉換器對電源電路的要求
8.3硬件電路設計
8.3.1主要器件
8.3.2電路原理圖及說明
8.4軟件設計
8.4.1MAX197控制字
8.4.2程序流程
8.4.3程序說明
8.5實例總結
第9章基于TLC549的串行A/D轉換
9.1實例說明
9.2設計思路分析
9.2.1芯片選取
9.2.2工作原理
9.3硬件電路設計
9.3.1主要器件
9.3.2電路原理圖及說明
9.4軟件設計
9.4.1轉換過程和時序要求
9.4.2程序流程
9.4.3程序說明
9.5實例總結
第10章基于MAX527的并行D/A轉換
10.1實例說明
10.2設計思路分析
10.2.1D/A轉換原理
10.2.2如何選擇D/A轉換器件
10.2.3D/A轉換器對電源電路的要求
10.3硬件電路設計
10.3.1主要器件
10.3.2電路原理圖及說明
10.4軟件設計
10.4.1MAX527的地址和重要引腳
10.4.2程序流程
10.4.3程序說明
10.5實例總結
第11章基于MAX517的串行D/A轉換
11.1實例說明
11.2設計思路分析
11.2.1芯片選取
11.2.2工作原理
11.3硬件電路設計
11.3.1主要器件
11.3.2電路原理圖及說明
11.4軟件設計
11.4.1時序要求和轉換過程
11.4.2程序說明
11.5實例總結
第12章基于SHT71數字溫/濕度傳感器的采集實現
12.1實例說明
12.2設計思路分析
12.2.1SHT71性能概述
12.2.2SHT71的功能說明
12.2.3SHT71的引腳尺寸和說明
12.3硬件電路設計
12.4軟件設計
12.4.1SHT71的操作方法
12.42程序流程
12.4.3源程序清單
12.5實例總結
第13章基于DS1624的數字溫度計設計
13.1實例說明
13.1.2設計思路分析
13.2.1DS1624簡介
13.2.2DS1624基本特性
13.2.3DS1624工作原理
13.2.4DS1624工作方式
13.2.5DS1624的指令集
13.3硬件電路設計
13.3.1硬件設計
13.3.2原理科及其說明
13.4軟件設計
13.4.1程序流程
13.4.2程序說明
13.5實例總結
第14章基于DS12C887的實時日歷時鐘顯示系統設計
14.1實例說明
14.2設計思路分析
14.2.1選擇合適的日歷時鐘芯片7
14.2.2如何由DS12C887芯片獲取時間信息
14.3硬件電路設計
14.3.1結構框圖
14.3.2主要器件
14.3.3電路原理圖及說明
14.4軟件設計
14.4.1DS12C877的內存空間
14.4.2程序流程
14.4.3程序代碼及說明
14.5實例總結
第15章單片機控制的步進電機系統
15.1實例說明
15.2設計思路分析
15.2.1步進電機的工作原理
15.2.2步進電機的控制
15.2.3脈沖分配與驅動芯片的選取
15.3硬件電路設計
15.3.1結構框圖
15.3.2主要器件
15.3.3電路原理圖廈說明
15.4軟件設計
15.4.1程序流程
15.4.2程序說明
15.5實例總結
第16章基于MAX1898的智能充電器設計
16.1實例說明
16.2設計思路分析
16.2.1為何需要實現充電器的智能化
16.2.2如何選擇電池充電芯片
16.2.3MAX1898的充電工作原理
16.3硬件電路設計
16.3.1主要器件
16.3.2電路原理圖及說明
16.4軟件設計
16.4.1程序流程
16.4.2程序說明
16.5實例總結
第17章基于NORFlashAM29LV320的數據存儲
17.1實例說明
17.2設計思路分析
17.2.1芯片AM29LV320
17.2.2具體設計思路
17.3硬件電路設計
17.4軟件設計
17.4.1AM29LV320的命令與狀態
17.4.2串行異步數據傳輸
17.4.3程序代碼說明
17.5實例總結
第18章基于XC95144的串口擴展
18.1實例說明
18.2設計思路分析
18.2.1串口發送的設計
18.2.2串口接收的設計
18.2.3串口模塊的設計l
18.3硬件電路設計
18.4軟件設計
18.4.1CPLD的設計原理圖
18.4.2C51單片機程序代碼說明
18.5實例總結
第19章基于8255擴展并行口
19.1實例說明
19.2設計思路分析
19.2.1并行口擴展的原理
19.2.2芯片選擇
19.3硬件電路設計
19.4軟件設計
19.5實例總結
第20章單片機實現智能信號發生器
第21章單片機實現步進式PWM信號輸出
第22章單片機實現CRC算法
第23章單片機實現軟件濾波
第七篇通信傳輸系統設計
第24章單片機實現點對點的數據傳輸
第25章單片機實現點對多點的數據傳輸
第26章單片機實現以太網接口
第27章單片機實現1C總線通信
第28章單片機實現RS-485總線現場監測系統
第29章CAN總線接口通信設計
第八篇電源監控與抗干擾設計
第30章單片機監控電路設計
第31章光電隔離電路設計
附錄A匯編語言與C語言的混合編程
附錄B實例配套實驗箱