Jak w Bascomie uzyskac przebieg prostokatny ?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <macuk_at_nospam_wp.pl>
Subject: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 14 Jul 2002 01:44:31 +0200


Jak w Bascomie uzyskac przebieg prostokatny o czestotliwosci od 1kHz do
100kHz ustawiany przyciskami Up, Down na 89C4051?



Poprzedni Następny
Wiadomość
Spis treści
From: "michal" <michallo_at_nospam_kki.net.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 14 Jul 2002 02:04:42 +0200


w bascomie stawiam pierszw kroki, ale moze takie cos ?
dimm x as byte
set p0.0
waitms x
reset p0.0
i teraz musisz incrementowac i deincrementowac zmienna x, w zaleznosci od
"klkania" jedno co mnie zastanawia to zakres f, teroretycznie najmniejsza
zwloka to 1ms czyli f=1kHz, ale to zalezy od zastosowanego kwarcu.
Pewnie sa inne duso lepsze sposoby, ale ten tez bedzie dzialal.PZD michal

Użytkownik Andrzej <macuk_at_nospam_wp.pl> w wiadomości do grup dyskusyjnych
napisał:agqdss$v9$1_at_nospam_korweta.task.gda.pl...
Jak w Bascomie uzyskac przebieg prostokatny o czestotliwosci od 1kHz do
100kHz ustawiany przyciskami Up, Down na 89C4051?





Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: 14 Jul 2002 03:21:43 +0200


Jak w Bascomie uzyskac przebieg
prostokatny o czestotliwosci od 1kHz do
100kHz ustawiany przyciskami Up, Down
na 89C4051?


A o jakim wypełnieniu?
I jak bardzo precyzyjnie?
Najprościej i najmniej precyzyjnie.

Dim czas as byte
do
set px.x
waitms czas
reset px.x
waitms czas
loop
End
Int_timer0:
If py.z=0 then
incr czas
if czas >100 then : czas =100 : end if 'opcja
dotarcia do oporu
' if czas >100 then : czas =1 : end if 'opcja
przewijania na okrągło
end if
if py.w = 0 then
decr czas
if czas = 0 then : czas =1 : end if ' do oporu
' if czas = 0 then : czas =100 : end if ' na
okrągło
end if
Return
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 14 Jul 2002 11:13:38 +0200


Dim czas as byte
do
set px.x
waitms czas
reset px.x
waitms czas
loop
End

A jest może coś ala cpl ?
Poza tym to chyba zupełnie nie te zakresy wychodzš...Jeśli waitms chodzi
od 1ms to dostanie maksymalnie 500Hz..i to nawet niecałe :-(
--
PZD, Irek.N.



Poprzedni Następny
Wiadomość
Spis treści
From: "michal" <michallo_at_nospam_kki.net.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 14 Jul 2002 11:30:18 +0200



Użytkownik Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl> w wiadomości
do grup dyskusyjnych napisał:3D3140C2.14E7F659_at_nospam_multispedytor.com.pl...
Dim czas as byte
do
set px.x
waitms czas
reset px.x
waitms czas
loop
End

A jest może coś ala cpl ?
Poza tym to chyba zupełnie nie te zakresy wychodzš...Jeśli waitms chodzi
od 1ms to dostanie maksymalnie 500Hz..i to nawet niecałe :-(
racja ze czas bedzie dosyc dlugi, a f sie zmniejszy, ale przeciez mozna dac
wstawke z asmenblera i uzyc rejestru, tylko nieiwem czy da sie uzyc zmiennej
w rejestrze ale raczej spoko, w tedy masz szeroki zakres:
DELAY:
mov r4,#120d ;zamiast 120 i 250 mozna dac np zmienna czas as
byte
del5:
mov r5,#250d ;
djnz r5,$
djnz r4,del5 ;
ret

--
> PZD, Irek.N.
>
>
P.S. zaznaczam ze moge sie mylic, a rozwiazania moga byc lamerskie:))



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: 14 Jul 2002 22:00:52 +0200


A jest może coś ala cpl ?
Poza tym to chyba zupełnie nie te
zakresy wychodzš...Jeśli waitms chodzi
od 1ms to dostanie maksymalnie 500Hz..i
to nawet niecałe :-(
cpl?
;-)
cpl {zmienna}


Bo to miało być waitus , tylko pomyliło mi się z
AVR.
Na '51 chyba to nie przejdzie.
No to poprawka. ;-)
Zamiast wait czas należy wstawić:
[...]
Declare Sub Wywloka
[...]

call wywloka


sub wywloka
$asm
mov ACC,R1
push ACC
mov r1, {czas}
wywloka1:
;nop
;nop
;nop
djnz r1,wywloka1
pop ACC
mov R1,ACC
$end asm
end sub
Tylko trzeba zrobić sobie kalkulację uwzględniając
częstotliwość kwarc
i pożądany zakres
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <macuk_at_nospam_wp.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 14 Jul 2002 18:03:20 +0200


Robilem odobnie ale problem jest z zadaniem czestotliwosci jedna mozna
uzyskac latwo ale regulowana to juz problem
Użytkownik "Jasto Kalip" <tom1234_at_nospam_ds2.pg.gda.pl> napisał w wiadomości
news:agrlrf$jlm$1_at_nospam_korweta.task.gda.pl...

Użytkownik "Andrzej" <macuk_at_nospam_wp.pl> napisał w wiadomości
news:agqdss$v9$1_at_nospam_korweta.task.gda.pl...
Jak w Bascomie uzyskac przebieg prostokatny o czestotliwosci od 1kHz do
100kHz ustawiany przyciskami Up, Down na 89C4051?



Moja metoda:


'$sim
Dim Tim0 As Word
Dim Overf As Word
Dim I As Byte
Dim A As Byte
'$crystal = 11000000
$regfile = "89c2051.DAT"

Config Timer0 = Timer , Gate = Internal , Mode = 2

On Timer0 Timer_0_int
Th0 = 0
'przerwanie co 256 taktow zegarowych
' th=100 'przerwanie co
150 taktow zegarowych
Enable Interrupts 'enable the
use of interrupts
Enable Timer0 'enable the
timer
Start Timer0
Tim0 = 2212
Do
Set P1
If P1.1 = 0 Then 'Up
Incr Tim0
Waitms 150
Set P1.1
End If
If P1.0 = 0 Then 'Down
Decr Tim0
Waitms 150
Set P1.0
End If
Loop

Timer_0_int:
Overf = Overf + 1
If Overf > Tim0 Then
Incr I
Overf = 0
A= I Mod 2
If A = 0 Then
P1.7 = 1
Else
P1.7 = 0
End If
End If
Return


niestety częstotliwości takich jak chcesz to nie uzyskasz bo obsługa
przerwania zajmuje tyle, że sygnał może być max 5kHz dla kwarcu 24MHz.
Zmieniając zmienne tim0 - czyli ilość przepełnień na jeden okres
generatora
i th0- zawartość początkowa licznika T0 możesz sobie ustalić zakresy
częstotliwości generowanego sygnału.
Program ten działał mi bardzo dobrze przez długi czas jako stabilny(na ile
pozwalał kwarc) i przestrajany generator sygnału.


Tomek






Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: 14 Jul 2002 22:00:52 +0200


Robilem odobnie ale problem jest z
zadaniem czestotliwosci jedna mozna
uzyskac latwo ale regulowana to juz problem
No przecież podałem w przerwaniu od timer0.
Ale po policzeniu cykli to z tym 100kHz na Atmelu
może być problem, może jaki Cygnal by się nadał
;-)
Albo AVR.
Tylko przerwanie od timera 0 właściwie należało by
napisać w asm,
i oczywiście dodać programik zapobiegający
skokowej zmianie zakresu
o kilkanaście jeśli zbyt długo będzie przytrzymany
klawisz.
Niestety dołożenie takiej procedury spowoduje
wzrost błędu generowanego
sygnału.
Ewentualnie można uzyskać synchronizację poprzez
ustawianie znacznika na początku
pętli i jego zerowanie w przerwaniu. Oczywiście
przerwania powinne być generowane
maksymalnie często, ale należy sprawdzić czy pętla
zdąży się wykonać.
Jest mi niezmiernie przykro, ale dla takich
częstotliwości jednak trzeba będzie
napisać to w asm.
pzdr
Artur
PS
przy standardowej '51 można zapomnieć o 100kHz.
Ech.. bzdury piszę. Można zmieniać stan pinu w
przerwaniu od timera, ale
minimalna ilość cykli w przerwaniu to 24, przy
kwarcu 24 MHz mam cykl
0,5us, czyli w przerwaniu będzie siedział 12us.
Niechce mi się liczyć,
ale będzie to poniżej 100kHz, a przypuszczam, że
przerwanie będzie troszkę
dłużej trwało.
Zadaj jakieś inne prostsze pytanie.
Np. Na jakim procesorze można wygenerować sygnał w
zakresie 1kHz-100kHz.
Odpowiedź ATmega128. ;-)
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "maczorcio ;\)" <nolin11_at_nospam_interia.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Mon, 15 Jul 2002 22:53:57 +0200


Wim że jest jakieś nowe polecenie w b AVR ale jakie to niewiem, Czytałem o czymś
takim w polskiej wersji helpa do bascom-cia

Ps: Jeśli nie to mi coś się po ten tegowało.

--
Przemek
GG:4476700
W piątek po 23
priv> przemo_at_nospam_pocztowy.net
Użytkownik "ziel" <zielpro_at_nospam_cavern.pl> napisał w wiadomości
news:DOELJDHHJKPIEKPIGAMEEEMJDIAA.zielpro_at_nospam_cavern.pl...
| > Robilem odobnie ale problem jest z
| > zadaniem czestotliwosci jedna mozna
| > uzyskac latwo ale regulowana to juz problem
| No przecież podałem w przerwaniu od timer0.
| Ale po policzeniu cykli to z tym 100kHz na Atmelu
| może być problem, może jaki Cygnal by się nadał
| ;-)
| Albo AVR.
| Tylko przerwanie od timera 0 właściwie należało by
| napisać w asm,
| i oczywiście dodać programik zapobiegający
| skokowej zmianie zakresu
| o kilkanaście jeśli zbyt długo będzie przytrzymany
| klawisz.
| Niestety dołożenie takiej procedury spowoduje
| wzrost błędu generowanego
| sygnału.
| Ewentualnie można uzyskać synchronizację poprzez
| ustawianie znacznika na początku
| pętli i jego zerowanie w przerwaniu. Oczywiście
| przerwania powinne być generowane
| maksymalnie często, ale należy sprawdzić czy pętla
| zdąży się wykonać.
| Jest mi niezmiernie przykro, ale dla takich
| częstotliwości jednak trzeba będzie
| napisać to w asm.
| pzdr
| Artur
| PS
| przy standardowej '51 można zapomnieć o 100kHz.
| Ech.. bzdury piszę. Można zmieniać stan pinu w
| przerwaniu od timera, ale
| minimalna ilość cykli w przerwaniu to 24, przy
| kwarcu 24 MHz mam cykl
| 0,5us, czyli w przerwaniu będzie siedział 12us.
| Niechce mi się liczyć,
| ale będzie to poniżej 100kHz, a przypuszczam, że
| przerwanie będzie troszkę
| dłużej trwało.
| Zadaj jakieś inne prostsze pytanie.
| Np. Na jakim procesorze można wygenerować sygnał w
| zakresie 1kHz-100kHz.
| Odpowiedź ATmega128. ;-)
| pzdr
| Artur
|
|
| --
| Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
|



Poprzedni Następny
Wiadomość
Spis treści
From: "Andrzej" <macuk_at_nospam_wp.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Tue, 16 Jul 2002 11:31:45 +0200


