您的位置:網站首頁 > 電器維修資料網 > 正文 >
PIC單片機的指令和源程序
來源: 日期:2013-11-16 22:08:24 人氣:標簽:
說明:
(1)movlw即為助記符指令,k稱為操作數。因w是8位的,所以立即數的取值為0≤k≤255。
(2)上述指令的功能是k送w(3)實例1:movlw。;把0→+w。
實例2:movlwb00011111’;把二進制數的000送w的高三位,1111:1送到w的低五位。
2.特殊功能寄程器trisb、portb、trisa、porta和w的內容送寄存器f指令。
pic單片機端口a、b(或c、d……)在匯編語言中的表達式分別為porta、portb,對pic16f84,porta是一個五位的i/o(雙向)寄存器;portb是一個8位i/o寄存器;pic16f627的porta、portb均是8位寄存器。若要求a或b口為輸入(in)或輸出(out),必須給端口的控制寄存器tris(a或b)送相應的數。i/o端口控制寄存器trisx(x可代表a、b、c、d……)是一個特殊功能只寫寄存器,其功能是直接控制pic單片機的各端口為輸入或輸出。當寫入trisx寄存器的位(可以是1~8位)為1時,則x口被設置成輸入口;為0時,x口被設置成輸出口。寫入trisx數的方法,由工作寄存器w完成。為此特介紹一條w內容(常數k)送寄存器f的指令:
說明:(1)上述指令功能是把w的內容(可以是常數k)傳送至寄存器f,f可以是一種ram,也可以是特殊功能寄存器。
3.狀態寄存器status和寄存器體選bank0、bank1……的方法
pic單片機內部的狀態寄存器status也是一種特殊功能寄存器。狀態寄存器可作任何指令的操作數(被寫對象),以完成status的多種控制功能。不同型號的pic單片機其對應的狀態寄存器略有不同,差別很小。下圖是pic16cxx(包括pic16f84)的狀態寄存器每位的專用功能符號,且每位的符號均有一定的控制功能。這里主要介紹rp1、rp0(第6、5位)的功能。
pic16f84芯片內部有些特殊功能寄存器是處于存儲體bank1中,如trisa、trisb,在建立源程序它們被派上用場時,必須首先利用指令選擇它們的所在的存儲體(尋址),此時需要設置狀態寄存器status的rp1、rp0(第6、5位)的兩位狀態置,即可完成指定寄存器的體選功能。選擇的方法如下圖所示。為此介紹兩條pic單片機面向位的指令
說明:上述指令功能是寄存器f可代表特殊功能寄存器)位的清零指令,其中b是寄存器(8位的)的位地址,b取值為0≤b≤7
說明:上述指令功能是寄存器f位的置1指令,b的意義同上。
實例:當pic16f84的控制寄存器trisa、trisb被派上用場時,因控制寄存器tris在pic16f84內部硬件資源的存儲體bank1中,所以在建立相關的源程序時,應進行體選,即有下述一組選體指令:
說明:上述的指令組合完成了兩個功能,(1)對狀態寄存器第5、6位的置數,達到了選取控制寄存器tris所在的存儲體bank1(尋址);(2)設定了pic16f84的b口為輸出、a口為輸入。
4.建立pic16f84可執行的源程序實例。利用偽指令和助記符指令的基本知識,即可建立pic16f84單片機具有簡單功能的源程序:
說明
(1)上述pic16f84源程序是可執行的。所謂可執行是指:當把該源程序在pc機上編輯(用鍵盤敲入源程序字符)再命名和選擇了盤符路徑后,即可在mplab集成開發軟件中進行匯編,匯編生成目標碼hex文件,即可在pic編程器中將源程序固化,再用實驗板做相應的實驗。
(2)該源程序的功能是設置pic16f84的b口輸出相間的高電平。若用實驗編程器的實驗板做實驗,一旦在實驗板的插座上插入pic16f84芯片,再插入適配器電源,實驗板上的8只led(b口接的),則會間亮。讀者還可將源程序中movlw b’l0101010’的二進制數任意改寫,可使b口外接的led按你需要點亮。
(3)從上述源程序中可以看出,pic單片機源程序的格式為:
標號助記符指令操作數;注釋其中標號代表指令的符號地址,可表示轉移指令(如goto)中轉移的地址。在實際的源程序中,不一定每條指令都需加標號,只有在需要時,才需加上標號。標號可用英語字符組成(自定義)。
(4)源程序中的注釋,是不參與匯編的,主要供編程者便于查看。所以注釋應簡短,說明問題即可。注釋應以該條指令在源程序中的功能為主,而不是指指令本身的功能。注釋之前定加“;”分號。此外,書寫指令時,標號、助記符指令、操作數、注釋之間至少應有一空格。若一行語句無標號,則助記符指令前至少應留一個空格。注意:源程序的書寫 好排列整齊,以便閱讀。
(5)書寫源程序時,若操作數為特殊功能寄存器,應用大寫英語字母,否則匯編不會成功。所以為了書寫方便,建議在書寫源程序時,所有的英語符號(包括助記符指令)均用大寫為好。
(6)在源程序中常用了各種語句的符號如“,”“,”“;”“’”等,不同的指令語句,其符號不同,切勿錯用,否則匯編不會成功。
(7)源程序建立完后,還需命名。源程序名由主文件名和擴展名組成。主文件名可自定義,擴展名定義為.asm。
【看看這篇文章在百度的收錄情況】
相關文章
- 上一篇: 建立PIC單片機源程序必備的基本知識
- 下一篇: 光電二極管的工作原理