日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]工作以來一直使用ST的單片機,其他的單片機雖大致了解但從未認真看過,近幾日恰好無事,決定熟悉一下PIC的單片機,于是想將自己從網(wǎng)上或這書本上的東西轉(zhuǎn)下來,予以同一樣的初學者共同參考。 PIC的指令系統(tǒng) PIC 8位

工作以來一直使用ST的單片機,其他的單片機雖大致了解但從未認真看過,近幾日恰好無事,決定熟悉一下PIC的單片機,于是想將自己從網(wǎng)上或這書本上的東西轉(zhuǎn)下來,予以同一樣的初學者共同參考。
PIC的指令系統(tǒng)
PIC 8位單片機共有三個級別,有相對應的指令集?;炯塒IC系列芯片共有指令33條,每條指令是12位字長;中級PIC系列芯片共有指令35條,每條指令是14位字長;高級PIC系列芯片共有指令58條,每條指令是16位字長。其指令向下兼容。

  一、PIC匯編語言指令格式
  PIC系列微控制器匯編語言指令與MCS-51系列單片機匯編語言一樣,每條匯編語言指令由4個部分組成,其書寫格式如下:
  標號 操作碼助記符 操作數(shù)1,操作數(shù)2;注釋
  指令格式說明如下:指令的4個部分之間由空格作隔離符,空格可以是1格或多格,以保證交叉匯編時,PC機能識別指令。
  1?標號 與MCS-51系列單片機功能相同,標號代表指令的符號地址。在程序匯編時,已賦以指令存儲器地址的具體數(shù)值。匯編語言中采用符號地址(即標號)是便于查看、修改,尤其是便于指令轉(zhuǎn)移地址的表示。標號是指令格式中的可選項,只有在被其它語句引用時才需派上標號。在無標號的情況下,指令助記符前面必須保留一個或一個以上的空格再寫指令助記符。指令助記符不能占用標號的位置,否則該助記符會被匯編程序作標號誤處理。
  書寫標號時,規(guī)定第一字符必須是字母或半角下劃線“—”,它后面可以跟英文和數(shù)字字符、冒號(:)制符表等,并可任意組合。再有標號不能用操作碼助記符和寄存器的代號表示。標號也可以單獨占一行。
  2?操作碼助記符 該字段是指令的必選項。該項可以是指令助記符,也可以由偽指令及宏命令組成,其作用是在交叉匯編時,“指令操作碼助記符”與“操作碼表”進行逐一比較,找出其相應的機器碼一一代之。
  3?操作數(shù) 由操作數(shù)的數(shù)據(jù)值或以符號表示的數(shù)據(jù)或地址值組成。若操作數(shù)有兩個,則兩個操作數(shù)之間用逗號(,)分開。當操作數(shù)是常數(shù)時,常數(shù)可以是二進制、八進制、十進制或十六進制數(shù)。還可以是被定義過的標號、字符串和ASCⅡ碼等。具體表示時,規(guī)定在二進制數(shù)前冠以字母“B”,例如B10011100;八進制數(shù)前冠以字母“O”,例如O257;十進制數(shù)前冠以字母“D”,例如D122;十六進制數(shù)前冠以“H”,例如H2F。在這里PIC 8位單片機默認進制是十六進制,在十六進制數(shù)之前加上Ox,如H2F可以寫成Ox2F。
  指令的操作數(shù)項也是可選項。
  PIC系列與MCS-51系列8位單片機一樣,存在尋址方法,即操作數(shù)的來源或去向問題。因PIC系列微控制器采用了精簡指令集(RISC)結(jié)構(gòu)體系,其尋址方式和指令都既少而又簡單。其尋址方式根據(jù)操作數(shù)來源的不同,可分為立即數(shù)尋址、直接尋址、寄存器間接尋址和位尋址四種。所以PIC系列單片機指令中的操作數(shù)常常出現(xiàn)有關(guān)寄存器符號。有關(guān)的尋址實例,均可在本文的后面找到。
  4?注釋 用來對程序作些說明,便于人們閱讀程序。注釋開始之前用分號(;)與其它部分相隔。當匯編程序檢測到分號時,其后面的字符不再處理。值得注意:在用到子程序時應說明程序的入口條件、出口條件以及該程序應完成的功能和作用。

  二、清零指令(共4條)
  1?寄存器清零指令
  實例:CLRW;寄存器W被清零
  說明:該條指令很簡單,其中W為PIC單片機的工作寄存器,相當于MCS-51系列單片機中的累加器A,CLR是英語Clear的縮寫字母。
  2?看門狗定時器清零指令。
  實例:CLRWDT;看門狗定時器清零(若已賦值,同時清預分頻器)
  說明:WDT是英語Watchdog Timer的縮寫字母。CLR見上述說明。注意該兩條指令無操作數(shù)。
  3?寄存器f清零指令。指令格式:CLRF f
  實例:CLRF TMRO;對TMRO清零
  說明:在PIC系列8位單片機中,常用符號F(或f)代表片內(nèi)的各種寄程器和F的序號地址。F取值按PIC系列不同型號而不同,一般為Ox00~Ox1F/7F/FF。TMRO代表定時器/計數(shù)器TMRO,所以CLRF對寄程器清零,采用了直接尋址方式直接給出要訪問的寄存器TMRO。
  4?位清零指令。指令格式 BCF f,b
  實例:BCF REG1,2;把寄存器REG1的D2位清零
  說明:BCF是英語Bit Clear F的縮寫。指令格式中的F,同上說明;符號b是表示PIC片內(nèi)某個8位數(shù)據(jù)寄存器F的位號(或位地址),所以b的取值為0~7或D0~D7。實例中REG是Register的縮寫。實例中的2代表指令格式中的b=2即寄存器REG1的D2位。
  通過上述四條清零指令格式和實例,可以說明,學習PIC系列8位單片機的指令時應首先了解指令的助記符意義(功能),再有就是它的表達方式。初學者沒有必要死記指令,重要是理解和實踐。

  三、面向字節(jié)、常數(shù)與控制操作的指令

  1?傳送立即數(shù)至工作寄存器W指令
  指令格式:MOVLW k;k表示常數(shù)、立即數(shù)和標號
  說明:MOVLW是Move Literal to w的縮寫
  實例:MOVL 0x1E;常數(shù)30送W

  2?I/O口控制寄存器TRIS設(shè)置指令
  指令格式;TRIS f
  說明;TRIS f是Load TRIS Register的縮寫。其功能是把工作寄存器W的內(nèi)容送入I/O口控制寄存器f。當W=0時,置對應I/O口為輸出;W=1,置I/O口為輸入。


  實例:MOVLW 0x00 ;把00H送入W
     TRIS RA ;置PIC RA口為輸出
     MOVLW 0xFF ;把FFH送入W
     TRIS RB ;置PIC RB口為輸入


  說明:這是PIC匯編語言中常用的幾條指令,即設(shè)置某個I/O口(這里是RA口和RB口)為輸入或輸出的語句??梢?,識讀指令時,一應充分理解語句格式的功能,二應前后聯(lián)系閱讀。


  3?W寄存器內(nèi)容送寄存器f(W內(nèi)容保持不變)指令
  指令格式:MOVWF f
  說明:MOVWF是Move W to f的縮寫
  實例:MOVLW 0x0B;送0BH送W
     MOVWF 6 ;送W內(nèi)容到RB口
  說明:第一條指令0x0B(常數(shù)11)送工作寄存器W,第二條指令,把W內(nèi)容常數(shù)11送到寄存器F6中,查表F6即為RB口,所以PORT_B(B口)=0BH=D11


  4?寄存器f傳送指令
  指令格式:MOVF f,d
  說明:MOVF是Move f的縮寫。F代表PIC中的某個寄存器。指令中的d規(guī)定:d=0時,f內(nèi)容送W;d=1時,f內(nèi)容送寄存器。
  實例:MOVF 6,0 ;RB口內(nèi)容送W
     MOVWF 8  ;RB口內(nèi)容送f8
  說明:第一條指令中的6代表寄存器f=6,查寄存器表f=6為RB口;0代表d=0,代表選擇的目標為寄存器W。第二條指令中的8代表寄存器f=8。所以兩條指令結(jié)果是把RB口的內(nèi)容送f8。至于f8內(nèi)容是多少?還應在匯編語言開始時附加指令,這里從略。

  5?空操作指令
  指令格式:NOP
  說明:NOP是英語No Operation的縮寫。NOP無操作數(shù),所以稱為空操作。執(zhí)行NOP指令只使程序計數(shù)器PC加1,所以占用一個機器周期。
  實例:MOVLW 0xOF   ;送OFH到W
     MOVWF PORT_B ;W內(nèi)容寫入B口
     NOP      ;空操作
     MOVF PORT_B,W ;讀操作
  說明:該三條指令是一種對I/O口的B口連續(xù)操作的實例,其目的達到寫入B口的內(nèi)容要讀出時,應保證寫、讀之間有個穩(wěn)定時間,因此加入了空操作指令NOP。

  6?無條件跳轉(zhuǎn)指令
  指令格式:GOTO k
  說明:執(zhí)行該條指令時,將指令轉(zhuǎn)移到指定的地址(跳轉(zhuǎn))。指令中的k,常與程序中的標號聯(lián)系起來。
  實例:見第9條指令中

  7?寄存器內(nèi)容減1,結(jié)果為零的間跳指令
  指令格式:DECFSZ f,d
  說明:DECFSZ是英語Decrement f,Skip of not 0的縮寫。符號f,d代表的意義,前述已作說明。該條指令是指寄存器的內(nèi)容減1存入W(d=0)或f(d=1)中。若指令執(zhí)行結(jié)果減1不為零,指令順序執(zhí)行;為零時,就間跳下一條指令后再執(zhí)行(等效順序執(zhí)行一條空指令NOP),實際指令中,當d=1時,該項常被略去。

  8?寄存器內(nèi)容加1,結(jié)果為零間跳指令
  指令格式:INCFSZ f,d
  說明:INCFSZ是英語Increment f,Skip of 0的縮寫。該條指令與上一條(7)指令差別僅在于“1”上,即執(zhí)行這條指令時,寄存器f內(nèi)容加1,若結(jié)果不為零,則指令順序執(zhí)行;為零則指令間跳執(zhí)行。執(zhí)行這條指令的其它邏輯關(guān)系與上條相同。

  9?子程序返回指令
  指令格式:RETLW k
  說明:RETLW是Return Literal to W的縮寫。該指令代表子程序返回,返回前先把8位立即數(shù)送W。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

