attiny2313, bascom i dioda led

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

attiny2313, bascom i dioda led

Post autor: minik97 » 06 gru 2011, 20:05

Witam serdecznie. moje pytanie brzmi tak : czy istnieje tak możliwość żeby dioda led powoli gasła i powoli się zapalała, może być tak żeby tylko powili gasł a normalnie się zapalała. Jeśli tak no mógłbym prosić o kod w bascomie .
pozdrawiam :wink:

Awatar użytkownika
tom5555
Użytkownik
Posty: 625
Rejestracja: 23 sty 2008, 1:20
Lokalizacja: Zabrze
Kontakt:

Post autor: tom5555 » 06 gru 2011, 20:10

Oczywiście, wykorzystaj PWM. A kod można znaleźć w każdym kursie i helpie do bascom'a.

minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

Post autor: minik97 » 06 gru 2011, 20:13

własnie szukałem ale nie znalałem było tylko coś takiego to jest to:
set portd.0
wait 1
reset portd.0
loop
end

?

minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

Post autor: minik97 » 06 gru 2011, 20:23

a jeśli nie to to mógłbym prosić o ten kod :)

Awatar użytkownika
tom5555
Użytkownik
Posty: 625
Rejestracja: 23 sty 2008, 1:20
Lokalizacja: Zabrze
Kontakt:

Post autor: tom5555 » 06 gru 2011, 20:32

W google wpisać "pwm attiny 2313" i jest gotowy kod już w drugim wyniku.

Kod: Zaznacz cały

$regfile = "attiny2313.dat"
$crystal = 8000000

Config Portb = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm
= Clear Down , Prescale = 1
dim X As Integer

Do
For X = 1 To 100 Step 2
Pwm1a = X
Waitms 100
Next

For X = 100 To 1 Step -2
Pwm1a = X
Waitms 100
Next
Loop
End 

minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

Post autor: minik97 » 06 gru 2011, 20:39

Dzięki. A powiedz mi czy trzeba zmieniać fusy i do którego pinu podpinam led-a ?

Awatar użytkownika
tom5555
Użytkownik
Posty: 625
Rejestracja: 23 sty 2008, 1:20
Lokalizacja: Zabrze
Kontakt:

Post autor: tom5555 » 06 gru 2011, 20:58

Fusy ustawiasz według programu, czyli zegar na 8MHz, jak nie masz kwarcu to generator wewnętrzny. Watchdog wyłączony. Dioda podłączona według konfiguracji timera, czyli pod wyjście komparatora A pierwszego timera - 15 pin.

minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

Post autor: minik97 » 06 gru 2011, 21:01

wiesz jestem początkujący. A nie mogę ustawić Crystal na 1000000? jeśli nie to pomógł byś mi ustawić te fusy. A i led (+)do 15 a (-) do GND(10) tak?

Awatar użytkownika
tom5555
Użytkownik
Posty: 625
Rejestracja: 23 sty 2008, 1:20
Lokalizacja: Zabrze
Kontakt:

Post autor: tom5555 » 06 gru 2011, 21:50

A nie mogę ustawić Crystal na 1000000?
Można Zmień $crystal = 8000000 na $crystal = 1000000. Jeśli programujesz bezpośrednio z bascim'a, to ustawienie fusów jest proste, wystarczy podstawowa znajomość angielskiego.
Co do podłączenia diody, nie ma to większego znaczenia, przeważnie diody sterowane są masą, czyli katoda do uC, anoda przez rezystor do Vcc.

minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

Post autor: minik97 » 06 gru 2011, 22:23

A co to ten bascim? a w tedy jak bym w Bascom avr ustawił $Crydtal= 1000000 to co bym tylko musiał w fusach zmienić?

Awatar użytkownika
matrix
Użytkownik
Posty: 1796
Rejestracja: 15 mar 2006, 5:21
Lokalizacja: Sochaczew
Kontakt:

Post autor: matrix » 06 gru 2011, 23:40

minik97 pisze: a w tedy jak bym w Bascom avr ustawił $Crydtal= 1000000 to co bym tylko musiał w fusach zmienić?
Szczerze? Kolego, przy Twojej obecnej wiedzy to Ty się za programowanie nie bierz.

Awatar użytkownika
tom5555
Użytkownik
Posty: 625
Rejestracja: 23 sty 2008, 1:20
Lokalizacja: Zabrze
Kontakt:

Post autor: tom5555 » 06 gru 2011, 23:49

A co to ten bascim
Chodziło mi o BASCOM. Głupia literówka i już wielki problem.
Ogólnie fusy powinny się zgadzać z konfiguracją kompilatora (komendy z $) i z warstwą hardware'ową procesora. Poczytaj jakiś kurs programowania i rób podane tam przykłady, bo pytając o gotowe kody i ustawienia fuse bitów niczego się nie nauczysz.

minik97
-
Posty: 75
Rejestracja: 10 mar 2011, 22:12
Lokalizacja: MAŁOPOLSKA

Post autor: minik97 » 07 gru 2011, 10:38

tutaj mam taki prgram

Kod: Zaznacz cały

$regfile = "attiny2313.dat"
$crystal = 1000000

'pin OC0A (PB2) - wyjście
Config Portb.2 = Output
Set Tccr0a.0
Set Tccr0a.1

Set Tccr0a.7

Pwm0a = 50

Set Tccr0b.cs00                                             '

Do
Waitms 10
Incr Pwm0a







Loop
i chciałem do tego dołączyć jeszcze żeby w porcie np. D.0 led mrugała i w porcie np D.1 było to samo co w B.2 czyli powili się zaświecałą.
pozdrawiam :wink:

ODPOWIEDZ