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