Vissza a főoldalra    Vissza a PIC főoldalra

<< Előző oldal   Vissza a tartalomjegyzékhez   Az első oldal >>

 


29.03. Ébresztő időzítő ULPW modullal


      A kisfogyasztású időzítő modul két, részben különböző kimenő jelet szolgáltat a port állapotváltozás-megszakítás áramkörén keresztül:
     ˇ ébresztő jelet (SLEEP üzemmód esetén), ha a port állapotváltozás-megszakítás engedélyezve van;
     ˇ megszakításkérő jelet, ha a port állapotváltozás-megszakítás, valamint a megszakítások globálisan is engedélyezve vannak.

      A kisfogyasztású időzítő (ULPW) modul segítségével létrehozható egy, a biztonsági időzítő (WDT) áramkörnél kisebb áramfelvételű automatikus ébresztő áramkör.
      A modul segítségével végrehajtható a SLEEP üzemmódból való ébresztés vagy, ha szükséges, ébresztés és utána azonnal megszakítás és megszakításkezelés.
      Az időzítő áramkör kialakítását és az időzítés beállítását az előző fejezet írja le.

      Az ébresztő időzítő működtetéséhez a következő programozási lépéseket kell végrehajtani:
     ˇ a kivezetésnek megfelelő PORT regiszter kivezetésnek megfelelő bitjének logikai "1" szintre állítása;
     ˇ az adott mikrovezérlő kivezetés kimenetként való konfigurálása a megfelelő TRIS regiszterben, a kondenzátor feltöltésének megkezdése;
     ˇ a kisfogyasztású ébresztő modul működésének engedélyezése a PCON regiszterben;
     ˇ port állapotváltozás megszakítás előengedélyezése az IOC regiszter megfelelő bitjének logikai "1"-re állításával (csak az IOC regisztert tartalmazó típusoknál);
     ˇ a kondenzátor feltöltési idejének letelte után a kivezetés bemenetként való konfigurálása a megfelelő TRIS regiszterben, amivel megindul a kisütési folyamat;
     ˇ port állapotváltozás megszakítás engedélyezése az INTCON regiszter megfelelő bitjének logikai "1"-re állításával;
     ˇ ha szükséges, globális megszakítás engedélyezés az INTCON regiszter GIE bitjének logikai "1"-re állításával;
     ˇ a SLEEP üzemmód aktiválása.

      Az időzítő működése során a kivezetésre kapcsolódó belső analóg perifériák legyenek kikapcsolva!
      A következő programrészlet egy ébresztő időzítő ciklus megvalósítására mutat példát.

... ...    
  bcf STATUS,5 ;a 0. adatmemórialap kiválasztása
  bcf STATUS,6 ;a 0. adatmemórialap kiválasztása (opcionális)
  bsf PORTx,y ;az X port Y bitjének "1"-re állítása
  ...    
  ... ... ;az analóg perifériák kikapcsolása
  ...    
  bsf STATUS,5 ;az 1. adatmemórialap kiválasztása
  bcf TRISx,y ;az X port Y kivezetés: kimenet
  ...    
  ... ... ;késleltetés a kondenzátor feltöltődéséig
  ...    
  bsf PCON,5 ;az ULPW modul működésének engedélyezése
  bsf IOCx,5 ;a kivezetés megszakítás-előengedélyezése
  bsf TRISx,y ;az X port Y kivezetés: bemenet
  bsf INTCON,3 ;a port állapotváltozás-megszakítás engedélyezése
  bsf INTCON,7 ;globális megszakításengedélyezés (opcionális)
  sleep    
  ...    

      Az adott idő eltelte után létrejövő ébresztést egy megszakításkérés követi, ha a megszakítások globálisan is engedélyezve vannak. A megszakítást a megszakításkezelő szubrutinnak kell értelmeznie.

 

  Tudomány és Technika (test@t-es-t.hu)


 

<< Előző oldal   Vissza a tartalomjegyzékhez   Vissza a lap tetejére   Az első oldal >>

Vissza a főoldalra    Vissza a PIC főoldalra