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

1077

    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. Riikan perintö: ennätysvelka, ennätystyöttömyys ja ennätysverotus

      Tavallisen keskituloisen suomalaisen verotus on kireintä vuosikymmeniin, ja ensi vuonna palkansaajien käteen jää vieläki
      Maailman menoa
      215
      3637
    2. Mies, näen sinua hetken

      ja olet mielessä ikuisuuden. Toisia näen ikuisuuden ja he eivät jää mieleen hetkeksikään. Muistan jokaisen kohtaamisen
      Ikävä
      14
      3499
    3. Riikka Purra on ihana, jämpti

      Hän yrittää saada Suomen taas kuntoon. Sanoo asiat suoraan, eikä piiloudu kapulakielen taakse. Riikan kaltaisia päättä
      Maailman menoa
      91
      2608
    4. Antti Lindtman kiitti valtiovarainministeri Purraa

      Ministeri Purra kertoi ottavasa vastuun EU:n alijäämämenettelyyn joutumisesta. Hän myös sanoi tietävänsä, että Lindtman
      Perussuomalaiset
      12
      2199
    5. Henkilökohtaisia paljastuksia Dubaista - Kohujulkkis Sofia Belorf on äitipuoli ja puoliso!

      Tiesitkö, että Sofia on äitipuoli ja rakastava puoliso? Sofia Belorf saa oman sarjan, jossa seurataan hänen Bling Bling
      Kotimaiset julkkisjuorut
      59
      2150
    6. Suomalaisten enemmistö on (ateisteja / fiksuja / sosialisteja)

      Tai jokin noiden yhdistelmä, koska S-ryhmän markkinaosuus päivittäistavarakaupasta on yli 50 prosenttia.
      Maailman menoa
      11
      1919
    7. Sorsa: kuvaputki - Lipponen: kaasuputki - Marin: ryppyputki

      Nuo kolme demaria ovat poikkeuksia Suomen poliittisessa historiassa. Ovat ainoita, jotka ovat kyenneet nostamaan puolue
      48
      1745
    8. Mitä ajattelet

      Siitä henkilöstä jota kaipaat? Sana vapaa!
      Ikävä
      90
      1601
    9. Kenen luo menisit nyt

      jos se olisi mahdollista?
      Ikävä
      79
      1207
    10. Mikä kaivatussasi

      kolahti? 💥
      Ikävä
      72
      1163
    Aihe