• slider image 514
  • slider image 516
  • slider image 517
  • slider image 518
  • slider image 519
:::


Browsing this Thread:   2 Anonymous Users






Re: P18F4520用組語寫出現的問題
#5
資深會員
資深會員


查看用戶資訊
感謝板主的回覆,小弟會看熟的!謝謝!

發表於: 2009/8/25 15:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: P18F4520用組語寫出現的問題
#4
版主
版主


查看用戶資訊
PIC18 一般是使用Table Read 的指令作查表的動作,你可以參考 W100 (102_ASP) 教育訓練裡的練習五,裡面有查表的範例。

Attach file:


Link only for registered users

發表於: 2009/8/25 15:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: P18F4520用組語寫出現的問題
#3
資深會員
資深會員


查看用戶資訊
您這樣說我就了解了,原本看了Watch之後,並用STEP OVER執行後就發現好像是這樣,只是不確定是否如我所想,現在可以確定了!
感謝Beee大大的指教!

發表於: 2009/8/23 20:13
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: P18F4520用組語寫出現的問題
#2
資深會員
資深會員


查看用戶資訊
這是 16F 的寫法 ......
   
18F  PC  一次進位 為 2 所以有此問題
   不然就是多加一條 INCF ONEIDX 
F  指令 

   請參考 
:
http://www.microchip.com.tw/modules/newbb/viewtopic.php?topic_id=7257&forum=1&post_id=28600#forumpost28600


    
LIST P=18F2520        ;directive to define processor
    
#include <P18F2520.INC>    ;processor specific variable definitions
  
CONFIG    OSC INTIO7 
    CONFIG    FCMEN 
OFF
    CONFIG    PWRT 
ON
    CONFIG    IESO 
OFF
    CONFIG    BOREN 
OFF
    CONFIG    BORV 
3
    CONFIG    WDT 
OFF
    CONFIG    MCLRE 
OFF
    CONFIG    PBADEN 
OFF
    CONFIG    STVREN 
OFF
    CONFIG    LVP 
OFF
;    CONFIG    XINST 0N
    CONFIG    DEBUG 
OFF
    CONFIG    CPB 
ON
    CONFIG    CPD 
OFF
    CONFIG    WRT0 
OFF WRT1 OFF WRT2 OFF WRT3 OFF
TEXT_TO_SHOW    EQU        0X20
    ORG    0
    NOP
    
GOTO     _INIT
_INIT
:
    
MOVLW     UPPER   READ_TEXT    Load TBLPTR with the base
    MOVWF     TBLPTRU         
address of the word
    MOVLW     HIGH   READ_TEXT
    MOVWF     TBLPTRH
    MOVLW     LOW   READ_TEXT
    MOVWF     TBLPTRL
    MOVLW    0X80
    MOVWF    EECON1
READ_WORD
    NOP
    TBLRD
*+                 ; read into TABLAT and increment
    MOVF     TABLAT
W         get data
    BTFSC        STATUS 
2    ;  IS  ZERO ?
    
BRA        DOWN            ;  Yes  Then  Goto  Down 
    MOVWF     TEXT_TO_SHOW
    BRA        READ_WORD
DOWN
:
    
BRA        $


    
ORG    0X100
READ_TEXT
:
    
DB    "ABCDEFGH"
    
DB    "This is a BOOK." 
    
DB    "This is a pen." 0

    END

發表於: 2009/8/23 1:10

Edited by Beee on 2009年08月23日 03:17:29
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


P18F4520用組語寫出現的問題
#1
資深會員
資深會員


查看用戶資訊
請各位大大指點一下?
小弟學Microchip以來用PIC18F4520,都用C來寫,因為對PIC的組語語法不熟,現在看一下指令其實跟以前學過的HOLTEK也沒差很多,因此用組語試試看簡單的練習,但出現一個問題是我的測試程式中為何CNT要設成20才能正確的將表查完,如果設為10會產生只查到B'00010000'這個部分,但我以前用HOLTEK的時候一樣的東西卻可以正確執行,是否是因為每執行下一行指令時PC都加2的原因嗎?

LIST P=18F4520,R=DEC
#include <P18F4520.INC>

CBLOCK 0X20
D1,D2,D3
ONEIDX
CNT
ENDC

ORG 0X0000
GOTO MAIN

MAIN:
CLRF ONEIDX
CLRF TRISD
CLRF PORTD
MAIN_1:
CLRF ONEIDX
MOVLW 20
MOVWF CNT
START:
MOVF ONEIDX,W
CALL TABLE
MOVWF PORTD
CALL DELAY
INCF ONEIDX,F
DECFSZ CNT,F
GOTO START
GOTO MAIN_1
;****************************************
DELAY:
MOVLW 03
MOVWF D1
D_1:
MOVLW 10
MOVWF D2
D_2:
MOVLW 110
MOVWF D3
D_3:
DECFSZ D3
GOTO D_3
DECFSZ D2
GOTO D_2
DECFSZ D_1
GOTO D_1
RETURN
;*****************************************
TABLE:
ADDWF PCL,F
RETLW B'00000001'
RETLW B'00000010'
RETLW B'00000100'
RETLW B'00001000'
RETLW B'00010000'
RETLW B'00100000'
RETLW B'01000000'
RETLW B'10000000'
RETLW B'00001111'
RETLW B'11110000'
;*****************************************
END

發表於: 2009/8/22 22:21
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... ]

教育訓練中心

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