Wat is de meest gebruikte werkwijze om een 4cijferig Led Display te multiplexen en ook een timer interrupt te onderhouden?
Nu heb ik een aparte (1msec) timer interrupt routine en doe ik de multiplexing in mijn main en het werkt wel maar niet zo handig om aan te passen of uit te breiden.Ik programmeer in mikroc.
Jochem
If you want to succeed, double your failure rate.
In verband met uitbreidbaarheid zou ik inderdaad het updaten/multiplexen van je display onder interrupt doen. Wat moet er nog in je timer interrupt gebeuren verder, kun je het display daar niet bijhangen?
Ik heb inderdaad de multiplex routine
in mijn timer interrupt routine geplaatst,
iets meer nadenken over programma maar ik heb er
nu meer voordeel van.
Bij deze nog een vraagje , hoe debounce
je een button binnen een interrupt routine
die om de 1ms terugkomt?
[Bericht gewijzigd door Henry S. op (27%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Ik gebruik meestal gewoon een teller. Als de toets ingedrukt is, teller ophogen, als toets niet ingedrukt is, teller op 0
Als de teller op 20 (mS) staat dan toets als ingedrukt beschouwen.
Als je een periodieke interrupt hebt gebruik ik altijd een vertical adder (kan je ook tegelijkertijd meerdere schakelaars mee debouncen). http://www.circuitsonline.net/forum/view/27262
Jochem
If you want to succeed, double your failure rate.
Ehm, toetsen, schakelaars? Ik had begrepen dat het om multiplexen van de digits van een display ging hier?
Inderdaad , maar terwijl dat probleem ondertussen opgelost was dook een nieuw probleem op en vond ik het handiger deze zelfde thread te gebruiken , of niet?
Jochem
If you want to succeed, double your failure rate.
Ja, ik heb die vervolgvraag helemaal over het hoofd gezien, sorry! Overigens kun je bovenin onder 'Forum' op 'Zoeken' klikken. Er is al een hoop over debouncing gevraagd en geschreven.