Flitspaalmelder PIC18F2520 goes high speed !!!

Postby schueler » Sat Apr 18, 2009 12:00 am

Als je goed werkende code hebt voor een PIC16F876A en je loopt tegen de limieten aan betreft code size of RAM dan kun je overwegen om de PIC te vervangen voor een PIC18F2520.
Tevens kun je meteen gebruik maken om een hogere kloksnelheid te gebruiken. Hiervoor moet je de 20MHz XTAL vervangen door een 10MHz versie. De interne PLL vermenigvuldigd deze met 4 zodat de PIC op 40MHZ draait!!!

Kopieer de File en geef het een nieuwe naam ( bijvoorbeeld : Flitspaal_PIC18F2520_HSPLL ).

In de code staan drie blokjes met assembly code. Hierin staan een paar specifieke PIC16 instructies die bij de PIC18 niet nodig zijn.

Principal
asm 
{
BSF _status, RP0
BCF _status, RP1

BCF _txsta,2 // low speed
BCF _baudcon,3 // Disable 16 bit timer

MOVLW 64 129 // 10Mhz xtal ( 40MHz internal )
MOVWF _spbrg

BCF _status, RP0
BCF _status, RP1
}




Transfert_PC ( twee blokjes )
asm 
{
BCF _status, RP0
BCF _status, RP1

BSF _intcon,PEIE
}


asm 
{
BSF _status, RP0
BCF _status, RP1

BSF _txsta,2 // high speed
BSF _baudcon,3 // Enable 16 bit timer

MOVLW 84 86

MOVLW 10
MOVWF _spbrg // 115200 bauds
}



Verder moet je de setting en target goed zetten uiteraard.
Deze heb ik in het bijgevoegde plaatje afgebeeld.

Als voorbeeld heb ik de originele code van de auteurs gepakt en deze op de PIC18F2520 gezet met een klokfrequentie van 39.321.600 Hz ( XTAL = 9.830.400 Hz )


Succes, en veel plezier!


Ben
Attachments

[The extension fcf has been deactivated and can no longer be displayed.]

[The extension hex has been deactivated and can no longer be displayed.]

PIC18F2520-HSPLL-settings.JPG
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Return to 2008-11 Flitspaalmelder

Who is online

Users browsing this forum: No registered users and 1 guest