Pic 16f690

Peltsi

#include

__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _IESO_OFF & _FCMEN_OFF)


RESULTHI      equ      20
RESULTLO      equ      22


BANKSEL ADCON1 ;
MOVLW B’01110000’ ;ADC Frc clock
MOVWF ADCON1 ;
BANKSEL TRISA ;
BSF TRISA,0 ;Set RA0 to input
BANKSEL ANSEL ;
BSF ANSEL,0 ;Set RA0 to analog
BANKSEL ADCON0 ;
MOVLW B’10000001’ ;Right justify,
MOVWF ADCON0 ; Vdd Vref, AN0, On
CALL SampleTime ;Acquisiton delay
BSF ADCON0,GO ;Start conversion
BTFSC ADCON0,GO ;Is conversion done?
GOTO $-1 ;No, test again
BANKSEL ADRESH ;
MOVF ADRESH,W ;Read upper 2 bits
MOVWF RESULTHI ;store in GPR space
BANKSEL ADRESL ;
MOVF ADRESL,W ;Read lower 8 bits
MOVWF RESULTLO ;Store in GPR space

3

1051

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Peltsi

      Pyytäisin neuvoja joilla saisin analogia tulon toimimaan projektissani. Käsittääkseni alla olevan koodin jälkeen pinnissä RA0 vaikuttava jännite on jossain muodossa rekistereissä RESULTLO ja RESULTHI?

      Miten koodi etenee tästä, jos halutaan esim. yksinkertainen tieto, onko jännite yli vai alle 2.5 volttia?

      Mikäli jollakin on heittää esimerkki koodi, jossa analogiatulon mukaan valitaan seuraava aliohjelma, "olisi se enemmän kuin sata jänistä"






      #include

      __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _IESO_OFF & _FCMEN_OFF)


      RESULTHI equ 20
      RESULTLO equ 22


      BANKSEL ADCON1 ;
      MOVLW B’01110000’ ;ADC Frc clock
      MOVWF ADCON1 ;
      BANKSEL TRISA ;
      BSF TRISA,0 ;Set RA0 to input
      BANKSEL ANSEL ;
      BSF ANSEL,0 ;Set RA0 to analog
      BANKSEL ADCON0 ;
      MOVLW B’10000001’ ;Right justify,
      MOVWF ADCON0 ; Vdd Vref, AN0, On
      CALL SampleTime ;Acquisiton delay
      BSF ADCON0,GO ;Start conversion
      BTFSC ADCON0,GO ;Is conversion done?
      GOTO $-1 ;No, test again
      BANKSEL ADRESH ;
      MOVF ADRESH,W ;Read upper 2 bits
      MOVWF RESULTHI ;store in GPR space
      BANKSEL ADRESL ;
      MOVF ADRESL,W ;Read lower 8 bits
      MOVWF RESULTLO ;Store in GPR space

      • Libra73

        Moi. Tuossa esimerkki. Tuo on demo levylle, mutta idea selvinnee.

        ; PICkit 2 Lesson 4 - "A2D"
        ;
        ; This shows how to read the A2D converter and display the
        ; High order parts on the 4 bit LED display.
        ; The pot on the Low Pin Count Demo board varies the voltage
        ; coming in on in A0.
        ;
        ; The A2D is referenced to the same Vdd as the device, which
        ; is provided by the USB cable and nominally is 5V. The A2D
        ; returns the ratio of the voltage on Pin RA0 to 5V. The A2D
        ; has a resolution of 10 bits, with 1023 representing 5V and
        ; 0 representing 0V.

        #include
           __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOD_OFF & _IESO_OFF & _FCMEN_OFF)

           cblock 0x20
        Delay1      ; Assign an address to label Delay1
        Delay2
        Display      ; define a variable to hold the diplay
           endc
              
           org 0
        Start
           bsf   STATUS,RP0   ; select Register Page 1
           movlw   0xFF
           movwf   TRISA      ; Make PortA all input
           clrf   TRISC      ; Make PortC all output
           movlw   0x10      ; A2D Clock Fosc/8
           movwf   ADCON1
           bcf   STATUS,RP0   ; back to Register Page 0

           bcf   STATUS,RP0   ; address Register Page 2
           bsf   STATUS,RP1   
           movlw   0xFF      ; we want all Port A pins Analoga
           movwf   ANSEL
           bcf   STATUS,RP0   ; address Register Page 0
           bcf   STATUS,RP1
           
           movlw   0x01
           movwf   ADCON0      ; configure A2D for Channel 0 (RA0), Left justified, and turn on the A2D module
        MainLoop
           nop         ; wait 5uS for A2D amp to settle and capacitor to charge.
           nop         ; wait 1uS
           nop         ; wait 1uS
           nop         ; wait 1uS
           nop         ; wait 1uS
           bsf   ADCON0,GO   ; start conversion
           btfss   ADCON0,GO   ; this bit will change to zero when the conversion is complete
           goto   $-1

           swapf   ADRESH,w   ; Copy the display to the LEDs
           movwf   PORTC
           goto   MainLoop
           end
           


      • mbomdwedp
        Libra73 kirjoitti:

        Moi. Tuossa esimerkki. Tuo on demo levylle, mutta idea selvinnee.

        ; PICkit 2 Lesson 4 - "A2D"
        ;
        ; This shows how to read the A2D converter and display the
        ; High order parts on the 4 bit LED display.
        ; The pot on the Low Pin Count Demo board varies the voltage
        ; coming in on in A0.
        ;
        ; The A2D is referenced to the same Vdd as the device, which
        ; is provided by the USB cable and nominally is 5V. The A2D
        ; returns the ratio of the voltage on Pin RA0 to 5V. The A2D
        ; has a resolution of 10 bits, with 1023 representing 5V and
        ; 0 representing 0V.

        #include
           __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOD_OFF & _IESO_OFF & _FCMEN_OFF)

           cblock 0x20
        Delay1      ; Assign an address to label Delay1
        Delay2
        Display      ; define a variable to hold the diplay
           endc
              
           org 0
        Start
           bsf   STATUS,RP0   ; select Register Page 1
           movlw   0xFF
           movwf   TRISA      ; Make PortA all input
           clrf   TRISC      ; Make PortC all output
           movlw   0x10      ; A2D Clock Fosc/8
           movwf   ADCON1
           bcf   STATUS,RP0   ; back to Register Page 0

           bcf   STATUS,RP0   ; address Register Page 2
           bsf   STATUS,RP1   
           movlw   0xFF      ; we want all Port A pins Analoga
           movwf   ANSEL
           bcf   STATUS,RP0   ; address Register Page 0
           bcf   STATUS,RP1
           
           movlw   0x01
           movwf   ADCON0      ; configure A2D for Channel 0 (RA0), Left justified, and turn on the A2D module
        MainLoop
           nop         ; wait 5uS for A2D amp to settle and capacitor to charge.
           nop         ; wait 1uS
           nop         ; wait 1uS
           nop         ; wait 1uS
           nop         ; wait 1uS
           bsf   ADCON0,GO   ; start conversion
           btfss   ADCON0,GO   ; this bit will change to zero when the conversion is complete
           goto   $-1

           swapf   ADRESH,w   ; Copy the display to the LEDs
           movwf   PORTC
           goto   MainLoop
           end
           

        CaSeZn mcxoflwkwggw, [url=http://odcgbfustbbd.com/]odcgbfustbbd[/url], [link=http://elyqgoaidliz.com/]elyqgoaidliz[/link], http://zpqnmlzakwtw.com/


    Ketjusta on poistettu 1 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Ikävöin sinua kokoyön!

      En halua odottaa, että voisin näyttää sinulle kuinka paljon rakastan sinua. Toivon, että uskot, että olen varsin hullun
      Ikävä
      51
      3705
    2. Näen jatkuvasti Sompasaunalla alastomia miehiä ja naisia

      jotka menevät siihen viereiseen rantaan myös uimaan alasti. Sompasaunat on siis Mustikkamaalla Helsingissä, ja kuljen si
      Maailman menoa
      117
      2708
    3. Kova karman laki

      Karman lain kautta pahantekijä tehdessään pahaa toteuttaa koston ja rangaistuksen sille jolle pahaa on tehty. Tämä tarko
      Hindulaisuus
      610
      2364
    4. Päivieni piristys, missä olet?

      Toit iloa ja valoa mun elämään ☀️ Nyt mennyt kohta viikko ettei ole nähty. Kaipaan nähdä sua silti ja pelkään vaikka tei
      Ikävä
      20
      2067
    5. KALAJOEN UIMAVALVONTA

      https://www.kalajokiseutu.fi/artikkeli/ei-tulisi-mieleenkaan-jattaa-pienta-yksinaan-hiekkasarkkien-valvomattomalla-uimar
      Kalajoki
      83
      1957
    6. Jos sinä olisit pyrkimässä elämääni takaisin

      Arvelisin sen johtuvan siitä, että olisit taas polttanut jonkun sillan takanasi. Ei taida löytyä enää kyliltä naista, jo
      Tunteet
      43
      1708
    7. Älä mahdollisesti ota itseesi

      En voinut tietää. Sitäpaitsi.. niin
      Ikävä
      20
      1678
    8. Helena ja Mikko Koivun ero jatkuu edelleen ja loppua ei näy.

      Voi eikä, miksi menee noin vaikeaksi avioero ja sopua ei tää ex- pari vaan saa.
      Kotimaiset julkkisjuorut
      142
      1632
    9. Millainen kaivattusi luonne on?

      Millaisia luonteenpiirteitä arvostat kaivatussa? Oletteko samanlaisia luonteeltanne?
      Ikävä
      97
      1506
    10. Ota nainen yhteyttä ja tee Tikusta asiaa?

      Niin sitten minä teen Takusta asiaa.
      Ikävä
      28
      1476
    Aihe