Obsluha tlačítka v assembleru pro procesory PIC 10,12,16F

Ladislav Kručinský ladislav.krucinsky na hermanicky-pivovar.cz
Neděle Leden 19 11:48:16 CET 2025


Zdravíčko při neděli, kolezi.

Více než kdy jindy jsem se poslední dny cítil jako Saturninův strýc František: „Nepotřebuji týt z toho, co objevili jiní…“

Potřeboval jsem si do PICu naprogramovat jednoduchý časovač pro medomet, obsluhovaný jedním tlačítkem – krátký stisk něco, dlouhý stisk něco jiného. Chtěl jsem, aby tlačítko bylo obsluhováno pomocí přerušení timeru – čili žádné čekání v programových smyčkách, aby bylo odolné proti zákmitům – debouncing a aby se poznala chyba, když tlačítko zůstane viset. Nu a zapotil jsem se. „…A přitom taková blbost, že?...“ abych ocitoval dalšího klasika. Nakonec jsem to po týdnu dal dohromady (jsem v důchodu, hraju si, vždycky chvilku, nefungovalo to tak den pauza, …). A tak bych se rád dotázal zde přítomných kolegů, kteří jsou v programování PICů v assembleru zběhlí:

Jak to řešíte vy? Je někde nějaký osvědčený postup s příklady přímo v MPASM ? Já tak narychlo nic nenašel, v nějakém předchozím projektu jsem aplikoval vertikální čítač, ale to mi tady přišlo poněkud komplikované. Nakonec je toho asi 40 řádků v obsluze přerušení. Ale docela rád bych viděl, jak na to chodíte vy?

Prosím neozývejte se s jazykem “C“ – ten je mi naprosto Cizí i když chápu že to v něm lze efektivně a robustně napsat. Rád bych právě porovnal přístupy v assembleru, tedy pokud nejste žárliví právě na to svoje řešení. Já do přílohy dávám svůj program, ať si případně pozvednete sebevědomí 😊. Vzhledem k tomu, že programuju vždycky nějakou capinu a pak třeba půl roku nic, snažím se ten program komentovat jako pro dementy – abych si vzpomněl co tam mám a proč.

Hezkou neděli přeji.

 

Ing. Ladislav Kručinský

Koněvova 427/90

713 00 Ostrava - Heřmanice

 

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20250119/8caeb116/attachment.htm>
------------- další část ---------------
A non-text attachment was scrubbed...
Name: obsluha tlacitka.asm
Type: application/octet-stream
Size: 7763 bytes
Desc: [žádný popis není k dispozici]
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20250119/8caeb116/attachment.obj>


Další informace o konferenci Hw-list