《高等職業(yè)教育“十二五”規(guī)劃教材:單片機原理與接口技術》以89C51單片機為例,以單片機基礎知識和系統(tǒng)應用為主線,介紹了開發(fā)單片機產(chǎn)品的方法和必備工具,以及開發(fā)單片機產(chǎn)品的全過程。主要內(nèi)容包括單片機概述、單片機學習基礎、單片機開發(fā)平臺的建立、單片機芯片結構、單片機存儲器、80C51的指令系統(tǒng)和程序設計、80C51單片機的中斷、單片機定時/計數(shù)器、單片機的串口及應用、顯示接口設計等內(nèi)容。全書從實際應用出發(fā),將單片機的基本知識與基本原理、C51程序設計和典型實例教學有機地結合在一起,體系完整,便于自學和教學。
《高等職業(yè)教育“十二五”規(guī)劃教材:單片機原理與接口技術》可作為高職高專應用電子技術、自動化、機電和計算機類專業(yè)的教材,也可作為電子愛好者和各類工程技術人員學習單片機應用技術的參考書。
前言
單元1 單片機概述
1.1 初識單片機
1.1.1 單片機的外觀
1.1.2 單片機結構及概念
1.1.3 單片機的功能及應用
1.2 單片機基本知識簡介
1.2.1 基本型和增強型
1.2.2 芯片中“C”和“S”的含義
1.2.3 常用存儲器類型
1.2.4 80C51與AT89C
1.2.5 AT89C51和AT89S
1.3 單片機的型號
1.4 單片機的分類
1.5 初學者的選擇
思考與練習
單元2 單片機學習基礎
2.1 單片機常用術語
2.1.1 位
2.1.2 字節(jié)
2.1.3 字和字長
2.1.4 電平的高與低
2.2 數(shù)制與編碼
2.2.1 數(shù)制
2.2.2 數(shù)制的轉換
2.2.3 計算機中數(shù)值的表示方法
2.2.4 二進制的算術運算和邏輯運算
2.2.5 計算機中使用的編碼
2.3 單片機電路制作常用元器件
2.3.1 面包板
2.3.2 萬用板
2.3.3 印制電路板
2.3.4 焊接方法及其工具
2.3.5 二極管
2.3.6 電容
2.3.7 電阻
2.3.8 晶振基礎知識
思考與練習
單元3 單片機開發(fā)平臺的建立
3.1 單片機開發(fā)過程
3.2 硬件平臺建立
3.3 軟件平臺建立
3.3.1 Keil集成開發(fā)環(huán)境安裝方法
3.3.2 Keil工程的建立、設置與編譯、連接
3.3.3 Keil的調(diào)試命令與方法
3.4 程序下載方法
思考與練習
單元4 單片機芯片結構
4.1 80C51單片機外部引腳
4.2 80C51單片機的總線
4.3 單片機內(nèi)部結構
4.4 單片機最小系統(tǒng)
4.4.1 時鐘電路與時序
4.4.2 單片機的復位電路
4.5 單片機最小系統(tǒng)的制作
4.6 單片機的工作過程
思考與練習
單元5 單片機存儲器
5.1 存儲器結構
5.2 程序存儲器
5.3 數(shù)據(jù)存儲器
5.3.1 工作寄存器區(qū)(00H~1FH)
5.3.2 位尋址區(qū)(20H~2FH)
5.3.3 通用RAM區(qū)(30H~7FH)
5.3.4 特殊功能寄存器區(qū)(80H~FFH)
5.4 存儲器的擴展
5.4.1 存儲器三總線擴展方法
5.4.2 存儲器存儲容量的計算和編址方法
5.4.3 程序存儲器的擴展
5.4.4 數(shù)據(jù)存儲器的擴展
思考與練習
單元6 80C51的指令系統(tǒng)和程序設計
6.1 匯編語言的指令格式
6.2 尋址方式
6.2.1 立即尋址方式
6.2.2 直接尋址方式
6.2.3 寄存器尋址方式
6.2.4 寄存器間接尋址方式
6.2.5 變址尋址方式
6.2.6 相對尋址方式
6.2.7 位尋址方式
6.3 80C51的指令系統(tǒng)
6.3.1 偽指令
6.3.2 數(shù)據(jù)傳送類指令
6.3.3 算術運算類指令
6.3.4 邏輯運算類指令
6.3.5 位操作指令
6.3.6 控制轉移類指令
6.4 繪制流程圖
思考與練習
單元7 80C51單片機的中斷
7.1 中斷的定義與處理過程
7.1.1 中斷的定義
7.1.2 中斷的處理過程
7.2 80C51系列單片機的中斷系統(tǒng)
7.2.1 中斷源
7.2.2 中斷源的入口地址
7.3 中斷寄存器的設置
7.3.1 定時/計數(shù)器控制寄存器TCON
7.3.2 串口控制寄存器SCON
7.3.3 中斷允許控制寄存器IE
7.3.4 中斷優(yōu)先級控制寄存器IP
7.4 中斷程序編寫
思考與練習
單元8 單片機定時/計數(shù)器
8.1 定時/計數(shù)器的結構及工作原理
8.1.1 定時/計數(shù)器T0、T1的結構
8.1.2 定時/計數(shù)器T0、T1的工作原理
8.2 定時/計數(shù)器的控制寄存器
8.2.1 定時器控制寄存器TCON
8.2.2 工作方式控制寄存器TMOD
8.3 定時/計數(shù)器的工作方式
8.3.1 方式
8.3.2 方式
8.3.3 方式
8.3.4 方式
8.4 定時/計數(shù)器應用舉例
8.5 看門狗定時器
8.5.1 看門狗定時器簡介
8.5.2 單片機的內(nèi)置看門狗定時器
思考與練習
單元9 單片機的串口及應用
9.1 數(shù)據(jù)通信概述
9.1.1 并行通信和串行通信
9.1.2 串行通信的基本知識
9.1.3 串行通信的傳輸方式
9.2 80C51串口及控制
9.2.1 80C51串口結構
9.2.2 80C51串口控制
9.3 串口的工作方式
9.3.1 串口方式0——同步移位寄存器方式
9.3.2 串口方式1——8位UART
9.3.3 串口方式2和3——9位UART
9.3.4 波特率的計算
9.3.5 串口的初始化
9.4 單片機與PC串行通信
9.4.1 RS232C標準接口總線
9.4.2 單片機與PC串行通信硬件設計
9.5 單片機串行通信程序的設計
思考與練習
單元10 顯示接口設計
10.1 數(shù)碼管顯示
10.1.1 數(shù)碼管的結構與工作原理
10.1.2 數(shù)碼管字形編碼
10.2 LED數(shù)碼顯示器的工作方式
10.2.1 LED靜態(tài)顯示接口
10.2.2 LED動態(tài)顯示接口
10.3 LCD1602液晶屏
10.3.1 LCD1602液晶屏的外觀及引腳
10.3.2 LCD1602的指令
10.3.3 單片機與字符液晶屏的接口與編程
思考與練習
單元11 鍵盤接口
11.1 按鍵開關介紹
11.2 按鍵抖動消除
11.3 獨立式鍵盤接口電路
11.4 矩陣式鍵盤接口電路
11.5 鍵盤接口程序設計
11.5.1 獨立式鍵盤控制LED
11.5.2 矩陣式鍵盤控制數(shù)碼管
思考與練習
單元12 數(shù)模轉換器和模數(shù)轉換器
12.1 模數(shù)轉換器原理及其主要技術指標
12.1.1 模數(shù)轉換器原理
12.1.2 模數(shù)轉換器主要技術指標
12.1.3 典型模數(shù)轉換器芯片ADC簡介
12.2 單片機與ADC0809的連接
12.2.1 定時傳送方式
12.2.2 查詢方式
12.2.3 中斷方式
12.3 數(shù)模轉換器及其性能指標
12.3.1 數(shù)模轉換器的性能指標
12.3.2 典型數(shù)模轉換器DAC0832簡介
12.4 DAC0832應用舉例
12.4.1 單緩沖方式應用舉例——產(chǎn)生鋸齒波
12.4.2 雙緩沖方式應用舉例
思考與練習
單元13 電動機的單片機控制
13.1 步進電動機控制接口技術
13.1.1 步進電動機的工作原理
13.1.2 環(huán)形脈沖分配器
13.1.3 步進電動機的驅(qū)動
13.1.4 步進電動機與單片機接口電路
13.2 直流電動機的運行控制
13.2.1 PWM控制
13.2.2 直流電動機轉速、轉向的PWM控制
13.2.3 單片機控制直流電動機應用舉例
思考與練習
單元14 單片機C51程序設計
14.1 C51概述
14.2 C51數(shù)據(jù)結構和語法
14.2.1 常量與變量
14.2.2 整型變量與字符型變量
14.2.3 關系運算符和關系表達式
14.2.4 邏輯運算符和邏輯表達式
14.2.5 if語句
14.2.6 switch語句
14.2.7 for語句
14.2.8 while語句
14.2.9 dowhile語句
14.2.1 0break語句
14.2.1 1continue語句
14.2.1 2結構體
14.2.1 3共用體
14.2.1 4指針
14.2.1 5typedef類型定義
14.2.1 6C51關鍵字
14.3 KeilC51的數(shù)據(jù)結構和語法
14.3.1 C51數(shù)據(jù)類型
14.3.2 8051的特殊功能寄存器
14.3.3 KeilC51編程中8051的存儲類型
14.3.4 KeilC51的指針
14.3.5 KeilC51的使用注意點
14.4 KeilC51硬件編程
14.4.1 8051的I/O口編程
14.4.2 8051的定時器編程
14.4.3 8051的中斷服務
14.4.4 8051的串口編程
14.5 C51與匯編語言的混合編程
14.5.1 C51編譯器格式規(guī)范
14.5.2 C51函數(shù)及其相關段的命名規(guī)則
14.5.3 C51函數(shù)的參數(shù)傳遞規(guī)則
14.5.4 SRC編譯控制命令
14.5.5 C51與匯編語言的混合編程方法
14.6 C51程序設計實例
14.6.1 用DAC0832產(chǎn)生一個三角波
14.6.2 鍵盤和數(shù)碼管顯示設計
思考與練習
單元15 單片機系統(tǒng)的電磁兼容設計
15.1 硬件抗干擾技術
15.1.1 輸入輸出隔離
15.1.2 硬件濾波電路
15.1.3 接地技術
15.1.4 屏蔽
15.2 軟件抗干擾技術
15.2.1 數(shù)字濾波
15.2.2 指令冗余防程序“跑飛”
15.2.3 “軟件陷阱”防程序“跑飛”
15.2.4 使用“看門狗”處理程序“跑飛”
15.2.5 通過復位使系統(tǒng)恢復正常
思考與練習
單元16 單片機控制實際應用
16.1 臥式車床的數(shù)控改造
16.1.1 80C51單片機控制的硬件系統(tǒng)設計
16.1.2 車刀架伺服系統(tǒng)軟件設計
16.2 水塔水位控制系統(tǒng)
16.2.1 水塔水位控制系統(tǒng)功能
16.2.2 水塔水位控制系統(tǒng)的硬件組成
16.2.3 水塔水位控制系統(tǒng)的軟件設計
16.3 剪切機的控制系統(tǒng)
16.3.1 剪切機工作過程
16.3.2 剪切機硬件系統(tǒng)設計
16.3.3 剪切機的軟件設計
思考與練習
附錄
附錄A ASCII碼表
附錄B 80C51單片機指令系統(tǒng)
參考文獻