Tak jest PWM ale to co innego.
Andrzej
Użytkownik "maczorcio ;)" <nolin11_at_nospam_interia.pl> napisał w wiadomości
news:agvibh$2ee$5_at_nospam_news2.tpi.pl...
Wim że jest jakieś nowe polecenie w b AVR ale jakie to niewiem, Czytałem o
czymś
takim w polskiej wersji helpa do bascom-cia

Ps: Jeśli nie to mi coś się po ten tegowało.

--
> Przemek
> GG:4476700
> W piątek po 23
> priv> przemo_at_nospam_pocztowy.net
> Użytkownik "ziel" <zielpro_at_nospam_cavern.pl> napisał w wiadomości
> news:DOELJDHHJKPIEKPIGAMEEEMJDIAA.zielpro_at_nospam_cavern.pl...
> | > Robilem odobnie ale problem jest z
> | > zadaniem czestotliwosci jedna mozna
> | > uzyskac latwo ale regulowana to juz problem
> | No przecież podałem w przerwaniu od timer0.
> | Ale po policzeniu cykli to z tym 100kHz na Atmelu
> | może być problem, może jaki Cygnal by się nadał
> | ;-)
> | Albo AVR.
> | Tylko przerwanie od timera 0 właściwie należało by
> | napisać w asm,
> | i oczywiście dodać programik zapobiegający
> | skokowej zmianie zakresu
> | o kilkanaście jeśli zbyt długo będzie przytrzymany
> | klawisz.
> | Niestety dołożenie takiej procedury spowoduje
> | wzrost błędu generowanego
> | sygnału.
> | Ewentualnie można uzyskać synchronizację poprzez
> | ustawianie znacznika na początku
> | pętli i jego zerowanie w przerwaniu. Oczywiście
> | przerwania powinne być generowane
> | maksymalnie często, ale należy sprawdzić czy pętla
> | zdąży się wykonać.
> | Jest mi niezmiernie przykro, ale dla takich
> | częstotliwości jednak trzeba będzie
> | napisać to w asm.
> | pzdr
> | Artur
> | PS
> | przy standardowej '51 można zapomnieć o 100kHz.
> | Ech.. bzdury piszę. Można zmieniać stan pinu w
> | przerwaniu od timera, ale
> | minimalna ilość cykli w przerwaniu to 24, przy
> | kwarcu 24 MHz mam cykl
> | 0,5us, czyli w przerwaniu będzie siedział 12us.
> | Niechce mi się liczyć,
> | ale będzie to poniżej 100kHz, a przypuszczam, że
> | przerwanie będzie troszkę
> | dłużej trwało.
> | Zadaj jakieś inne prostsze pytanie.
> | Np. Na jakim procesorze można wygenerować sygnał w
> | zakresie 1kHz-100kHz.
> | Odpowiedź ATmega128. ;-)
> | pzdr
> | Artur
> |
> |
> | --
> | Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
> |
>
>



Poprzedni Następny
Wiadomość
Spis treści
From: Janusz_K <Janusz_k.anty_at_nospam_um.bielsko.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Tue, 16 Jul 2002 12:50:48 +0200



DO kolegi Andrzeja i Maczorcio.
Przeczytać netetykietę i stosować!!!
a szczególnie dwa punkty:
1. Cytować tylko niezbędne cytaty z postu poprzednika.
2. Odpowiadać pod cytatami.
--
Pozdr.

Janusz
PS. Uwaga z adresu usuń '.ANTY'

Poprzedni Następny
Wiadomość
Spis treści
From: "maczorcio ;\)" <nolin11_at_nospam_interia.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Thu, 18 Jul 2002 14:07:32 +0200


Powiedz to mojemu outlook-owi chyba ze wiesz jak to ustawic zeby kursor mrygal
mi pod wiadomoscia.
A tak wogole to jest tutaj chyba pan prawniok :-)))))))

