出版時間:2012-7 出版社:科學(xué)出版社 作者:Dogan Ibrahim 頁數(shù):346 字數(shù):460500 譯者:李學(xué)海
內(nèi)容概要
PIC單片機BASIC編程項目開發(fā)主要介紹用于PIC單片機的BASIC語言的兩個版本PicBasic和PicBasic Pro及其編程方法,給出PIC單片機硬件資源和功能特性、幾款典型型號PIC單片機的個性差異、軟件與硬件工具鏈的構(gòu)成和選型,同時還以PIC單片機為智能核心構(gòu)建了30個免焊接的示范性實踐項目。PIC單片機BASIC編程項目開發(fā)內(nèi)容系統(tǒng)全面,以項目為導(dǎo)向,突出實用性,容易上手仿作。
PIC單片機BASIC編程項目開發(fā)可供電子工程師和電子愛好者學(xué)習(xí)參考,亦可作為工科院校電子、自動化、通信、機電一體化等專業(yè)的師生進行電子制作、畢業(yè)設(shè)計和參加電子設(shè)計大賽的參考讀物。
作者簡介
作者:(英國)Dogan Ibrahim 譯者:李學(xué)海
書籍目錄
第1章 單片機系統(tǒng)的基本概念1.1 緒論1.2 微控制器簡介1.2.1 RAM1.2.2 ROM1.2.3 EPROM1.2.4 EEPROM1.2.5 Flash EEPROM1.3 單片機的硬件性能1.3.1 電源電壓1.3.2 時鐘1.3.3 定時器1.3.4 看門狗1.3.5 復(fù)位輸入1.3.6 中斷邏輯1.3.7 欠壓檢測1.3.8 模/數(shù)轉(zhuǎn)換器1.3.9 串行通信接口1.3.10 EEPROM數(shù)據(jù)存儲器1.3.11 LCD驅(qū)動器1.3.12 模擬比較器1.3.13 實時時鐘1.3.14 睡眠模式1.3.15 上電復(fù)位1.3.16 低功耗操作1.3.17 電流驅(qū)動能力1.4 單片機的體系結(jié)構(gòu)1.4.1 馮?諾依曼架構(gòu)和哈佛架構(gòu)1.4.2 RISC和CISC練習(xí)題第2章 PIC系列單片機簡介2.1 12位指令字單片機2.2 14位指令字單片機2.3 16位指令字單片機2.4 PIC單片機內(nèi)部硬件資源2.4.1 程序存儲器2.4.2 數(shù)據(jù)存儲器2.4.3 文件寄存器與特殊功能寄存器2.4.4 時鐘振蕩器電路2.4.5 復(fù)位電路2.4.6 中斷2.4.7 系統(tǒng)配置字2.4.8 輸入/輸出接口練習(xí)題第3章 PIC單片機應(yīng)用項目開發(fā)3.1 硬件工具3.1.1 PC微機3.1.2 PIC系列單片機編程器3.1.3 無焊面包板3.1.4 PIC單片機及相關(guān)元器件3.1.5 電源3.2 軟件工具3.2.1 源代碼編輯器軟件3.2.2 PicBasic和PicBasiC Pro編譯器3.2.3 編程器(或燒寫器)軟件3.3 捆綁式開發(fā)套件3.3.1 開發(fā)者套件3.3.2 PicBasic編譯器套件3.3.3 串行編程器LAB-X1開發(fā)套件3.4 實驗板3.4.1 LAB-X1實驗板3.4.2 PIC系列單片機開發(fā)實驗板3.4.3 EasyPIC2開發(fā)系統(tǒng)3.5 項目開發(fā)實例3.6 其他重要的開發(fā)工具3.6.1 軟件模擬器3.6.2 在線仿真器3.7 一些有用的網(wǎng)站鏈接練習(xí)題第4章 PicBasiC和PicBasiC Pro語言編程基礎(chǔ)4.1 PicBasiC語言4.1.1 PicBasiC變量4.1.2 PicBasiC算術(shù)和邏輯運算4.1.3 PicBasiC程序流程控制命令4.1.4 其他PicBasiC命令4.1.5 推薦的PicBasiC程序結(jié)構(gòu)4.2 PicBasiC Pro語言4.2.1 PicBasiC Pro變量4.2.2 常量4.2.3 注釋4.2.4 多語句行4.2.5 包含(INCLUDE)4.2.6 定義(DEFINE)4.2.7 行擴展4.2.8 在PicBasiC Pro中訪問端口和其他寄存器4.2.9 算術(shù)運算符4.2.10 PicBasiC Pro命令4.3 液晶顯示器接口和命令4.3.1 并行LCD4.3.2 串行LCD4.4 中斷4.5 推薦的PicBasiC Pro程序結(jié)構(gòu)4.6 步進電機的應(yīng)用4.7 伺服電機的應(yīng)用練習(xí)題第5章 PicBasiC和PicBasiC Pro編程項目實例項目1:間隔為1s的閃爍LED項目2:按復(fù)雜方式閃爍的LED項目3:LED閃爍警示燈項目4:點亮奇數(shù)發(fā)光二極管項目5:8位LED二進制計數(shù)器項目6:向左滾動的LED項目7:向右滾動的LED項目8:左右循環(huán)滾動的LED項目9:LED骰子項目10:7段LED數(shù)碼管計數(shù)器項目11:7段LED的骰子項目12:雙位7段LED數(shù)碼管項目13:雙位7段LED數(shù)碼管計數(shù)器項目14:雙位7段LED數(shù)碼管顯示計數(shù)器項目15:4位LED串行驅(qū)動顯示——項目計數(shù)項目16:串行驅(qū)動4位數(shù)碼管計數(shù)器——前導(dǎo)零消隱項目17:累計外部中斷事件的4位計數(shù)器項目18:3鍵控制的4位計時器項目19:停車場控制系統(tǒng)項目20:利用液晶顯示器LCD 顯數(shù)的秒計數(shù)器項目21:LCD時鐘項目22:基于LCD的計時器項目23:利用A/D轉(zhuǎn)換和LCD顯示的電壓表項目24:利用A/D轉(zhuǎn)換和LCD顯示的數(shù)字溫度計項目25:利用外部EEPROM和串行LCD顯示的溫度計項目26:利用RS232串行輸出的可編程溫度計項目27:簡易電子琴項目28:單極性步進電機的控制項目29:利用UCN5804B驅(qū)動的單極性步進電機控制項目30:基于伺服電機的移動機器人控制附錄A 對于原著所作的一些補充附錄B 與本書配套的PicBasiC學(xué)習(xí)開發(fā)板
章節(jié)摘錄
版權(quán)頁: 插圖: 1.3 片機的硬件性能 不同廠家生產(chǎn)的單片機(即微控制器,稱為“單片機”更形象、更順口、更實用)一般具有不同的架構(gòu)和不同的性能。某些產(chǎn)品可能適合某種特殊用途,而另一些產(chǎn)品則可能完全不適合這種用途。本節(jié)將介紹一些單片機的硬件特性。 1.3.1 電源電壓 大多數(shù)單片機的工作電壓為標準邏輯電壓+5V。有些型號用+2.7V的低電壓時也能正常工作,有些型號在電源電壓高達+6V時也不出現(xiàn)任何問題。用戶需要查閱廠家提供的器件手冊(Data Sheet)來了解電源電壓所允許的極限值。 為了從市電或者電池組獲取單片機所需的電源電壓,通常采用一種穩(wěn)壓電路。例如,當利用一只9V的層疊電池給單片機提供5V電源時,就需要一個5V的穩(wěn)壓電路。 1.3.2 時 鐘 單片機需要時鐘(或振蕩器)才能工作。該時鐘的頻率通常是由連接到單片機的外部定時元件(例如,石英晶體或陶瓷諧振器等——譯者注)所決定的。多數(shù)單片機的時鐘電路需要連接一只石英晶體和兩只小電容才能工作,而有的則需要外接陶瓷諧振器或者一只電阻和一只電容。也有的具備一個內(nèi)建的阻容(RC)振蕩器型的時鐘電路,從而不需要外接任何定時元件。如果你的項目對于定時精度要求不高,應(yīng)該選用外接或內(nèi)部RC振蕩器作為時鐘電路,以簡化電路和降低成本。 一條指令從程序存儲器中取出,然后被執(zhí)行,通常需要占用幾個時鐘周期的時間,這被稱為“指令周期”。在PIC單片機中,1個指令周期中包含4個時鐘周期。因此,PIC單片機實際上是按時鐘頻率的1/4的速率進行工作的。 1.3.3 定時器 定時器是單片機中的重要部件。實際上,定時器就是一種以內(nèi)部時鐘脈沖頻率或者外部時鐘脈沖頻率作為時鐘源的計數(shù)器。一個定時器可以是8位寬或者16位寬。在程序的控制下,可以為定時器加載一個起始值。在程序控制下,定時器也可以停止或啟動計數(shù)過程。多數(shù)定時器可以在到達一個指定的計數(shù)值時(通常會溢出)產(chǎn)生中斷。該中斷可以被用戶程序用于一些與精確定時有關(guān)的操作之中。 有些單片機還提供輸入捕捉和輸出比較功能。輸入捕捉就是當一個外部事件發(fā)生時自動讀取和保持此刻的定時值;輸出比較就是定時器的運行過程中不停地把定時器值與一個預(yù)定值進行比較,當?shù)竭_該預(yù)定值時就產(chǎn)生一個中斷。 一般情況下,每個單片機至少配備1個定時器。有些單片機則有2個、3個甚至更多的定時器,這樣可以把多個定時器級聯(lián)(或者串聯(lián))起來,用來實現(xiàn)更大的計數(shù)值。 1.3.4看門狗 多數(shù)單片機內(nèi)部都配置了一個看門狗定時器(WDT),也簡稱為看門狗。本質(zhì)上,看門狗就是一個被用戶程序不斷刷新(即清0)的定時器。如果程序出現(xiàn)故障而不能將看門狗及時清0,則看門狗會引導(dǎo)單片機產(chǎn)生一次復(fù)位操作。看門狗用于監(jiān)測系統(tǒng)問題,諸如程序陷入無限循環(huán)(即死循環(huán))。它是一種維持系統(tǒng)安全的部件,能夠有效地抵御軟件“跑飛”,阻止單片機長時間執(zhí)行那種無意義的和無用的程序。 1.3.5復(fù)位輸入 復(fù)位輸入用于人為控制單片機進行一次復(fù)位操作,重新把單片機拉回到一種已知的運行狀態(tài),結(jié)果就是重新從程序存儲器的0號單元開始執(zhí)行程序。外部復(fù)位操作通常需要連接一只按鈕開關(guān)到復(fù)位輸入端,當按下這只開關(guān)按鈕時,單片機便可被復(fù)位。 1.3.6 中斷邏輯 在單片機中,中斷是一個非常重要的概念。中斷邏輯可以使單片機以很快的速度響應(yīng)和處理內(nèi)部事件(如計時器溢出)和外部事件。當中斷發(fā)生時,單片機將暫時脫離其常規(guī)的程序執(zhí)行流程,而跳轉(zhuǎn)到一段專用的程序段去執(zhí)行,這段程序就叫做“中斷服務(wù)程序”(ISR)。一旦ISR內(nèi)的程序代碼被執(zhí)行完,將從ISR程序返回,并且恢復(fù)原來的正常執(zhí)行流程。 ISR程序是從程序存儲器的一個固定地址開始存放的,這個地址也被稱為中斷向量地址。例如,在PIC16F84單片機中,ISR的起始地址是在程序存儲器中的4號單元。有些單片機是多個中斷源合用一個中斷向量,而有些單片機則是每個中斷源都有單獨的中斷向量。中斷還可以形成嵌套,也就是一個新的中斷申請,可以暫停和掛起另一個中斷服務(wù)程序的執(zhí)行。具有多個中斷源的單片機的另一個重要特性是,可以給不同的中斷源以不同的優(yōu)先級。
編輯推薦
《PIC單片機BASIC編程項目開發(fā)(圖解電子創(chuàng)新制作)》由Dogan Ibrahim編著,本書講解的是如何利用高級語言對微控制器進行編程。所選中的目標單片機為PIC系列微控制器。PlC單片機是目前許多工程師、技術(shù)員、學(xué)生和業(yè)余愛好者經(jīng)常選用的、十分流行的微控制器品種之一。 本書適于技術(shù)人員、電子工程師及電子愛好者閱讀。為了便于沒有任何微控制器基礎(chǔ)知識和應(yīng)用經(jīng)驗的初學(xué)者使用,書中比較詳細地介紹了PIC系列微控制器的相關(guān)知識。
圖書封面
評論、評分、閱讀與下載