2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩315頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PIC上海技術(shù)培訓(xùn)中心,1,PIC單片機(jī)原理及應(yīng)用,(第二版)美國(guó)微芯公司授權(quán)上海技術(shù)培訓(xùn)中心2005.01,PIC上海技術(shù)培訓(xùn)中心,2,第1章微型計(jì)算機(jī)概論,微型計(jì)算機(jī)是一種既有快速運(yùn)算能力,又有極強(qiáng)邏輯判斷能力和大容量存儲(chǔ)功能的電子設(shè)備,它是20世紀(jì)人類最卓越的科學(xué)發(fā)明之一。 本章介紹微型計(jì)算機(jī)的基礎(chǔ)知識(shí),主要內(nèi)容有微型計(jì)算機(jī)的發(fā)展歷史及應(yīng)用領(lǐng)域、計(jì)算機(jī)硬件、軟件系統(tǒng)的基本組成。,PIC上海技術(shù)培訓(xùn)中心,3,1.1

2、 微型計(jì)算機(jī)的發(fā)展歷史及應(yīng)用,我們今天所說的計(jì)算機(jī),是指利用電子技術(shù)實(shí)現(xiàn)計(jì)算并具有邏輯判斷和程序存儲(chǔ)功能的設(shè)備。,PIC上海技術(shù)培訓(xùn)中心,4,1.1.1 微型計(jì)算機(jī)的發(fā)展歷史,從計(jì)算機(jī)發(fā)展的歷史看,微型計(jì)算機(jī)已屬于第四代計(jì)算機(jī),而微型計(jì)算機(jī)的發(fā)展又已經(jīng)歷了四代。,PIC上海技術(shù)培訓(xùn)中心,5,1.1.2 微型計(jì)算機(jī)的應(yīng)用,科學(xué)計(jì)算 數(shù)據(jù)處理 過程控制 計(jì)算機(jī)輔助設(shè)計(jì)/輔助制造 (CAD/CAM) 計(jì)算機(jī)網(wǎng)絡(luò),PIC上海技術(shù)培訓(xùn)中

3、心,6,1.1.3 微型計(jì)算機(jī)系統(tǒng)主要技術(shù)指標(biāo),字長(zhǎng) :計(jì)算機(jī)的字長(zhǎng)取8的整數(shù)倍數(shù), 如8位、16位、32位、64位等 速度 :計(jì)算機(jī)的速度指標(biāo)可用主頻及運(yùn)算 速度來評(píng)價(jià) (G)、(萬(wàn)次/秒)存儲(chǔ)系統(tǒng)容量 :內(nèi)存和外存(M)(G),PIC上海技術(shù)培訓(xùn)中心,7,1.2 微型計(jì)算機(jī)系統(tǒng)的組成,計(jì)算機(jī)的硬件通常包括運(yùn)算器、存儲(chǔ)器、控制器、輸入設(shè)備及輸出設(shè)備等五個(gè)部分,,PIC上海技術(shù)培訓(xùn)中心,8,1.2

4、.2 軟件系統(tǒng),軟件系統(tǒng)是一臺(tái)計(jì)算機(jī)中的系統(tǒng)軟件、應(yīng)用軟件、程序設(shè)計(jì)語(yǔ)言和支持軟件及各種文檔的總稱。 系統(tǒng)軟件:包括操作系統(tǒng)、服務(wù)程序、匯編程序、解釋程序和編譯程序等。 應(yīng)用軟件:是用匯編語(yǔ)言或高級(jí)語(yǔ)言為解決某種實(shí)際問題而編寫的程序。 程序設(shè)計(jì)語(yǔ)言:通常分為面向機(jī)器的匯編語(yǔ)言和面向用戶的高級(jí)語(yǔ)言。,PIC上海技術(shù)培訓(xùn)中心,9,1.3 微控制器系統(tǒng),在計(jì)算機(jī)的發(fā)展歷史上,特別是在第一臺(tái)小型控制器件

5、形成以后,沿著兩條完全不同的用途、不同的價(jià)格、和不同的技術(shù)內(nèi)涵,而被充實(shí)于我們的日常生活中。,PIC上海技術(shù)培訓(xùn)中心,10,1.3.1 單片機(jī)系統(tǒng),單片機(jī)的發(fā)展過程和性能的日益完善,實(shí)際上是對(duì)傳統(tǒng)控制技術(shù)的一場(chǎng)革命,開創(chuàng)了微控技術(shù)的新天地。 現(xiàn)代控制系統(tǒng)的核心內(nèi)涵就是嵌入式計(jì)算機(jī)應(yīng)用系統(tǒng)(MCU),而單片機(jī)就是最典型、最廣泛、最普及的嵌入式計(jì)算機(jī)應(yīng)用系統(tǒng)。,PIC上海技術(shù)培訓(xùn)中心,11,單片機(jī)的降臨,主要也是源于其性能價(jià)格比

6、。一般單片機(jī)用于控制的目的,而對(duì)于其承擔(dān)的計(jì)算功能卻要求不高,只要能按照一定的程式進(jìn)行在線檢測(cè)和即時(shí)控制工作。目前,各個(gè)單片機(jī)生產(chǎn)廠家還是立足于8位單片機(jī)的競(jìng)爭(zhēng),因?yàn)閺钠浣蹬R以來,一直成為應(yīng)用最廣泛的器件。2002年美國(guó)MICROCHIP和MOTOROLA兩家公司,已占據(jù)著世界8位單片機(jī)產(chǎn)量最高的前兩個(gè)芯片制造商。,PIC上海技術(shù)培訓(xùn)中心,12,,一般的單片機(jī)的結(jié)構(gòu)可以用圖1.2所示的方塊圖描述,用三大總線(DB、AB、CB)實(shí)現(xiàn)模

7、塊之間的信息傳遞。,,,單片機(jī)內(nèi)部結(jié)構(gòu),PIC上海技術(shù)培訓(xùn)中心,13,單片機(jī)的主要應(yīng)用,人有所思,單片機(jī)就可為。單片機(jī)的應(yīng)用必將隨著社會(huì)的發(fā)展和技術(shù)的進(jìn)步,而獲得更廣闊應(yīng)用。(系列化的單片機(jī) ?).電信.家用電器.工業(yè)控制.儀器儀表.汽車.玩具,PIC上海技術(shù)培訓(xùn)中心,14,單片機(jī)有哪些特點(diǎn),單片機(jī)具備體積小、價(jià)格低、性能強(qiáng)、速度快、用途廣、可靠性高、靈活性強(qiáng)等優(yōu)點(diǎn),它與通用的計(jì)算機(jī)相比,還具有以下一些特點(diǎn):.存儲(chǔ)器ROM

8、和RAM的相互獨(dú)立.采用面向控制的指令系統(tǒng).輸入/輸出端口的強(qiáng)大功能,PIC上海技術(shù)培訓(xùn)中心,15,1.3.2 PIC系列單片機(jī),PIC系列單片機(jī),可以滿足用戶的各種需要。從中檔產(chǎn)品PIC16F877作為切入點(diǎn),提供非常完備、易學(xué)易用的MPLAB-ICD集成開發(fā)環(huán)境。 特別是對(duì)于單片機(jī)的新手,仿佛從茫然迷惑的大海搭上一艘便捷平穩(wěn)的小船,感到非常輕松自如。,PIC上海技術(shù)培訓(xùn)中心,16,第2章 PIC單片微機(jī)的組成,PI

9、C(Periphery Interface Chip)單片微機(jī)是美國(guó)Microchip公司生產(chǎn)的PIC系列單片機(jī)。 PIC系列單片機(jī)的硬件系統(tǒng)設(shè)計(jì)簡(jiǎn)潔,指令系統(tǒng)設(shè)計(jì)精煉。在所有的單片機(jī)品種中,PIC具有性能完善、功能強(qiáng)大、學(xué)習(xí)容易、開發(fā)應(yīng)用方便、人機(jī)界面友好等突出優(yōu)點(diǎn)。,PIC上海技術(shù)培訓(xùn)中心,17,2.1 PIC系列單片機(jī)概述,Microchip公司是一家專門致力于單片機(jī)開發(fā)、研制和生產(chǎn)的制造商,其產(chǎn)品設(shè)計(jì)起點(diǎn)高,技術(shù)領(lǐng)先

10、,性能優(yōu)越。 它不是在一般微型計(jì)算機(jī)CPU的基礎(chǔ)上加以改造,而是獨(dú)樹一幟,采用全新的流水線結(jié)構(gòu)、單字節(jié)指令體系、嵌入閃存以及10位A/D轉(zhuǎn)換器,使之具有卓越的性能,代表著單片機(jī)發(fā)展的新方向。 PIC系列單片機(jī),具有高、中、低三個(gè)檔次,可以滿足不同用戶開發(fā)的需要,適合在各個(gè)領(lǐng)域中的應(yīng)用。 它具有如下特點(diǎn):,2.1.1 PIC系列單片機(jī)特點(diǎn),PIC上海技術(shù)培訓(xùn)中心,18,單片機(jī)總線結(jié)構(gòu),單片微型計(jì)算機(jī)通常采用兩

11、種體系結(jié)構(gòu):一種是普林斯頓體系結(jié)構(gòu);另一種是哈佛體系結(jié)構(gòu)。 在普林斯頓體系結(jié)構(gòu)中,其程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器統(tǒng)一編址,也就是說兩種存儲(chǔ)器位于同一邏輯空間。這種單片機(jī)的取指令和存取數(shù)據(jù)必須分時(shí)地進(jìn)行,影響了執(zhí)行指令的速度。 哈佛體系結(jié)構(gòu)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器獨(dú)立編址,也就是說兩種存儲(chǔ)器有不同的邏輯空間。,PIC上海技術(shù)培訓(xùn)中心,19,PIC系列單片機(jī)采用哈佛總線結(jié)構(gòu),在芯片內(nèi)部數(shù)據(jù)總線和指令總線分離,容許采用不

12、同的字節(jié)寬度。這樣,就為實(shí)現(xiàn)指令提取和執(zhí)行的“流水作業(yè)”提供結(jié)構(gòu)保證,即在執(zhí)行一條指令的同時(shí)對(duì)下一條指令進(jìn)行取指操作。 兩總線的分離,也為PIC實(shí)現(xiàn)全部指令的單字節(jié)化和單周期化創(chuàng)造條件,從而大大提高CPU執(zhí)行指令的速度和工作效率。,1. 哈佛總線結(jié)構(gòu),PIC上海技術(shù)培訓(xùn)中心,20,單片機(jī)總線結(jié)構(gòu)比較,從同一存儲(chǔ)器空間取指令和取操作數(shù)據(jù)。 限制了數(shù)據(jù)流量。 從兩個(gè)獨(dú)立的存儲(chǔ)空間分別取指令和存取

13、操作數(shù)。 數(shù)據(jù)流量增加。 針對(duì)程序區(qū)和數(shù)據(jù)區(qū)可以設(shè)計(jì)不同的數(shù)據(jù)線寬度。,程序和數(shù)據(jù)存儲(chǔ)器,,馮-紐曼結(jié)構(gòu),8-位,,,,CPU,程序存儲(chǔ)器,數(shù)據(jù)存儲(chǔ)器,8-位,12/14/16-位,哈佛結(jié)構(gòu),,CPU,PIC上海技術(shù)培訓(xùn)中心,21,PIC系列單片機(jī)的指令系統(tǒng),由于采用RISC技術(shù),和一般單片機(jī)指令系統(tǒng)通常有上百條指令相比要少得多。,2.RISC技術(shù),PIC上海技術(shù)培訓(xùn)中心,22,PI

14、C系列單片機(jī)只有4種尋址方式:寄存器間接尋址、立即數(shù)尋址、直接尋址和位尋址,比較容易掌握。 PIC系列單片機(jī)的程序、數(shù)據(jù)、堆棧三者各自采用互相獨(dú)立的地址空間,前兩者的地址訪問需要用戶特別注意四個(gè)分區(qū)的范圍,而堆棧過程用戶不必參與和操心。 代碼壓縮率,就是指相同程序存儲(chǔ)器空間所能容納有效指令的數(shù)量。,3.指令特色,PIC上海技術(shù)培訓(xùn)中心,23,由于PIC系列單片機(jī)采用CMOS結(jié)構(gòu),使其功率消耗極低,是目前世界上最低

15、功耗的單片機(jī)品種之一。 其中有些型號(hào),在4MHz時(shí)鐘下工作時(shí)耗電不超過2mA,而在睡眠模式下耗電可低到1μA以下。 因此,PIC系列單片機(jī),尤其適用于野外移動(dòng)儀表的控制以及戶外免維護(hù)的控制系統(tǒng)。,5.功耗低,PIC上海技術(shù)培訓(xùn)中心,24,I/0端口驅(qū)動(dòng)負(fù)載的能力較強(qiáng),每個(gè)輸出引腳可以驅(qū)動(dòng)多達(dá)20-25mA的負(fù)載,既能夠高電平直接驅(qū)動(dòng)發(fā)光二極管LED、光電藕合器、小型繼電器等,也可以低電平直接驅(qū)動(dòng),這樣可大大簡(jiǎn)化控制電路。

