Hoe het schrijven van eenvoudige routines voor het maken van vertraging?

K

kalpana.aravind

Guest
Hallo iedereen.

Ik heb onlangs kreeg de opdracht in embedded gebied.
Ik ben zeer verward over de programmering microcontroller.
Mail me wat voorbeeld code voor het maken van de vertraging van 20msec.
Als zeggen vertraging is 20ms, kan ik gebruiken voor lus om vertragingen in msec, zo ja hoe moet ik schrijven te krijgen?
dat is de eenvoudige methode om de vertraging lussen schrijven.

Iedereen werkte met CC1010 Chip?
In die het configureren van de Timer2 in de PWM-modus, hoe om de duty cycle.
Ik heb uw suggesties en hulp.
Please forward me wat voorbeeld code voor het maken van vertraging.stel me enkele website waar ik bijvoorbeeld programma's kunnen krijgen voor 8051compatible microcontroller.

Met vriendelijke groet,
Kalpana

 
Hallo,
Het maken van vertraging in een microcontroller is relatief eenvoudig.

Ik stel niet gebruikt voor vertraging lussen in het creëren van vertraging omdat uw MCU execept niets anders te doen voor de vertraging lus heeft.

Ik stel voor gebruik de timer module - het is eenvoudig te gebruiken echt - tijd en schaalbaar.de timer is gewoon een teller die telt van 0,1 .. 255 in geval van een 8-bit timer of 0,1, ... 65535 in geval van een 16 - bit teller.U kunt altijd de schaal van de tijdsinterval voor elke tellen en deze schaal is een veelvoud van uw machine cyclus periode.

Bijvoorbeeld als de MPU machine cyclus periode 1microsec is, kunt u de schaal van de timer tot 256 zodat elke tellen zal elke toename 256microseconds.U verdeelt 20milliseconds/256microseconds = 78.125 telt.Dus als de timer is al D'77 'dan kun je beginnen met het verwerken wat er moet gebeuren na die 20ms vertraging.of u kunt laden van de graaf je timer moet beginnen bij timer = D'255 '- D'78' en de service routine op de timer overflow genereren.Dit veronderstelt dat je timer is 8 - bit.Ik heb gedaan verschillende TMR0 tellen, vertraging en andere toepassingen met behulp van PIC-microcontroller, maar niet de microcontroller die u noemde.Maar ik vermoed dat je microcontroller heeft een timer functie en de werking ervan moet dezelfde zijn van die van PIC.

Ik weet dat dit niet is wat je wilt krijgen, maar ik hoop dat het helpt je een beetje,

Groeten,
Jack

 
Als je met een vertraging die is "ten minste" een bepaalde tijd, gebruik dan een software-teller lus zoals voorgesteld neoaspilet, als u het exacte tijdstip, start een hardware timer en hebben een interrupt genereren op de overloop of underflow.
Bijvoorbeeld, je timer stappen om de 1 USEC en het is een 8-bit timer, zal de overloop gebeuren elk 256 USEC als je nooit te stoppen.Voor een vertraging u de timer belasting met een specifieke waarde en deze starten wanneer de vertraging begint.De interrupt zal u vertellen dat de vertraging wordt doorgegeven.Terwijl u wacht op de vertraging signaal te komen, kan uw CPU doen nuttige dingen als tranmitting iets via een seriële interface, doen sommige berekeningen ...

Bob

 
Zie bijgevoegde vertraging routines voor 8051 en Keil C51.
Het is noodzakelijk om uw waarde van Crystal frequentie in overeenstemming gebracht
"# define DELAY_XTAL 18432000" van het dossier delay.h
Sorry, maar je moet inloggen om deze gehechtheid

 

Welcome to EDABoard.com

Sponsor

Back
Top