Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

dum

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    dum

    Tervist!
    On siis PICBASIC PRO's kirjutatud programm, mis peab lõpptulemusena olema termostaat. Algselt mõelduna PIC16F877 jaoks, üritan ma seda ümber konvertida PIC16F877 jaoks. Kõik hea aga configuration bit'ides pidev häda sees :S Kasutan kompilaatorina PIC Basic PRO'd läbi Mircochipi MPLAB keskonna.

    Kood ise siin: http://www.upload.ee/files/643104/Th...84_2_.zip.html

    @ __config _XT_OSC & _WDT_ON & _PWRTE_ON & _BODEN_ON & _LVP_OFF & _CP_OFF
    , mis minuarvates on korrektne, annab veateate :
    "Argument out of range (not a valid config register address)"

    On kellegil häid ideid mismoodi probleemile läheneda, sest pärispalju variante juba läbi uuritud ja proovitud, tulemuseta siiani : /
    viimati muutis kasutaja pic; 18 m 2010, 23:20. Põhjus: pealkiri korralikuks

    #2
    Vs: PICBASIC ja configuration bits

    Sul vist PIc-ide nimed sassi läinud, vähemalt üks, mõlemad praegu 877-d.

    Comment


      #3
      Vs: PICBASIC ja configuration bits

      Tõsi, tänud tähelepanu juhtimise eest!
      Kood algselt 16F877 jaoks, mul 887.

      Comment


        #4
        Vs: PICBASIC ja configuration bits

        Ideid kellegil? :/

        Comment


          #5
          Vs: PICBASIC ja configuration bits

          Ei ole küll PICutanud enam pikka aega ja picbasic ka tume maa, aga...kindel, et fuse bittides asi on? Ma kunagi üritasin attiny2313 koodi atmega8 peale ümber tõsta, seal igas taimerite ja registrite nimed hakkasid hoopis mitte kokku sobima. Lisaks sa valid kuskilt prose tüübi ka, mis määrab ära mis fuse'sid on üldse võimalik sisse/välja lülitadA? Kui nii, siis võta see confi-i rida ära ja pane fused käsitsi, vaata mis siis saab.

          /Tekst baseerub siis AVR-i maailma näidetel

          Comment


            #6
            Vs: PICBASIC ja configuration bits

            887 on lihtsalt 877(a) veidi täiustatum variant, seega erinevused minimaalsed. 887 kivil on üks config/fuse register rohkem: config2. Sealt sulle mõistlik lipuke võib olla vaid BOR4V (eriti kui patareid kasutad).

            Loe läbi migration info: http://ww1.microchip.com/downloads/e...Doc/41305A.pdf
            Nagu sealt selgub siis ADC välja lülitamine käib nüüd läbi ANSELx registrite, mitte ADCONx.

            Kas originaal projektina 877a jaoks kompileerib kenasti ?
            viimati muutis kasutaja qratman; 22 m 2010, 13:30.

            Comment


              #7
              Vs: PICBASIC ja configuration bits

              Päris 877 jaoks polegi üritanud kompileerida, peaks proovima.
              Panin config. bitid nüüd käsitsi paika MPLAB'is (sealt kah võimalik PICBASICut juurutada) ja töötab, vähemalt kõik peale LCD. Kaks oleku LEDi funktsioneerivad, mingi mõõtmine kah käib aga ekraan täiesti tumm (ainult esimene rida kaste täis).

              Kood praegu selline, mõõtmise-lülitamise jätsin välja praegu, keskendusin vaid confile.


              DEFINE LCD_DREG PORTB ' I/O port where LCD is connected
              DEFINE LCD_DBIT 0
              DEFINE LCD_RSREG PORTB
              DEFINE LCD_RSBIT 4 ' Register select pin
              DEFINE LCD_EREG PORTB
              DEFINE LCD_EBIT 5 ' Enable pin
              DEFINE LCD_BITS 4 ' 4-bit data bus
              DEFINE LCD_LINES 2 ' LCD has 2 character lines

              DEFINE OSC 8
              DEFINE BUTTON_PAUSE 100


              Temp_Down VAR PortA.0 'Temp down button input port
              Temp_Up VAR PortA.1 'Temp up button input port
              G_LED VAR PortC.0 ' Green LED output cold needed
              Relay_Cold VAR PORTC.1
              R_LED VAR PortC.6 ' Red LED output hot needed
              Relay_hot VAR PortC.7
              DQ VAR PortE.2 ' One-wire Data-Pin "DQ" on PortE.2


              '************************************************* ****************************
              ' Variables
              '************************************************* ****************************

              delay VAR BYTE 'Button working variable
              Loscale VAR BYTE
              Hiscale VAR BYTE
              Decal VAR BYTE

              Tempeff VAR WORD
              Setpoint VAR WORD
              R_Temp VAR WORD ' RAW Temperature readings
              TempC VAR WORD ' Temp in deg C
              Float VAR WORD ' Holds remainder for + temp C display

              ColdStart VAR BIT
              Sign VAR BIT

              '************************************************* ****************************
              'Configs
              '************************************************* ****************************

              ANSEL = %00000000 ' PORTD ja PORTE to digitaalseteks
              CM1CON0 = %00000000 'komparaator 1 välja
              CM2CON0 = %00000000 'komparaator 2 välja



              PORTA = %00000011
              PORTB = 0
              PORTC = 0
              PORTD = 0
              PORTE = 0

              TRISA = %00000011
              TRISB = 0
              TRISC = 0
              TRISD = 0
              TRISE = %00000010


              DS18B20_9bit CON %00011111 ' 93.75ms, 0.5°C
              DS18B20_10bit CON %00111111 ' 187.5ms, 0.25°C <-- My favorite
              DS18B20_11bit CON %01011111 ' 375ms, 0.125°C
              DS18B20_12bit CON %01111111 ' 750ms, 0.0625°C (default)

              Comment


                #8
                Vs: PICBASIC ja configuration bits

                ANSELH pead ka nulli lükkama.

                Üldiselt katsu netist leida töötav näide vastava kivi jaoks.

                Comment


                  #9
                  Vs: dum

                  Tänud, ANSELH'iga hakkas tööle.Vähemalt enamvähem, sest need custom char'id ei näinud üldse eriti head LCD'l välja ja temperatuuri 23 kraadises toas näitab kah ainult 3.54 :/
                  Ülidselt peaks vist teise koodi otsima, siin pole võimalik hüstreesi määrata ega midagi.

                  Comment


                    #10
                    mikroC PRO ja identifier redefined

                    Ei hakka uut teemat spetsiaalselt tegema, kuna kaudselt haakub ikka vanaga.
                    Nimelt üritan mikroC PRO for PIC keskonnas komplileerida netist leitud volt-ampermeetri skeemi. Libary'd erinevatele asjadele nagu UART, ADC ja LCD sain tööle, kuid mingi bug on sees defineerimistega.
                    Code Assistandi abil ei leidnud et kuskil ühte asja mitu korda defineeritud oleks :/




                    Viide orignaalkoodile on siin.

                    Comment

                    Working...
                    X