Skocz do zawartości

Zastapienia mikrokontrolera at89c2051 kontrolerem ATTiny2313


Kryma96

Pomocna odpowiedź

Witam, zbudowałem układ zgrzewarki, ale dopiero teraz zauważyłem, ze nie mam jak zaprogramować mikrokontroler at89c2051 i chcaiłem go zastąpic mikrokontrolerem ATTiny2313 i tutaj nasuwa się pytanie czy jest jakis program, który zmieni mi kod programowania z atmela na attiny?

Link do komentarza
Share on other sites

@Kryma96, nie ma żadnego magicznego konwertera. Podaj jakieś szczegóły - jaki to program, co dokładnie robi i w jakim języku jest napisany. Raczej będziesz musiał się liczyć z samodzielnym przepisaniem kodu.

2 godziny temu, Kryma96 napisał:

który zmieni mi kod programowania z atmela na attiny?

Tak dla formalności Atmel to producent (obecnie Microchip), a ATtiny to rodzina mikrokontrolerów tego samego producenta 😉

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

a wiec chce zbudować cos takiego http://pfmrc.eu/index.php/topic/55363-zgrzewarka-punktowa-do-ogniw-i-nie-tylko/ no i po złozeniu okazało się, że procesor at89c2051 ciezko jest zaprogramować i chciałem go zastąpić ATtiny2313 DIP20, ale nie wiem czy kod z tego pierwszego będzie bez problemu pasował na ten drugi, a jeśli nie to czy istnieje jakis konwerter kodów.  kod

$crystal = 12000000
$regfile = "89C2051.dat"


Seg_a Alias P1.0
Seg_b Alias P3.7
Seg_c Alias P1.6
Seg_d Alias P1.4
Seg_e Alias P1.3
Seg_f Alias P1.1
Seg_g Alias P1.2
Seg_h Alias P1.5


Buz_ Alias P3.5
In_ Alias P3.4
Out_ Alias P3.3
S1_ Alias P3.1
Jp_ Alias P3.0


Dim Count_time As Byte
Dim Temp As Byte


'  POCZĄTEK PROGRAMU

      Out_ = 1
      Buz_ = 1
      Seg_a = 1
      Seg_b = 0
      Seg_c = 0
      Seg_d = 1
      Seg_e = 1
      Seg_f = 1
      Seg_g = 1


   Count_time = 1


' POCZĄTEK PĘTLI GLOWNEJ

Do


If S1_ = 0 Then
   Waitms 40
Do
Loop Until S1_ = 1
   Waitms 40

Incr Count_time
 If Count_time > 10 Then Count_time = 1
Select Case Count_time
   Case 1:
      Seg_a = 1
      Seg_b = 0
      Seg_c = 0
      Seg_d = 1
      Seg_e = 1
      Seg_f = 1
      Seg_g = 1
   Case 2:
      Seg_a = 0
      Seg_b = 0
      Seg_c = 1
      Seg_d = 0
      Seg_e = 0
      Seg_f = 1
      Seg_g = 0
   Case 3:
      Seg_a = 0
      Seg_b = 0
      Seg_c = 0
      Seg_d = 0
      Seg_e = 1
      Seg_f = 1
      Seg_g = 0
   Case 4:
      Seg_a = 1
      Seg_b = 0
      Seg_c = 0
      Seg_d = 1
      Seg_e = 1
      Seg_f = 0
      Seg_g = 0
   Case 5:
      Seg_a = 0
      Seg_b = 1
      Seg_c = 0
      Seg_d = 0
      Seg_e = 1
      Seg_f = 0
      Seg_g = 0
   Case 6:
      Seg_a = 0
      Seg_b = 1
      Seg_c = 0
      Seg_d = 0
      Seg_e = 0
      Seg_f = 0
      Seg_g = 0
   Case 7:
      Seg_a = 0
      Seg_b = 0
      Seg_c = 0
      Seg_d = 1
      Seg_e = 1
      Seg_f = 1
      Seg_g = 1
   Case 8:
      Seg_a = 0
      Seg_b = 0
      Seg_c = 0
      Seg_d = 0
      Seg_e = 0
      Seg_f = 0
      Seg_g = 0
   Case 9:
      Seg_a = 0
      Seg_b = 0
      Seg_c = 0
      Seg_d = 0
      Seg_e = 1
      Seg_f = 0
      Seg_g = 0
   Case 10:
      Seg_a = 0
      Seg_b = 0
      Seg_c = 0
      Seg_d = 0
      Seg_e = 0
      Seg_f = 0
      Seg_g = 1
End Select
End If

If In_ = 0 Then
   Waitms 50
      If Jp_ = 0 Then
            Seg_h = 0
            Out_ = 0
            For Temp = 1 To Count_time
            Waitms 100
            Next Temp
            Out_ = 1
            Seg_h = 1
            Buz_ = 0

      Elseif Jp_ = 1 Then
            Seg_h = 0
            Out_ = 0
            For Temp = 1 To Count_time
            Waitms 10
            Next Temp
            Out_ = 1
            Seg_h = 1
            Buz_ = 0
            End If
   Do
   Loop Until In_ = 1
   Waitms 20
   Buz_ = 1
End If
Loop

End

 

Edytowano przez Treker
Poprawiłem formatowanie.
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Da się zamienić, trzeba tylko popoprawiać definicje pinów z Bascoma na Bascoma AVR skompilować i powinno działać. Generalnie składnia jest taka sama ale w Bascomie AVR piny definiuje się albo przez PortB.1 albo PinB.1, nie pamiętam które z tych słów bo to jest pokręcone. Instalujesz demo Bascoma AVR, przeklajasz kod, poprawiasz definicje zgodnie z heplem, kompilujesz i programujesz. Musisz zaopatrzyć się w jakiś programator USB, którym zaprogramujesz spod Bascoma. Ewentulanie wiem, że jakoś się da przez Arduino zaprogramować jakiegoś AVRa, ale to już nie moja bajka.

  • Lubię! 2
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.