16、 不過,請(qǐng)讀者注意,每個(gè)引腳的驅(qū)動(dòng)能力并不表示端口引腳同時(shí)都具有這樣的功效。一般端口驅(qū)動(dòng)能力約60-70mA,而所有輸入輸出驅(qū)動(dòng)小于200mA,詳細(xì)數(shù)據(jù)可參考有關(guān)數(shù)據(jù)手冊(cè)。,6.驅(qū)動(dòng)能力強(qiáng),PIC上海技術(shù)培訓(xùn)中心,25,PIC主要是采用哈佛總線結(jié)構(gòu),可以同時(shí)進(jìn)行指令讀取和指令執(zhí)行的流水線作業(yè)方式。 如:MCS-51 12M,指令執(zhí)行時(shí)間為1?s~4?s PIC 12

17、M時(shí)鐘周期,指令執(zhí)行時(shí)間為0.3~0.6?s,7.運(yùn)行速度高,PIC上海技術(shù)培訓(xùn)中心,26,PIC系列單片機(jī)的一些型號(hào)具有同步串行口,可以滿足I2C(主控/從動(dòng))和SPI(主控)總線要求。I2C和SPI(Serial Peripheral Interface)分別是PHILIPS公司和MOTOROLA公司研制的兩種廣泛流行的串行總線標(biāo)準(zhǔn),是一種在芯片之間實(shí)現(xiàn)同步串行數(shù)據(jù)傳輸?shù)募夹g(shù)。 利用單片機(jī)串行總線端口可以方便而靈活地?cái)U(kuò)展外

18、圍器件,目前已在許多電子產(chǎn)品中得到廣泛應(yīng)用。,8.同步串行數(shù)據(jù)傳送方式,PIC上海技術(shù)培訓(xùn)中心,27,,2.1.2 PIC16F877的結(jié)構(gòu),從其執(zhí)行功能考慮,可以將單片機(jī)分成兩大組件,即基本功能模塊和專用功能模塊。,PIC上海技術(shù)培訓(xùn)中心,28,,PIC上海技術(shù)培訓(xùn)中心,29,PICl6F87X系列單片機(jī)有雙列直插式28引腳和40引腳及表面貼裝式44引腳等幾種封裝形式。 多數(shù)I/O引腳都設(shè)計(jì)有第2功能,甚至第3功能。采用

19、引腳復(fù)用技術(shù),以便使單片機(jī)增加功能而又不增大體積和引腳數(shù)量。,2.1.3 PIC16F877的引腳,PIC上海技術(shù)培訓(xùn)中心,30,PIC上海技術(shù)培訓(xùn)中心,31,F877單片機(jī)內(nèi)部配置了較完善的多個(gè)存儲(chǔ)器,可分為數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器兩種,為一般用戶提供很大的方便。 但它們?cè)谛问缴希哂泻茇S富的內(nèi)涵。,2.2 存儲(chǔ)器概述,PIC上海技術(shù)培訓(xùn)中心,32,F877單片機(jī)內(nèi)部配置了8K ╳ l4位的閃爍(FLASH)程序存儲(chǔ)器,可以很

20、方便進(jìn)行在線擦除和燒寫,壽命可達(dá)1000次以上。 在PIC系列單片機(jī)教學(xué)實(shí)驗(yàn)和科研開發(fā)中,顯示出無窮的魅力和寬廣的應(yīng)用前景。 相應(yīng)的地址編碼范圍為0000H~lFFFH。,2.2.1 程序存儲(chǔ)器,PIC上海技術(shù)培訓(xùn)中心,33,程序存儲(chǔ)器結(jié)構(gòu),PIC上海技術(shù)培訓(xùn)中心,34,F877單片機(jī)內(nèi)部配置兩類數(shù)據(jù)存儲(chǔ)器,普通RAM數(shù)據(jù)存儲(chǔ)器和EEPROM失電保持?jǐn)?shù)據(jù)存儲(chǔ)器。 RAM總的地址空間為512個(gè)單元,其中包括部分無效

21、單元,但每一個(gè)有效單位均可以象寄存器一樣進(jìn)行移位、置位、復(fù)位和位測(cè)試等操作。 PIC單片機(jī)的數(shù)據(jù)存儲(chǔ)器和其他單片機(jī)一樣,在配置結(jié)構(gòu)上可分為通用寄存器和特殊功能寄存器兩大類,前者給用戶使用,而后者通常定義給某些功能模塊,是一種具有特殊目的的功能寄存器。,2.2.2 數(shù)據(jù)存儲(chǔ)器,PIC上海技術(shù)培訓(xùn)中心,35,同時(shí)在PIC16F877片內(nèi)又配置另一種可掉電保護(hù)的數(shù)據(jù)存儲(chǔ)器EEPROM,共有256×8位寬的存儲(chǔ)單元,可以長(zhǎng)期存放用

22、戶或系統(tǒng)的重要參數(shù):如時(shí)間、配置及數(shù)據(jù)表格等,是一種非常重要的硬件資源。,PIC上海技術(shù)培訓(xùn)中心,36,數(shù)據(jù)存儲(chǔ)器單元功能分配,體(BANK)0 體(BANK)1 體(BANK)2 體(BANK)3,PIC上海技術(shù)培訓(xùn)中心,37,存儲(chǔ)器是單片機(jī)中一個(gè)非常重要的部件,專門用于存放指令、數(shù)據(jù)和運(yùn)算結(jié)果。 分析F877單片機(jī)存儲(chǔ)器構(gòu)架,可以從其配置的三大模塊著手進(jìn)行,它們是: 8K ╳l4位FLASH程序存

23、儲(chǔ)器 512╳8位數(shù)據(jù)存儲(chǔ)器RAM 256╳8位可掉電保護(hù)數(shù)據(jù)的EEPROM存儲(chǔ)器模塊。,第3章 PIC存儲(chǔ)器,PIC上海技術(shù)培訓(xùn)中心,38,存儲(chǔ)器從使用功能上來分,可分為隨機(jī)存儲(chǔ)器RAM(Random Access Memory)和只讀存儲(chǔ)器ROM(Read Only Memory)兩類。,3.1 存儲(chǔ)器分類,PIC上海技術(shù)培訓(xùn)中心,39,F877程序存儲(chǔ)器具有13位寬的程序計(jì)數(shù)器PC。PC指針?biāo)a(chǎn)生的13位

24、地址最大可尋址的程序存儲(chǔ)器空間為8K,相應(yīng)的地址編碼范圍為0000H~lFFFH。 F877歸屬于中檔單片機(jī),其指令字節(jié)寬度為14位,內(nèi)部構(gòu)架配置了8K ╳ l4位的閃爍FLASH程序存儲(chǔ)器。,3.2 程序存儲(chǔ)器構(gòu)架,PIC上海技術(shù)培訓(xùn)中心,40,一般將整個(gè)程序存儲(chǔ)器以2KB為單位進(jìn)行分頁(yè)(PAGE),如圖3-1所示F877單片機(jī),8KB程序存儲(chǔ)器共分作4頁(yè),分別稱為“頁(yè)0”、“頁(yè)l”、“頁(yè)2”和“頁(yè)3”。 程序計(jì)數(shù)器高8位P

25、CLATH的Bit4-Bit3位構(gòu)成程序存儲(chǔ)器分頁(yè)的選擇位,對(duì)應(yīng)的地址空間如下: PCLATH Bit4:Bit3: 0 0 頁(yè)0:0000H ~ 07FFH 0 1 頁(yè)l:0800H ~ 0FFFH 1 0 頁(yè)2:1000H ~ 17FFH

26、 1 1 頁(yè)3:1800H ~ 1FFFH,PIC上海技術(shù)培訓(xùn)中心,41,,PIC上海技術(shù)培訓(xùn)中心,42,PIC上海技術(shù)培訓(xùn)中心,43,PIC16F877 單片機(jī)架構(gòu)程序存儲(chǔ)器,最大8K字(13 位) 程序存儲(chǔ)空間程序空間按頁(yè)面劃分,每頁(yè)2K字 (11 位);最多四頁(yè)。頁(yè)面選擇 PCLATH復(fù)位向量地址 0000h中斷向量地址 0004h,Page 0,,,0000h,0004h,07FFh,

27、,Interrupt,,,,Reset,Page 1,0800h,0FFFh,Page 2,1000h,17FFh,Page 3,1800h,1FFFh,PCLATH = 00,PCLATH = 01,PCLATH = 10,PCLATH = 11,,PIC上海技術(shù)培訓(xùn)中心,44,程序存儲(chǔ)器中有2個(gè)單元地址比較特殊,除了具備同其他單元地址一樣的普通用途外,還具有專門用途: 0000H:用作單片機(jī)系統(tǒng)的復(fù)位矢量;

28、 0004H:用作系統(tǒng)特殊模塊的中斷矢量。,復(fù)位矢量中斷矢量,PIC上海技術(shù)培訓(xùn)中心,45,F877用于存儲(chǔ)數(shù)據(jù)的RAM單元比一般單片機(jī)RAM的功能要強(qiáng)大得多,它除了具備普通RAM的功能之外,每一個(gè)單元都能實(shí)現(xiàn)移位、置位、復(fù)位和位測(cè)試等通常由寄存器才能完成的功能操作。,3.3 數(shù)據(jù)存儲(chǔ)器構(gòu)架,PIC上海技術(shù)培訓(xùn)中心,46,RAM數(shù)據(jù)存儲(chǔ)器和FLASH程序存儲(chǔ)器一樣在空間構(gòu)架上,進(jìn)行類似方式進(jìn)行分區(qū)。按橫向排列,分為4個(gè)“體”(BAN

29、K),從左到右分別記為“體0”、“體1”、“體2”和“體3”,每個(gè)體為128個(gè)8位寬的存儲(chǔ)器單元。 RP1:RP0 體域 寄存器地址 0 0 體0: 000H ~ 07FH 0 1 體1: 080H ~ 0FFH 1 0 體2: 100H ~ l7FH

30、 1 1 體3: 180H ~ lFFH,數(shù)據(jù)存儲(chǔ)器分區(qū),PIC上海技術(shù)培訓(xùn)中心,47,,數(shù)據(jù)存儲(chǔ)器,四個(gè)存儲(chǔ)體每個(gè) 128 字節(jié)特殊功能寄存器存儲(chǔ)體選擇通過 Status中的 RP0,1 和 IRP512單元368有效GPR,GPRs,,,,,,,SFRs,Bank0,000h,01Fh,020h,07Fh,GPRs,,,,,,,SFRs,Bank1,080h,09Fh,0A0h,0

31、FFh,0F0h,,GPRs,,,,,,,SFRs,Bank2,100h,11Fh,120h,17Fh,170h,,GPRs,,,,,,,SFRs,Bank3,180h,19Fh,1A0h,1FFh,1F0h,RP RP RP RP = 00 = 01 = 10

32、 = 11,,PIC上海技術(shù)培訓(xùn)中心,48,,PIC上海技術(shù)培訓(xùn)中心,49,有些寄存器單元在4個(gè)體上是互相映射的,如狀態(tài)寄存器STATUS、間接尋址寄存器INDF、程序計(jì)數(shù)器低8位PCL、文件選擇寄存器FSR、程序計(jì)數(shù)器高8位PCLATH和中斷控制寄存器INTCON。 所謂互為映射就是說,在4個(gè)體內(nèi)的相同位置,物理上對(duì)應(yīng)同一個(gè)寄存器單元,所以該單元具備4個(gè)不同的地址。,互相映射,PIC

33、上海技術(shù)培訓(xùn)中心,50,F877單片機(jī)的通用寄存器GPR(General Purpose Registers),可由用戶自行支配存放隨機(jī)數(shù)據(jù)。 地址區(qū)域:F0H~FFH、170H~l7FH和1F0H~1FFH,都可以索引(或映射)到體0的16個(gè)RAM單元。 這樣安排是為了便于中斷服務(wù)程序的設(shè)計(jì)和數(shù)據(jù)處理,就可以在程序設(shè)計(jì)中能夠有效突破體的限制而定義通用的變量函數(shù),3.3.1 通用寄存器,PIC上海技術(shù)培訓(xùn)中心,51

34、,特殊功能寄存器SFR(Special Function Registers)是用于專用目的的寄存器,每個(gè)寄存器單元,甚至其中的每一位,都有它自己特定的名稱和用途。 主要涉及PIC內(nèi)核結(jié)構(gòu)、外圍功能模塊的配置和數(shù)據(jù)通信方式的定義,是單片機(jī)賴于正常運(yùn)行的工作平臺(tái)。所以,特殊功能寄存器又稱為專用寄存器。 可以依據(jù)它們不同的用途分為兩類:一類是與CPU內(nèi)核相關(guān)的寄存器;另一類是與外圍模塊相關(guān)的寄存器。,3.3.2 特殊功

35、能寄存器,PIC上海技術(shù)培訓(xùn)中心,52,狀態(tài)寄存器的內(nèi)容用來記錄算術(shù)邏輯單元ALU的運(yùn)算結(jié)果狀態(tài)、CPU的特殊運(yùn)行狀態(tài)以及RAM數(shù)據(jù)存儲(chǔ)器體間選擇等信息。,1.狀態(tài)寄存器STATUS,,,PIC上海技術(shù)培訓(xùn)中心,53,Bit0/C:進(jìn)位/借位標(biāo)志,被動(dòng)參數(shù)。 0:執(zhí)行加法(或減法)指令時(shí),如果最高位無進(jìn)位(或有借位); 1:執(zhí)行加法(或減法)指令時(shí),如果最高位有進(jìn)位(或無借位)。 Bi

36、t1/DC:輔助進(jìn)位/借位標(biāo)志,被動(dòng)參數(shù)。 0:執(zhí)行加法(或減法)指令時(shí),如果低4位向高4位無進(jìn)位(或有借位); 1:執(zhí)行加法(或減法)指令時(shí),如果低4位向高4位有進(jìn)位(或無借位)。Bit2/Z:零標(biāo)志,被動(dòng)參數(shù)。 0:算術(shù)或邏輯運(yùn)算結(jié)果不為0; 1:算術(shù)或邏輯運(yùn)算結(jié)果為全0。,狀態(tài)標(biāo)志位,PIC上海技術(shù)培訓(xùn)中心,54,Bit6-Bit5/RP1-RP0:RAM數(shù)據(jù)存儲(chǔ)器體選位,僅用于直接尋址。 兩位復(fù)合選擇RAM數(shù)據(jù)

37、存儲(chǔ)器4個(gè)體,具體關(guān)系如下: RP1、RP0 = 0 0 選中體0 RP1、RP0 = 0 1 選中體1 RP1、RP0 = 1 0 選中體2 RP1、RP0 = 1 1 選中體3 Bit7/IRP:RAM數(shù)據(jù)存儲(chǔ)器體選位,僅用于間接尋址。 0:選擇數(shù)據(jù)存儲(chǔ)器低位體: 即體0(FSR的Bit7=0)或體1(FSR的Bit7=1);1: 選擇數(shù)據(jù)存

38、儲(chǔ)器高位體: 即體2(FSR的Bit7=0)或體3(FSR的Bit7=1)。,數(shù)據(jù)存儲(chǔ)器體選位,PIC上海技術(shù)培訓(xùn)中心,55,在RAM數(shù)據(jù)存儲(chǔ)器中,有一個(gè)非常特別的寄存器INDF它的專有功能是與FSR寄存器配合,實(shí)現(xiàn)間接尋址。 當(dāng)訪問地址INDF時(shí),實(shí)際上是訪問以FSR內(nèi)容為地址的數(shù)據(jù)存儲(chǔ)器RAM單元。,2.間接尋址的寄存器INDF和FSR,PIC上海技術(shù)培訓(xùn)中心,56,在直接尋址中,體選碼來自狀態(tài)寄存器STATUS的

39、RP1和RPO位,體內(nèi)的單元地址直接來自指令機(jī)器碼。而在間接尋址中,體選碼由STATUS的IRP位和FSR寄存器的BIT7組成,直接尋址/間接尋址方式的示意圖,PIC上海技術(shù)培訓(xùn)中心,57,程序計(jì)數(shù)器PC指針寬13位,它的內(nèi)容指向CPU將要執(zhí)行的下一條指令所在程序存儲(chǔ)器單元的地址。 低8位PCL有自己的地址,可讀可寫;而高5位PCH和其它單片機(jī)不一樣,即沒有自己的地址,不能用軟件訪問,也就不能直接寫人,只能用寄存器PCLA

40、TH裝載的方式進(jìn)行間接寫人。,3.與PC相關(guān)的寄存器PCL和PCLATH,PIC上海技術(shù)培訓(xùn)中心,58,兩種情況下PC值的裝入過程,PCLATH對(duì)于高5位PCH的裝載分兩種情況: 一種情況是當(dāng)執(zhí)行以PCL為目標(biāo)的寫操作指令時(shí),PC的低8位來自算術(shù)邏輯單元ALU,PC的高5位來自PCLATH的低5位; 另一種情況是當(dāng)執(zhí)行跳轉(zhuǎn)指令GOTO或調(diào)用子程序指令CALL時(shí),PC的低11位來自指令碼中直接攜帶的11位地址,高

41、2位由PCLATH3-4提供。,PIC上海技術(shù)培訓(xùn)中心,59,,程序存儲(chǔ)器: PC 絕對(duì)尋址,,通過 CALL 和 GOTO修改 PC (程序指針),,k,,k,k,k,k,k,k,k,k,,,x,x,x,k,k,x,x,x,PCLATH寄存器,有效的 13-位程序存儲(chǔ)器地址,11-位 來自指令,2-位來自PCLATH,k,k,k,k,PIC上海技術(shù)培訓(xùn)中心,60,,,movlwHIGH DelaymovwfPCLATHmo

42、vlwLOW DelaymovwfPCL,,*對(duì)于讀PC值時(shí): 僅從PCL讀低8位值, PCH不會(huì)被載入到PCLATH,,程序存儲(chǔ)器: PC 相對(duì)尋址,PIC上海技術(shù)培訓(xùn)中心,61,主要用于設(shè)置定時(shí)/計(jì)數(shù)器TMR0、前后分頻器、外部INT中斷以及B端口的弱上拉功能等各種控制位。,4.選項(xiàng)寄存器OPTION_REG,PIC上海技術(shù)培訓(xùn)中心,62,Bit2-Bit0/PS2-PS0:分頻器倍率選擇位,PIC上海技術(shù)培訓(xùn)中心

43、,63,Bit3/PSA:前后分頻器分配位,主動(dòng)參數(shù)。0: 分配給TMR0,作為TMR0的前分頻器;1: 分配給WDT,作為WDT的后分頻器。Bit4/T0SE:TMR0用于計(jì)數(shù)器,計(jì)數(shù)脈沖信號(hào)邊沿選擇位,主動(dòng)參數(shù)。0: RA4/T0CKI引腳上的上升沿增量;1: RA4/T0CKI引腳上的下降沿增量。Bit5/T0CS:定時(shí)/計(jì)數(shù)器TMR0時(shí)鐘源選擇位,主動(dòng)參數(shù)。0: 用內(nèi)部指令周期時(shí)鐘(CLKOUT)作為TMR0的觸發(fā)

