Pályamunkák - félkész és fejlesztések
Pályamunkák - félkész és fejlesztések
A félkész pályamunkákat ide kéretik beküldeni. A kész példákat tessék külön kiemelni és beírni, hogy az bizony pályamunka! Szóval tessék figyelmesen írni....
Palyazat plussz
A tobbi palyamuhoz kepest, az En progim alulrol veri a lecet. 472 byte
Viszont kelloen megdolgoztatott (MIDI protokoll HW/SW megismerese)
A feladat az, hogy MIDI-n keresztul vezereljek egy nem MIDI-s eszkozt. Sajnos sokminden kozbejott, ezert az aramkor nem keszul el 19-ig, ill. valoszinuleg a program sem lesz sokkal bonyolultabb.
Ami nem lathato, hogy a Port.B 6-os, es 7-es laba egy-egy tranzisztort vezerel, ami egy kis relet huz meg. A rele foldfuggetlen kontaktussal (rovidzar/szakadas) ad vezerlest. A Port.B5-os labra egy LED van kotve, ami (ha jol szamoltam) mp-es utemben villog, jelezve, hogy a keszulek mukodik. A MIDI bement is egy kulon panelre kerult, mivel optocsatolos bemenetet kovetel a szabvany (aramhurok). Az optocsatolo kimenetet egy 7400-val invertalom, es igy kerul az Attiny2313 soros portjara. Maga a demopanel is atesett egy kis muteten, mivel ki kellett cserelni a kristalyt, hogy a MIDI-hez szukseges 31250baud hibaszazalek nelkul meglegyen.
Mivel rajzoljatok meg a kapcsolast? Letezik vmi 1xu freeware progi ilyen celra?
$regfile = "Attiny2313.dat"
$crystal = 4000000
$baud = 31250
' Kimenetek
Config Portb = Output
Portb = 0
'Sorosport konfiguracio
Config Serialin = Buffered , Size = 10
Echo Off
'Idozites konfiguracio
Config Timer1 = Timer , Prescale = 1024
'Rutinok
Declare Sub Impulzus
Declare Sub Villogas
' Valtozok
Dim Parancs As Byte
Dim Adat As Byte
' Megszakitas(ok)
Enable Interrupts
' A foprogram
Do
Parancs = Inkey()
Adat = Inkey()
If Parancs = 192 Then
Select Case Adat
Case 1 ' Nappali program
Call Impulzus
Case 2 ' Ejszakai program
Call Impulzus
End Select
End If
If Timer1 < 61628 Then Call Villogas
Loop
End
' 500ms impulzust ad az atkapcsolashoz (GPIO)
Sub Impulzus
Set Portb.7
Set Portb.6
Waitms 500
Reset Portb.7
Reset Portb.6
End Sub
' ha fut a program, villog a LED
Villogas:
Toggle Portb.5
Timer1 = 61628
Return
A tobbi palyamuhoz kepest, az En progim alulrol veri a lecet. 472 byte
Viszont kelloen megdolgoztatott (MIDI protokoll HW/SW megismerese)
A feladat az, hogy MIDI-n keresztul vezereljek egy nem MIDI-s eszkozt. Sajnos sokminden kozbejott, ezert az aramkor nem keszul el 19-ig, ill. valoszinuleg a program sem lesz sokkal bonyolultabb.
Ami nem lathato, hogy a Port.B 6-os, es 7-es laba egy-egy tranzisztort vezerel, ami egy kis relet huz meg. A rele foldfuggetlen kontaktussal (rovidzar/szakadas) ad vezerlest. A Port.B5-os labra egy LED van kotve, ami (ha jol szamoltam) mp-es utemben villog, jelezve, hogy a keszulek mukodik. A MIDI bement is egy kulon panelre kerult, mivel optocsatolos bemenetet kovetel a szabvany (aramhurok). Az optocsatolo kimenetet egy 7400-val invertalom, es igy kerul az Attiny2313 soros portjara. Maga a demopanel is atesett egy kis muteten, mivel ki kellett cserelni a kristalyt, hogy a MIDI-hez szukseges 31250baud hibaszazalek nelkul meglegyen.
Mivel rajzoljatok meg a kapcsolast? Letezik vmi 1xu freeware progi ilyen celra?
$regfile = "Attiny2313.dat"
$crystal = 4000000
$baud = 31250
' Kimenetek
Config Portb = Output
Portb = 0
'Sorosport konfiguracio
Config Serialin = Buffered , Size = 10
Echo Off
'Idozites konfiguracio
Config Timer1 = Timer , Prescale = 1024
'Rutinok
Declare Sub Impulzus
Declare Sub Villogas
' Valtozok
Dim Parancs As Byte
Dim Adat As Byte
' Megszakitas(ok)
Enable Interrupts
' A foprogram
Do
Parancs = Inkey()
Adat = Inkey()
If Parancs = 192 Then
Select Case Adat
Case 1 ' Nappali program
Call Impulzus
Case 2 ' Ejszakai program
Call Impulzus
End Select
End If
If Timer1 < 61628 Then Call Villogas
Loop
End
' 500ms impulzust ad az atkapcsolashoz (GPIO)
Sub Impulzus
Set Portb.7
Set Portb.6
Waitms 500
Reset Portb.7
Reset Portb.6
End Sub
' ha fut a program, villog a LED
Villogas:
Toggle Portb.5
Timer1 = 61628
Return
- nobody_hun
- Bitfaragó
- Hozzászólások: 425
- Csatlakozott: 2005. november 14. hétfő, 7:00