- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Hilfe PIC Thermometer

  1. #1

    Hilfe PIC Thermometer

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo zusammen,

    ich möchte mit der Pic Programmierung anfangen.
    Aber es ist ewig her das ich mit Assembler programmiert habe.
    Möchte aber ein Thermometer bauen wie auf der Seite.
    http://electronics-diy.com/pic_temperature_meter.php
    Aber ich habe noch nie mit einen Pic was gemacht.
    Kann mir jemand helfen Danke.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    39
    Beiträge
    731
    Dann programmier in C mit dem MPLAB

  3. #3
    Hallo KingTobi,
    leider habe ich keine annung wie ich den Pic ansprechen soll.
    Ich wäre dankbar wenn mir da jemand helfen kann.
    Danke
    Gruß Rocki

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    39
    Beiträge
    731
    Du brauchst einen Programmer.
    Ich hab hier noch einen USB Programmer liegen der immer wunderbar funktioniert hat, bin aber auf AVRs umgestiegen.

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    02.03.2008
    Beiträge
    64
    Den PICkit2 kann ich dier nur empfehlen.
    Der kann aber den 16F628 nicht programmieren.

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    39
    Beiträge
    731
    Gerade der 16F628 ist einer der gängigsten...

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.10.2007
    Ort
    Bayern
    Alter
    36
    Beiträge
    116
    www.sprut.de
    Massig Beispiele und Code, sowie diverse Brenner. Seite speziell für PICs.

    mfg
    Benny
    cooming soon...

  8. #8
    Neuer Benutzer
    Registriert seit
    08.05.2008
    Ort
    Niedersachsen ganz oben , wo immer frischer Wind weht
    Beiträge
    4

    Probleme mit Interrupt

    Hallo, ich bin auch dabei PIC's zu programmieren. Habe den Crownhill Proton+ und will in Basic programieren, als Hardware benutze ich von Vellemann das K8076 mit PicProg2009 und zum Probieren das K8048.Bei dem K8076 hatte ich erst Probleme, die ich dadurch abstellte,indem ich den Schieber Hardware Delay ganz auf Slow gestellt habe. Nun zu meinem eigentlichen Problem, ich wolltr einen kleine Tischroboter bauen und programieren.Das Programm funktioniert auch soweit.Ich komme nur mit den Interrupt's nicht klar.Ich benutze als Interrupt den Eingang RB0 ( PIC 16F627 ) . Zur Zeit sieht mein Programm so aus

    DEVICE = 16F84
    XTAL = 4

    Dim Wert as Word
    Dim Wert2 as Word
    Dim Flag as Byte
    Symbol Motorport = PortA
    Symbol LEDPORT = PORTB
    Symbol LED1 = PORTB.0 ' Alias PORTB to LEDS
    Symbol LED2 = PORTB.1
    Symbol Motorleitung1 = PortB.2
    Symbol Motorleitung2 = PortB.3
    Symbol Motorleitung3 = PortB.4
    Symbol Motorleitung4 = PortB.5


    TRISB = %00000000 ' Alle Bits Ausgang
    PortB = 0
    TRISA = %11111111 ' Untere 6 Bits Ausgang Rest Eingang
    PortA = 0
    PortB = 0

    Loop:
    low LED1
    low Led2
    IF Porta.0 = 1 then goto Rueckwaerts: ELSEIF Porta.0 = 0 then goto Luup

    delayms 2000

    Luup:
    low LED1
    IF Porta.0 = 1 then goto Rueckwaerts
    gosub Vorwaerts
    delayms 2000

    IF Porta.0 = 1 then goto Rueckwaerts
    gosub Anhalten
    delayms 2000

    IF Porta.0 = 1 then goto Rueckwaerts
    gosub Neunzig_Grad_rechts
    delayms 2000

    IF Porta.0 = 1 then goto Rueckwaerts
    gosub Anhalten
    delayms 2000

    goto loop

    Vorwaerts:
    Toggle LED1
    Motorleitung1 = 0
    Motorleitung2 = 1
    Motorleitung3 = 1
    Motorleitung4 = 0
    IF Porta.0 = 1 then goto Rueckwaerts
    return




    Anhalten:
    Toggle LED1
    Motorleitung1 = 0
    Motorleitung2 = 0
    Motorleitung3 = 0
    Motorleitung4 = 0
    IF Porta.0 = 1 then goto Rueckwaerts
    return

    Neunzig_Grad_rechts:
    Toggle LED1
    Motorleitung1 = 1
    Motorleitung2 = 0
    Motorleitung3 = 1
    Motorleitung4 = 0
    IF Porta.0 = 1 then goto Rueckwaerts
    return
    goto Loop

    Rueckwaerts:
    Toggle LED2
    low LED1
    Motorleitung1 = 1
    Motorleitung2 = 0
    Motorleitung3 = 0
    Motorleitung4 = 1
    Delayms 2500
    Toggle LED2
    Motorleitung1 = 0
    Motorleitung2 = 0
    Motorleitung3 = 0
    Motorleitung4 = 0
    Delayms 1500
    Toggle LED2
    Motorleitung1 = 0
    Motorleitung2 = 1
    Motorleitung3 = 0
    Motorleitung4 = 1
    Delayms 2500
    Toggle LED2
    Motorleitung1 = 0
    Motorleitung2 = 0
    Motorleitung3 = 0
    Motorleitung4 = 0
    Delayms 1500
    goto loop

  9. #9
    Neuer Benutzer
    Registriert seit
    08.05.2008
    Ort
    Niedersachsen ganz oben , wo immer frischer Wind weht
    Beiträge
    4
    Sorry habe gerade gesehen, dass das Programm etwas durcheinander ist, es muß in der 1.Zeile natürlich heißen: DEVICE = 16F627, steht auch so im aktuellen Programm , dies ist eine ältere Version, ausserdem ist Motorport natürlich Port B.

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    20.10.2007
    Ort
    Bayern
    Alter
    36
    Beiträge
    116
    Hallo,
    generell gilt: Um einen Interrupt zu benutzen sprich um auf dieses spezielle Ereignis reagieren zu können muss man den Interrupt vorher scharf schalten. Das macht man indem man ein entsprechendes Bit in einem zugehörigen Register setzt.
    Das Register und wie das Bit heißt findest du im Datenblatt zum 16F627. In dem Register kannst du dann auch einstellen ob der Interrupt ausgelöst wird wenn eine fallende bzw. steigende Flanke ansteht und sonstige Feinheiten. Aber wie gesagt am besten im Datenblatt nachlesen. Bin leider zu lange herausen um es dir aus dem Stegreif erzählen zu können.

    Wie der Interrupt dann in deiner Programmiersprache angesprochen wird das musst du selbst im Handbuch zu PicProg2009 (ich kenn das nämlich nicht) nachlesen.
    Ich könnte mir vorstellen das es ca. so ausschaut:
    Code:
    Sub INT_EXT()
    ...Code der ausgeführt wird wenn Interrupt eintritt
    End Sub
    Aber wie auch bereits erwähnt. Da solltest du was im Handbuch zu finden oder bestimmt gibt es auch Beispielprojekte von dem Hersteller.

    Hoffe ich konnte dir ein paar Denkanstöße verpassen.

    mfg
    Benny
    cooming soon...

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress