Microcontroler DS89C450 clock

Hej

Lidt info om mit projekt.

Jeg har en brugt vindmølle styring (fabrikat Orbital TMC2) Styringen har en masse forskellige indgange og udgange. LCD disp rs232 osv. Processoren er en DS80C320 som kører 20Mhz og programmet ligger i en eprom 27c512.

I starten eksperimenterede jeg med at få styringen til at køre et simpelt program og skrive i LCD displayet. Da brændte jeg del eprommer. (langsommeligt at eksperimenter med)

Så fik jeg den ide at udskifte processoren DS89C450 (som har indbygget

64kb flash og er noget hurtigere.)

Det gik også fint med at få skiftet processoren, den gamle var i smd og loddet på printet (har monteret en sokkel nu)

Nu kommer selve spørgsmålet:

Hvis jeg tager det originale program og kører det fra eprommen så virker styringen, skriver i displayet osv.

Men hvis jeg smider det samme program ind i processoren intern flash, så bliver programmet afviklet så hurtigt, at den hverken kan skrive i displayet eller måle med AD conveteren.

Hvorfor kører programmet det meget hurtigere i intern hukommelse ???

Findes der nogle muligheder for at nedsætte processorens hastighed/instruktionstid, så den kører samme hastighed som den gamle (DS80320) ???

Jeg har prøvet at skifte krystallet til en mindre frekvens og så virker programmet i den rigtige hastighed, men så går det ud over baud-raten når prosessoren er i loader mode.

Jeg bruger Keil C og har tidligere leget en del med 80c51 og lignende på hulprint osv. Men er ikke proff inden for branchen.

Hilsen Bo - Silkeborg

Reply to
bc
Loading thread data ...

Sikkert fordi uC kører med mange wait states når den henter kode fra extern eeprom, og ved intern flash knap så mange..

Er der ikke divider på den interne clock du kan ændre? ellers må du i gang med at ændre alle delays...

Kasper

Reply to
Kasper

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.