-         

Ergebnis 1 bis 4 von 4

Thema: 16F84>16F628A Anfänger!

  1. #1

    16F84>16F628A Anfänger!

    Anzeige

    Hallo!
    Ich bin der Ralf und bin neu hier.
    Da ich absoluter Anfänger was PICs angeht brauche ich etwas hilfe.

    Aaaalso...,
    ich möchte einen Timer bauen um Motoren anzusteuern.
    Ich habe in Elektor eine passende Schaltung gefunden welche auf einem 16F84 basiert.
    Dieser ist aber verhältnismäßig sehr teuer.
    Ich habe im Netz gestöbert und herausgefunden daß der 16F628A "der" Nachfolger ist, welcher auch wesentlich billiger ist.
    Habe mir auch einige gekauft.
    Überall lese ich daß ich folgende Zeilen einfügen muß, nur weiß ich nicht genau wo.*schäm*

    MOVLW 0x07
    MOVWF CMCON

    Kann mir jemand helfen den Code für den 628A fertigzustellen?

    Danke

    Ralf

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo ralfmichel!

    Die zwei Zeilen musst du in die Initialisierung des PICs vor dem Hauptprogramm einfügen.

    MfG

  3. #3
    Nachfolgend ist der Anfang vom code.
    Wo genau ist "vor" dem Programm ?
    Vor dem list p=16f84 oder danach?
    Kann ich einfach dieses list p=16f84 in list p=16f628a umbenennen oder sind auch weitere Änderungen notwendig?
    Möchte den 16F628A mit ext. Oszillator mit 4 Mhz betreiben.

    Mfg Ralf
    ------------------------------------------
    ; compiler : jal 00.04-10
    ; date : 18-Aug-2000 19:19:32
    ; main source : duka_jal
    ; command line : duka_jal.txt
    ; target chip : 16f84
    ; cpu : pic 14
    ; clock : 4000000
    ; input files : 11
    ; lines : 1710
    ; chars : 42251
    ; compilation nodes : 9494
    ; stack : 23Kb
    ; heap : 2740Kb
    ; seconds : 21.648 (0 lines/second)
    ; output code : 231
    ; file : 15
    ; stack: 1 (1,0,0)

    list p=16f84

    _CP_OFF equ H'3FF0' ;code protect on
    _CP_ON equ H'0000' ;code protect off
    _PWRTE_ON equ H'0000' ;Power on timer on
    _PWRTE_OFF equ H'0008' ;Power on timer off
    _WDT_OFF equ H'0000' ;watch dog timer off
    _WDT_ON equ H'0004' ;watch dog timer on
    _RC_OSC equ H'0003' ;RC oscillator
    _HS_OSC equ H'0002' ;HS crystal oscillator
    _XT_OSC equ H'0001' ;XT crystal oscillator
    _LP_OSC equ H'0000' ;LP crystal oscillator

    __CONFIG _CP_OFF + _PWRTE_ON + _WDT_OFF + _XT_OSC

    ; var H'00C:000' transfer_bit
    ; var H'00D:000' transfer_byte

    ;; 034 : var volatile byte port_a at 5
    ; var H'005:000' port_a

    ;; 035 : var volatile byte port_b at 6
    ; var H'006:000' port_b

    ;; 055 : var volatile bit pin_b4 at port_b : 4
    ; var H'006:004' pin_b4

    ;; 115 : var byte trisa
    ; var H'00E:000' trisa

    ;; 116 : var byte trisb
    ; var H'00F:000' trisb

    ;; 117 : var byte trisc
    ; var H'010:000' trisc

    ;; 122 : movlw all_input
    movlw H'FF'
    _vector ; 0006: 20D8 ; _1492__vector

    ;; 019 : pin_b0_direction = output -- select Dekade 0

    ;; 516 : procedure pin_b3'put( bit in x ) is
    p_3814__pin_b3__put_t ; 0095
    _3814__vector ; 0095
    ; var H'00C:003' x
    p_3814_put ; 0095

    ;; 517 : var bit pin_b3_buffer at _port_b_buffer : 3
    ; var H'011:003' pin_b3_buffer

    ;; 518 : pin_b3_buffer = x
    bcf H'11',3 ; 0095: 1191 ; 0x11 pin_b3_buffer
    btfsc H'0C',3 ; 0096: 198C ; 0x0C x
    ass_3837_t ; 0097
    delay.jal
    .
    .
    .
    .

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Damit du deine Fragen selber beantworten kannst, würde ich dir einen Artikel in unserem Wiki empfehlen:

    http://www.roboternetz.de/wissen/ind.../PIC_Assembler

    Viel Spass beim Lesen und Erfolg beim Programmieren !

    MfG

Berechtigungen

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