-         

Ergebnis 1 bis 10 von 10

Thema: HILFE!! PARSIC/PIC-PROGRAMMER-Velleman Nichts funktioniert!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.01.2006
    Beiträge
    7

    HILFE!! PARSIC/PIC-PROGRAMMER-Velleman Nichts funktioniert!

    Anzeige

    Hallo,

    habe das Experimentier/Programier-Board VM111(K804 von VELLEMAN zugelegt.

    Auf dem Board befindet sich der PIC 16F627.

    Folgendes habe ich bisher getan/getestet: MPASWIN eingestellt wie in der Anleitung beschrieben. Über MPASWIN habe ich die Datei demo1, welche auf der CD von VELLEMN dabei war, in eine HEX-Datei umgewandelt. Wunderbar! Weiter ging es mit Progpic2. Mit dem habe ich den PIC gebrannt. Alles O.K. Habe das Programm auf dem Board getestet. I.O.!!

    Als nächstes habe ich aus dem Ordner INCLUDE-files (im Ordner MPASWIN) die Datei P16F627.INC in den Ordner MPASWIN kopiert

    Nun habe ich eine eigene, kleine Schaltung(ein UND-Gatter RA.01 Eing, RB.01 Ausg) mittels PARSIC entwickelt. Sie wie oben beschrieben auf den PIC gebrannt/gespeichert. Nichts funktioniert!!! Es müsste LD1 bei Tastendruck von SW1 aufleuchten nichts!

    Ich habe 3. Volle Tage experimentiert kein Erfolg!!!! Ich weiß einfach nicht weiter.

    Dank im Voraus für deine Hilfe!!!

    Viele Grüße vom

    TueftlerQ


    .

    In PARSIC habe ich

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    67
    Beiträge
    2.063
    Hallo TueftlerQ,
    PARSIC kenne ich nicht.
    Ich würde Dir aber empfehlen, Dich von externen Dingen erst mal unabhängig zu machen und ein winziges 'Progrämmelchen' zu erstellen, was in einer Schleife die LED blinken läßt.
    Damit kannst Du dann zumindest erkennen, ob der PIC richtig initialisiert wird, der LED-Pin auf 'Ausgang' gesetzt ist und zum Brennen alle Bits richtig gesetzt wurden.

    PS: es gibt eine Fehler-Checkliste unter:
    http://www.domnick-elektronik.de/piccheck.htm
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.12.2005
    Ort
    Tann / ZH
    Alter
    61
    Beiträge
    264
    Und poste mal deine Schaltung und deinen Source

    MfG
    Ruedi

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    13.01.2006
    Beiträge
    7

    Poste die Sourcen

    Hallo,

    was soll ich da Posten? Alles Schon geschehen!

    Ich denke der Fehler liegt an der Kompalitaet zwischen PARSIC und MPASMWIN.

    Was könnte hier der Fehler sein?


    Gruss


    tueftlerQ

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    was soll ich da Posten?
    Den genauen Assembler-Code plus die MPASWIN-Einstellungen zum übersetzen. Ohne Code können wir Dir NICHT helfen

    Was könnte hier der Fehler sein?
    Ohne genauere Angaben: Alles.

    Gruess
    Fritzli

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.10.2004
    Ort
    Nordschwarzwald
    Alter
    34
    Beiträge
    506
    Zitat Zitat von Fritzli
    was soll ich da Posten?
    Den genauen Assembler-Code plus die MPASWIN-Einstellungen zum übersetzen. Ohne Code können wir Dir NICHT helfen

    Was könnte hier der Fehler sein?
    Ohne genauere Angaben: Alles.

    Gruess
    Fritzli
    Naja, ist Parsic, ne grafische Entwicklungsumgebung - da gibts erstmal keinen Code in dem Sinne... :/
    Du kannst dir aber den Assembler-Code anzeigen lassen, der erzeugt wird - und den solltest du hier posten. Bei Parsic ist der glücklicherweise halbwegs aufgeräumt, so dass man vielleicht erkennen kann, wo das Problem liegt.
    Ansonsten solltest du deine MPLAB-Einstellungen (Fuses / Config-Bits) posten, oder selber schaun, ob die OK sind.

    Das Board dürfte gehen - das haste ja mit dem Demoprogramm getestet.

    MfG
    Stefan

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    13.01.2006
    Beiträge
    7

    Hier die Dateien "zwei-And.ASM", "zwei-And.HE

    Hier die PARSIC-Dateien "zwei-And.ASM", "zwei-And.HEX" und die "P16F627.INC"

    Die Datei "P16F627.INC" habe ich aus dem Ordner Include_files im Tool MPASMWIN in das Hauptverzeichnis von MPASMWIN kopiert. In dieser Datei habe ich nicht verändert!
    Die Datei "zwei-And.ASM" bearbeite ich als nächstes mit dem Tool MPASMWIN. Es wird dann die Datei "zwei-And.HEX" erstellt. Diese wird dann mit PROCPIC2 auf dem PIC 16F627 gebrannt.

    Die "zwei-And.ASM" Datei

    ; Source created with Parsic Version 3.x

    ; at : 13.01.2006 11:46:56


    ; Project File : D:\Test\zwei-And.pic

    ; Project Version : 1.0.43

    ; Created : 12.01.2006 11:22:00

    ; Last change : 13.01.2006 11:46:43

    PROCESSOR 16F627

    INCLUDE P16F627.INC

    RADIX DEC


    __IDLOCS H'0100'

    __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _BODEN_ON & _XT_OSC & _LVP_OFF & _MCLRE_ON

    ; Diverses

    ZERO EQU Z ; ZERO-Flag
    CARRY EQU C ; CARRY-Flag


    ; Variable

    RAM = 32 ; located in Bank 0

    ERRORLEVEL -302 ; disable warning (Bankswitching)
    ERRORLEVEL -306 ; disable warning (Pageswitching)

    ;****************************************
    ;Programmanfang
    ;****************************************

    ORG 0

    CLRF STATUS ; switch to RAM-Bank 0
    GOTO SYS_INIT
    NOP
    NOP
    RETURN

    ;****************************************
    ; Subroutines
    ;****************************************


    ;****************************************
    ;Initialisierung
    ;****************************************


    SYS_INIT

    MOVLW B'00000000'
    MOVWF INTCON

    ; Set output before direction

    BCF STATUS,RP0 ; Bank 0
    BCF STATUS,RP1 ; Bank 0
    MOVLW B'00000000'
    MOVWF PORTA

    MOVLW B'00000000'
    MOVWF PORTB

    MOVLW 143
    BSF STATUS,RP0 ; Bank 1
    MOVWF OPTION_REG


    ; Richtung setzen

    MOVLW B'11111111'
    MOVWF TRISA

    MOVLW B'11111110'
    MOVWF TRISB

    MOVLW 7 ; Comparators off
    MOVWF CMCON
    ; init vars


    ; Clear RAM

    BCF STATUS,IRP
    MOVLW 32
    MOVWF FSR
    CR1
    CLRF INDF
    INCF FSR,F
    BTFSS FSR,7
    GOTO CR1
    BSF FSR,5
    CR2
    CLRF INDF
    INCF FSR,F
    MOVLW H'F0'
    SUBWF FSR,W
    BTFSS STATUS,ZERO
    GOTO CR2
    BSF STATUS,IRP
    MOVLW 32
    MOVWF FSR
    CR3
    CLRF INDF
    INCF FSR,F
    MOVLW H'50'
    SUBWF FSR,W
    BTFSS STATUS,ZERO
    GOTO CR3



    ;**********************************
    ;******* Haupt-Programm ***********
    ;**********************************

    MAIN

    ;************************************************* **
    ; UND - Gatter -> LG1
    ;************************************************* **

    LABEL_LG1_1
    BCF STATUS,RP0 ; Bank 0
    BCF STATUS,RP1 ; Bank 0
    BTFSS PORTA,0
    GOTO LABEL_LG1_FALSE
    LABEL_LG1_2
    BSF STATUS,RP0 ; Bank 1
    BTFSS PORTA,0
    GOTO LABEL_LG1_FALSE

    LABEL_LG1_TRUE
    BSF PORTB,0
    GOTO LABEL_LG1_ENDE
    LABEL_LG1_FALSE
    BCF STATUS,RP0 ; Bank 0
    BCF STATUS,RP1 ; Bank 0
    BCF PORTB,0
    LABEL_LG1_ENDE
    ;****************************************

    GOTO MAIN


    END







    Die "zwei-And.HEX" Datei

    :020000040000FA
    :100000008301052800000000080000308B008312E7
    :10001000031300308500003086008F308316810086
    :10002000FF308500FE30860007309F0083132030AC
    :1000300084008001840A841F192884168001840AA0
    :10004000F0300402031D1E28831720308400800135
    :10005000840A50300402031D272883120313051C51
    :1000600036288316051C36280614392883120313F4
    :0400700006102D2821
    :084000000000010000000000B7
    :02400E00613F10
    :00000001FF


    Die "P16F627.INC" Datei

    LIST
    ; P16F627.INC Standard Header File, Version x.xx Microchip Technology, Inc.
    NOLIST

    ; This header file defines configurations, registers, and other useful bits of
    ; information for the PIC16F627 microcontroller. These names are taken to match
    ; the data sheets as closely as possible.

    ; Note that the processor must be selected before this file is
    ; included. The processor may be selected the following ways:

    ; 1. Command line switch:
    ; C:\ MPASM MYFILE.ASM /PIC16F627
    ; 2. LIST directive in the source file
    ; LIST P=PIC16F627
    ; 3. Processor Type entry in the MPASM full-screen interface

    ;================================================= =========================
    ;
    ; Revision History
    ;
    ;================================================= =========================

    ;Rev: Date: Reason:
    ;1.11 Added _DATA_CP_ON and _DATA_CP_OFF
    ;1.00 Initial Release

    ;================================================= =========================
    ;
    ; Verify Processor
    ;
    ;================================================= =========================

    IFNDEF __16F627
    MESSG "Processor-header file mismatch. Verify selected processor."
    ENDIF

    ;================================================= =========================
    ;
    ; Register Definitions
    ;
    ;================================================= =========================

    W EQU H'0000'
    F EQU H'0001'

    ;----- Register Files------------------------------------------------------

    INDF EQU H'0000'
    TMR0 EQU H'0001'
    PCL EQU H'0002'
    STATUS EQU H'0003'
    FSR EQU H'0004'
    PORTA EQU H'0005'
    PORTB EQU H'0006'
    PCLATH EQU H'000A'
    INTCON EQU H'000B'
    PIR1 EQU H'000C'
    TMR1L EQU H'000E'
    TMR1H EQU H'000F'
    T1CON EQU H'0010'
    TMR2 EQU H'0011'
    T2CON EQU H'0012'
    CCPR1L EQU H'0015'
    CCPR1H EQU H'0016'
    CCP1CON EQU H'0017'
    RCSTA EQU H'0018'
    TXREG EQU H'0019'
    RCREG EQU H'001A'
    CMCON EQU H'001F'

    OPTION_REG EQU H'0081'
    TRISA EQU H'0085'
    TRISB EQU H'0086'
    PIE1 EQU H'008C'
    PCON EQU H'008E'
    PR2 EQU H'0092'
    TXSTA EQU H'0098'
    SPBRG EQU H'0099'
    EEDATA EQU H'009A'
    EEADR EQU H'009B'
    EECON1 EQU H'009C'
    EECON2 EQU H'009D'
    VRCON EQU H'009F'

    ;----- STATUS Bits --------------------------------------------------------

    IRP EQU H'0007'
    RP1 EQU H'0006'
    RP0 EQU H'0005'
    NOT_TO EQU H'0004'
    NOT_PD EQU H'0003'
    Z EQU H'0002'
    DC EQU H'0001'
    C EQU H'0000'

    ;----- INTCON Bits --------------------------------------------------------

    GIE EQU H'0007'
    PEIE EQU H'0006'
    T0IE EQU H'0005'
    INTE EQU H'0004'
    RBIE EQU H'0003'
    T0IF EQU H'0002'
    INTF EQU H'0001'
    RBIF EQU H'0000'

    ;----- PIR1 Bits ----------------------------------------------------------

    EEIF EQU H'0007'
    CMIF EQU H'0006'
    RCIF EQU H'0005'
    TXIF EQU H'0004'
    CCP1IF EQU H'0002'
    TMR2IF EQU H'0001'
    TMR1IF EQU H'0000'

    ;----- T1CON Bits ---------------------------------------------------------
    T1CKPS1 EQU H'0005'
    T1CKPS0 EQU H'0004'
    T1OSCEN EQU H'0003'
    NOT_T1SYNC EQU H'0002'
    TMR1CS EQU H'0001'
    TMR1ON EQU H'0000'

    ;----- T2CON Bits ---------------------------------------------------------
    TOUTPS3 EQU H'0006'
    TOUTPS2 EQU H'0005'
    TOUTPS1 EQU H'0004'
    TOUTPS0 EQU H'0003'
    TMR2ON EQU H'0002'
    T2CKPS1 EQU H'0001'
    T2CKPS0 EQU H'0000'

    ;----- CCP1CON Bits ---------------------------------------------------------
    CCP1X EQU H'0005'
    CCP1Y EQU H'0004'
    CCP1M3 EQU H'0003'
    CCP1M2 EQU H'0002'
    CCP1M1 EQU H'0001'
    CCP1M0 EQU H'0000'

    ;----- RCSTA Bits ---------------------------------------------------------
    SPEN EQU H'0007'
    RX9 EQU H'0006'
    SREN EQU H'0005'
    CREN EQU H'0004'
    ADEN EQU H'0003'
    FERR EQU H'0002'
    OERR EQU H'0001'
    RX9D EQU H'0000'

    ;----- CMCON Bits ---------------------------------------------------------

    C2OUT EQU H'0007'
    C1OUT EQU H'0006'
    C2INV EQU H'0005'
    C1INV EQU H'0004'
    CIS EQU H'0003'
    CM2 EQU H'0002'
    CM1 EQU H'0001'
    CM0 EQU H'0000'

    ;----- OPTION Bits --------------------------------------------------------

    NOT_RBPU EQU H'0007'
    INTEDG EQU H'0006'
    T0CS EQU H'0005'
    T0SE EQU H'0004'
    PSA EQU H'0003'
    PS2 EQU H'0002'
    PS1 EQU H'0001'
    PS0 EQU H'0000'

    ;----- PIE1 Bits ----------------------------------------------------------

    EEIE EQU H'0007'
    CMIE EQU H'0006'
    RCIE EQU H'0005'
    TXIE EQU H'0004'
    CCP1IE EQU H'0002'
    TMR2IE EQU H'0001'
    TMR1IE EQU H'0000'

    ;----- PCON Bits ----------------------------------------------------------

    OSCF EQU H'0003'
    NOT_POR EQU H'0001'
    NOT_BO EQU H'0000'
    NOT_BOR EQU H'0000'
    NOT_BOD EQU H'0000'

    ;----- TXSTA Bits ----------------------------------------------------------
    CSRC EQU H'0007'
    TX9 EQU H'0006'
    TXEN EQU H'0005'
    SYNC EQU H'0004'
    BRGH EQU H'0002'
    TRMT EQU H'0001'
    TX9D EQU H'0000'

    ;----- EECON1 Bits ---------------------------------------------------------
    WRERR EQU H'0003'
    WREN EQU H'0002'
    WR EQU H'0001'
    RD EQU H'0000'

    ;----- VRCON Bits ---------------------------------------------------------

    VREN EQU H'0007'
    VROE EQU H'0006'
    VRR EQU H'0005'
    VR3 EQU H'0003'
    VR2 EQU H'0002'
    VR1 EQU H'0001'
    VR0 EQU H'0000'

    ;================================================= =========================
    ;
    ; RAM Definition
    ;
    ;================================================= =========================

    __MAXRAM H'01FF'
    __BADRAM H'07'-H'09', H'0D', H'13'-H'14', H'1B'-H'1E'
    __BADRAM H'87'-H'89', H'8D', H'8F'-H'91', H'93'-H'97', H'9E'
    __BADRAM H'105', H'107'-H'109', H'10C'-H'11F', H'150'-H'16F'
    __BADRAM H'185', H'187'-H'189', H'18C'-H'1EF'

    ;================================================= =========================
    ;
    ; Configuration Bits
    ;
    ;================================================= =========================

    _BODEN_ON EQU H'3FFF'
    _BODEN_OFF EQU H'3FBF'
    _CP_ALL EQU H'03FF'
    _CP_75 EQU H'17FF'
    _CP_50 EQU H'2BFF'
    _CP_OFF EQU H'3FFF'
    _DATA_CP_ON EQU H'3EFF'
    _DATA_CP_OFF EQU H'3FFF'
    _PWRTE_OFF EQU H'3FFF'
    _PWRTE_ON EQU H'3FF7'
    _WDT_ON EQU H'3FFF'
    _WDT_OFF EQU H'3FFB'
    _LVP_ON EQU H'3FFF'
    _LVP_OFF EQU H'3F7F'
    _MCLRE_ON EQU H'3FFF'
    _MCLRE_OFF EQU H'3FDF'
    _ER_OSC_CLKOUT EQU H'3FFF'
    _ER_OSC_NOCLKOUT EQU H'3FFE'
    _INTRC_OSC_CLKOUT EQU H'3FFD'
    _INTRC_OSC_NOCLKOUT EQU H'3FFC'
    _EXTCLK_OSC EQU H'3FEF'
    _LP_OSC EQU H'3FEC'
    _XT_OSC EQU H'3FED'
    _HS_OSC EQU H'3FEE'

    LIST[b]

    Gruß vom

    TueftlerQ

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Hauptschleife etwas anders formatiert:

    Code:
    LABEL_LG1_1
    		BCF STATUS,RP0 ; Bank 0
    		BCF STATUS,RP1 ; Bank 0
    		BTFSS PORTA,0
    		GOTO LABEL_LG1_FALSE
    
    LABEL_LG1_2
    		BSF STATUS,RP0 ; Bank 1		<= ????
    		BTFSS PORTA,0                         <= ????
    		GOTO LABEL_LG1_FALSE
    
    LABEL_LG1_TRUE
    		BSF PORTB,0
    		GOTO LABEL_LG1_ENDE
    
    LABEL_LG1_FALSE
    		BCF STATUS,RP0 ; Bank 0
    		BCF STATUS,RP1 ; Bank 0
    		BCF PORTB,0
    
    LABEL_LG1_ENDE

    Die ????-Zeile macht keinen Sinn. Was er dort macht, is prüfen, ob RA.0 ein Eingang ist, und dass weiss man ja schon....

    Das versteh ich auch nicht so ganz:
    ein UND-Gatter RA.01 Eing, RB.01 Ausg
    Normlerweise hat ein UND-Gatter mehr als einen Eingang...


    => Aber wenn der Witz des Programms ist, RB.0 auf 1 zu setzen, wenn RA.0 auf 1 hist, dann sollte das Hauptprogramm korrekt sein, wenn auch etwas umständlich

    Kannst Du uns noch angeben, welche Konfiguration Du für MPASWIN und den Programmer verwendet hast? Ev. geht beim Brennen etwas daneben.


    Gruess
    Fritzli

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    13.01.2006
    Beiträge
    7

    Konfiguration: MPASWIN, Programmer. Prog. d. funktioniert!

    Die ????-Zeile macht keinen Sinn. Was er dort macht, is prüfen, ob RA.0 ein Eingang ist, und dass weiss man ja schon....

    Das versteh ich auch nicht so ganz:
    Zitat:
    ein UND-Gatter RA.01 Eing, RB.01 Ausg

    Normlerweise hat ein UND-Gatter mehr als einen Eingang...
    Ja, das verstehe ich! Ich habe die Eingänge des UND-Gatter verbunden! Ist ein INVERTER. Umständlich!

    => Aber wenn der Witz des Programms ist, RB.0 auf 1 zu setzen, wenn RA.0 auf 1 hist, dann sollte das Hauptprogramm korrekt sein, wenn auch etwas umständlich

    Kannst Du uns noch angeben, welche Konfiguration Du für MPASWIN und den Programmer verwendet hast?
    MPASWIN
    RADIX: Hexadecimal,
    WARNING LEVEL: All Messages
    HEX OUTPUT: INHX8M
    GENERATED FILES: Alle gesetzt
    CASE SENSITIVE: Set
    MACRO EXPANSION: Default
    PROCESSOR: 16F627
    TAB SIZE: 8

    PIC-Programmer
    ACTION: ausser Low-Volt-Prog. alles gesetzt
    CONTROLLER: PIC16F627


    Ev. geht beim Brennen etwas daneben.

    Das Demo-Progr., welches von VELEMAN dabei war funktioniert hervorragend! Nur die Programme, welche ich in PARSIC entwickele, funktionieren nicht. Unten das Progr. "demo2.asm".
    • ;************************************************* *************************
      ;* VELLEMAN High-Q KIT K8048/VM111 SAMPLE SOFTWARE *
      ;************************************************* *************************
      ;* Microchip PIC(tm) Programmer & experiment board *
      ;* DEMO2 program for testing K8048 with PIC16F627(A)! *
      ;* Generate 4 LED light effects, you can select these with SW1..4 *
      ;************************************************* *************************
      ;* (C) VELLEMAN Components,2003 All rights reserved *
      ;************************************************* *************************
      ;* Hardw. Rev: P8048'1 Softw. Rev: 1.21 *
      ;* OSC.......: XT 4MHz Max. POWER.....: 12V DC *
      ;************************************************* *************************

      W EQU H'0000'
      F EQU H'0001'

      ;----- Register Files------------------------------------------------------

      INDF EQU H'0000'
      TMR0 EQU H'0001'
      PCL EQU H'0002'
      STATUS EQU H'0003'
      FSR EQU H'0004'
      PORTA EQU H'0005'
      PORTB EQU H'0006'

      INTCON EQU H'000B'
      OPTION_REG EQU H'0081'
      TRISA EQU H'0085'
      TRISB EQU H'0086'
      CMCON EQU H'001F'

      ;----- STATUS Bits --------------------------------------------------------
      IRP EQU H'0007'
      RP1 EQU H'0006'
      RP0 EQU H'0005'
      NOT_TO EQU H'0004'
      NOT_PD EQU H'0003'
      Z EQU H'0002'
      DC EQU H'0001'
      C EQU H'0000'

      ;================================================= =========================
      ;
      ; RAM Definition
      ;
      ;================================================= =========================

      __MAXRAM H'01FF'
      __BADRAM H'07'-H'09', H'0D', H'13'-H'14', H'1B'-H'1E'
      __BADRAM H'87'-H'89', H'8D', H'8F'-H'91', H'93'-H'97', H'9E'
      __BADRAM H'105', H'107'-H'109', H'10C'-H'11F', H'150'-H'16F'
      __BADRAM H'185', H'187'-H'189', H'18C'-H'1EF'

      ;================================================= =========================
      ;
      ; Configuration Bits
      ;
      ;================================================= =========================

      _BODEN_ON EQU H'3FFF'
      _BODEN_OFF EQU H'3FBF'
      _CP_ALL EQU H'03FF'
      _CP_75 EQU H'17FF'
      _CP_50 EQU H'2BFF'
      _CP_OFF EQU H'3FFF'
      _DATA_CP_ON EQU H'3EFF'
      _DATA_CP_OFF EQU H'3FFF'
      _PWRTE_OFF EQU H'3FFF'
      _PWRTE_ON EQU H'3FF7'
      _WDT_ON EQU H'3FFF'
      _WDT_OFF EQU H'3FFB'
      _LVP_ON EQU H'3FFF'
      _LVP_OFF EQU H'3F7F'
      _MCLRE_ON EQU H'3FFF'
      _MCLRE_OFF EQU H'3FDF'
      _ER_OSC_CLKOUT EQU H'3FFF'
      _ER_OSC_NOCLKOUT EQU H'3FFE'
      _INTRC_OSC_CLKOUT EQU H'3FFD'
      _INTRC_OSC_NOCLKOUT EQU H'3FFC'
      _EXTCLK_OSC EQU H'3FEF'
      _LP_OSC EQU H'3FEC'
      _XT_OSC EQU H'3FED'
      _HS_OSC EQU H'3FEE'

      __CONFIG _BODEN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC

      ;================================================= =========================
      ; Variable Definition
      ;================================================= =========================
      ;INPUTS
      SW1 EQU H'00' ;SW1 is triggering RA0
      SW2 EQU H'01' ;SW2 is triggering RA1
      SW3 EQU H'02' ;SW3 is triggering RA2
      SW4 EQU H'03' ;SW4 is triggering RA3
      TIMER1 EQU H'20' ;Used in delay routine
      TIMER2 EQU H'21' ; " " "
      PATERN EQU H'22' ;Pattern data for effect's


      ORG 0 ;Reset vector address
      GOTO RESET ;goto RESET routine when boot.


      ; *********************************************
      ; * Example of a delay routine *
      ; *********************************************

      DELAY_ROUTINE MOVLW D'100' ;54 Generate approx 10mS delay at 4Mhz CLK
      MOVWF TIMER2
      DEL_LOOP1 MOVLW D'100' ;60
      MOVWF TIMER1
      DEL_LOOP2 BTFSC PORTA,SW1
      GOTO MENU
      BTFSC PORTA,SW2
      GOTO MENU
      BTFSC PORTA,SW3
      GOTO MENU
      BTFSC PORTA,SW4
      GOTO MENU
      DECFSZ TIMER1,F
      GOTO DEL_LOOP2
      DECFSZ TIMER2,F
      GOTO DEL_LOOP1
      RETLW 0


      ; **********************************
      ; ** RESET : main boot routine **
      ; **********************************

      RESET MOVLW B'00000111' ;Disable Comparator module's
      MOVWF CMCON
      ;
      BSF STATUS,RP0 ;Switch to register bank 1
      ;Disable pull-ups
      ;INT on rising edge
      ;TMR0 to CLKOUT
      ;TMR0 Incr low2high trans.
      ;Prescaler assign to Timer0
      ;Prescaler rate is 1:256
      MOVLW B'11010111' ;Set PIC options (See datasheet).
      MOVWF OPTION_REG ;Write the OPTION register.
      ;
      CLRF INTCON ;Disable interrupts
      MOVLW B'11000000'
      MOVWF TRISB ;RB7 & RB6 are inputs.
      ;RB5...RB0 are outputs.
      MOVLW B'11111111' ;all RA ports are inputs
      MOVWF TRISA
      BCF STATUS,RP0 ;Switch Back to reg. Bank 0
      CLRF PORTB
      GOTO EFFECT_4
      ;

      MENU CLRF PORTB
      ;
      BTFSC PORTA,SW1
      GOTO EFFECT_1
      BTFSC PORTA,SW2
      GOTO EFFECT_2
      BTFSC PORTA,SW3
      GOTO EFFECT_3
      BTFSC PORTA,SW4
      GOTO EFFECT_4
      GOTO MENU


      EFFECT_1 BTFSC PORTA,SW1
      GOTO EFFECT_1
      E1 MOVLW B'00100000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00110000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111100' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111110' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111111' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111110' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111100' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00111000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00110000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      GOTO E1


      EFFECT_2 BTFSC PORTA,SW2
      GOTO EFFECT_2
      E2 MOVLW B'00000001' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00000010' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00000100' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00001000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00010000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00100000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00010000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00001000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00000100' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      MOVLW B'00000010' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      GOTO E2

      EFFECT_3 BTFSC PORTA,SW3
      GOTO EFFECT_3
      E3 MOVLW B'00000111' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      CALL DELAY_ROUTINE
      MOVLW B'00111000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      CALL DELAY_ROUTINE
      GOTO E3

      EFFECT_4 BTFSC PORTA,SW4
      GOTO EFFECT_4
      E4 MOVLW B'00001000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      CALL DELAY_ROUTINE
      MOVLW B'00000000' ;
      MOVWF PORTB
      CALL DELAY_ROUTINE
      CALL DELAY_ROUTINE
      GOTO E4


      END

    Nochmals meinen Dank für die Hilfe

    m.f.G.

    der Tueftler
    Angehängte Dateien Angehängte Dateien

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Ich habe die Eingänge des UND-Gatter verbunden! Ist ein INVERTER.
    Sicher nicht. Ein AND-Gatter mit verbundenen Eingängen ist im Prinzip überhaupt kein Gatter (man könnte es genausogut weglassen)
    Ein NAND-Gatter mit verbundenen Eingängen wär ein Inverter.

    ACTION: ausser Low-Volt-Prog. alles gesetzt
    Kenn das Tool nicht, was heisst "alles gesetzt"?

    Würde nochmals einen Blick auf die Hardware werfen...

    Irgendein PARSIC-Spezialist?


    Gruess
    Fritzli

Berechtigungen

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