久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

單片機中指令CLR的解釋(單片機中指令CLR是什么意思)

359次閱讀
沒有評論

共計 2267 個字符,預計需要花費 6 分鐘才能閱讀完成。

看到這篇文章的朋友,想必大家對 pic 單片機均具備一定興趣,或對 pic 單片機具備一定使用需求。前文中,小編曾對 pic 單片機匯編語言進行過部分講解。本文中,將對 pic 單片機的清零等指令加以講解,以幫助大家更好掌握 pic 單片機編程。

一、清零指令

1. 寄存器清零指令

實例:CLRW; 寄存器 W 被清零

說明:該條指令很簡單,其中 W 為 PIC 單片機的工作寄存器,相當于 MCS-51 系列單片機中的累加器 A,CLR 是英語 Clear 的縮寫字母。

2. 看門狗定時器清零指令。

實例:CLRWDT; 看門狗定時器清零(若已賦值,同時清預分頻器)

說明:WDT 是英語 Watchdog Timer 的縮寫字母。CLR 見上述說明。注意該兩條指令無操作數。

3. 寄存器 f 清零指令。指令格式:CLRF f

實例:CLRF TMRO; 對 TMRO 清零

說明:在 PIC 系列 8 位單片機中,常用符號 F(或 f)代表片內的各種寄程器和 F 的序號地址。F 取值按 PIC 系列不同型號而不同,一般為 Ox00~Ox1F/7F/FF。TMRO 代表定時器 / 計數器 TMRO,所以 CLRF 對寄程器清零,采用了直接尋址方式直接給出要訪問的寄存器 TMRO。

4. 位清零指令。指令格式 BCF f,b

實例:BCF REG1,2; 把寄存器 REG1 的 D2 位清零

說明:BCF 是英語 Bit Clear F 的縮寫。指令格式中的 F,同上說明; 符號 b 是表示 PIC 片內某個 8 位數據寄存器 F 的位號(或位地址),所以 b 的取值為 0~7 或 D0~D7。實例中 REG 是 Register 的縮寫。實例中的 2 代表指令格式中的 b=2 即寄存器 REG1 的 D2 位。

通過上述四條清零指令格式和實例,可以說明,學習 PIC 系列 8 位單片機的指令時應首先了解指令的助記符意義(功能),再有就是它的表達方式。初學者沒有必要死記指令,重要是理解和實踐。

二、面向字節、常數與控制操作的指令

1. 傳送立即數至工作寄存器 W 指令

指令格式:MOVLW k;k 表示常數、立即數和標號

說明:MOVLW 是 Move Literal to w 的縮寫

實例:MOVL 0x1E; 常數 30 送 W

2.I/O 口控制寄存器 TRIS 設置指令

指令格式;TRIS f

說明;TRIS f 是 Load TRIS Register 的縮寫。其功能是把工作寄存器 W 的內容送入 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 匯編語言中常用的幾條指令,即設置某個 I/O 口 (這里是 RA 口和 RB 口) 為輸入或輸出的語句。可見,識讀指令時,一應充分理解語句格式的功能,二應前后聯系閱讀。

3.W 寄存器內容送寄存器 f(W 內容保持不變)指令

指令格式:MOVWF f

說明:MOVWF 是 Move W to f 的縮寫

實例:MOVLW 0x0B; 送 0BH 送 W

MOVWF 6 ; 送 W 內容到 RB 口

說明:第一條指令 0x0B(常數 11)送工作寄存器 W,第二條指令,把 W 內容常數 11 送到寄存器 F6 中,查表 F6 即為 RB 口,所以 PORT_B(B 口)=0BH=D11

4. 寄存器 f 傳送指令

指令格式:MOVF f,d

說明:MOVF 是 Move f 的縮寫。F 代表 PIC 中的某個寄存器。指令中的 d 規定:d=0 時,f 內容送 W;d=1 時,f 內容送寄存器。

實例:MOVF 6,0 ;RB 口內容送 W

MOVWF 8 ;RB 口內容送 f8

說明:第一條指令中的 6 代表寄存器 f=6,查寄存器表 f=6 為 RB 口;0 代表 d=0,代表選擇的目標為寄存器 W。第二條指令中的 8 代表寄存器 f=8。所以兩條指令結果是把 RB 口的內容送 f8。至于 f8 內容是多少? 還應在匯編語言開始時附加指令,這里從略。

5. 空操作指令

指令格式:NOP

說明:NOP 是英語 No OperaTIon 的縮寫。NOP 無操作數,所以稱為空操作。執行 NOP 指令只使程序計數器 PC 加 1,所以占用一個機器周期。

實例:MOVLW 0xOF; 送 OFH 到 W

MOVWF PORT_B ;W 內容寫入 B 口

NOP ; 空操作

MOVF PORT_B,W ; 讀操作

說明:該三條指令是一種對 I/O 口的 B 口連續操作的實例,其目的達到寫入 B 口的內容要讀出時,應保證寫、讀之間有個穩定時間,因此加入了空操作指令 NOP。

6. 無條件跳轉指令

指令格式:GOTO k

說明:執行該條指令時,將指令轉移到指定的地址(跳轉)。指令中的 k,常與程序中的標號聯系起來。

實例:見第 9 條指令中

7. 寄存器內容減 1,結果為零的間跳指令

指令格式:DECFSZ f,d

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

8. 寄存器內容加 1,結果為零間跳指令

指令格式:INCFSZ f,d

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

9. 子程序返回指令

指令格式:RETLW k

說明:RETLW 是 Return Literal to W 的縮寫。該指令代表子程序返回,返回前先把 8 位立即數送 W。

以上便是小編此次想和大家分享的內容,希望大家喜歡。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2024-04-10發表,共計2267字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 兴文县| 漳浦县| 泰宁县| 邮箱| 常州市| 台安县| 额济纳旗| 修水县| 汾西县| 汝阳县| 伊金霍洛旗| 孟村| 旬邑县| 台前县| 容城县| 桂阳县| 华池县| 信阳市| 镇康县| 久治县| 广宗县| 沧州市| 旌德县| 永春县| 当涂县| 南汇区| 定日县| 霍邱县| 双牌县| 舞阳县| 海南省| 邓州市| 碌曲县| 象山县| 盐津县| 丹寨县| 武冈市| 策勒县| 鹤山市| 镇雄县| 徐闻县|