www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PiC 12f675 IO ports


Autor: WvD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Leute,
hoffe hier kann mir wer n tipp geben.
fange gerade erst mit dem PiCs an
und vrsuch mal einfache IO aufgaben zu bewältigen.
leider scheitert die einfache 1 ausgabe schon.
event ist aber der PIc auch schrott, der lag ne weile in der wühlkiste.
möchte eigendlich ertmal nur am GPIO 0 5v anliegenhaben.
versucht hab ichs folgendermassen-->

  list      p=12f675           ; list directive to define processor
  #include <p12f675.inc>        ; processor specific variable 
definitions
  errorlevel  -302              ; suppress message 302 from list file

  __CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_ON & _WDT_OFF & 
_PWRTE_ON & _INTRC_OSC_CLKOUT


  ORG     0x000           ; processor reset vector
  goto    main            ; go to beginning of program

main  BSF  CMCON, CM0         ; GP0,1 von Comparator auf digital
     BSF  CMCON, CM1
      BSF  CMCON, CM2
      BSF  STATUS, RP0        ; Bank 1
      CLRF ANSEL              ; GP0,1,2,4 von ADC auf digital
      BCF  STATUS, RP0        ; Bank0
  movlw  B'000011'
  movwf   GPIO
  movwf  0x05
  bsf  STATUS, RP0
  bsf  GPIO, 0
loop  goto   loop

  END                     ; directive 'end of program'

wäre für n tipp sehr dankbar
gruss WvD

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TRISIO: 1=Eingang, 0=Ausgang. Bei Microchip. Der Rest der Welt macht es 
andersrum.

Edit: ich beziehe mich aus diese Zeilen:
  movlw  B'000011'
  movwf   GPIO
  movwf  0x05
die ohnehin etwas doppelt wirken.

Autor: WvD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die schnelle antwort, habs nun in
movlw  b'00000000'
movwf  TRISIO
movlw  B'00000000'
movwf   GPIO

geändert
leider noch kein ne 5v an GPIO 0

Ps: das doppelte war beabsichtigt, um mehrere varianten gleichzeitig zu 
tetsen.da ich anfing zu verzweifeln und bin dann vom eigendlichen
projekt rückwärts zum IO gegangen.und würd mich nun schon über ne 
einfache 5v ausgabe freuen.
wie gesagt das teil kann auch ne macke haben.

gruss WvD

Autor: WvD (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
edit, danke für den anstoss.nach nochmaligem datenblatt begutachte hab 
ich gesehen das TRISIO in der anderen bank liegt
so funzt das soweit
->
main  BSF  CMCON, CM0         ; GP0,1 von Comparator auf digital
       BSF  CMCON, CM1
      BSF  CMCON, CM2
      BSF  STATUS, RP0        ; Bank 1
      CLRF ANSEL              ; GP0,1,2,4 von ADC auf digital
    movlw  b'00000000'
    movwf  TRISIO
      BCF  STATUS, RP0        ; Bank0
    bsf    GPIO, 0
loop  goto   loop

    END                       ; directive 'end of program'

Autor: H. W. (digger72)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ein Auszug aus dem Datenblatt zur Initialisierung von GPIO:

bcf STATUS,RP0 ;Bank 0
clrf GPIO ;Init GPIO
movlw 07h ;Set GP<2:0> to
movwf CMCON ;digital IO
bsf STATUS,RP0 ;Bank 1
clrf ANSEL ;Digital I/O
movlw 0Ch ;Set GP<3:2> as inputs
movwf TRISIO ;and set GP<5:4,1:0>
       : as Outputs

Bankswitching beachten.

Gruss
Digger

Autor: H. W. (digger72)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoppla, Posting übersehen.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> TRISIO: 1=Eingang, 0=Ausgang. Bei Microchip. Der Rest der Welt macht es
> andersrum.

Macht trotzdem Sinn:
(1)nput und (0)utput

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.