hallo.

de verschillen tussen de PIC16F877 en de 877A zijn duidelijk. maar voor de elektor functiegenerator met de MAX038
[url=link]http://www.turbokeu.com/myprojects/max038/functiongen.zip
[/url]

is het verschil belangrijk?

Heb je de MAX038 al? Die is aardig aan de prijs..

En de code kun je zo omzetten, maar als elektor je alleen de HEX geeft weet ik niet of die er zo in kan.

Heb je ook alternatieven bekeken? XR2206, een DDS (Direct Digital Synthesis) chip (AD983x, AD985x etc).
ELV verkoopt hier bouwpakketen voor eventueel.
Niet dat het perse beter is, maar ik was ook begonnen met het idee een MAX038 te gebruiken. Ik vondt uiteindelijk de dds oplossing mooier. Maar dit is wel lastiger; ik zit in iedergeval nog enorm te klooien met de output stage/waveshaper. (HMC6503 Variable Gain Amp etc)

heheh, ik heb er zelfs twee...
als ie werkt, gaat de tweede van de hand.

ik heb de .COD, .HEX, en .ASM file.
de 16F877a is samplebaar op microchip, dus die zou ik binnenkort moeten hebben :P

die zitten ook in de downloadfile.
[EDIT] de files, niet de chips, uiteraard. :D

De .ASM file kun je denk ik zo assembleren voor de 877A. Kwestie van proberen. Wel even bovenin de file aangeven dat het nu om aan A versie gaat. Begrijpen hoe het werkt en het zelf schrijven in een makkelijkere taal (bv Jal of PICBasic) is natuurlijk leuker, nuttiger en leerzamer..

En een 877 samplen? Ding kost 2 bier bij Voti(.nl), of nog minder bij MicrochipDirect (maar dan heb je KvK nodig). Heb je hem tenminste met paar dagen. Bij RS heb ik hem morgen. Maar ik weet niet of je daar verzendkosten betaald zonder KvK.

p.s. leuk filmpke over samplen: http://www.eevblog.com/2010/11/10/eevblog-126-the-free-sample-fallacy/

p.p.s. http://www.voti.nl/winkel/p/PIC-16F877-DIP.html (wel duurder als de A)

p^3.s. http://nl.rs-online.com/web/search/searchBrowseAction.html?method=getP… (maar verzend kosten?)

tja t ging me eigelijk om de 18F2550, die ik nergens kon krijgen in mijn duurt zonder geld over te maken ( kan ik niet, nl) dus free sampling was perfect. en toen zag ik dat je twee dingen kon samplen... tja. waarom niet? nu is ie gratis.

for the notice, ik kan niet met asm files overweg. picbasic only, en dan ook nog low-level :D de 2550 is voor een usb programmer, omdat mijn programmeerlessen stilvielen toen mijn nieuwe pc geen paralelle poort had. een vriend kan de 1872550 wel programmeren, maar voor trial-en-error testing is het onhandig.

welke veranderingen zou ik moeten maken in de .asm? ( die dan weer naar .hex gecompiled moet worden, neem ik aan?)

Op 1 maart 2011 13:46:11 schreef TechnOoB12:
[...]
maar voor de elektor functiegenerator met de MAX038

Het artikel/project is niet van Elektor maar van het Amerikaanse tijdschrift EPE (Everyday Practical Electronics).

Op 1 maart 2011 13:46:11 schreef TechnOoB12:
de verschillen tussen de PIC16F877 en de 877A zijn duidelijk.

is het verschil belangrijk?

SW/HW-matig is er geen praktisch verschil. Enkel de programmeeralgoritmes zijn verschillend (verwijzing naar 16F877 vervangen door 16F877A in het ASM bestand).
Indien je PIC-programmer zijn instellingen (type PIC, configbits) niet automatisch uit de ASM-source betrekt is zelfs dit niet nodig (en worden type en configbits puur manueel in de programmersoftware ingesteld).

Het origineel bijgeleverde MPASM bestand is nagenoeg niet gecommentariëerd en redelijk onlogisch omdat het in feite een disassembly van een 'TASM for PIC' bestand is, hetgeen de begrijpbaarheid van PIC16-assembly voor leken natuurlijk niet in de hand werkt.

Dus om de code 'iets properder te maken' vervang je in de originele ASM-code

list p=PIC16F877

door :

LIST	p=16F877A 	; PIC16F877A is the target processor
#include "P16F877A.INC"	; Include header file

(alles na de ';' op een regel is commentaar)

Door het toevoegen van de vorige laatste lijn (de #include) kan je volgende smak declaraties verwijderen:

INDF            EQU H'00'               ;page 0, 1, 2, 3
TMR0            EQU H'01'               ;page 0, 2
OPTION_REG      EQU H'01'               ;page 1, 3
PCL             EQU H'02'               ;page 0, 1, 2, 3
STATUS          EQU H'03'               ;page 0, 1, 2, 3
FSR             EQU H'04'               ;page 0, 1, 2, 3
                 
PORTA           EQU H'05'               ;page 0
TRISA           EQU H'05'               ;page 1
PORTB           EQU H'06'               ;page 0, 2
TRISB           EQU H'06'               ;page 1, 3
PORTC           EQU H'07'               ;page 0
TRISC           EQU H'07'               ;page 1
PORTD           EQU H'08'               ;page 0
TRISD           EQU H'08'               ;page 1
PORTE           EQU H'09'               ;page 0
TRISE           EQU H'09'               ;page 1
                 
INTCON          EQU H'0B'               ;page 0, 1, 2, 3
ADCON0          EQU H'1F'               ;page 0
ADCON1          EQU H'1F'               ;page 1

Vervang

;Config register bits (all PIC TOOLKIT MK2 defaults)
    ; CP1 CP0 DBG NIL WRT CPD LVP BOR CP1 CP0 POR WDT OS1 OS0
    ;  1   1   1   1   1   1   0   0   1   1   0   0   0   1
;N.B. Logic 1/0 do NOT necessarily mean that the function is On/Off
;respectively - refer to PIC '87 data sheet.

door

__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC & _LVP_OFF & _BODEN_OFF & _PWRTE_ON

Hercompileer de code met de MPLAB IDE (Build all) en schiet deze in je 877A.

Hier is de PIC16F877A redelijk goedkoop in vergelijking tot Voti. verder zijn de verzendkosten ook laag.

Alleen wel beperkt op vooraad (whatever that is supposed to mean)

Ik weet niet waar je woont, maar een 18F2550 heb ik hier wel voor je liggen. Die kwam gisteren binnen van MicrochipDirect.

Ik zit in Amsterdam (oost).

Maar als je ASM voor die 16F877 is, zou ik er, zonder kennis van assembler niet aan beginnen die code om te zetten naar de 18F (dat is wel aardig verschil).

zoel de 18F als de 16F zijn al gesampled... aandig aangeboden, maar ik krijg ze dus al.

de 18F is voor een USBprogrammer, de brenner8. die gaat een kennis voor me programmeren. dan zal de 16F877a daarna volgen :P
de code hoeft alleen van de 16f877 daar 16f877a, dus geen verandering naar de 18F reeks.

heel erg bedankt turbokeu! veranderingen doorgevoerd, nu alleen wachten op de samples.

In de __CONFIG regel stond een fout in mijn reply (heb ergens geklungeld met de copy/paste van code tags).
& _PWRTEcode_ON moet & _PWRTE_ON zijn