pic單片機應用很多,生活中到處都有pic單片機的身影。小編個人也是從事pic單片機開發(fā)的人員之一,對于pic單片機有一定的理解。今天,小編將帶領(lǐng)大家一起看一下pic單片所具備的8大優(yōu)勢。

關(guān)鍵字: pic 單片機 寄存器

SpiceJet 成為首家借力Q400客機提升盈利潛力的航空公司 加拿大多倫多, Sept. 24, 2018 (GLOBE NEWSWIRE) -- Bombardier Commercial

關(guān)鍵字: pic ce

什么是PIC單片機?你知道多少?時代的變遷,PIC單片機是這個時代的新寵。之前我們對pic單片機的I/O接口進行過闡述,不是很詳細。本期對關(guān)于PIC單片機的各種內(nèi)部硬件資源加以介紹,以幫助大家全面掌握pic單片機打下夯實...

關(guān)鍵字: pic 單片機 電路

pic單片機具備很多應用,對于pic單片機,想必大家并不陌生。往期文章中,小編對pic單片機做過諸多介紹。本文中,小編將為大家?guī)?個pic單片機問題,并予以解答。而在之后的pic單片機文章中,小編將帶來另外6個問題。如...

關(guān)鍵字: pic pic單片機 單片機 指數(shù)

