本書共分10章,主要介紹單片機硬件組成和軟件操作環(huán)境、C51編程語言基礎知識、單片機并行I/O端口、顯示與鍵盤接口技術、中斷與定時/計數(shù)器、串口通信技術、A/D與D/A轉(zhuǎn)換接口以及單總線和I2C總線技術等。
單片機是計算機的一個重要分支,它具有體積小、價格低、控制功能強等特點,廣泛應用于工業(yè)控制、智能化儀器儀表、家用電器、網(wǎng)絡通信等領域,極大地提高了這些領域的智能化程度。單片機技術的掌握已成為電子信息類、通信類、自動類等專業(yè)學生與技術人員必備的一項技能。
本書是在作者長期從事高職高專單片機技術課程教學的基礎上,以國家的教學改革方針為指導,以示范院校課程建設為要求編寫的。本書每章后都設有針對性的任務,突出技能,從內(nèi)容安排、教與學、做與練等方面都體現(xiàn)了高職教育的教學特色。本書特點包括以下幾個方面。
1.采用C語言編程目前,很多高等院校的單片機技術課程教學仍然采用匯編語言編寫控制程序。但匯編語言編寫的程序可讀性差,不易理解。尤為重要的是,現(xiàn)在單片機應用系統(tǒng)的開發(fā),基本上不用匯編語言編程,使用C語言進行程序設計已成為軟件開發(fā)的一個主流。用C語言來編寫目標系統(tǒng)軟件,會大大縮短開發(fā)周期,且明顯地增加軟件的可讀性,便于改進和擴充。采用C語言編程是單片機課程教學改革的重要內(nèi)容。
2.以任務驅(qū)動課程教學先學理論知識,然后引出相關任務,通過任務中的技能訓練來鞏固理論知識,掌握相關概念、硬件電路的設計與制作及軟件的編程技巧,這種以理論指導實踐的方法符合學生的認知規(guī)律和職業(yè)教育的理念。
全書共安排了25個具有代表性的任務,每個任務均設置了目的與要求,任務內(nèi)容緊扣該章節(jié)的理論知識,又避免過大過繁,體現(xiàn)了技能訓練的綜合性與系統(tǒng)性。
3.內(nèi)容安排更合理本書在內(nèi)容安排上充分考慮了讀者的認知規(guī)律、單片機課程的特點以及任務的綜合性,首先介紹了單片機的硬件結(jié)構(gòu),而后給出了C51語言編程基礎知識,將顯示與鍵盤接口技術放在中斷、定時器和串行通信之前,這樣在學習中斷、定時器和串行通信時便于引入按鍵顯示接口技術,使任務更具有綜合性和實用性,也便于知識、技能的靈活運用。
4.增加了近年來使用較多的I2C總線技術和單總線技術隨著單片機技術的不斷發(fā)展,新型元器件與新技術層出不窮,本書引入了目前使用較普遍的元器件與新技術,第10章中安排了數(shù)字溫度傳感器DS18B20、具有I2C總線結(jié)構(gòu)的AD和DA轉(zhuǎn)換器PCF8591及EEPROM AT24C04新型元器件的應用,使學生通過該內(nèi)容的學習緊跟當前單片機的新技術。
本書由彭志剛?cè)沃骶帲x芳芳、李力、趙麗任副主編。彭志剛負責統(tǒng)稿,并編寫了第1、2、3、10章。趙麗、謝芳芳編寫了第6章和第9章,李力編寫了第8章,趙自鵬編寫了第4章,何忠勝編寫了第5章,陳新華編寫第7章。
本書的編寫參閱了大量單片機技術方面的教材和其他文獻,在此謹向作者致以衷心的謝意。
由于編者水平有限,書中的錯誤和疏漏之處在所難免,歡迎讀者提出批評與建議。
編者
機工授權書
前言
第1章單片機概述與Keil C51軟件
的使用
1.1認識單片機
1.2 Keil C51軟件的使用
1.3Keil C51軟件應用
任務11用Keil C51軟件生成
HEX文件
本章小結(jié)
習題
第2章51系列單片機的結(jié)構(gòu)和
原理
2.151系列單片機的組成
2.1.1內(nèi)部結(jié)構(gòu)
2.1.2引腳說明
2.1.3三總線結(jié)構(gòu)
2.1.4存儲器配置
2.2單片機的時鐘及復位
2.2.1振蕩器和時鐘電路
2.2.2時序及有關概念
2.2.3復位方式
2.351系列單片機存儲器的讀/寫
任務21查看單片機ROM存儲單元的
機器碼
任務22查看單片機RAM單元的數(shù)據(jù)
本章小結(jié)
習題
第3章C51語言基礎知識
3.1C51語言概述
3.1.1C51語言的特點
3.1.2C語言程序結(jié)構(gòu)
3.1.3C語言的符號與術語
3.2數(shù)據(jù)結(jié)構(gòu)
3.2.1數(shù)據(jù)類型
3.2.2常量與變量
3.2.3存儲器類型
3.2.4存儲器模式
3.3C51運算符與表達式
3.3.1算術運算
3.3.2賦值運算
3.3.3關系運算
3.3.4邏輯運算
3.3.5位運算
3.3.6自增、自減運算
3.3.7復合賦值運算
3.4C語言程序的三種結(jié)構(gòu)及相關語句
3.4.1順序結(jié)構(gòu)
3.4.2分支結(jié)構(gòu)
3.4.3循環(huán)結(jié)構(gòu)
3.4.4break語句和continue語句
3.5數(shù)組
3.5.1一維數(shù)組
3.5.2二維數(shù)組
3.5.3字符數(shù)組
3.6C51函數(shù)
3.7C51語言編程應用
任務31分支結(jié)構(gòu)程序設計應用
任務32循環(huán)結(jié)構(gòu)程序設計應用
本章小結(jié)
習題
第4章并行輸入/輸出口
4.151系列單片機的并行輸入/輸出口
4.1.1P0口
4.1.2P1口
4.1.3P2口
4.1.4P3口
4.1.5并行I/O口
4.2并行I/O口的應用
任務41流水燈設計
任務42障礙物檢測
本章小結(jié)
習題
第5章顯示與鍵盤接口技術
5.1LED顯示器及其接口
5.1.1LED顯示器的結(jié)構(gòu)及工作原理
5.1.2軟件譯碼LED顯示器接口
5.1.3點陣LED顯示接口
5.2LCD顯示器及其接口
5.2.1LCD顯示器的結(jié)構(gòu)及工作原理
5.2.21602液晶顯示器
5.3鍵盤及其接口
5.3.1鍵的狀態(tài)輸入及去抖動
5.3.2獨立式鍵盤及其接口
5.3.3矩陣式鍵盤及其接口
5.4顯示及鍵盤接口技術的應用
任務51靜態(tài)顯示方式的應用
任務52動態(tài)顯示方式的應用
任務53LED點陣的應用
任務541602液晶顯示器的應用
任務55獨立式鍵盤的應用
任務56矩陣式鍵盤的應用
本章小結(jié)
習題
第6章51系列單片機的中斷系統(tǒng)
及定時器
6.1中斷系統(tǒng)
6.1.1中斷系統(tǒng)概述
6.1.2中斷系統(tǒng)的結(jié)構(gòu)
6.2中斷處理過程
6.2.1中斷響應條件和時間
6.2.2中斷響應過程
6.3定時器/計數(shù)器
6.3.1定時器/計數(shù)器的結(jié)構(gòu)及
工作原理
6.3.2定時器的專用寄存器
6.3.3定時器的工作方式
6.3.4定時器應用總結(jié)
6.4中斷及定時器應用
任務61外部中斷0的應用
任務62測頻儀的設計
任務63秒表的設計
本章小結(jié)
習題
第7章串行輸入/輸出接口
7.1串行通信概述
7.1.1串行通信的基本方法
7.1.2串行通信中的幾個問題
7.2串行通信標準
7.2.1RS232C串行通信標準
7.2.2RS422A與RS485串行
通信標準
7.3單片機的串行I/O口
7.3.1串行口專用寄存器
7.3.2串行口的四種工作方式
7.4串行口的應用
任務71串行口在方式0下的應用
任務72雙機通信
本章小結(jié)
習題
第8章輸入通道和輸出通道的
接口技術
8.1輸入/輸出通道概述
8.1.1輸入通道概述
8.1.2輸出通道概述
8.1.3光隔離接口
8.2AD轉(zhuǎn)換器
8.2.1AD轉(zhuǎn)換器的基本知識
8.2.2ADC0809及其應用
8.3DA轉(zhuǎn)換器
8.3.1DA轉(zhuǎn)換器的基本知識
8.3.2DAC0832及其應用
8.4AD和DA轉(zhuǎn)換器的應用
任務81ADC0809的應用
任務82DAC0832輸出波形
本章小結(jié)
習題
第9章電動機接口電路
9.1直流電動機接口電路
9.1.1直流電動機的工作原理
9.1.2直流電動機應用舉例
9.2步進電動機接口電路
9.2.1步進電動機簡介
9.2.2步進電動機的控制系統(tǒng)和基本
控制方法
9.2.3步進電動機步數(shù)、轉(zhuǎn)速的確定
9.3電動機接口技術的應用
任務91直流電動機正反轉(zhuǎn)控制
任務92步進電動機正反轉(zhuǎn)控制
本章小結(jié)
習題
第10章其他接口電路
10.1數(shù)字溫度傳感器DS18B20
10.1.1DS18B20的特點
10.1.2DS18B20的結(jié)構(gòu)
10.1.3DS18B20的操作命令和時序
10.1.4DS18B20的使用方法
10.2PCF8591功能簡介
10.3I2C串行總線擴展技術
10.3.1I2C串行總線概述
10.3.2EEPROM芯片簡介
10.4其他接口電路的應用
任務10.1數(shù)字溫度計的設計
任務10.2基于PCF8591簡易信號發(fā)生器
的設計
任務10.3EEPROM AT24C04讀寫控制
本章小結(jié)
習題
參考文獻