pwm met 16f628a
pwm met 16f628a
Hallo
Ik heb een probleem ik zou een 4 kanaals pwm uit deze pic moeten krijgen maar heb geen idee hoe te doen .
- 4 software matige pwm kanalen
- of met een cmos 4094
Kunnen jullie mij mss helpen ?
Ik werk op 20Mhz
En programeer in ASM taal
M.v.g
Ik heb een probleem ik zou een 4 kanaals pwm uit deze pic moeten krijgen maar heb geen idee hoe te doen .
- 4 software matige pwm kanalen
- of met een cmos 4094
Kunnen jullie mij mss helpen ?
Ik werk op 20Mhz
En programeer in ASM taal
M.v.g
- Stynus
- Site Admin

- Berichten: 5971
- Lid geworden op: vr 16 mei 2003, 20:45
- Locatie: Overpelt (België)
- Contacteer:
Hoe je dit in asm aanpakt weet ik niet precies maar in picbasic doe je het zo: http://www.elektronicastynus.be/PICBASI ... /index.php misschien kan je dat vertalen naar asm. Het principe blijft hetzelfde met de tellers enzo.
-
reddevil
- Berichten: 316
- Lid geworden op: wo 7 feb 2007, 22:54
- Locatie: lummen. .. .. .. .. .. .. .. .. .....
Het beste werk je met een interupt, dan kan je ook nog iets anders doen zoals drukkoppen inlezen, of een signaal ontvangen of iets anders. Bij de code van Stynus ga je tegen problemen oplopen dat de lampen of leds beginnen te flikkeren als je er nog iets anders gaat tussen schrijven.
In de datasheet van de pic bij timer0module staat de uitleg hoe je alles moet instellen. Dan in die interupt zet je in asm of basic als hij niet te lang is de code van Stynus en deze wordt dan afhankelijk van de instellingen en je kristal (neem maar een 20 mhz) zoveel keer per seconde afgehandelt.
Op bouw van het programma:
hier uw instellingen, en poorten diffinieren en je interuptinstelligen.
On_Interrupt GoTo scan
lus:
Hier zet je je programma voor bv drukknoppen inlezen,
of display aansturen of laat je de helderheid van een led varieren.
in basic of asm maakt niet uit.
goto lus
scan:
Hier zet je de interupt afhandelingen in asm of basic, als het lang is in asm anders in basic want je heb hier niet alle tijd, je moet hier alle instrukties gedaan hebben voor de interupt. (hier de code van Stynus die een beetje aangepast is).
END
Het is niet gemakkelijk voor het te maken, heb er samen met mijn collega
ook een 3 tal weken op gewerkt om het aan het werken te krijgen. Dus daarom kan ik niet de code zomaar hier posten,
het is als een goed recept van een kok die geeft het ook niet zomaar.Ik heb nu de opbouw al gegeven, nu nog invullen en proberen. Nog een tip neem poort b als de uitgangen en poort a als ingangen.
In de datasheet van de pic bij timer0module staat de uitleg hoe je alles moet instellen. Dan in die interupt zet je in asm of basic als hij niet te lang is de code van Stynus en deze wordt dan afhankelijk van de instellingen en je kristal (neem maar een 20 mhz) zoveel keer per seconde afgehandelt.
Op bouw van het programma:
hier uw instellingen, en poorten diffinieren en je interuptinstelligen.
On_Interrupt GoTo scan
lus:
Hier zet je je programma voor bv drukknoppen inlezen,
of display aansturen of laat je de helderheid van een led varieren.
in basic of asm maakt niet uit.
goto lus
scan:
Hier zet je de interupt afhandelingen in asm of basic, als het lang is in asm anders in basic want je heb hier niet alle tijd, je moet hier alle instrukties gedaan hebben voor de interupt. (hier de code van Stynus die een beetje aangepast is).
END
Het is niet gemakkelijk voor het te maken, heb er samen met mijn collega
ook een 3 tal weken op gewerkt om het aan het werken te krijgen. Dus daarom kan ik niet de code zomaar hier posten,
het is als een goed recept van een kok die geeft het ook niet zomaar.Ik heb nu de opbouw al gegeven, nu nog invullen en proberen. Nog een tip neem poort b als de uitgangen en poort a als ingangen.
Professioneel LED Temmer
alléé dat hoop ik.
3 weken?:O
Ik was toch sneller klaar. Op interrupt basis werken is makkelijker als je ook andere dingen wilt doen, maar aangezien hier niets over gezegd is. Of je op interrupt basis werkt of niet doet trouwens niets af van het principe, het enige is dat je dan in een sleep ligt te wachten tot het interrupt ping zegt.
Ik was toch sneller klaar. Op interrupt basis werken is makkelijker als je ook andere dingen wilt doen, maar aangezien hier niets over gezegd is. Of je op interrupt basis werkt of niet doet trouwens niets af van het principe, het enige is dat je dan in een sleep ligt te wachten tot het interrupt ping zegt.
kijk maar eens naar dit asm bestandje. Afhankelijk of S1 of S2 hoog is fade hij in/uit. Dit is makkelijk uit te bereiden naar rgb of iets dergelijks
grrrrrr ik kan geen asm toevoegen:S
grrrrrr ik kan geen asm toevoegen:S
- Bijlagen
-
- S1.rar
- (1.87 KiB) 528 keer gedownload