M
manish12
Guest
Jag är utformningen av sol laddare, för att jag använder f72,
Jag står inför svårigheter när man läser ADC.
Jag hoppas att detta kommer till nytta för nybörjare.
;------------------------------------------------- --------------------------
8 lysdioder i hamn b
; Analog CH1 RA1
lista p = PIC16F72, förteckning direktiv att definiera processor
# include <p16F72.inc>; processor viss variabel definitioner
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _XT_OSC
; Mainline av ADC
Bank0RAM ekv H'20 "
;
;------------------------------------------------- ---------------------------
; Definiera variabler i RAM-området
cblock Bank0RAM
Temp1
Temp2
endc
;------------------------------------------------- ---------------------------
org 0
movlw 0x0FF
movwf PORTB; stänga av alla LED's
bsf STATUS, 5, välj Bank1
movlw 0x00; w = 00h
movwf TRISB; trisb = 00 dvs PORTB-outport
movlw b'00000000 ", välj RA3-RA0
movwf ADCON1, eftersom analoga ingångar
BCF STATUS, 5, välj Bank0
movlw b'10001001 ", välj: osc/32, CH1 ...
movwf ADCON0, vrid på A / DKonvertera
ring delay1, tillhandahålla nödvändig provtagningstid
bsf ADCON0, 2, startar nya A / D-omvandling
loop
btfsc ADCON0, 2, A / D över?
goto loop; NEJ loop
movf ADRESS, w, ja då få A / D-värde
movwf PORTB
goto Konvertera;
;------------------------------------------------- ------------
delay1 movlw 0x20; Delay subrutin
movwf Temp1
movwf Temp2
ddelay1
decfsz Temp1, F
goto ddelay1
decfsz Temp2, F
goto ddelay1
return
;------------------------------------------------- ------------
slut
;------------------------------------------------- --------------------------
Jag står inför svårigheter när man läser ADC.
Jag hoppas att detta kommer till nytta för nybörjare.
;------------------------------------------------- --------------------------
8 lysdioder i hamn b
; Analog CH1 RA1
lista p = PIC16F72, förteckning direktiv att definiera processor
# include <p16F72.inc>; processor viss variabel definitioner
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_OFF & _BODEN_OFF & _XT_OSC
; Mainline av ADC
Bank0RAM ekv H'20 "
;
;------------------------------------------------- ---------------------------
; Definiera variabler i RAM-området
cblock Bank0RAM
Temp1
Temp2
endc
;------------------------------------------------- ---------------------------
org 0
movlw 0x0FF
movwf PORTB; stänga av alla LED's
bsf STATUS, 5, välj Bank1
movlw 0x00; w = 00h
movwf TRISB; trisb = 00 dvs PORTB-outport
movlw b'00000000 ", välj RA3-RA0
movwf ADCON1, eftersom analoga ingångar
BCF STATUS, 5, välj Bank0
movlw b'10001001 ", välj: osc/32, CH1 ...
movwf ADCON0, vrid på A / DKonvertera
ring delay1, tillhandahålla nödvändig provtagningstid
bsf ADCON0, 2, startar nya A / D-omvandling
loop
btfsc ADCON0, 2, A / D över?
goto loop; NEJ loop
movf ADRESS, w, ja då få A / D-värde
movwf PORTB
goto Konvertera;
;------------------------------------------------- ------------
delay1 movlw 0x20; Delay subrutin
movwf Temp1
movwf Temp2
ddelay1
decfsz Temp1, F
goto ddelay1
decfsz Temp2, F
goto ddelay1
return
;------------------------------------------------- ------------
slut
;------------------------------------------------- --------------------------