Forum: Mikrocontroller und Digitale Elektronik PIC16F84A schwingt nicht


von powermusti (Gast)


Lesenswert?

Hallo Leute, würde gerne wissen warum der Quarz nicht schwingt. liegt es 
am Programm oder ...?

Mein Code Drehzahlmesser mit Pic basic demo.

' LCD should be connected as follows:
'       LCD     PIC
'       DB4     PortA.0
'       DB5     PortA.1
'       DB6     PortA.2
'       DB7     PortA.3
'       RS      PortA.4 (add 4.7K pullup resistor to 5 volts)
'       E       PortB.3
'       RW      Ground
'       Vdd     5 volts
'       Vss     Ground
'       Vo      20K potentiometer (or ground)
'       DB0-3   No connect
 define osc 4
 DEFINE LCD_LINES 2
 a var word
Messen:

   pulsin Portb.0,0,a

   if a=0 then goto error
    a=(60000/((a/50)*4))

    pause 33
   Lcdout $fe, 1,"   ", DEC a, " U/min"
   a=0
goto Messen
error:
pause 33
LCDout $FE,1
Lcdout $FE, $0F, "error!!!U/min<30"
a=0
goto messen


LCD leuchtet mit 8 Balken auf dann kimmt aber nix.
Habe an Pin15 extern frequenz draufgegeben dann fuktioniertt alles.
Brennen tu ich den Pic 16F84A mit JDM an serial port.
Mit dem gleichen programmer habe ich andere schaltungen fertige hex 
files erfolgreich gebarannt. kann es am Pic basic pro liegen?

thx für jede Hilfe

von Severino R. (severino)


Lesenswert?

powermusti wrote:
> Hallo Leute, würde gerne wissen warum der Quarz nicht schwingt. liegt es
> am Programm oder ...?
[..]
> Habe an Pin15 extern frequenz draufgegeben dann fuktioniertt alles.

Dann liegt es wohl kaum am Programm...

Wie sind die Configuration Bits (auch Fuses genannt) gesetzt?

Und wenn Du das Datenblatt zur Hand hast, was ist Pin15, OSC1 oder was?

von Mustafa E. (Firma: iww) (powermusti)


Lesenswert?

Hallo Severino ,

config bits setze ich im Brennprogramm "ICprog" da kann ich rs,hs,xt 
watchdog, pwr - wählen und dann pic brennen.

wenn ich im picbasicpro im programm die zeile -

asm
__config _HS_OSC & _CP_OFF & _PWRTE_ON & _WDT_OFF
endasm

einfüge bekomme ich beim compilieren fhlermeldung.
Kann ich die Fuses im "PicBasicPro" irgendwie setzen ???

mfg

von Mustafa E. (Firma: iww) (powermusti)


Lesenswert?

pin 15 ,16 ocs in/out

von Severino R. (severino)


Lesenswert?

Mustafa Ebo wrote:

> config bits setze ich im Brennprogramm "ICprog" da kann ich rs,hs,xt
> watchdog, pwr - wählen und dann pic brennen.

Und was hast Du gesetzt? Was ist rs?


> wenn ich im picbasicpro im programm die zeile -
>
> asm
> __config _HS_OSC & _CP_OFF & _PWRTE_ON & _WDT_OFF
> endasm
>
> einfüge bekomme ich beim compilieren fhlermeldung.

Schon klar, __config ist ein Makro und keine Assembler-Anweisung.


> Kann ich die Fuses im "PicBasicPro" irgendwie setzen ???


Kenne PicBasicPro nicht, aber was steht im Manual dazu, oder in der 
Online-Hilfe?

von Chris S. (schris)


Lesenswert?

Probier:
DEVICE 16F84A, HS_OSC  , PROTECT_OFF , PWRT_ON , WDT_OFF

Musst eventuell kontrollieren, in der 16f84a.inc ob die Tags richtig 
sind.

von Mustafa E. (Firma: iww) (powermusti)


Lesenswert?

hallo Mustafa habe xt eingestellt. auch andere möglichkeiten 
ausprobiert. leider ohne erfolg. onlinehilfe steht dass xt 
voreingestellt ist. werde mal anderer compiler ausprobieren . thx

von Mustafa E. (Firma: iww) (powermusti)


Lesenswert?

Hallo chris

das steht im *.inc datei

    NOLIST
    ifdef PM_USED
        LIST
        include 'M16F8x.INC'    ; PM header
        device  pic16F84A, xt_osc, wdt_on, pwrt_on, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F84A, r = dec, w = -302
        INCLUDE "P16F84A.INC"    ; MPASM  Header
        __config _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF
        NOLIST
    endif
        LIST

von Chris S. (schris)


Lesenswert?

Ja, das ist schon klar, aber du musst im INC verzeichniss nach der
Datei M16F8x.INC oder P16F84A.INC schauen.
Da du warscheinlich PB benutzt, ist es die erstere.

Achso, sollte es dir nicht klar sein, im Source,

@ device ....

Und Groß-Kleinschreibung ist wichtig, es muß exact geschrieben werden,
wie definiert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.