--
Przemek
GG:4476700
W piątek po 23
priv> przemo_at_nospam_pocztowy.net
Użytkownik "Janusz_K" <Janusz_k.anty_at_nospam_um.bielsko.pl> napisał w wiadomości
news:3D33FA88.442A4871_at_nospam_um.bielsko.pl...
|
| DO kolegi Andrzeja i Maczorcio.
| Przeczytać netetykietę i stosować!!!
| a szczególnie dwa punkty:
| 1. Cytować tylko niezbędne cytaty z postu poprzednika.
| 2. Odpowiadać pod cytatami.
| --
| Pozdr.
|
| Janusz
| PS. Uwaga z adresu usuń '.ANTY'



Poprzedni Następny
Wiadomość
Spis treści
From: Janusz_K <Janusz_k.anty_at_nospam_um.bielsko.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Thu, 18 Jul 2002 15:54:46 +0200




"maczorcio ;)" wrote:

Powiedz to mojemu outlook-owi chyba ze wiesz jak to ustawic zeby kursor mrygal
mi pod wiadomoscia.
A tak wogole to jest tutaj chyba pan prawniok :-)))))))
Outllooka nie używam :)) to nie wiem jak się tam ustawia.
Ale w netszkapie mam taką opcję w Messages:
Automatically quote the original message when replying:
i mam ustawione na odpowiadanie pod postem czyli:
start my reply below the quoted text.
--
Pozdr.

Janusz
PS. Uwaga z adresu usuń '.ANTY'

Poprzedni Następny
Wiadomość
Spis treści
From: Marek Lewandowski <nospam_at_nospam_poczta.onet.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Thu, 18 Jul 2002 18:14:06 GMT


on Thu, 18 Jul 2002 14:07:32 +0200 in <ah6gga$plf$5_at_nospam_news.tpi.pl>
maczorcio ;\) wrote:

Powiedz to mojemu outlook-owi chyba ze wiesz jak to ustawic zeby kursor mrygal
mi pod wiadomoscia.

CTRL-END.

A tak wogole to jest tutaj chyba pan prawniok :-)))))))

Wszystkich obowiązuje netykieta.
A kto się nie stosuje do zasad dobrego wychowania, ten cham.



--
Marek Lewandowski ICQ# 10139051
locustXpoczta|onet|pl
http://locust.republika.pl
[! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]

Poprzedni Następny
Wiadomość
Spis treści
From: "maczorcio ;\)" <nolin11_at_nospam_interia.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Fri, 19 Jul 2002 01:09:39 +0200


nc

--
Przemek
GG:4476700
W piątek po 23
Użytkownik "Marek Lewandowski" <nospam_at_nospam_poczta.onet.pl> napisał w wiadomości
news:ah72i2$qud44$3_at_nospam_ID-113053.news.dfncis.de...
| on Thu, 18 Jul 2002 14:07:32 +0200 in <ah6gga$plf$5_at_nospam_news.tpi.pl>
| maczorcio ;\) wrote:
|
| >Powiedz to mojemu outlook-owi chyba ze wiesz jak to ustawic zeby kursor
mrygal
| >mi pod wiadomoscia.
|
| CTRL-END.
|
| >A tak wogole to jest tutaj chyba pan prawniok :-)))))))
|
| Wszystkich obowiązuje netykieta.
| A kto się nie stosuje do zasad dobrego wychowania, ten cham.
|
|
|
| --
| Marek Lewandowski ICQ# 10139051
| locustXpoczta|onet|pl
| http://locust.republika.pl
| [! Odpowiadaj pod cytatem. Tnij cytaty. Podpisuj posty. !]



Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Fri, 19 Jul 2002 13:09:17 +0200


nc

Not Connected?
do Not Connect?
No Currier?
...
...
.....Norton Commander? ;-))))

Miłego dnia.
--
PZD, Irek.N.



Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: 19 Jul 2002 20:44:03 +0200


nc

Not Connected?
do Not Connect?
No Currier?
...
...
.....Norton Commander? ;-))))

