《單片機(jī)使用速成》結(jié)合當(dāng)前流行的多種系列的單片機(jī),從應(yīng)用的角度講解其原理和使用方法。作者根據(jù)自己多年使用單片機(jī)的體會,對與應(yīng)用有關(guān)的單片機(jī)內(nèi)部硬件及其操作進(jìn)行了詳細(xì)解釋,為了追求舉一反三的效果,對同樣的功能單元通過多家公司的單片機(jī)對照來講解。對從未涉及單片機(jī)使用但具有一定電子技術(shù)基礎(chǔ)的人員來說,通過《單片機(jī)使用速成》的學(xué)習(xí)可以很快將單片機(jī)自如地作為自己的設(shè)計元件,打破在單片機(jī)、DSP、ARM等智能芯片面前望而卻步的局面;對于會初步使用一兩種單片機(jī)的人員來說,通過《單片機(jī)使用速成》的學(xué)習(xí)可以進(jìn)一步理解單片機(jī)的組成規(guī)律,掌握快速消化各種單片機(jī)使用說明書的能力,根據(jù)不同的應(yīng)用目的選擇不同的單片機(jī)以提高所設(shè)計產(chǎn)品的性價比。
《單片機(jī)使用速成》可作為高等院校相關(guān)專業(yè)單片機(jī)課程的教材,也可作為工程技術(shù)人員的參考書。
用單片機(jī)完成課題的一般步驟: 全面了解課題所要解決的問題,選擇合適的單片機(jī)及外圍電路方案。 根據(jù)計劃選用單片機(jī)內(nèi)部資源,仔細(xì)消化單片機(jī)廠家提供的產(chǎn)品手冊。 設(shè)計詳細(xì)的硬件原理圖、機(jī)械及其他部分的圖紙、軟件流程圖。 對系統(tǒng)的關(guān)鍵部分做局部試驗,進(jìn)一步確定詳細(xì)方案。 生成電路PCB圖,制作線路板,完成所需機(jī)械加工、軟件設(shè)計并采購元器件 組裝調(diào)試,修改并完善設(shè)計,總結(jié)技術(shù),整理資料。 以全新的方式從應(yīng)用角度講解單片機(jī) 以程序員的目光理解單片機(jī)電路 讓零編程基礎(chǔ)的學(xué)習(xí)者學(xué)會使用單片機(jī) 讓淺基礎(chǔ)學(xué)習(xí)者掌握應(yīng)用單片機(jī)的本領(lǐng) 配套典型單片機(jī)的實驗評估板,邊學(xué)習(xí)邊實驗
要是在10年前,寫一本名副其實的《單片機(jī)使用速成》簡直是不可能的,因為單片機(jī)本身及其配套開發(fā)還不夠健全。所謂速成,就是讓沒有接觸過單片機(jī)但有一定電子技術(shù)基礎(chǔ)的學(xué)習(xí)者在短時間內(nèi)學(xué)會使用單片機(jī),我們很早就萌生了這個想法,也一直在努力做這方面的工作,現(xiàn)在終于信心十足地推出了本書及其配套實驗評估板。
對于單片機(jī)的初學(xué)者,可以歸納為以下4種類型:第1類,對電子技術(shù)較為精通卻苦于不愿意學(xué)習(xí)編程而在單片機(jī)面前徘徊不前;第2類,對編程較為熟悉卻苦于不太懂電路也不愿意深入了解單片機(jī);第3類,已經(jīng)能吃力地使用一種較簡單的單片機(jī)卻不愿意再花費(fèi)精力涉足其他更優(yōu)秀的單片機(jī);第4類,有一定電路和編程基礎(chǔ)卻覺得單片機(jī)太難學(xué)而一直未下決心深入學(xué)習(xí)。
無論是哪一類人員,我們都可以通過以下措施來讓他們達(dá)到“速成”的目的:
提供很薄而實用的一本書,從感官上讓學(xué)習(xí)者產(chǎn)生信心和興趣;
復(fù)雜問題簡單化,只用小篇幅的一章內(nèi)容就讓從未學(xué)習(xí)過軟件及編程者能夠用單片機(jī)開發(fā)平臺入門編寫和調(diào)試程序;
對于一個現(xiàn)代電子工程師來說,不懂硬件什么也不能干,不懂軟件什么也干不成;
硬件是基礎(chǔ),軟件更重要。本書從程序員編程的角度,把一般單片機(jī)的電路組成原理呈現(xiàn)在學(xué)習(xí)者面前,同時又把幾種典型的單片機(jī)電路特點盡可能地展現(xiàn)出來。
堅持舉一反三的原則,在介紹單片機(jī)組成規(guī)律的基礎(chǔ)上,把典型的單片機(jī)基本操作盡可能闡述清楚,并且用配套的實驗評估板當(dāng)場編程、當(dāng)場演示,使學(xué)習(xí)者產(chǎn)生成就感和更深的興趣。訓(xùn)練學(xué)習(xí)者從廠家的使用說明書中找答案,而不是把教科書作為座右銘,由此而快速理解單片機(jī)廠家資料,根據(jù)不同的應(yīng)用目的選擇不同的單片機(jī)以提高所設(shè)計產(chǎn)品的性價比。由于時間倉促,再加水平有限,書中難免有錯誤和不妥之處,歡迎各位讀者不吝賜教。
第1章 導(dǎo)論
l.1 單片機(jī)的定義
1.2 現(xiàn)代電子技術(shù)中軟件的重要性
1.3 單片機(jī)使用的一般步驟
1.4 初識單片機(jī)
第2章 單片機(jī)程序設(shè)計入門
2.1 單片機(jī)程序設(shè)計模型
2.2 程序設(shè)計的內(nèi)容
2.3 單片機(jī)c語言程序設(shè)計初步
2.3.1 程序的實質(zhì)
2.3.2 程序碼的產(chǎn)生
2.3.3 C程序的一般結(jié)構(gòu)
2.3.4 C程序的編寫
2.4.Keil開發(fā)環(huán)境的使用
2.4.1 Keil工程的建立
2.4.2 Keil程序的編寫和調(diào)試
2.5 IAR開發(fā)環(huán)境的使用
2.5.1 IAR工程的建立
2.5.2 IAR程序的編寫和調(diào)試
第3章 單片機(jī)的上電、復(fù)位、時鐘及中斷
3.1 電源的接人
3.2 復(fù)位
3.2.1 復(fù)位的概念
3.2.2 復(fù)位電路
3.3 初始化
3.4 系統(tǒng)時鐘
3.4.1 單時鐘方案系統(tǒng)
3.4.2 C8051F02x單片機(jī)多時鐘方案
3.4.3 MSP430xlxx單片機(jī)多時鐘方案
3.4.4 ATmegal6單片機(jī)多時鐘方案
3.5 中斷的概念
第4章 單片機(jī)的端口操作
4.1 單片機(jī)端口設(shè)計原理
4.1.1 CMOS數(shù)字端口
4.1.2 CMOS單片機(jī)端口的基本原理
4.2 端口設(shè)計舉例
4.2.1 AT89C205l單片機(jī)端口設(shè)計舉例
4.2.2 C805lF02x單片機(jī)端口設(shè)計舉例
4.2.3 MSP430xlxx單片機(jī)端口設(shè)計舉例
4.2.4 ATmegal6單片機(jī)端口設(shè)計舉例
第5章 單片機(jī)的定時器操作
5.1 定時器的組成原理
5.2 基本51系列單片機(jī)定時器操作舉例
5.2.1 定時器0/1的工作方式0:13位計數(shù)器/定時器
5.2.2 定時器0/l的工作方式l:16位計數(shù)器/定時器
5.2.3 定時器0/l的工作方式2:8位自動重裝載的計數(shù)器/定時器
5.2.4 定時器0的工作方式3:兩個8位計數(shù)器/定時器
5.3 C805lF02x單片機(jī)定時器使用舉例
5.3.1 C805lF020單片機(jī)中的基本51定時器操作
5.3.2 C805lF02x單片機(jī)的定時器3的操作
5.4 MSP430xlxx單片機(jī)定時器使用舉例
5.4.1 MSP430xlxx單片機(jī)定時器A原理
5.4.2 MSP430xlxx單片機(jī)定時器A使用舉例
5.5 ATmegal6單片機(jī)定時器使用舉例
5.5.1 ATmegal6單片機(jī)定時器T/C0的組成原理
5.5.2 ATmegal6單片機(jī)定時器F/C0使用舉例
第6章 單片機(jī)的通信口操作I
6.1 UART的使用
6.1.1 UART設(shè)計原理
6.1.2 基本51單片機(jī)UART通信_
6.1.3 C805lF02x單片機(jī)UART通信
6.1.4 MSP430xlxx單片機(jī)UART通信
6.1.5 ATmegal6單片機(jī)UART通信
6.2 I2c接口的使用
6.2.1 I2C接口設(shè)計原理
6.2.2 C8051F02x系列單片機(jī)I2C通信
6.2.3 MSP430xlxx單片機(jī)I2C通信
6.2.4 ATmegal6單片機(jī)I2C通信
6.3 SPI端口的使用
6.3.1 SPI設(shè)計原理
6.3.2 SPI端口操作舉例
第7章 單片機(jī)其他資源的操作及基于單片機(jī)的系統(tǒng)舉例
7.1 單片機(jī)A/D的操作
7.1.1 A/D轉(zhuǎn)換器概述
7.1.2 ATmegal6單片機(jī)的A/D操作
7.2 單片機(jī)脈寬調(diào)制器的操作
7.3 看門狗定時器的操作
7.3.1 看門狗定時器的原理
7.3.2 C8051F02x單片機(jī)看門狗操作
7.3.3 MSP430x1xx單片機(jī)看門狗使用
7.3.4 ATmegal6單片機(jī)看門狗使用
7.4 單片機(jī)Flash的修改操作
7.4.1 修改Flash的意義
7.4.2 C8051F02x單片機(jī):Flash修改操作
7.5 基于單片機(jī)的系統(tǒng)舉例
7.5.1 3種評估實驗板的介紹
7.5.2 基于MXP430xlxx單片機(jī)評估實驗板的自動打鐘器
7.5.3 基于MSP430x1xx單片機(jī)評估實驗板的自動溫度調(diào)節(jié)器
實例速查表
參考文獻(xiàn)
1.1單片機(jī)的定義
如今說到計算機(jī)(俗稱電腦),大家都不陌生。不知不覺中,計算機(jī)已經(jīng)深入到人類社會的方方面面,航空航天、工業(yè)控制、交通運(yùn)輸、辦公自動化、醫(yī)學(xué)檢查、數(shù)字通信、家用電器、兒童玩具等行業(yè)無處沒有計算機(jī)的存在?梢哉f,沒有電子就沒有電子時代,沒有計算機(jī)就沒有數(shù)字時代。
那么,什么是計算機(jī)?簡單地說,計算機(jī)是具有嚴(yán)格執(zhí)行人們預(yù)先設(shè)定好的程序來完成指定任務(wù)的核心控制器的一種機(jī)器。這些指定的任務(wù)幾乎可以包含我們所能想象的一切,如識別按鍵的命令、與遠(yuǎn)程設(shè)備通信、測量某種流體的壓力、識別人的指紋信息、記錄飛行器的運(yùn)行參數(shù)、顯示l幅圖像、打印1份文件、打開或關(guān)閉1個閥門、控制1個電機(jī)轉(zhuǎn)動等等。完成這些任務(wù)所進(jìn)行的操作都是通過輸入設(shè)備或輸出設(shè)備來實現(xiàn)的,對計算機(jī)操作者來說所涉及到的就是一個個的輸入輸出設(shè)備,對輸入輸出設(shè)備來說所涉及到的是一條條的電路線端,稱為輸人端口電路或輸出端口電路,參見圖1-1所示的計算機(jī)結(jié)構(gòu)示意圖。這些端口一般表現(xiàn)為高電平或低電平的數(shù)字狀態(tài),雖然有時也表現(xiàn)為模擬狀態(tài),但這種模擬狀態(tài)也是由數(shù)字狀態(tài)來操縱的。換句話說,計算機(jī)的基本部分的外觀就是一個個的端口,這些端口線路既可以識別高/低電平也可以輸出高/低電平。從這些端口看進(jìn)去,其內(nèi)部主要由核心運(yùn)算及控制器(CPU-central Processing unit)、存儲器以及特殊功能電路群組成,CPU按照一定的節(jié)拍,不斷地從程序存儲器讀取指令,完成一個個的邏輯運(yùn)算或模擬運(yùn)算,最終以端口的形式和外界聯(lián)系。
圖l一1所示的虛線范圍就是計算機(jī)基本部分,這部分對大中型計算機(jī)來說可能由很多設(shè)備組成,對小型計算機(jī)來說可能由幾塊電路板組成,對微型計算機(jī)來說可能僅由幾個芯片組成。如果此部分由單個芯片來完成,就可以稱之為單片機(jī)了。盡管早期的單片機(jī)還要配合一些芯片才能組成基本系統(tǒng),如今這樣定義單片機(jī)還是很合適的。