Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
新會員
|
收到~
發表於: 2009/12/15 19:21
|
|||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
版主
|
在MPASM 中有些指令是用來建立ROM表格的,像: DA, DATA, DE, DT, DW, DB ...等,有些是專用於PIC16Fxxx 的指令 (DA, DT) 有些又只建議適用於PIC18F 的元件中。
該如何使用可以參考一下MPASM 的教育訓練教材。 http://www.microchip.com.tw/modules/w ... nglefile.php?cid=4&lid=32
發表於: 2009/12/9 11:19
|
|||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
新會員
|
感謝各位的指導,解開我長久以來的疑問。
發表於: 2009/12/8 17:07
|
|||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
資深會員
|
參照:
Constant AAA = 0x1234 Constant A = 0x12 Constant B = 0x23 DW AAA DW AA<<8 |BB DW 0x1234 http://ww1.microchip.com/downloads/en/DeviceDoc/33014J.pdf 78頁 讀取用 讀ROM的方法
發表於: 2009/12/8 7:18
|
|||
少年不知愁滋味,老來方知路難行。
|
||||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
新會員
|
感謝各位的回覆,我還有一點疑問要請問,若我是用「DB」的方式存表格資料,是不是每筆資料只存入在每個WORD的 LS byte?
若我要存14bit資料要用什麼方式建表?是「DW」嗎?
發表於: 2009/12/7 23:27
|
|||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
資深會員
|
心得:
以前用 retlw nn , 每個 word (14 bit) 只能放 1 byte data, 也要費心處理 page 現在 887 的新方法除了更方便之外,可以充分利用 14 bit , 都可以是 data!
發表於: 2009/12/4 22:18
|
|||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
版主
|
參考一下 PIC16F887 Data Sheet 裡的 10.1.4 READING THE FLASH PROGRAM MEMORY 章節裡的說明,透過 EEADRH : EEADR 兩個指位器可以看到 16-bit 的 Address,所以就可輕鬆讀取 Flash Memory 的任何位址的資料。
BANKSEL EEADR ;
發表於: 2009/12/4 14:36
|
|||
|
Re: PIC16F887查表方式
|
||||
---|---|---|---|---|
資深會員
|
發表於: 2009/12/2 18:52
|
|||
|
PIC16F887查表方式
|
||||
---|---|---|---|---|
新會員
|
大家好,
想請教PIC16F887比較方便的查表方法,目前小弟的查表方式是用..... movlw HIGH KEY0 movwf PCLATH KEY0: movf BUF3,W addwf PCL,F RETLW "1" RETLW "5" RETLW "A" 可是此種方式在大量圖形資料時就很不方便,可能會有上千行的「RETLW 0x??」! 而我在PIC18F系列是可用查表指令配合「DB」在存資料,如下..... MOVLW UPPER(LOGO1) MOVWF TBLPTRU MOVLW HIGH(LOGO1) MOVWF TBLPTRH MOVLW LOW(LOGO1) MOVWF TBLPTRL TBLRD*+ MOVFF TABLAT,LCM_DATA ;...................................................................... LOGO1: DB 00H,00H,07FH,0F8H,00H,00H,00H,00H; DB 0FFH,0FFH,0FEH,00H,00H,00H,00H,00H; DB 00H,00H,00H,03H,0FFH,080H,00H,00H; DB 00H,01H,0FFH,0FEH,00H,00H,00H,00H; DB 0FFH,0FFH,0FFH,0C0H,00H,00H,00H,00H; DB 00H,00H,00H,03H,0FFH,080H,00H,00H; 此兩種方式的便利性就差很多,所以想請問在PIC16F887有沒有其他比較便利的方式查表?(類似PIC18F系列)
發表於: 2009/12/2 12:12
|
|||
|