nie czytałem ?;-)
pzdr
Artur


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "maczorcio ;\)" <nolin11_at_nospam_interia.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sat, 20 Jul 2002 13:43:13 +0200


No comment

Użytkownik "ziel" <zielpro_at_nospam_cavern.pl> napisał w wiadomości
news:DOELJDHHJKPIEKPIGAMEOEHJDJAA.zielpro_at_nospam_cavern.pl...
| > > nc
| >
| > Not Connected?
| > do Not Connect?
| > No Currier?
| > ...
| > ...
| > .....Norton Commander? ;-))))
| >
| nie czytałem ?;-)
| pzdr
| Artur
|
|
| --
| Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika
|



Poprzedni Następny
Wiadomość
Spis treści
Date: Sat, 20 Jul 2002 01:10:02 +0200
From: badworm <nospam_at_nospam_post.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?


maczorcio ;) wrote:
> nc
PLONK warning #1 za wielokrotne łamanie netykiety i olewanie "starych"
grupowiczów.
--
Pozdrawiam Bad Worm badworm<małpa>post<kropka>pl
http://www.gusnet.prv.pl GG# 2400455(około 22)
"All in all you're just another brick in the wall"
Tnijcie cytaty i sygnaturki!


Poprzedni Następny
Wiadomość
Spis treści
From: "maczorcio ;\)" <nolin11_at_nospam_interia.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 21 Jul 2002 01:41:26 +0200


Otatni jestem wkurzony więc nie zwracajcie na mnie uwagi...

--
Przemek
przemo_at_nospam_pocztowy.net




Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: RE: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: 22 Jul 2002 13:00:59 +0200


Otatni jestem wkurzony więc nie
zwracajcie na mnie uwagi...
np *)

pzdr
Artur

*)
no problem


--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika


Poprzedni Następny
Wiadomość
Spis treści
From: "Jasto Kalip" <tom1234_at_nospam_ds2.pg.gda.pl>
Subject: Re: Jak w Bascomie uzyskac przebieg prostokatny ?
Date: Sun, 14 Jul 2002 13:04:16 +0200



Użytkownik "Andrzej" <macuk_at_nospam_wp.pl> napisał w wiadomości
news:agqdss$v9$1_at_nospam_korweta.task.gda.pl...
Jak w Bascomie uzyskac przebieg prostokatny o czestotliwosci od 1kHz do
100kHz ustawiany przyciskami Up, Down na 89C4051?



Moja metoda:


'$sim
Dim Tim0 As Word
Dim Overf As Word
Dim I As Byte
Dim A As Byte
'$crystal = 11000000
$regfile = "89c2051.DAT"

Config Timer0 = Timer , Gate = Internal , Mode = 2

On Timer0 Timer_0_int
Th0 = 0
'przerwanie co 256 taktow zegarowych
' th=100 'przerwanie co
150 taktow zegarowych
Enable Interrupts 'enable the
use of interrupts
Enable Timer0 'enable the
timer
Start Timer0
Tim0 = 2212
Do
Set P1
If P1.1 = 0 Then 'Up
Incr Tim0
Waitms 150
Set P1.1
End If
If P1.0 = 0 Then 'Down
Decr Tim0
Waitms 150
Set P1.0
End If
Loop

Timer_0_int:
Overf = Overf + 1
If Overf > Tim0 Then
Incr I
Overf = 0
A= I Mod 2
If A = 0 Then
P1.7 = 1
Else
P1.7 = 0
End If
End If
Return


niestety częstotliwości takich jak chcesz to nie uzyskasz bo obsługa
przerwania zajmuje tyle, że sygnał może być max 5kHz dla kwarcu 24MHz.
Zmieniając zmienne tim0 - czyli ilość przepełnień na jeden okres generatora
i th0- zawartość początkowa licznika T0 możesz sobie ustalić zakresy
częstotliwości generowanego sygnału.
Program ten działał mi bardzo dobrze przez długi czas jako stabilny(na ile
pozwalał kwarc) i przestrajany generator sygnału.


Tomek