| Author |
Message
|
alexiel Poziom 14

Joined: 25 Apr 2003 Posts: 195
|
#1
22 Jul 2004 09:28 Wstawki asemblerowe w bascomie |
|
|
|
Witam
Czy można napisać obsługe Timera w asm jako wstawkę w bascomie.
Ponieważ potrzebuje robić przerwanie około 15us a jak wiadomo w bascomie przy każdym przerwaniu kompilator wrzuca wszystkie rejestry na stos ,później je pobiera i to trwa tak długo że osiągnięcie tak krótkiego czasu.
Może ma ktoś jakiś pomysł .
dzięki
|
|
| Back to top |
|
 |
Google

|
#
22 Jul 2004 09:28 |
|
|
|
|
|
| Back to top |
|
 |
andriu Poziom 11

Joined: 13 Oct 2003 Posts: 64
|
#2
22 Jul 2004 09:32 Re: Wstawki asemblerowe w bascomie |
|
|
|
cześć!Oczywiście że można zrobić wsawkę assm.w bascomie.Używa się polecenia $asm jako otworzenie instrukcji i $end asm jako zamknięcie jej.
|
|
| Back to top |
|
 |
alexiel Poziom 14

Joined: 25 Apr 2003 Posts: 195
|
#3
22 Jul 2004 09:46 Re: Wstawki asemblerowe w bascomie |
|
|
|
Chyba nie zrozumiałeś mojego pytania.
Pytałem się obsługe timera w asm a nie o wstawke asm w przerwaniu timera
|
|
| Back to top |
|
 |
Google

|
#
22 Jul 2004 09:46 |
|
|
|
|
|
| Back to top |
|
 |
shg Poziom 22

Joined: 30 Sep 2003 Posts: 2302 Location: Trójkąt Bermudzki = Kędzierzyn-Koźle
|
#4
23 Jul 2004 02:01 Wstawki asemblerowe w bascomie |
|
|
|
nie musisz, wystarczy, że po konfiguracji przerwania w BASCOMIE dodasz na końcu NOSAVE:
ON TIMER0 Timer_0_int NOSAVE
Tak skonfigurowane przerwanie będzie "czyste", tzn. bez żadnego dodatkowego kodu zapisującego zawartość rejestrów. sprawdzone
|
|
| Back to top |
|
 |
Google

|
#
23 Jul 2004 02:01 |
|
|
|
|
|
| Back to top |
|
 |
etedio Poziom 18

Joined: 05 Jul 2004 Posts: 589 Location: Szczecin
|
#5
23 Jul 2004 02:18 Re: Wstawki asemblerowe w bascomie |
|
|
|
no dobra, a co w BASCOMie '51 :?
|
|
| Back to top |
|
 |
shg Poziom 22

Joined: 30 Sep 2003 Posts: 2302 Location: Trójkąt Bermudzki = Kędzierzyn-Koźle
|
#6
23 Jul 2004 03:00 Wstawki asemblerowe w bascomie |
|
|
|
nie rozumiem. To jest w BASCOMie'51, osobiście sprawdzone i stosowane przeze mnie. Jeżeli nie masz takiej opcji, to ściągnij sobie najnowszą wersję BASCOMa, tam na 100% jest.
Czy może chodzi ci o całą konfiguracje przerwania pod BASCOMem ?
|
|
| Back to top |
|
 |
etedio Poziom 18

Joined: 05 Jul 2004 Posts: 589 Location: Szczecin
|
#7
23 Jul 2004 03:13 Re: Wstawki asemblerowe w bascomie |
|
|
|
oki rozumiem thx :)
|
|
| Back to top |
|
 |
jony15 Poziom 18

Joined: 25 Apr 2003 Posts: 497 Location: okolice Tarnowa
|
#8
23 Jul 2004 13:18 Re: Wstawki asemblerowe w bascomie |
|
|
|
nie prosciej bylo by zrobic te 15us tak:
mov a,#5
etykieta:
djnz a, etykieta
Do a 5 dlatego ze djnz zajmuje 3 cykle. "djnz"- zmniejsz o jeden i skocz jesli nie zero. oczywiscie wszystko to przy kwarcu 12MHz. pozdrowienia :-)
|
|
| Back to top |
|
 |
Google

|
#
23 Jul 2004 13:18 |
|
|
|
|
|
| Back to top |
|
 |
shg Poziom 22

Joined: 30 Sep 2003 Posts: 2302 Location: Trójkąt Bermudzki = Kędzierzyn-Koźle
|
#9
23 Jul 2004 14:16 Wstawki asemblerowe w bascomie |
|
|
|
:arrow: deal1
Ale to nie jest przerwanie :D , a ja myślę, że kol. alexiel potrzebuje przerwania, żeby wykonywać coś, co 15 us, a nie tylko bezczynnie czekać.
|
|
| Back to top |
|
 |
h0nza Poziom 11

Joined: 02 Apr 2003 Posts: 73 Location: Jastrzębie Zdrój
|
#10
25 Jul 2004 10:49 Re: Wstawki asemblerowe w bascomie |
|
|
|
Witam
deal - 8051 w wersj normalnej wykonuje instrukcję djnz w 2 cyklach
tylko szybkie kostki od dallasa robią to w 3 cyklach więc program będzie taki:
mov a,#7 ;1 cykl
djnz acc,$ ;14 cykli
a żeby ręcznie wykorzystywać przerwania trzeba po prostu umieścić program asemblera w odpowiednim adresie i tak dla timera 1 jest to adres 01BH a dal timera 0 jest to 00BH
|
|
| Back to top |
|
 |