1 Востаннє редагувалося HetmanNet (06.11.2013 23:17:26)

Тема: Шматок програми BIN2DEC4SSD для PIC16/PIC18

Це лише фрагмент, тож вважати готовою програмою не можна. Його призначення перевести з двійкового числа в ціле десятинне, яке після легких маніпуляцій можна вивести на семи-сегментний індикатор. Тобто є один вхідний байт і три на виході, чому виходить так пояснювати людям, що знають схемотехнічне рішення немає сенсу.

.DATA
  IN    EQU    0x0Ch
  OUT1    EQU    0x0Dh
  OUT2    EQU    0x0Eh
  OUT3    EQU    0x0Fh
.CODE
  BIN2DEC    MOVF    IN,W
        ANDLW    b'00001111'
        MOVWF    OUT1
        MOVF    IN,W
        ANDLW    b'11110000'
        MOVWF    OUT2
        RRF    OUT2,F
        RRF    OUT2,F
        RRF    OUT2,F
        RRF    OUT2,F
        BTFSS    OUT1,3
        GOTO    L1
        MOVF    OUT1,W
        SUBLW    0x0A
        MOVWF    OUT1
        INCF    OUT2,F
  L1        BTFSS    OUT2,4
        GOTO    L2
        INCF    OUT3,F
        MOVLW    b'00001111'
        MOVWF    OUT2
  L2        BTFSS    OUT2,3
        GOTO    L3
        MOVF    OUT2,W
        SUBLW    0x0A
        MOVWF    OUT2
        INCF    OUT3,F
  L3   MOVF    OUT1,W
        CALL    TABLE
        MOVWF    OUT1
        MOVF    OUT2,W
        CALL    TABLE
        MOVWF    OUT2
        MOVF    OUT3,W
        CALL    TABLE
        MOVWF    OUT3
TABLE       addwf   PCL,f
            RETLW   b'11111100'
            RETLW   b'01100000'
            RETLW   b'11011010'
            RETLW   b'11110010'
            RETLW   b'01100110'
            RETLW   b'10110110'
            RETLW   b'10111110'
            RETLW   b'11100000'
            RETLW   b'11111110'
            RETLW   b'11110110'
Post's attachments

Команди Assembler для PIC.pdf 125.26 kb, 989 downloads since 2013-10-30 

Подякували: Chemist-i, Очі.завидющі2