44、脈沖;1: 用T0CKI引腳上的外部時(shí)鐘作為TMR0的觸發(fā)脈沖。Bit6/INTEDG:INT中斷信號(hào)觸發(fā)邊沿選擇位,主動(dòng)參數(shù)。0: BR0/INT引腳上的上升沿觸發(fā);1: BR0/INT引腳上的下降沿觸發(fā)。Bit7/RBPU:B端口弱上拉使能位,主動(dòng)參數(shù)。0: RB0-RB7引腳弱上拉使能;1: RB0-RB7引腳弱上拉不使能。,PIC上海技術(shù)培訓(xùn)中心,64,主要用于中斷控制方式的設(shè)置。,5.中斷控制寄存器INTCON,

45、PIC上海技術(shù)培訓(xùn)中心,65,端口寄存器PORTA (B)(C)(D)(E)端口I/O定義寄存器TRISA (B)(C)(D)(E)Di = 0 定義為輸出狀態(tài)Di = 1 定義為輸入狀態(tài),6.端口寄存器,PIC上海技術(shù)培訓(xùn)中心,66,指令是單片機(jī)的領(lǐng)導(dǎo)核心,就是指揮CPU按要求進(jìn)行一系列操作的命令。一般來說,單片機(jī)都具有自己特有的指令系統(tǒng),相互之間大都互不兼容。 PIC單片

46、機(jī)系列按照不同用戶的要求分成三個(gè)不同的應(yīng)用檔次。,第4章 PIC指令系統(tǒng),PIC上海技術(shù)培訓(xùn)中心,67,指令的執(zhí)行時(shí)間總是分解成兩部分:取指過程和執(zhí)行過程,取指的快慢直接與指令的字節(jié)數(shù)有關(guān),而指令的執(zhí)行快慢與時(shí)鐘的振蕩頻率有關(guān)。 在以往的單片機(jī)結(jié)構(gòu)中,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的地址空間和數(shù)據(jù)傳輸通道都相互并用,必須采用分時(shí)操作順序執(zhí)行。 而PIC單片機(jī)指令的執(zhí)行過程是遵循著一種全新哈佛總線體系結(jié)構(gòu)的原則,充分利用

47、計(jì)算機(jī)系統(tǒng)在程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器之間地址空間的相互獨(dú)立性,取指過程和執(zhí)行程序可以流水線操作同時(shí)進(jìn)行。,4.1 指令流水線操作原則,PIC上海技術(shù)培訓(xùn)中心,68,,Flush Fetch 4,,Fetch SUB_1,Tcy0 Tcy1 Tcy2 Tcy3 Tcy4,,,PIC單片機(jī)指令流水線示意,,,,,Execute 1,Fetch 3,1. MOVLW 55h,Fetch 1,Execute 3,,Fetc

48、h 2,,Execute 2,,Fetch 4,2. MOVWF PORTB,3. CALL SUB_1,4. BSF PORTA, BIT3,,PIC上海技術(shù)培訓(xùn)中心,69,在這種尋址方式中,操作數(shù)或其中之一(另一個(gè)是W)是立即數(shù), 隨指令碼攜帶,而無需再到其他地方去尋找。指令中的操作數(shù)為8-位常數(shù).使用立即數(shù)尋址方式的指令有: movlw, addlw, retlw, etc. 如: ADDLW16H,指

49、令尋址方式說明,1.寄存器立即尋址,14-位 立即尋址指令,,OP CODE,k,k,k,k,k,k,k,k,PIC上海技術(shù)培訓(xùn)中心,70,2.寄存器直接尋址,7-位 直接從指令中獲取2-位從‘STATUS ’寄存器中獲取如:IORWF26H,0,,PIC上海技術(shù)培訓(xùn)中心,71,3.寄存器間接尋址,8-位 間接地址來自 FSR (選擇寄存器).1-位 來自 STATUS 寄存器. 例如:MOVWF INDF,

50、這是一種比較特別的尋址方式,是通過兩個(gè)寄存器INDF和FSR的組合而實(shí)現(xiàn)功能的。操作數(shù)是FSR寄存器內(nèi)容位指針,所指向寄存器單元的內(nèi)容。,PIC上海技術(shù)培訓(xùn)中心,72,間接尋址實(shí)例,運(yùn)行機(jī)制: a) 清從0x20 to 0x7F所有的RAM區(qū)域 b)間接地址載入FSR c) 每一次對(duì)‘INDF’運(yùn)行,由FSR指向的寄存器被使用 例子:,movlw0x20mo

51、vwfFSRLOOPclrfINDFincfFSR,FbtfssFSR,7gotoLOOP,0000 0000,,,0000 0000,,,FSR = 20h,,,,INDF,00h,04h,20h,7Fh,,數(shù)據(jù)記憶區(qū),,PIC上海技術(shù)培訓(xùn)中心,73,這是PIC單片機(jī)的特色之一,它可以對(duì)所有的RAM數(shù)據(jù)存儲(chǔ)器進(jìn)行位尋址,即置位和清零等。 如:BSF 26H,4;(26H原為26H)

52、,4.位尋址,PIC上海技術(shù)培訓(xùn)中心,74,每條指令的字節(jié)長(zhǎng)度為14位,主要由說明指令功能的操作碼和參與指令處理的操作數(shù)組成。 操作碼部分,簡(jiǎn)稱助記符,如表4-2核心助記符,是借用英語(yǔ)單詞來間接表達(dá)和定義其操作功能。 操作數(shù)部分,是按照操作碼的操作功能,對(duì)操作數(shù)進(jìn)行處理。 根據(jù)操作數(shù)的源地址和目標(biāo)地址的訪問性質(zhì),可以有多種表現(xiàn)形式:主要有直接尋址、間接尋址、立即尋址和位尋址四類。,4.2 指令集

53、說明,PIC上海技術(shù)培訓(xùn)中心,75,核心助記符,PIC上海技術(shù)培訓(xùn)中心,76,指令系統(tǒng)補(bǔ)充字符說明,PIC上海技術(shù)培訓(xùn)中心,77,數(shù)據(jù)傳送類指令共有4條指令,主要功能是將數(shù)據(jù)從源地址(或立即數(shù))傳送至目標(biāo)地址中。,4.2.1 數(shù)據(jù)傳送類指令,PIC上海技術(shù)培訓(xùn)中心,78,【例題4-1】 請(qǐng)利用數(shù)據(jù)傳送類指令編寫一段子程序,將立即數(shù)20H傳送到通用寄存器20H中。 【例題4-2】 請(qǐng)利用數(shù)據(jù)傳送類指令編寫一段子程序,將通用寄存器20H

