A programot assembly nyelven írtam.
A mikrovezérlő működtetéséhez 16 MHz oszcillátor frekvenciát használtam. Indításkor megtörténik a kijelző inicializációja, és az üdvözlő szöveg kiírása. Ezt követően az S0 gomb lenyomásával tudunk továbbmenni. Ekkor a felső sorban kiíródik a "Distance" felirat, az alsó sorban pedig a mért értékek jelennek meg. A mikrovezérlő 64 ciklusban ad ki 40 kHz frekvenciájú négyszögjeleket az RA2 kivezetésen keresztül. Ekkor a mikrovezérlő elkezdi tesztelni az RA4 - es láb logikai értékét. Ha ez logikai nulla szintre kerül (van visszaverődés), akkor egy számláló értéke elkezd növekedni. Amikor az RA4 láb értéke 1-re vált, akkor a számláló értéke kiíródik a kijelzőre, majd a számláló nullázódik, és az egész kezdődik elölről.
Íme a program folyamatábrája:
Ha az ultrahangok kibocsátása után nincs visszaverődés, akkor a kijelzőn az "Over range" felirat jelenik meg. Ha van visszaverődés, de a tárgy túl közel van hozzá, akkor a kijelzőn a "Low distance" felirat jelenik meg.
A PIC-be égetendő HEX fájl letölthető innen.
A HEX fájlt az ICPROG segítségével égettem be, JDM84, soros PIC programozón keresztül.
A cikk még nem ért véget, lapozz!
Értékeléshez bejelentkezés szükséges!