本書(shū)精心挑選一款經(jīng)典實(shí)用、好學(xué)易用的典型PIC單片機(jī)PIC16F84A為講解樣機(jī),選擇一款界面友好的國(guó)產(chǎn)軟件WAVE6000為開(kāi)發(fā)環(huán)境,選出一款硬件開(kāi)源的廉價(jià)易購(gòu)的下載器K150為程序燒寫(xiě)器,還給出了一款適合仿制的學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板PICbasic84作為可選目標(biāo)板。全書(shū)共分10章,主要內(nèi)容包括: 背景知識(shí)、硬件總覽、通用并口、指令系統(tǒng)、匯編程序設(shè)計(jì)、匯編語(yǔ)言工具鏈、軟件集成開(kāi)發(fā)環(huán)境、軟件模擬調(diào)試技術(shù)、硬件綜合開(kāi)發(fā)工具、硬件燒試開(kāi)發(fā)技術(shù)、定時(shí)器TMR0及其應(yīng)用技巧、中斷邏輯及其應(yīng)用技巧、EEPROM數(shù)據(jù)存儲(chǔ)器及其應(yīng)用技巧、雜項(xiàng)功能及其應(yīng)用技巧等。
本書(shū)特點(diǎn): 入門(mén)容易、閱讀輕松、通俗易懂、語(yǔ)言流暢、可讀性好、趣味性強(qiáng)、系統(tǒng)全面、注重實(shí)用、學(xué)用并重、學(xué)練結(jié)合、實(shí)例豐富、上手快捷。本書(shū)適用的讀者對(duì)象: 初步具備電子技術(shù)和計(jì)算機(jī)知識(shí)基礎(chǔ)的,電子、電信、計(jì)算機(jī)、電氣、電力、電器、機(jī)電等涉電專業(yè)在校學(xué)生、教師、單片機(jī)愛(ài)好者、電子愛(ài)好者、電子產(chǎn)品開(kāi)發(fā)者、電器維修人員、工程技術(shù)人員。還可以作為教學(xué)用書(shū)、培訓(xùn)教材和自學(xué)讀本。
國(guó)家積極倡導(dǎo)的素質(zhì)教育和創(chuàng)新工程,旨在提高受教育者的素質(zhì)和培養(yǎng)將所學(xué)知識(shí)轉(zhuǎn)化為生產(chǎn)力、創(chuàng)造力和經(jīng)濟(jì)效益的能力。為了更好地適應(yīng)發(fā)展潮流和就業(yè)需要,作者認(rèn)為,單片機(jī)的學(xué)習(xí)和應(yīng)用,可以為電子、電信、電腦、電器、機(jī)電以及相關(guān)領(lǐng)域的愛(ài)好者、從業(yè)者和在校生,提供了一個(gè)容易激發(fā)學(xué)習(xí)熱情和創(chuàng)作欲望的、可操作性很強(qiáng)的學(xué)習(xí)途徑和實(shí)踐平臺(tái)。至今,許多老一輩的工程師、專家、教授當(dāng)年都是無(wú)線電愛(ài)好者。如果說(shuō)上世紀(jì)五十年代起,無(wú)線電世界造就了幾代電子精英,那么當(dāng)今的單片機(jī)世界也必將會(huì)培育出更多的電子英才。
作者從事教學(xué)30多年,教過(guò)中專、大專、本科,主講過(guò)大學(xué)物理、電路分析、程控交換原理、單片機(jī)原理、嵌入式系統(tǒng)等30余個(gè)學(xué)科。曾經(jīng)指導(dǎo)過(guò)3屆全國(guó)大學(xué)生電子競(jìng)賽并且從中獲獎(jiǎng),其中一次是2007年應(yīng)河北師范大學(xué)職業(yè)技術(shù)學(xué)院之邀作為外聘專家,其間指導(dǎo)了單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)。還曾應(yīng)河北師范大學(xué)之邀擔(dān)任2009年暑期*骨干教師培訓(xùn)班客座教授,其間選用了作者的單片機(jī)著作做教材,并聘請(qǐng)作者為單片機(jī)學(xué)科主講。也曾應(yīng)邀為多家電子產(chǎn)品開(kāi)發(fā)生產(chǎn)企業(yè)培訓(xùn)研發(fā)工程師,或?yàn)槠鋼?dān)任技術(shù)顧問(wèn)。還應(yīng)聘為中國(guó)嵌入系統(tǒng)產(chǎn)業(yè)協(xié)會(huì)、中國(guó)物聯(lián)網(wǎng)產(chǎn)業(yè)協(xié)會(huì)專家組成員。
從30余年的技術(shù)研究和文字創(chuàng)作過(guò)程中,探索出了一套通過(guò)文字向讀者傳達(dá)知識(shí)和技術(shù)的高效快捷的寫(xiě)作模式,并且經(jīng)歷了時(shí)空的檢驗(yàn)。再者,近40年的教學(xué)經(jīng)歷,也必定會(huì)在講解內(nèi)容的精選與錘煉、講解順序的編排與優(yōu)化方面,更增添一份得天獨(dú)厚的優(yōu)勢(shì),來(lái)為讀者提供更多的便利。
本書(shū)的編寫(xiě)目標(biāo)是,努力追求“一讀就懂、讀了能用、一用就靈”的學(xué)習(xí)效果;不僅能“給人以魚(yú)”,而且更注重“授人以漁”;不僅傳授單片機(jī)知識(shí),而且更注重教會(huì)開(kāi)發(fā)方法和應(yīng)用技巧;不僅可以提高理論水平,而且更側(cè)重強(qiáng)化將所學(xué)知識(shí)轉(zhuǎn)化為實(shí)際工作的能力;力圖實(shí)現(xiàn)將每一位有志于邁進(jìn)單片機(jī)王國(guó)的外行人,培養(yǎng)成既懂單片機(jī)知識(shí),又能掌握以單片機(jī)為核心的智能電子產(chǎn)品開(kāi)發(fā)技能的內(nèi)行人。為了達(dá)到這一目標(biāo),除了恰當(dāng)?shù)囊龑?dǎo)和正確的學(xué)習(xí)方法之外,當(dāng)然也離不開(kāi)讀者的自身努力。“興趣是*好的老師!”本人深信這個(gè)哲理。培養(yǎng)讀者的學(xué)習(xí)興趣比傳授知識(shí)更重要。一旦幫助讀者樹(shù)立起濃厚的學(xué)習(xí)興趣和強(qiáng)烈的求知欲望,就很可能達(dá)到令人受益終生的特殊效果,這也是每一位教育工作者追求的*高目標(biāo)。
本書(shū)在內(nèi)容編排上充分注意了門(mén)檻低、入門(mén)易、上手快、層次性、可讀性、實(shí)踐性、系統(tǒng)性和完整性,力求覆蓋從單片機(jī)理論學(xué)習(xí)到開(kāi)發(fā)應(yīng)用的各個(gè)階段,所有必不可少的硬件和軟件知識(shí)、開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具的使用方法和技巧等內(nèi)容。盡可能不需要翻閱其他書(shū)籍就可以學(xué)習(xí)到,從單片機(jī)入門(mén)到單片機(jī)開(kāi)發(fā)制作各個(gè)環(huán)節(jié)的全程知識(shí)。對(duì)于一名初步具備電子技術(shù)和微機(jī)應(yīng)用基礎(chǔ)知識(shí)的初學(xué)者,成長(zhǎng)為一位單片機(jī)應(yīng)用工程師,所需要學(xué)習(xí)的核心知識(shí)主要有:?jiǎn)纹瑱C(jī)硬件系統(tǒng);單片機(jī)指令系統(tǒng);匯編程序設(shè)計(jì)基礎(chǔ)以及匯編器的用法;單片機(jī)仿真器及其用法;程序燒錄器及其用法。這些內(nèi)容書(shū)中都有介紹。此外,為了突出實(shí)踐性,在每個(gè)需要演練的技術(shù)點(diǎn)之后都精心設(shè)計(jì)了1~3個(gè)針對(duì)性強(qiáng)、實(shí)用價(jià)值高的實(shí)驗(yàn)范例,并且調(diào)試成功,每個(gè)范例大致包括“項(xiàng)目實(shí)現(xiàn)功能;硬件電路規(guī)劃;軟件設(shè)計(jì)思路;匯編程序流程;匯編程序清單;幾點(diǎn)補(bǔ)充說(shuō)明;程序調(diào)試方法”等完備的內(nèi)容。
前言
你知道每年中國(guó)進(jìn)口的商品當(dāng)中,哪一項(xiàng)是花錢最多的嗎?糧食?原油?機(jī)械設(shè)備?都不是!每年,中國(guó)在一種體積很小的產(chǎn)品上花掉的錢遠(yuǎn)遠(yuǎn)超過(guò)那些大宗商品,這種產(chǎn)品就是——芯片。僅2016年1月到10月,中國(guó)在進(jìn)口芯片上一共花費(fèi)了1.2萬(wàn)億人民幣,是花費(fèi)在原油進(jìn)口上的兩倍!該信息來(lái)自權(quán)威期刊《電子技術(shù)應(yīng)用》2016年12月13日發(fā)布的消息。在我國(guó)進(jìn)口的這些芯片中,單片機(jī)產(chǎn)品又占據(jù)了其中絕大多數(shù),由此可以想象,在我國(guó)從事單片機(jī)學(xué)習(xí)、研究、應(yīng)用、開(kāi)發(fā)的各類人才隊(duì)伍的陣容該有多么龐大!
國(guó)家積極倡導(dǎo)的素質(zhì)教育和創(chuàng)新工程,旨在提高受教育者的素質(zhì)和培養(yǎng)將所學(xué)知識(shí)轉(zhuǎn)化為生產(chǎn)力、創(chuàng)造力和經(jīng)濟(jì)效益的能力。為了更好地適應(yīng)發(fā)展潮流和就業(yè)需要,作者認(rèn)為,單片機(jī)的學(xué)習(xí)和應(yīng)用,可以為電子、電信、電腦、電器、機(jī)電以及相關(guān)領(lǐng)域的愛(ài)好者、從業(yè)者和在校生,提供一個(gè)容易激發(fā)學(xué)習(xí)熱情和創(chuàng)作欲望的、可操作性很強(qiáng)的學(xué)習(xí)途徑和實(shí)踐平臺(tái)。至今,許多老一輩的工程師、專家、教授當(dāng)年都是無(wú)線電愛(ài)好者。如果說(shuō)20世紀(jì)50年代起,無(wú)線電世界造就了幾代電子精英,那么當(dāng)今的單片機(jī)世界也必將會(huì)培育出更多的電子英才。
本人從事教學(xué)30多年,主講過(guò)大學(xué)物理、電路分析、程控交換原理、單片機(jī)原理、嵌入式系統(tǒng)等30余個(gè)學(xué)科。曾經(jīng)指導(dǎo)過(guò)3屆全國(guó)大學(xué)生電子競(jìng)賽并且獲獎(jiǎng),其中一次是2007年應(yīng)河北師范大學(xué)職業(yè)技術(shù)學(xué)院之邀作為外聘專家,指導(dǎo)了單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)。還曾應(yīng)河北師范大學(xué)之邀擔(dān)任2009年暑期國(guó)家級(jí)骨干教師培訓(xùn)班客座教授,其間選用了本人的單片機(jī)著作做教材,并聘請(qǐng)本人為單片機(jī)學(xué)科主講。也曾應(yīng)邀為多家電子產(chǎn)品開(kāi)發(fā)生產(chǎn)企業(yè)培訓(xùn)研發(fā)工程師,或擔(dān)任技術(shù)顧問(wèn)。還被聘為中國(guó)嵌入系統(tǒng)產(chǎn)業(yè)協(xié)會(huì)、中國(guó)物聯(lián)網(wǎng)產(chǎn)業(yè)協(xié)會(huì)專家組成員。
自從1983年以來(lái),本人先后在31種電子和通信類科技期刊、新技術(shù)研討會(huì)論文集等刊物上發(fā)表專業(yè)論文、譯文、科普文章和科研成果290余篇,內(nèi)容涉及電子、電信、電腦和電器等領(lǐng)域,受到了廣大讀者的普遍歡迎和熱情鼓勵(lì),以及多位責(zé)任編輯的稱贊。曾在國(guó)際學(xué)術(shù)會(huì)議論文集、《電子技術(shù)》《電子技術(shù)應(yīng)用》《實(shí)驗(yàn)技術(shù)與管理》等核心期刊上發(fā)表學(xué)術(shù)論文數(shù)十篇,其中多篇被引用或被審定為“精選文章”。曾被科技核心期刊《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》評(píng)選為2007年度優(yōu)秀作者。
自從2000年以來(lái),本人先后獨(dú)著或主編了20部具有開(kāi)創(chuàng)性和探索性的學(xué)術(shù)專著和大學(xué)教程,得到了多位業(yè)界權(quán)威、技術(shù)專家和研究生導(dǎo)師的高度評(píng)價(jià)。其中有2部獲評(píng)全國(guó)優(yōu)秀暢銷書(shū)一等獎(jiǎng),有多部被北京郵電大學(xué)、河北師范大學(xué)、河北工業(yè)大學(xué)、四川師范大學(xué)、西北師范大學(xué)、山東建筑科技大學(xué)、遼寧工業(yè)大學(xué)等多家高校選作本科教程,有6部被蘇州大學(xué)、武漢理工大學(xué)、廣東工業(yè)大學(xué)等“211大學(xué)”“985大學(xué)”或著名高校選作研究生用書(shū),有多部被北京計(jì)科新能源公司、臺(tái)灣新茂國(guó)際、北京凌陽(yáng)科技公司、勞恪實(shí)業(yè)公司、鑫恒翌科技公司、北京中芯優(yōu)電公司等科研單位選作研發(fā)工程師培訓(xùn)教材。
本書(shū)在寫(xiě)作手法上,力求循序漸進(jìn)、通俗易懂、趣味性強(qiáng),將枯燥乏味的學(xué)習(xí)過(guò)程變得更加輕松有趣,盡可能使讀者在通過(guò)閱讀本套教程來(lái)學(xué)習(xí)PIC單片機(jī)的過(guò)程中,以花費(fèi)盡可能少的時(shí)間和精力,掌握和了解盡可能全面的單片機(jī)理論知識(shí)和開(kāi)發(fā)技術(shù)。本書(shū)采用以讀者為中心的寫(xiě)作手法,努力克服以往以產(chǎn)品手冊(cè)為中心,或以作者知識(shí)結(jié)構(gòu)為中心的傳統(tǒng)寫(xiě)作模式給讀者所帶來(lái)的種種不便和困惑。
本書(shū)的編寫(xiě)思路是,充分發(fā)揮作者在為《電子世界》《電子制作》和《無(wú)線電》等科技期刊撰寫(xiě)單片機(jī)技術(shù)連載講座中所積累的寫(xiě)作經(jīng)驗(yàn),以及在30多年面授教學(xué)過(guò)程中所積累的講課經(jīng)驗(yàn),再通過(guò)精心編排講述順序和精心篩選教學(xué)內(nèi)容,來(lái)盡量減少對(duì)讀者背景知識(shí)的要求,以便盡可能降低初學(xué)者通過(guò)了解PIC單片機(jī)而進(jìn)入單片機(jī)世界的門(mén)檻。書(shū)中以講解PIC16F84單片機(jī)為主,并且酌情兼顧PIC單片機(jī)大家族中其他成員的個(gè)性,以及全體成員的共性簡(jiǎn)介,以便使讀者達(dá)到舉一反三、觸類旁通之功效。
本書(shū)的編寫(xiě)目標(biāo)是,努力追求“一讀就懂、讀了能用、一用就靈”的學(xué)習(xí)效果;不僅能“給人以魚(yú)”,而且更注重“授人以漁”;不僅傳授單片機(jī)知識(shí),而且更注重教會(huì)開(kāi)發(fā)方法和應(yīng)用技巧;不僅可以提高理論水平,而且更側(cè)重強(qiáng)化將所學(xué)知識(shí)轉(zhuǎn)化為實(shí)際工作的能力;力圖實(shí)現(xiàn)將每一位有志于邁進(jìn)單片機(jī)王國(guó)的外行人,培養(yǎng)成既懂單片機(jī)知識(shí),又能掌握以單片機(jī)為核心的智能電子產(chǎn)品開(kāi)發(fā)技能的內(nèi)行人。為了達(dá)到這一目標(biāo),除了恰當(dāng)?shù)囊龑?dǎo)和正確的學(xué)習(xí)方法之外,當(dāng)然也離不開(kāi)讀者的自身努力。“興趣是最好的老師!”本人深信這條哲理。培養(yǎng)讀者的學(xué)習(xí)興趣比傳授知識(shí)更重要。一旦幫助讀者樹(shù)立起濃厚的學(xué)習(xí)興趣和強(qiáng)烈的求知欲望,就很可能達(dá)到令人受益終生的特殊效果,這也是每一位教育工作者追求的最高目標(biāo)。
本書(shū)在內(nèi)容編排上充分注意了門(mén)檻低、入門(mén)易、上手快,以及層次性、可讀性、實(shí)踐性、系統(tǒng)性和完整性,力求覆蓋從單片機(jī)理論學(xué)習(xí)到開(kāi)發(fā)應(yīng)用的各個(gè)階段,所有必不可少的硬件和軟件知識(shí)、開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具的使用方法和技巧等內(nèi)容。盡可能不需要翻閱其他書(shū)籍就可以學(xué)習(xí)到,從單片機(jī)入門(mén)到單片機(jī)開(kāi)發(fā)制作各個(gè)環(huán)節(jié)的全程知識(shí)。對(duì)于一名初步具備電子技術(shù)和微機(jī)應(yīng)用基礎(chǔ)知識(shí)的初學(xué)者,成長(zhǎng)為一位單片機(jī)應(yīng)用工程師,所需要學(xué)習(xí)的核心知識(shí)主要有:?jiǎn)纹瑱C(jī)硬件系統(tǒng);單片機(jī)指令系統(tǒng);匯編程序設(shè)計(jì)基礎(chǔ)以及匯編器的用法;單片機(jī)仿真器及其用法;程序燒錄器及其用法。這些內(nèi)容書(shū)中都有介紹。此外,為了突出實(shí)踐性,在每個(gè)需要演練的技術(shù)點(diǎn)之后都精心設(shè)計(jì)了1~3個(gè)針對(duì)性強(qiáng)、實(shí)用價(jià)值高的實(shí)驗(yàn)范例,并且調(diào)試成功,每個(gè)范例大致包括“項(xiàng)目實(shí)現(xiàn)功能;硬件電路規(guī)劃;軟件設(shè)計(jì)思路;匯編程序流程;匯編程序清單;幾點(diǎn)補(bǔ)充說(shuō)明;程序調(diào)試方法”等完備的內(nèi)容。
還特別說(shuō)明的是涉及PIC系列的“字節(jié)”,并不是常說(shuō)8比特(Byte),請(qǐng)讀者閱讀本書(shū)時(shí)留意。
在本書(shū)的編著過(guò)程中,得到了微芯公司大學(xué)計(jì)劃負(fù)責(zé)人劉暉女士、清華大學(xué)出版社計(jì)算機(jī)與信息分社梁穎先生、機(jī)械科學(xué)研究院劉治山高級(jí)工程師(教授級(jí))、石家莊鐵道大學(xué)楊金祥教授、石家莊郵電職業(yè)技術(shù)學(xué)院電信系的曲文敬、范興娟、吳蓬勃、孫群中、李莉、鄭玉紅、劉保慶、李影、李建龍、王賀珍、田洪、劉正波等專家學(xué)者們的大力支持和熱情鼓勵(lì),除了提供最新資料和實(shí)驗(yàn)器材之外,還將他們?cè)陂L(zhǎng)期實(shí)踐中積累的經(jīng)驗(yàn)體會(huì)無(wú)私地奉獻(xiàn)出來(lái)供廣大讀者分享。另外,為本書(shū)撰寫(xiě)工作盡力的還有宋慶國(guó)、蒙洋、楊聰、馮偉偉、王曉超、張宗祥、王金凱、高笑飛、董丹、張擁軍、任志剛、李明亮、劉亞川、池儉、李學(xué)英、李學(xué)鳳、范俊海、李學(xué)靜、李學(xué)俊、楊琳、李學(xué)峰、鄧軍、杜太琢、楊瑞琢、王友才、王友起、王友勇、蔡永澤、蔡永崗、張磊、范淑玲、杜雪梅、李晗羽、李子楊、李偉、蔡浩川等。在此一并深表誠(chéng)摯的謝意!
由于日常教學(xué)工作量繁重,加之作者的水平有限,因此書(shū)中不妥之處在所難免,敬請(qǐng)廣大讀者朋友不吝賜教。作者郵箱:18931368650@189.cn。
2017年3月30日
目錄
第1章學(xué)用PIC單片機(jī)的背景
1.1了解單片機(jī)
1.1.1學(xué)用單片機(jī)有什么必要性
1.1.2單片機(jī)為什么會(huì)引人入迷
1.1.3學(xué)用單片機(jī)有什么現(xiàn)實(shí)意義
1.2走近單片機(jī)
1.2.1單片機(jī)究竟是什么
1.2.2單片機(jī)有什么用途
1.2.3單片機(jī)有什么特點(diǎn)
1.3看上8位PIC單片機(jī)
1.3.18位單片機(jī)的突出地位
1.3.2Microchip公司簡(jiǎn)介
1.3.3PIC系列8位單片機(jī)的優(yōu)勢(shì)
1.4選定PIC16F84A型號(hào)單片機(jī)
1.4.1PIC16F84A的功能特點(diǎn)
1.4.2PIC16F84A幾位近親兄弟
1.4.3為何選中PIC16F84A作為教學(xué)模型
1.5本書(shū)的寫(xiě)作思路和目標(biāo)
1.6常用的專業(yè)名詞和技術(shù)術(shù)語(yǔ)
1.6.1硬件方面
1.6.2軟件方面
第2章PIC16F84硬件資源總覽
2.1PIC16F84內(nèi)部結(jié)構(gòu)概覽
2.1.1PIC16F84的核心區(qū)域
2.1.2PIC16F84的外圍模塊區(qū)域
2.2PIC16F84封裝形式和引腳功能
2.3程序存儲(chǔ)器和堆棧
2.4RAM數(shù)據(jù)存儲(chǔ)器(文件寄存器)
2.4.1通用寄存器
2.4.2特殊功能寄存器
2.5電源、復(fù)位和時(shí)鐘電路簡(jiǎn)介
2.5.1電源外接電路
2.5.2時(shí)鐘外接電路
2.5.3復(fù)位外接電路
2.6通用并行端口基本功能、基本結(jié)構(gòu)和基本原理
2.6.1并行端口的基本功能
2.6.2并行端口相關(guān)的寄存器
2.6.3并行端口的基本結(jié)構(gòu)
2.6.4并行端口的基本工作原理
第3章尋址方式與指令系統(tǒng)
3.1指令系統(tǒng)概覽
3.1.1指令的描述方法
3.1.2指令的時(shí)空屬性
3.1.3指令的執(zhí)行時(shí)序
3.1.4指令的編碼格式
3.2指令的分類方法
3.2.1按實(shí)現(xiàn)功能分類
3.2.2按編碼格式分類
3.2.3按指令周期分類
3.2.4按尋址方式分類
3.2.5按攜帶操作數(shù)分類
3.2.6按影響標(biāo)志分類
3.2.7按操作對(duì)象分類
3.2.8按使用頻度分類
3.3尋址方式
3.3.1立即尋址
3.3.2直接尋址
3.3.3間接尋址
3.3.4位尋址
3.3.5隱含尋址
3.4指令系統(tǒng)分類解析
3.4.1面向字節(jié)變量的操作類指令
3.4.2面向位操作類指令
3.4.3面向常數(shù)操作和控制操作類指令
3.5數(shù)據(jù)傳遞關(guān)系
3.6指令系統(tǒng)的內(nèi)在規(guī)律
3.7“內(nèi)核寄存器外圍模塊”相互關(guān)系
第4章匯編語(yǔ)言和匯編程序設(shè)計(jì)
4.1概述
4.1.1背景知識(shí)
4.1.2匯編語(yǔ)言的語(yǔ)句格式
4.1.3程序流程和整體結(jié)構(gòu)
4.1.4源程序文件的書(shū)寫(xiě)格式
4.2常用偽指令
4.3四種基本程序結(jié)構(gòu)
4.3.1順序程序結(jié)構(gòu)
4.3.2分支程序結(jié)構(gòu)
4.3.3循環(huán)程序結(jié)構(gòu)
4.3.4子程序結(jié)構(gòu)
4.4數(shù)據(jù)存儲(chǔ)器RAM的體選尋址問(wèn)題
4.5四種個(gè)性化實(shí)用程序的設(shè)計(jì)方法
4.5.1初始化程序段設(shè)計(jì)
4.5.2延時(shí)程序設(shè)計(jì)
4.5.3查表程序設(shè)計(jì)
4.5.4散轉(zhuǎn)程序設(shè)計(jì)
4.6匯編器MPASM及其應(yīng)用
4.6.1匯編器MPASM簡(jiǎn)介
4.6.2匯編器MPASM的應(yīng)用
4.6.3匯編器“界面—命令行—LIST”選項(xiàng)對(duì)應(yīng)關(guān)系
第5章軟件集成開(kāi)發(fā)環(huán)境和軟件模擬調(diào)試技術(shù)
5.1集成開(kāi)發(fā)環(huán)境WAVE6000的組成
5.2集成開(kāi)發(fā)環(huán)境WAVE6000如何獲取
5.3集成開(kāi)發(fā)環(huán)境WAVE6000如何安裝
5.4集成開(kāi)發(fā)環(huán)境WAVE6000如何啟動(dòng)和退出
5.4.1WAVE6000的快速上手
5.4.2WAVE6000工作環(huán)境簡(jiǎn)介
5.4.3WAVE6000如何退出
5.5如何設(shè)置開(kāi)發(fā)模式
5.5.1語(yǔ)言設(shè)置卡
5.5.2目標(biāo)文件設(shè)置卡
5.5.3仿真器設(shè)置卡
5.5.4通信設(shè)置卡
5.6如何創(chuàng)建、保存和打開(kāi)源文件
【項(xiàng)目范例5.1】循環(huán)遞減實(shí)驗(yàn)程序
5.6.1如何利用記事本創(chuàng)建源文件
5.6.2如何利用WAVE6000編輯器創(chuàng)建源文件
5.6.3如何挖掘WAVE6000編輯器的豐富功能
5.6.4如何利用WAVE6000編輯器查看文本文件
5.7如何在WAVE6000環(huán)境中創(chuàng)建、編輯、制作項(xiàng)目
5.7.1如何創(chuàng)建項(xiàng)目
5.7.2如何編輯項(xiàng)目
5.7.3如何制作項(xiàng)目
5.8如何利用軟件模擬器調(diào)試項(xiàng)目
5.8.1如何進(jìn)行復(fù)位操作
5.8.2如何進(jìn)行連續(xù)執(zhí)行(全速執(zhí)行)
5.8.3如何追查程序執(zhí)行結(jié)果
5.8.4如何進(jìn)行單步執(zhí)行
5.8.5如何進(jìn)行自動(dòng)和連續(xù)單步執(zhí)行
5.8.6如何設(shè)置斷點(diǎn)或忽略斷點(diǎn)執(zhí)行
5.8.7如何執(zhí)行到光標(biāo)就停
5.8.8如何從指定行開(kāi)始執(zhí)行
5.8.9如何修改寄存器內(nèi)容
5.8.10如何綜合利用靈活運(yùn)用各種調(diào)試手段
【項(xiàng)目范例5.2】單鍵觸發(fā)8位二進(jìn)制循環(huán)累加計(jì)數(shù)器
第6章硬件綜合開(kāi)發(fā)工具和硬件燒試開(kāi)發(fā)技術(shù)
6.1硬件開(kāi)發(fā)工具三件套
6.1.1單片機(jī)學(xué)習(xí)板、實(shí)驗(yàn)板、演示板、開(kāi)發(fā)板或目標(biāo)板
6.1.2程序燒寫(xiě)器、下載器或編程器
6.1.3程序仿真器、調(diào)試器或模擬器
6.2介紹一款學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板PICbasic84
6.2.1學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板的電路布局
6.2.2學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板的規(guī)劃特色
6.2.3學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板能幫我們做什么
6.3推薦一款普及型PIC程序燒寫(xiě)器/下載器K150
6.3.1如何安裝K150軟件
6.3.2如何安裝和設(shè)置K150硬件
6.3.3如何疏通K150與微機(jī)之間的通信
6.3.4如何解析K150軟件的操作界面
6.4如何操作K150燒寫(xiě)器/下載器
6.4.1芯片空白檢查(查空)
6.4.2芯片內(nèi)容讀回(上傳)
6.4.3導(dǎo)出HEX文件(保存)
6.4.4導(dǎo)入HEX文件(載入)
6.4.5芯片燒寫(xiě)編程(固化)
6.4.6讀取芯片校驗(yàn)(對(duì)比)
6.4.7芯片清空擦除
6.5選用軟硬件開(kāi)發(fā)工具開(kāi)發(fā)用戶項(xiàng)目
6.5.1燒試法單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)思路
6.5.2模擬法單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)流程
6.5.3項(xiàng)目原型機(jī)開(kāi)發(fā)示范
【項(xiàng)目范例6.1】8珠霹靂燈控制器
第7章定時(shí)器/計(jì)數(shù)器TMR0及其應(yīng)用實(shí)例和開(kāi)發(fā)技巧
7.1定時(shí)器/計(jì)數(shù)器模塊的基本用途
7.2PIC單片機(jī)定時(shí)器/計(jì)數(shù)器TMR0的特性
7.3TMR0模塊相關(guān)的寄存器
7.4TMR0模塊的電路結(jié)構(gòu)和工作原理
7.4.1分頻器
7.4.2TMR0累加計(jì)數(shù)寄存器
7.5TMR0模塊的應(yīng)用舉例和開(kāi)發(fā)技巧
7.5.1TMR0用作硬件定時(shí)器
【項(xiàng)目范例7.1】進(jìn)出有序的隊(duì)列燈
7.5.2TMR0用作硬件計(jì)數(shù)器
【項(xiàng)目范例7.2】趣味性簡(jiǎn)易車輛里程表
第8章中斷概念和中斷邏輯及其應(yīng)用實(shí)例和開(kāi)發(fā)技巧
8.1中斷的基本概念
8.2PIC16F84的中斷源
8.3PIC16F84中斷的硬件邏輯
8.4中斷相關(guān)的寄存器
8.5中斷的處理
8.5.1中斷的延時(shí)響應(yīng)和延時(shí)處理問(wèn)題
8.5.2中斷的現(xiàn)場(chǎng)保護(hù)問(wèn)題
8.5.3需要注意的問(wèn)題
8.6中斷功能的應(yīng)用舉例和開(kāi)發(fā)技巧
8.6.1TMR0溢出中斷功能的應(yīng)用開(kāi)發(fā)
【項(xiàng)目范例8.1】構(gòu)思新穎的閃爍式跑馬燈
8.6.2INT外部中斷功能的應(yīng)用開(kāi)發(fā)
【項(xiàng)目范例8.2】帶電源切換報(bào)警的流水式廣告燈箱
第9章EEPROM數(shù)據(jù)存儲(chǔ)器及其應(yīng)用實(shí)例和開(kāi)發(fā)技巧
9.1背景知識(shí)
9.1.1通用型半導(dǎo)體存儲(chǔ)器的種類和特點(diǎn)
9.1.2PIC單片機(jī)內(nèi)部的程序存儲(chǔ)器
9.1.3PIC單片機(jī)內(nèi)部的EEPROM數(shù)據(jù)存儲(chǔ)器
9.1.4PIC16F84內(nèi)部EEPROM操作方法
9.2EEPROM讀/寫(xiě)相關(guān)的寄存器
9.3片內(nèi)EEPROM數(shù)據(jù)存儲(chǔ)器結(jié)構(gòu)和操作原理
9.3.1從EEPROM中讀取數(shù)據(jù)
9.3.2向EEPROM中燒寫(xiě)數(shù)據(jù)
9.4寫(xiě)操作的安全保障措施
9.4.1寫(xiě)入校驗(yàn)方法
9.4.2預(yù)防意外寫(xiě)操作的保障措施
9.5EEPROM應(yīng)用舉例和開(kāi)發(fā)技巧
【項(xiàng)目范例9.1】EEPROM數(shù)據(jù)存儲(chǔ)器讀/寫(xiě)驗(yàn)證
【項(xiàng)目范例9.2】改進(jìn)型簡(jiǎn)易車輛里程表
第10章雜項(xiàng)功能及其應(yīng)用實(shí)例和開(kāi)發(fā)技巧
10.1系統(tǒng)配置字和特殊存儲(chǔ)單元
10.1.1系統(tǒng)配置字
10.1.2用戶識(shí)別碼ID
10.1.3器件識(shí)別碼
10.2監(jiān)視定時(shí)器WDT
10.2.1程序失控的回復(fù)
10.2.2WDT的電路結(jié)構(gòu)
10.2.3WDT的工作原理
10.2.4WDT相關(guān)寄存器
10.2.5使用WDT的注意事項(xiàng)
10.2.6WDT的應(yīng)用舉例
【項(xiàng)目范例10.1】帶看門(mén)狗監(jiān)視功能的霹靂燈
10.2.7外擴(kuò)多功能WDT的實(shí)現(xiàn)方法
10.3睡眠與喚醒——節(jié)電技術(shù)
10.3.1睡眠狀態(tài)的進(jìn)入
10.3.2睡眠狀態(tài)的喚醒
10.3.3睡眠功能的開(kāi)發(fā)應(yīng)用實(shí)例
【項(xiàng)目范例10.2】用看門(mén)狗定時(shí)喚醒的霹靂燈
10.4時(shí)鐘配置選項(xiàng)
10.4.1外接晶體振蕩器/陶瓷諧振器(LP/XT/HS)
10.4.2外接阻容器件(RC)
10.4.3引入外來(lái)時(shí)鐘源(LP/XT/HS)
附錄AASCII碼表
附錄B特殊功能寄存器及其復(fù)位值一覽表
附錄C英文指令系統(tǒng)概覽
附錄D特殊指令助記符(宏指令)
附錄E宏匯編器MPASM偽指令一覽表
附錄F包含文件P16F84A.INC
附錄GMPASM出錯(cuò)、警告、提示3類顯示信息
G.1出錯(cuò)性顯示信息舉例
G.2警告性顯示信息舉例
G.3提示性顯示信息舉例
附錄H圖書(shū)配套學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板PICbasic84
H.1學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板的電路原理圖
H.2學(xué)習(xí)實(shí)驗(yàn)開(kāi)發(fā)板的功能單元電路詳解
H.2.1直流電源電路(多元化)
H.2.2復(fù)位電路+時(shí)鐘電路
H.2.3編程器+調(diào)試器接口電路
H.2.4目標(biāo)單片機(jī)插座(18腳)
H.2.5目標(biāo)單片機(jī)插座(20腳、14腳、8腳)
H.2.6目標(biāo)單片機(jī)插座(28腳)
H.2.7目標(biāo)單片機(jī)插座(40腳)
H.2.8并行輸入8只按鈕開(kāi)關(guān)
H.2.9電位器+蜂鳴器+水銀開(kāi)關(guān)+光敏電阻器
H.2.10并行輸出9只LED顯示器
H.2.11兩位共陽(yáng)極7段LED數(shù)碼管——并行驅(qū)動(dòng)
H.2.12四位共陽(yáng)極7段LED數(shù)碼管——串行驅(qū)動(dòng)
H.2.13字符式LCD顯示器接口電路
H.2.14功率驅(qū)動(dòng)接口電路
H.2.15通用四電壓比較器LM339+邏輯筆
H.2.16SPI串口EEPROM存儲(chǔ)器電路
H.2.17I2C串口EEPROM存儲(chǔ)器電路
H.2.18電平轉(zhuǎn)換器MAX232串行通信接口電路
H.2.19總結(jié)歸納
附錄I多功能單片機(jī)監(jiān)控器MAX705/706/813L
I.1概述
I.2內(nèi)部結(jié)構(gòu)和引腳功能
I.3功能說(shuō)明
I.3.1RESET/RESET操作
I.3.2看門(mén)狗定時(shí)器
I.3.3人工復(fù)位
I.3.4電源失常比較器
I.4電氣參數(shù)和時(shí)序圖
I.4.1極限參數(shù)
I.4.2電氣參數(shù)
I.5典型應(yīng)用實(shí)例
附錄JK150——PIC單片機(jī)燒寫(xiě)器的特點(diǎn)及其燒寫(xiě)型號(hào)
附錄KPIC16C84/F83/F84/CR83/CR84/F84A各型號(hào)差異
附錄LSIM84軟硬件模擬器——特別適合PIC16F84單片機(jī)初學(xué)者上手演練
的一款免費(fèi)軟件
L.1軟硬件模擬器SIM84簡(jiǎn)介
L.1.1硬件仿真器
L.1.2軟件模擬器
L.1.3軟硬件模擬器SIM84
L.2SIM84的安裝與啟用
L.2.1安裝條件
L.2.2安裝方法
L.2.3首次啟用
L.2.4畫(huà)面介紹
L.3初次體驗(yàn)程序的運(yùn)行與調(diào)試
L.3.1使用系統(tǒng)命令“L”(Load,載入范例程序)
L.3.2使用系統(tǒng)命令“G”(Go,運(yùn)行范例程序)
L.3.3按動(dòng)Esc鍵停止程序的執(zhí)行
L.3.4使用系統(tǒng)命令“Q”(Quit,終止范例程序的運(yùn)行)
L.4SIM84系統(tǒng)命令
L.5匯編器MPASM使用說(shuō)明
L.5.1EQU——符號(hào)名賦值偽指令
L.5.2ORG——程序起始地址定義偽指令
L.5.3END——程序結(jié)束偽指令
L.5.4LIST——列表選項(xiàng)偽指令
L.6程序舉例
L.6.1跑馬燈范例
L.6.2步進(jìn)馬達(dá)轉(zhuǎn)動(dòng)
L.6.3七段數(shù)碼管查表驅(qū)動(dòng)
L.6.4波形產(chǎn)生與顯示
L.6.5數(shù)碼顯示計(jì)數(shù)器
L.6.6SIM84環(huán)境中各種虛擬的電子組件附圖
參考文獻(xiàn)
第5章軟件集成開(kāi)發(fā)環(huán)境和軟件模擬調(diào)試技術(shù)
南京偉福公司為PIC單片機(jī)用戶免費(fèi)提供了一款集成開(kāi)發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)軟件包——WAVE6000,它具有易學(xué)、易用、易上手、全中文等突出優(yōu)點(diǎn),特別適合單片機(jī)初學(xué)者。此外,該環(huán)境還可以開(kāi)發(fā)各種80C51兼容單片機(jī),為讀者日后學(xué)習(xí)預(yù)留了很大的空間。
其實(shí),WAVE6000集成開(kāi)發(fā)環(huán)境是一個(gè)軟件包,也是一套以項(xiàng)目(Project,或翻譯為計(jì)劃或工程)為導(dǎo)向的,或者說(shuō)是面向項(xiàng)目的集成開(kāi)發(fā)環(huán)境軟件平臺(tái)。它就像一個(gè)包羅十八般兵器的大車間,把文本編輯器(Editor)、匯編器(Assembler)、連接器(Linker)、項(xiàng)目管理器(Projectmanager)和程序調(diào)試器(Debugger,也就是查錯(cuò)和排錯(cuò)的工具)等,在單片機(jī)編程和項(xiàng)目調(diào)試過(guò)程中不可或缺的一些軟件工具,全部集成到了一個(gè)開(kāi)發(fā)環(huán)境之中,從而形成了一套不僅功能豐富而且使用方便的軟件平臺(tái)。
借助于WAVE6000,單片機(jī)初學(xué)者或應(yīng)用項(xiàng)目開(kāi)發(fā)者可以在一部微機(jī)系統(tǒng)上,對(duì)PIC單片機(jī)進(jìn)行源程序文件的創(chuàng)建、編輯和匯編,甚至還能實(shí)現(xiàn)目標(biāo)程序的模擬運(yùn)行和動(dòng)態(tài)調(diào)試之類的虛擬實(shí)戰(zhàn)演練,并且調(diào)試方式還可以采用連續(xù)執(zhí)行、單步執(zhí)行、連續(xù)單步執(zhí)行、設(shè)置斷點(diǎn)執(zhí)行等多種執(zhí)行方式。
5.1集成開(kāi)發(fā)環(huán)境WAVE6000的組成
WAVE6000是一個(gè)集成了多種單片機(jī)應(yīng)用開(kāi)發(fā)工具的、功能完備的“軟件包”。在此僅對(duì)本書(shū)后面將用到的幾種工具軟件進(jìn)行簡(jiǎn)要介紹:
1.集成開(kāi)發(fā)環(huán)境
之所以稱其為集成開(kāi)發(fā)環(huán)境,是因?yàn)樗鼘㈨?xiàng)目管理、文件管理、源程序創(chuàng)建和編輯、目標(biāo)文件生成、目標(biāo)程序模擬調(diào)試或仿真調(diào)試等,單片機(jī)應(yīng)用項(xiàng)目開(kāi)發(fā)過(guò)程中所需要的一系列單項(xiàng)工具的操作,全部集中到同一環(huán)境下統(tǒng)一調(diào)度和啟用。即軟件包的所有功能幾乎都可以在一個(gè)環(huán)境內(nèi)來(lái)操作和控制。
2.項(xiàng)目管理器
項(xiàng)目管理器是該環(huán)境的核心部分,用于創(chuàng)建、修改、保存、復(fù)制等項(xiàng)目的管理操作,為開(kāi)發(fā)人員提供自動(dòng)化程度高、操作簡(jiǎn)便的符號(hào)化調(diào)試工作平臺(tái)。所謂“符號(hào)化調(diào)試”,指的是在調(diào)試過(guò)程中屏幕上顯示的地址標(biāo)號(hào)、常數(shù)名、變量名和寄存器名,均用在源程序中定義的表義性和可讀性很強(qiáng)的符號(hào)來(lái)代表和標(biāo)識(shí)。因此,又被稱為“源程序級(jí)調(diào)試”。這比傳統(tǒng)的80X86匯編語(yǔ)言程序的調(diào)試環(huán)境要友好得多。
3.源程序編輯器
源程序編輯器是一個(gè)全屏幕文本編輯器,用于創(chuàng)建、查看、編輯和修改匯編語(yǔ)言(或C語(yǔ)言)源程序文件。源程序文件以純文本格式保存,其文件擴(kuò)展名為“.asm”。同時(shí)利用該編輯器還可以創(chuàng)建、編輯或查看包含文件、說(shuō)明文件等其他文本文件。
……