54、和30H中的內(nèi)容進(jìn)行交換。,PIC上海技術(shù)培訓(xùn)中心,79,算術(shù)運(yùn)算類指令是PIC單片機(jī)指令系統(tǒng)中,承擔(dān)運(yùn)算功能的重要部分,共有6條指令。主要有加減指令、增量和減量指令,4.2.2 算術(shù)運(yùn)算類指令,PIC上海技術(shù)培訓(xùn)中心,80,【例題4-3】 請(qǐng)將通用寄存器20H、30H構(gòu)成的16位數(shù)據(jù)與通用寄存器40H、50H構(gòu)成的16位數(shù)據(jù)相加后放入40H、50H 中,已知其和不會(huì)超出65535。,PIC上海技術(shù)培訓(xùn)中心,81,邏輯運(yùn)算類指令是一組比

55、較復(fù)雜的指令,形式較多,可以對(duì)位和字節(jié)進(jìn)行邏輯操作。主要有與、或、異或、清零、置位、取反和左右移位等14條指令,4.2.3 邏輯運(yùn)算類指令,PIC上海技術(shù)培訓(xùn)中心,82,【例題4-4】 請(qǐng)將數(shù)據(jù)存儲(chǔ)器20H和30H中的數(shù)據(jù)分別與立即數(shù)20H、30H相與和相或后相加,結(jié)果放入40H存儲(chǔ)器中,請(qǐng)編寫相應(yīng)的程序。 【例題4-5】 請(qǐng)編寫一個(gè)完整的程序,將數(shù)據(jù)存儲(chǔ)器20H低4位和30H高4位組合成一個(gè)八位二進(jìn)制數(shù)據(jù),并從RC端口輸出。,PI

56、C上海技術(shù)培訓(xùn)中心,83,控制轉(zhuǎn)移類指令,是在指令系統(tǒng)中形式靈活、功能較強(qiáng)的一組指令,共11條。它們是構(gòu)成程序循環(huán)和跳轉(zhuǎn)的關(guān)鍵要素,一般可以分為有條件跳轉(zhuǎn)和無條件跳轉(zhuǎn)兩大類。,4.2.4 控制轉(zhuǎn)移類指令,PIC上海技術(shù)培訓(xùn)中心,84,這是一種比較特殊的轉(zhuǎn)移形式,根據(jù)位測(cè)試或加減1后的內(nèi)容判斷條件的成立與否,而決定程序繼續(xù)執(zhí)行還是間跳執(zhí)行指令。 當(dāng)前判斷語(yǔ)句A下一條語(yǔ)句B 再下一條語(yǔ)句C,1.相對(duì)轉(zhuǎn)移間跳,PIC上

57、海技術(shù)培訓(xùn)中心,85,PIC指令系統(tǒng)的絕對(duì)轉(zhuǎn)移,主要由CALL和GOTO語(yǔ)句引出。在指令機(jī)器碼內(nèi)部本身并沒有攜帶完整的轉(zhuǎn)移目標(biāo)地址,只包含低11位地址,而高2位將由PCLATH寄存器給出。 【例題4-6】 請(qǐng)將通用寄存器單元20H-2FH,分別對(duì)應(yīng)賦值20H-2FH,請(qǐng)編寫相應(yīng)的軟件程序。,2.絕對(duì)轉(zhuǎn)移和調(diào)用,PIC上海技術(shù)培訓(xùn)中心,86,【例題4-7】 請(qǐng)分析以下程序片段,并指出當(dāng)程序執(zhí)行完后,涉及到的所有存儲(chǔ)器單元的

58、結(jié)果。 MOVLW22HMOVWF22HMOVWFFSRADDWFINDF,FINCFINDFSWAPF22H,WRLF22H,WDECFFSR,FMOVWFINDFBSFINDF,7【例題4-6】編寫散轉(zhuǎn)指令程序,PIC上海技術(shù)培訓(xùn)中心,87,Microchip公司為PIC系列單片機(jī)配備了功能強(qiáng)大、基于Windows、易學(xué)易用的軟件集成開發(fā)環(huán)境MPLAB。 該開

59、發(fā)環(huán)境可以使人們?cè)谧约旱奈C(jī)系統(tǒng)上,對(duì)PIC系列單片機(jī)進(jìn)行程序的創(chuàng)建、錄入、編輯以及匯編,還能方便而靈活地實(shí)現(xiàn)程序的模擬運(yùn)行和動(dòng)態(tài)調(diào)試,可以對(duì)實(shí)際應(yīng)用系統(tǒng)進(jìn)行在線仿真和功能模塊開發(fā)。,第5章 PIC集成開發(fā)系統(tǒng),PIC上海技術(shù)培訓(xùn)中心,88,PIC單片機(jī)指令系統(tǒng)和其它單片機(jī)一樣,是較為低級(jí)的語(yǔ)言系統(tǒng),是一套控制和指揮CPU工作的編碼,即機(jī)器語(yǔ)言。 單片機(jī)只能識(shí)別和執(zhí)行由二進(jìn)制數(shù)組成的機(jī)器語(yǔ)言,然而,這樣一種二進(jìn)制代碼的機(jī)器語(yǔ)

60、言是很難為人們直接理解和分析。 為了能較好表達(dá)人們的設(shè)計(jì)思路,便于記憶和使用,人們?cè)诘图?jí)語(yǔ)言之上設(shè)計(jì)出一種新的符號(hào)語(yǔ)言,即匯編語(yǔ)言。,第6章 匯編語(yǔ)言程序設(shè)計(jì),PIC上海技術(shù)培訓(xùn)中心,89,PIC單片機(jī)指令系統(tǒng)和其它單片機(jī)一樣,是較為低級(jí)的語(yǔ)言系統(tǒng),是一套控制和指揮CPU工作的編碼,即機(jī)器語(yǔ)言。 為了能較好表達(dá)人們的設(shè)計(jì)思路,便于記憶和使用,人們?cè)诘图?jí)語(yǔ)言之上設(shè)計(jì)出一種新的符號(hào)語(yǔ)言,即匯編語(yǔ)言。,6.1 匯編語(yǔ)言

