- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: 16F627 - Anfänger!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2005
    Ort
    Köln
    Alter
    42
    Beiträge
    6

    16F627 - Anfänger!

    Anzeige

    Powerstation Test
    Hallo zusammen,
    bin neu hier im Forum und gleichzeitig noch anfänger in der uC Welt.

    Habe mir bei Elektro Con*** ein Experimentier Board von Vellmann besorgt und die Teile dran gelötet. Geht wunderbar. Habe mit dem C-Compiler von cc5x auch schon erste positive erfahrungen gesammelt.

    Nun zum problem:

    Ich möchte mich nun etwas vom experimentierboard entfernen. Habe mir also eine Lochrasterplatine gekauft, einen 18Pin Sockel, noch einen 16F627, etliche 10k Widerstände, paar taster, einen 4Mhz Quarz und paar 18pF Kondis.
    Habe dann die 5V spannung an den Pin 14 (VDD),
    die Masse an Pin 5 (VDD) ,
    meinen kleinen Lüfter (testobjekt ) an Pin 7 (RB0),
    einen taster an pin 19 (RA0 gegen VDD) ,
    einen 10k Ohm ebenfalls an pin 19 gegen VSS)
    Pin 16 und 17 (CLKIN und CLKOUT) an den 4Mhz Quarz und jedes beinchen vom quarz per 18pF Kondi an GND geschlossen.

    Dazu hab ich noch folgendes kleines Testprogramm geschrieben:



    Code:
    ;**************************************************************************
    ;*             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
    
    
    	processor  16F627
    	radix  DEC
    
    TRISA       EQU   0x85
    TRISB       EQU   0x86
    RP0         EQU   5
    RP1         EQU   6
    OPTION_REG  EQU   0x81
    CMCON       EQU   0x1F
    RA0         EQU   0
    RB0         EQU   0
    RB1         EQU   1
    RB2         EQU   2
    RB3         EQU   3
    RB4         EQU   4
    RB5         EQU   5
    
    	GOTO main
    
      ; FILE eigen.c
    			;//Prozessor 16F627
    			;
    			;
    			;#include <C:\cc5\16F627.h>
    			;
    			;
    			;void main(void)                 // Start des Hauptprogramms
    			;{
    main
    			;OPTION_REG = 0b.1101.0111;
    	MOVLW .215
    	BSF   0x03,RP0
    	BCF   0x03,RP1
    	MOVWF OPTION_REG
    			;CMCON = 0b.0000.0111;
    	MOVLW .7
    	BCF   0x03,RP0
    	MOVWF CMCON
    			;
    			;TRISA = 0b.0000.0001;           // Alle Pins des Ports A sind Ausgänge außer RA0
    	MOVLW .1
    	BSF   0x03,RP0
    	MOVWF TRISA
    			;TRISB = 0b.0000.0000;           // Alle Pins des Ports B sind Ausgänge 
    	CLRF  TRISB
    			;Sprungmarke:
    			;
    			;if (RA0==1)
    m001	BCF   0x03,RP0
    	BCF   0x03,RP1
    	BTFSS 0x05,RA0
    	GOTO  m002
    			;{
    			;RB0 = 1;
    	BSF   0x06,RB0
    			;RB1 = 1;
    	BSF   0x06,RB1
    			;RB2 = 1;
    	BSF   0x06,RB2
    			;RB3 = 1;
    	BSF   0x06,RB3
    			;RB4 = 1;
    	BSF   0x06,RB4
    			;RB5 = 1;
    	BSF   0x06,RB5
    			;}
    			;else
    	GOTO  m003
    			;{
    			;RB0 = 0;
    m002	BCF   0x03,RP0
    	BCF   0x03,RP1
    	BCF   0x06,RB0
    			;RB1 = 0;
    	BCF   0x06,RB1
    			;RB2 = 0;
    	BCF   0x06,RB2
    			;RB3 = 0;
    	BCF   0x06,RB3
    			;RB4 = 0;
    	BCF   0x06,RB4
    			;RB5 = 0;
    	BCF   0x06,RB5
    			;}
    			;
    			;
    			;
    			;goto Sprungmarke;           // Endlosschleife
    m003	GOTO  m001
    
    	END
    Nun kam der Test......und was passierte?.......NIX!

    Verstehe es einfach nicht! Der schalter schaltet die 5v beim drücken ordnungsgemäß durch, aber der lüfter dreht nicht! Hab den ausgang auch mal nachgemessen.... keine spannung!!

    An meinem Experimentierboard klappts..also ist der code nicht falsch.
    Kann mir jemand helfen? hab keine ahnung woran es liegt

    Danke schonmal im vorraus

    Mülly

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    26.07.2005
    Beiträge
    37
    Hallo Mülli,

    so wie du es beschreibst, läuft den Controller gar nicht.
    Die Gründe sind meist einfach und schnell behoben. Auf deinen Schaltplan gehe ich nicht weiter ein, den solltest du mit den Schaltplänen deines Experimentierboards oder denen von Sprut vergleichen.

    Welchen Programmer verwendest du?

    Viele Grüße,
    Bernhard

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2005
    Ort
    Köln
    Alter
    42
    Beiträge
    6
    Hallo Bernhard

    Ich nutze die Software von cc5x und die Software die beim experimentierboard dabei war.

    Dann "bhrenne" ich die hex datei auf den pic. Anschließend entnehme ich den pic aus dem experimentierboard und stecke ihn in den sockel meiner selbst "gebastelten" schaltung.

    Habe auf dem Datasheet des Quarzes gelesen das ich einen 30pF Kondensator nutzen muss. Habe aber einen 18pF eingebaut. Kann das evtl die ursache sein? Vielleicht schwingt der dann schneller als 4MHZ und der Pic macht zu? Kann es das sein?

    Gruß Mülly

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    26.07.2005
    Beiträge
    37
    Hallo Mülly,

    ach so, du verwendest kein ICSP; dann können wird einen Fehler in der Schnittstelle Programmer<->PIC schon mal ausschließen.

    Deine Kondensatorwerte machen nichts aus.
    Hast du einen Pull-Up-Widerstand an MCLR gehängt?
    Wenn nicht: z.B. 22k gegen VDD.

    MfG,
    Bernhard

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    08.01.2005
    Beiträge
    8
    Hast du den Lüfter direkt am Pin vom Pic oder über einen Transistor? Wenn du den Lüfter direkt angeschlossen hast, löte ihn mal ab und Mess dann die Spg. Der Pic kann max. 25mA je Pin Schalten.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2005
    Ort
    Köln
    Alter
    42
    Beiträge
    6
    Verzweifel langsam total.

    Hab den Lüfter nun mal abgemacht, den Kondensator gegen einen 27pF getauscht und Pin 4 (MCLR) per 10KOHM an VDD (+5V) geklemmt.

    Ohne erfolg. An den Ausgangspins kommt keine spannung an.

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

    1) Die Kondensatorwerte sind meist nicht so extrem kritisch
    2) schalt BODEN ab (brown out detect braucht man als Bastler eh nicht unbedingt)
    3) sind die Defs für die Config-Bits korrekt? Kannst Du das ev. mit einem Programmer checken? (Chip auslesen und schauen, was der Programmer decodiert)
    4) KO verfügbar? Wenn ja mal schauen, was CLKOUT macht
    5) ev. mal ein Photo des ganzen Aufbaus posten?

    Gruess
    Fritzli

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    08.01.2005
    Beiträge
    8
    Schreib sonst einfach mal ein Programm das den Pin auf High setzt. So kannst du wenigstens Hardwarefehler ausschließen wenn es klappt.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    09.09.2005
    Ort
    Köln
    Alter
    42
    Beiträge
    6
    Vielen Dank für die vielen und schnellen hilfeantworten.

    Da ich mir aber jetzt wegen dem ständigen aus dem sockel- in den sockel 2 pins am pic abgebrochen habe . Werd ich mir mal nen neuen ordern.

    Habe aber auch noch paar atmels bei mir rum fliegen. Vielleicht versuch ich es auch mal damit.

    Also, vielen Dank nochmal an alle.

    =D>

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Da ich mir aber jetzt wegen dem ständigen aus dem sockel- in den sockel 2 pins am pic abgebrochen habe
    Wenns nicht grade ein wichtiger Pin (OSC, MCLR, V+, GND, Programmieren) war, kann man den auch weiterverwenden, hat halt einen IO-Pin weniger.

    Um das in Zukunft zu vermeiden würde ich den PIC in eine Fassung stecken. Wenn dann was abbricht, dann an der Fassung (ist billiger).

    Gruess
    Fritzli

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad