亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 關(guān)于PIC單片機匯編程序問題 MPLAB IDE rp0 equ 5h不工作 [打印本頁]

作者: asd-123    時間: 2019-2-24 12:05
標(biāo)題: 關(guān)于PIC單片機匯編程序問題 MPLAB IDE rp0 equ 5h不工作
各位大師好,我在學(xué)習(xí)PIC過程中遇到了一個問題我用的是MPLAB IDE再輸入指令是rp0  equ  5時,單片機能工作,但是如果是rp0 equ  5h時編譯成功,但是單片機不工作,為什么------請各位大師指點一下,著急啊

作者: Y_G_G    時間: 2019-2-24 16:15
按說這是不會有問題的,我之前也是這樣隨便定義的,只要不是大于進制的值,rp0都是一樣的呀
可能是別的地方的問題吧
作者: eb900001    時間: 2019-2-24 19:50
編譯設(shè)置問題,可以查看一下編譯設(shè)置是否設(shè)置了16進制數(shù)據(jù)。一般情況是默認(rèn)是16進制的,你軟件是不是改過設(shè)置。
作者: Y_G_G    時間: 2019-2-25 00:02
eb900001 發(fā)表于 2019-2-24 19:50
編譯設(shè)置問題,可以查看一下編譯設(shè)置是否設(shè)置了16進制數(shù)據(jù)。一般情況是默認(rèn)是16進制的,你軟件是不是改過設(shè) ...

PIC編譯16進制和10進制寫法是不一樣的,但默認(rèn)了也一樣,16進制的5和8進制的5還有10進制的5,值是一樣的,樓主沒有完整的代碼,也就不知道是什么問題了
作者: asd-123    時間: 2019-2-25 07:44
status equ 3h
portd  equ 08h
trisd  equ 88h
flag equ 25h
org 00h
nop
bsf status,5
movlw 00h
movwf trisd
bcf status,5
movlw 01h
movwf portd
bsf flag,0
loop  btfss status,0
      goto loop1
      comf flag,1
loop1 btfss flag,0
      goto loop2
      rlf portd,0
      movwf portd
      goto loop3
loop2 rrf  portd,0
      movwf portd
loop3 call delay
      goto loop
;************延時*******
delay
     movlw 0ffh
     movwf 20h
lp0  movlw 0ffh
     movwf 21h
lp1  decfsz 21h,1
     goto lp1
     decfsz 20h ,1
     goto lp0
     return
     end這是編譯好的,通過了但是把rp0 equ 5單片機能工作改成rp0 equ 5h編譯能成功單是下載到單片機就不工作了
作者: Y_G_G    時間: 2019-2-25 10:48
rp0 equ 5在哪里呀?
你是在bsf status,5中用RP0來代替嗎?
很久沒有用PIC匯編了
你可以直接用#define指令
我之前定義的就是這樣子的
端口加一條包含指令就不用再去定義了就像這樣:
#include <p16f877a.inc>        ;包含了PIC16F877A的寄存器聲稱文件
#define    S1        PORTB,0                ;按置S1
#define    S2        PORTB,1                ;按置S2
#define    S3        PORTB,2                ;按置S3
#define           COM0        PORTD,0                ;
#define           COM1        PORTD,1                ;
#define           COM2        PORTD,2                ;
#define           COM3        PORTD,3                ;定義幾個顯示的RA端口
#define            CY        STATUS,0        ;C為標(biāo)志位,減法有借位=0,無借位=1
#define            SCL        PORTD,4                ;時鐘信號線
#define            SDA        PORTD,7                ;數(shù)據(jù)信號線
#define            SDA_C   TRISD,7        ;數(shù)據(jù)方向控制寄存器
作者: Y_G_G    時間: 2019-2-25 10:54
asd-123 發(fā)表于 2019-2-25 07:44
status equ 3h
portd  equ 08h
trisd  equ 88h

而且,你應(yīng)該在代碼的第一行就配置了好單片機的一些配置信息:像低電壓復(fù)位,使用晶振,看門狗之類的
我把我以前寫的一個24C01的全部代碼發(fā)給你參考一下,代碼是已經(jīng)驗證過的,沒有問題 PIC16F877A_IIC.rar (2.56 KB, 下載次數(shù): 8)

作者: asd-123    時間: 2019-2-25 18:14
上個程序是修改過好的,以前有rp0 equ 5h,不能用
作者: Y_G_G    時間: 2019-2-25 20:17
asd-123 發(fā)表于 2019-2-25 18:14
上個程序是修改過好的,以前有rp0 equ 5h,不能用

不知道你用的是什么型號的單片機,5H應(yīng)該是個端口的地址,而不是RP0,RP0是位5,不一樣的概念呀
作者: Y_G_G    時間: 2019-2-25 20:19
asd-123 發(fā)表于 2019-2-25 18:14
上個程序是修改過好的,以前有rp0 equ 5h,不能用

#define            RP0        STATUS,5
你應(yīng)該是這樣定義的,這樣的話,就可以直接清除和置位RP0位了
BCF RP0
BSF RP0
就可以了




歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1