對于c編譯器,大家應早已熟悉。往期文章中,小編帶來諸多c編譯器相關(guān)文章,尤其是gcc c編譯器。本文中,小編將對gcc c編譯器如何編譯c程序予以介紹,并在文章的后半部分向大家講解如果選擇pic單片機的c編譯器。如果你對...

關(guān)鍵字: c編譯器 gcc pic 指數(shù)

?2020年2月13日,北京——是德科技宣布,該公司即將與國家信息光電子創(chuàng)新中心(NOEIC)和CompoundTek展開合作,三方攜手建立光子集成電路(PIC)自動化測試的布局設(shè)計標準。

關(guān)鍵字: pic 自動化測試 fdr

?Microchip PIC18-Q43系列產(chǎn)品將更多的獨立于內(nèi)核的外設(shè)(CIP)及功能豐富的開發(fā)工具生態(tài)系統(tǒng)相結(jié)合,可改善實時控制和互聯(lián)應用的設(shè)計

關(guān)鍵字: MCU pic cip

還有一個問題也是值得注意的,就是在中斷服務程序中避免打開全局中斷允許位,因為PIC單片機不支持中斷嵌套,否則在執(zhí)行一個中斷服務程序還未結(jié)束就進入另一個中斷服務程序后,上一個中斷的現(xiàn)場參數(shù)將遭到破壞,從而導致程序產(chǎn)生不可預...

關(guān)鍵字: pic 單片機 電源技術(shù)解析

Pic單片機的學習是存在一定難度的,一是因為必須具備一定的pic單片機基礎(chǔ)知識,二是需對pic單片機的所有引腳等有一定的了解。這篇文章是小編在學習pic單片機寫的一篇比較適合pic單片機初入門朋友閱讀的文章,一起了解下吧...

關(guān)鍵字: pic pic單片機 單片機

Microchip Technology Inc.(美國微芯科技公司)今日宣布推出最新版本的統(tǒng)一軟件框架MPLAB® Harmony 3.0(v3),首次為SAM MCU提供支持。

關(guān)鍵字: Microchip pic am單片機
關(guān)閉