日本高清不卡中文字幕-一起草草视频在线观看-亚洲精品一区二区三区色-国产亚洲精品免费视频

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> PIC單片機指令系統(tǒng)及設(shè)計

PIC單片機指令系統(tǒng)及設(shè)計

關(guān)鍵字:PIC 單片機 指令系統(tǒng) 作者:admin 來源:不詳 發(fā)布時間:2018-05-19  瀏覽:20

1.空操作指令 NOP

此指令起到單純的延時,延長一個指令周期,不進(jìn)行任何操作

2.寄存器傳送指令 MOVWF f

此指令作用為將W寄存器中的數(shù)據(jù)放到F寄存器

例: MOVLW 10 (將立即數(shù)10放入 W寄存器)

MOVWF 11 (將W寄存器中的數(shù)據(jù)放入F11寄存器中)

可能原來使用51系列單片機的朋友看這些程序有點別扭,呵呵,我就有點別扭,

但理解起來應(yīng)該并不困難

3.清工作寄存器W CLRW

此語句需要一個指令周期,作用讓W(xué)=0,影響狀態(tài)寄存器Z標(biāo)志位,W清0則Z為1

狀態(tài)寄存器F3各位定義:

D7 D6 D5 D4 D3 D2 D1 D0

PA2 PA1 PA0 TO PD Z DC C

(1)C志位既為進(jìn)位/借位標(biāo)志 ,當(dāng)兩個數(shù)相加時產(chǎn)生了進(jìn)位則C=1反之C=0此處跟

51系列單片機匯編沒有什么區(qū)別,但當(dāng)兩個數(shù)相減的時候如果得到的數(shù)據(jù)為負(fù),也就

也就是說產(chǎn)生了借位則C=0,反之C=1這是與51系列單片機不同之處。

(2)DC位為半進(jìn)位標(biāo)志。當(dāng)進(jìn)行減法或者加法的時候低四位操作產(chǎn)生進(jìn)位的時候則

DC=1

(3)這是0標(biāo)志,在算術(shù)邏輯操作結(jié)果為0的時候 Z=1

(4)PD位為低功耗標(biāo)志,在上電或者執(zhí)行CLRWDT時候,此位為1,當(dāng)執(zhí)行SLEEP指令的

時候此位為0

(5)TO位是WDT超時標(biāo)志,當(dāng)上電或者執(zhí)行CLRWDT,SLEEP指令的時候該位為1,當(dāng)

WDT超時的時候此位為0

(6)PA0和PA1可讀可寫,可以通過他的設(shè)置來選擇程序存儲器的頁面

(7)PA2為保留位

4.清數(shù)據(jù)寄存器 CLRF f,d

清理寄存器F(f)為0 當(dāng)d=1的時候只清除F(f),當(dāng)d=0的時候同時清除W寄存器

例: CLRF 11,1 (F11=0 W寄存器數(shù)據(jù)不改變)

CLRF 11,0 (F11=0,W=0)

此指令為單周期指令,其實PIC里的大多數(shù)匯編指令都是單周期指令,只有CALL和

GOTO指令需要兩個周期

5。寄存器相減 SUBWF f,d

例: MOVLW 10

MOVWF 11

MOVLW 12

SUBWF 11,1

此程序的意思就是將W寄存器中先放入10,然后將W中的數(shù)據(jù)放在F11數(shù)據(jù)寄存器中

然后再向W寄存器中放12,再指令SUBWF 11,1 意思是用F11中的數(shù)減去W中的數(shù)據(jù)

然后把結(jié)果放在F11中,因為d=1 ,如果把指令換成SUBWF 11,0的話則把結(jié)果放在

W寄存器中,影響到的標(biāo)志位有C ,DC,Z,關(guān)于如何影響我想就不用說了吧,前面已經(jīng)

詳細(xì)說明這幾個位是如何改變的

6.寄存器減1 DECF f,d

將f寄存器中的數(shù)據(jù)減1然后放入d d=0的時候放入W,D=1的時候放入 f

7.寄存器或 IORWF f,d

通過前面幾條指令的解釋我想這個就應(yīng)該很簡單了,無非將W與F取或后存入D

8寄存器與 ANDWF f,d

9.寄存器異或 XORWF f,d

10,寄存器相加 ADDWF f,d

11,寄存器傳送 MOVF f,d

將F(f)中的數(shù)據(jù)放入d,當(dāng)為1時,F(xiàn)(f)將數(shù)據(jù)從新放入自身,如果d=0則將F中的數(shù)據(jù)

放入W寄存器。

12,寄存器取反 COMF f,d

13,寄存器加1 INCF f,d

14,減1為0跳轉(zhuǎn) DECFSZ f,d

例:MOVLW 55H

MOVWF 10

LOOP:DECFSZ 10,1 (如果F10減1后為0的話則跳轉(zhuǎn)到RETLW 0否則繼續(xù)執(zhí)行)

GOTO LOOP

RETLW 0

15.帶進(jìn)位C進(jìn)行右移 RRF f,d

類似于51匯編中的帶C左移功能

16,帶進(jìn)位C進(jìn)行左移 RLF d,f

17,寄存器高低四位進(jìn)行交換

SWAPF f,d

18。加1為0跳轉(zhuǎn) INCFSZ f,d

其實這個就是當(dāng)f為FFH的時候翻轉(zhuǎn)為00H,判斷這個

以上為33條語句中的18條語句的詳細(xì)解釋和應(yīng)用。如果大家對這些語句有什么好的

應(yīng)用的話,歡迎在后面跟帖。在下一篇上再介紹其余的指令。

擴(kuò)展閱讀:PIC8位單片機匯編語言常用指令

編輯:admin  最后修改時間:2018-05-19

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

台州市| 哈尔滨市| 孟州市| 南靖县| 上林县| 丹凤县| 同德县| 罗平县| 浦北县| 桓台县| 葫芦岛市| 威信县| 新源县| 醴陵市| 恩施市| 新巴尔虎右旗| 潼关县| 平南县| 广河县| 珠海市| 务川| 会昌县| 阿合奇县| 宁都县| 邛崃市| 台湾省| 土默特右旗| 绩溪县| 公安县| 襄城县| 咸宁市| 上高县| 莱阳市| 牡丹江市| 蚌埠市| 铜鼓县| 侯马市| 锡林郭勒盟| 黄冈市| 淮南市| 高雄市|