PIC JAL IO Routine

'877 AD display in JAL with ASM

by Vasile Surducan

...the jpic library must be updated with user definited bites and registers and the LCD pin's library set in acordingly with the  hardware:

var volatile bit adcon0_go at f877_adcon0 : 2
var volatile byte f877_adcon1  at 0x9F
var volatile byte f877_adcon0  at 0x1F
var volatile byte f877_adresl  at 0x9E
var volatile byte f877_adresh  at 0x1E

include f877_4
include jpic
include jprint
include jdelay
include hd447804

var byte data
var byte ch0_hi = 0
var byte ch0_lo = 0

procedure aqui is
assembler
local wait

        bsf     status_rp0      -- bank 1
        bcf     status_rp1
        movlw   0b_1000_1110       
        movwf   f877_adcon1     -- right justified, an0
        bcf     status_rp0      -- bank 0
        movlw   0b_0100_0001    -- Fosc/8 [7-6], A/D ch0 [5-3], a/d on [0]
        movwf   f877_adcon0
                              
        bsf     adcon0_go      -- Start A/D conversion
 Wait:
        btfsc   adcon0_go      -- Wait for conversion to complete
        goto    Wait

        movf    f877_adresh,w  -- Write A/D result to ch0_lo, ch0_hi
        movwf   ch0_hi
        bsf     status_rp0     -- bank 1 
        bcf     status_rp1 
        movf    f877_adresl,w
        bcf     status_rp0     -- bank 0
        movwf   ch0_lo         
        bcf     status_rp0          

end assembler
end procedure


 hd44780_clear

forever loop
aqui
hd44780_line1
print_decimal_1 ( hd44780, ch0_hi, "0" )
hd44780_position ( 2 )
print_decimal_3 ( hd44780, ch0_lo, "0" )
delay_100mS ( 3 )
end loop

Code:

Questions:

Comments: