2015-02-11 31 views
1

我正在學習使用匯編語言在PIC單元上顯示七段。 我需要讓七段顯示00到FF,00-99(十進制) 我被困在桌上讀。 如何再次讓表自動讀取,當它擊中F或9 這裏是我的代碼:如何爲Microchip彙編語言設置表循環

Loop 
    TBLRD*+  ; Read byte from table, increment pointer 
    MOVF TABLAT, w 
    movwf PORTE  ; Move W to PORTE 
    call Delay_333ms ; Call delay subroutine 
    goto Loop  ; Repeat loop 

PatTbl 
    dw h'6'  
    dw h'5b'  
    dw h'159'  
    dw h'66'  
    dw h'6d' 
    dw h'7d' 
    dw h'7' 
    dw h'7f' 
    dw h'6f'  
    dw h'77' 
    dw h'7c' 
    dw h'39' 
    dw h'3f' 
    dw h'79' 
    dw h'71' 
    dw h'3f' 

回答

0

最簡單的技術屏蔽,它的工作原理類似:如果您Max.value等於爲0x0F,它是存儲在字節大小的變量中,比方說(最大值爲0x0ff),您將在每次增量後創建一個等於max.value的掩碼,並與此掩碼進行「與」運算。

#define MASK 0b00001111 

uint8_t value = 0; 


while(1) {  
    value = (value++) & MASK; 
} 

'值'將循環從0到0x0f。

在您的程序集示例中,您需要爲指向表的指針和要更改的值分別存儲。然後,您將增加該值,將其掩蓋,然後將其添加到表格指針。