• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 請教
#10
版主
版主


查看用戶資訊
在PIC18Fxxx中要設定FSR最好是用 LFSR 指令,別忘了 FSR是一對的暫存器應該算是16-bit

LSFR FSR0, 0x120 ; 將0x120的位址傳給FSR0, FSR0H=01, FSR0L=0x20

發表於: 2005/3/31 18:31
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#9
版主
版主


查看用戶資訊

發表於: 2005/3/31 18:25
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#8
新會員
新會員


查看用戶資訊
我用的也是18F452, 我注意到了FSR0L/FSR0H,但是当FSR0L increase 到 OXFF 的时候,FSR0H还是0X00。 有什么办法可以让FSR0H在FSR0L到0XFF的时候自动 increase 吗?

發表於: 2005/3/30 5:47
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#7
初級會員
初級會員


查看用戶資訊
非常感謝個位提供的幫助,這個問題我已經解決了,原來我忽視了FSR0L/FSR0H ,我以為可以直接將其作為一個存儲器使用。

發表於: 2004/9/7 10:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#6
初級會員
初級會員


查看用戶資訊
我使用的是PIC18F452,在這裡我的POINTER是一個變量參數,其值的變化由外界條件來控制,我將其送入FSR0,能否這樣實現嗎?

發表於: 2004/9/6 20:04
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#5
版主
版主


查看用戶資訊
等一下!!!!!!

你的程式不太像PIC16Fxxx系列的語法,但也不像PIC18F,請問你是用哪一顆PIC?

請問你的POINTER是指到哪裡的位址?
沒有 FSR0 register, 18F 叫 FSR0L/FSR0H ; 16F 稱之為 FSR

發表於: 2004/9/6 18:21
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#4
初級會員
初級會員


查看用戶資訊
親問一下我下面的程式是哪裡有問題啊:假設現在POINTER指向0x30~0x3f系列(其值分別為0x60~0x6f)存取空間,為什麼讀出來的值卻還是pointerz指向單元之地址?
MOVF POINTER, W  ;
MOVWF FSR0
MOVF INDF0, W
MOVWF TEMP1

另外,我調試下面程式發現最後不能達到理想之效果,結果只是將0x00單元清零,且0x01單元顯示為pointer變化

發表於: 2004/9/6 17:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#3
版主
版主


查看用戶資訊
例: 清除 RAM 0x30 ~0x3F, 使用間接索引定址方式

movlw 0x30 Set the RAM starting point
movwf FSR 
Set the point to FSR Reg.
Loop:
clrf INDF Clear INDF (FSR Point to the RAM AddressRegister
incf FSR
,FSR=FSR+1
btfss FSR
,; >= 0x40?
goto 
Loop
:
:


索引定址的指標是設定在 FSR 暫存器,但操作時卻是要對 INDF 暫存器,記住INDF暫存器實際是不存在的,它像是一個窗口只是讓我們存取 RAM

發表於: 2004/9/6 8:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教
#2
新會員
新會員


查看用戶資訊
利用FSR及INDF來間接存取
例如要讀取REG1(假設放在0X30位置)
MOVLW REG1,W ;或者 MOVLW 0X30,W
MOVWF FSR
MOVF INDF,W ;W = REG1
需要注意的是FSR只有8BIT,如果你的存取範圍超過256個BYTE
時,則需要切換IRP位元來更換BANK.

發表於: 2004/9/5 22:53
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請教
#1
初級會員
初級會員


查看用戶資訊
請問怎麼讀取 file register裡面之值,譬如我現在有一條數據放在0x30到0x3f之存取單元,現在有一變量pointer指向該存取單元之某一個位置,應該怎樣讀取該變量所指向位置之值。
請各位給於幫助。謝謝!!!!!!!!!!!!

發表於: 2004/9/3 19:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------