inkrementální snímač+cpu

Problémy s návrhem, konstrukcí, zapojením, realizací elektronických zařízení

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Aqarel
Příspěvky: 241
Registrován: 04 úno 2007, 00:00
Kontaktovat uživatele:

inkrementální snímač+cpu

#1 Příspěvek od Aqarel »

zdravím, udělal jsme si tento modul pro dekódování signálu z ikrementálného snímače(použil jsem fototranzistor a diodu ze staré kuličkové myši). Naprogramoval jsem si atmel 89C2051 pro čítání pulsů nahoru/dolů (podle výstupu směr) ze snímače; počet načtených pulsů zobrazuji na led připojených přes 74ls245 na port P1; signál směr na P3.0, pulsy - P3.4, chyba se +- periodicky opakuje jakmile načtu cca 254 pulsů - signál směr začne pulsovat se stejnou frekvencí jako pulsy, zkoušel jsem signál směr připojit přes tranzistor, hradlo - nepomohlo; když signál směr odpojím od cpu pak vše funguje jak má - signál směr nekmitá. V programu by být chyba neměla, z portu P3 jen čtu

Kód: Vybrat vše

      org 0
      jmp main
      
      org 0bh            ;obsluha přerušení časovače
      mov tl0,#0ffh
      jb p3.0,plus      ;rozhodnutí čítání nahoru/dolů podle směru
      cjne r4,#0,sem
      dec r4
      dec r5
      reti
   sem:   dec r4
      reti
   plus:   cjne r4,#0ffh,sem2
      inc r4
      inc r5
      reti
   sem2:   inc r4
      reti
      
   
   main:   mov tmod,#0110b
      mov tl0,#0ffh
      setb ea
      setb et0
      setb tr0
      clr tf0
      mov r4,#0
      mov r5,#0
   sem3:   jnb p3.1,sem4
      mov a,r5
      cpl a
      mov p1,a
      jmp sem3
   sem4:   mov a,r4
      cpl a
      mov p1,a
      jmp sem3

      end
Přílohy
ff.JPG
(37.23 KiB) Staženo 144 x
Uživatelský avatar
Aqarel
Příspěvky: 241
Registrován: 04 úno 2007, 00:00
Kontaktovat uživatele:

#2 Příspěvek od Aqarel »

zatím jsem přišel na to, že signalizační Led směru tam robí také občas neplechu, tak jsem ji odstranil. Ale původní problém setrvává signál směr a pulsy kmitají inverzně se stejnou frekvencí při připojení signálu směru k cpu, nejčastěji když registr R4 má hodnotu 254 a jen při čítání pulsů nahoru ; zkoušel jsem signál směr připojit na jiný pin cpu, ale bezvýsledně, můžemi s tím někdo poradit?
Uživatelský avatar
Aqarel
Příspěvky: 241
Registrován: 04 úno 2007, 00:00
Kontaktovat uživatele:

#3 Příspěvek od Aqarel »

problém jsem už vyřešil, signály směr a pulsy spínám přes tranzistory a zdá se že vše funguje jak má
Odpovědět

Zpět na „Řešení problémů s různými konstrukcemi“