61、指令格式,PIC上海技術(shù)培訓(xùn)中心,90,根據(jù)指令的功能和作用,只有操作碼是必須存在的,它主要決定了指令的操作性質(zhì),而其它部分是指令語(yǔ)句的重要補(bǔ)充和說明,有時(shí)可以缺省。,PIC上海技術(shù)培訓(xùn)中心,91,標(biāo)號(hào)位于指令助記符前面,它一般是用于表示指令所在的地址,例如表示主程序或子程序的起始地址、轉(zhuǎn)移語(yǔ)句的入口地址等。,1.標(biāo)號(hào),PIC上海技術(shù)培訓(xùn)中心,92,標(biāo)號(hào)并不是指令的必須部分,只有那些欲被其他語(yǔ)句引用的指令之前,才必須附加標(biāo)號(hào)。標(biāo)號(hào)不一定

62、和語(yǔ)句同行,可以單獨(dú)在語(yǔ)句上方作為一行使用。標(biāo)號(hào)最多可以由32個(gè)字母、數(shù)字和其它一些字符組成,但第一個(gè)字符必須是字母或下劃線。標(biāo)號(hào)不能用系統(tǒng)保留字,即系統(tǒng)禁用指令助記符、寄存器名、標(biāo)志符等作為標(biāo)號(hào),如:ADD、PCLATH等。一個(gè)標(biāo)號(hào)只能表示一個(gè)地址,不允許多個(gè)地址用一個(gè)標(biāo)號(hào)重復(fù)定義。標(biāo)號(hào)的定義和引用必須一致,其中的大小寫可以混寫但必須相同。標(biāo)號(hào)必須頂格書寫,結(jié)束不用冒號(hào)。,使用標(biāo)號(hào)的要點(diǎn)是:,PIC上海技術(shù)培訓(xùn)中心,93,操作

63、碼決定著指令的操作類型和操作性質(zhì),是匯編語(yǔ)言語(yǔ)句中的核心要素,每一條匯編指令都不可缺少,而其它三部分有些指令可以缺省。,2. 操作碼,PIC上海技術(shù)培訓(xùn)中心,94,操作碼所對(duì)應(yīng)的指令助記符,其中的符號(hào)大小寫可以混寫,而不會(huì)影響操作碼的含意,這一點(diǎn)和標(biāo)號(hào)、操作數(shù)符號(hào)變量的表達(dá)方式是有本質(zhì)區(qū)別。指令助記符不能頂格書寫,當(dāng)前面沒有標(biāo)號(hào)時(shí),必須至少保留一個(gè)空格。操作碼核心助記符部分比較簡(jiǎn)單,初學(xué)者必須熟悉復(fù)合助記符部分的功能。,有關(guān)操作碼(

64、指令助記符)的要點(diǎn)是:,PIC上海技術(shù)培訓(xùn)中心,95,在PIC匯編語(yǔ)言語(yǔ)句中,操作數(shù)的形式和內(nèi)容最為豐富,它是指令助記符操作的對(duì)象,一般以數(shù)據(jù)或地址的形式出現(xiàn),也可以用符號(hào)變量所表示的數(shù)據(jù)或地址。,3.操作數(shù),PIC上海技術(shù)培訓(xùn)中心,96,使用操作數(shù)的要點(diǎn)是:,若操作數(shù)有二項(xiàng),中間應(yīng)該用逗號(hào)(半角)分開。以A、B、C、D、E、F開頭的數(shù),前面應(yīng)加0作為引導(dǎo)。MPASM編輯環(huán)境默認(rèn)進(jìn)制為十六進(jìn)制,也可按用戶需要進(jìn)行重新設(shè)置。操作數(shù)部

65、分的符號(hào)變量必須區(qū)分大小寫。重視d參數(shù)的應(yīng)用,目標(biāo)地址為: F(d=1);W(d=0)。,PIC上海技術(shù)培訓(xùn)中心,97,各種進(jìn)制168的表示形式,PIC上海技術(shù)培訓(xùn)中心,98,注釋內(nèi)容用分號(hào)引出,是匯編語(yǔ)言語(yǔ)句功能的一種補(bǔ)充說明,主要是便于人們閱讀、分析、修改和程序的調(diào)試。,4. 注釋,PIC上海技術(shù)培訓(xùn)中心,99,用(半角)分號(hào)引出注釋內(nèi)容,可以緊跟指令之后,也可以獨(dú)立一行或多行書寫,但每一行均需由分號(hào)引出。注釋內(nèi)容可以英文書寫,

66、也能用中文書寫(來源于文本編輯內(nèi)容)。,使用注釋的要點(diǎn)是:,PIC上海技術(shù)培訓(xùn)中心,100,各種單片機(jī)的匯編程序除了指令系統(tǒng)語(yǔ)句以外,一般都還定義許多非正式指令的語(yǔ)句,即偽指令。大多數(shù)偽指令匯編時(shí)并不產(chǎn)生機(jī)器碼,僅為源程序提供匯編控制信息。,6.2 系統(tǒng)偽指令,PIC上海技術(shù)培訓(xùn)中心,101,格式:ORG nnnn 說明:ORG偽指令指出緊跟在該偽指令后的機(jī)器碼指令的匯編地址,即經(jīng)匯編后生成的機(jī)器碼目標(biāo)程序或數(shù)據(jù)塊在單片機(jī)程

67、序存儲(chǔ)器中的起始存放地址。,1.定位偽指令:ORG(Origin),PIC上海技術(shù)培訓(xùn)中心,102,格式:符號(hào)名 EQU nn 說明:EQU偽指令幾乎每一個(gè)程序中都用到,其操作含意是使EQU兩端的值相等。一般在PIC的程序設(shè)計(jì)中,原則上每次遇到新的符號(hào)參數(shù),都必須在前面補(bǔ)充定義符號(hào)名的初始數(shù)值或存儲(chǔ)器地址。 符號(hào)名一旦被EQU賦值,其值便不能被再重新定義。這里的符號(hào)名,既可以是PIC中的特殊功能寄存器、一個(gè)

68、常數(shù),或者是表示一個(gè)通用數(shù)據(jù)存儲(chǔ)器地址。,2.賦值偽指令:EQU(Equate),PIC上海技術(shù)培訓(xùn)中心,103,實(shí)際上對(duì)于偽指令:ABC EQU20H,其中ABC既可以認(rèn)為是符號(hào)變量,因?yàn)锳BC代表20H地址;又可以認(rèn)為是符號(hào)常量,因?yàn)锳BC可以代表符號(hào)常量20H。 所以對(duì)于一個(gè)定義的符號(hào)量,應(yīng)結(jié)合引用的指令進(jìn)行分析才能真正確定符號(hào)量的類型。,分析 ABC EQU20H,PIC上海技術(shù)培訓(xùn)中心,104,【例題6-2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論