Fórum témák
- • LCD TV probléma
- • Napelem alkalmazása a lakás energia ellátásában
- • Feszültség stabilizátor 3.4V-ra
- • TDA7294 végerősítő
- • Vicces - mókás történetek
- • Kombikazán működési hiba
- • Bojler javítása, kérdések
- • Elfogadnám, ha ingyen elvihető
- • Érdekességek
- • 32A 40-re bővítése?
- • Erősítő építése elejétől a végéig
- • Oszcilloszkóp vétel, mit gondoltok?
- • Elektroncső
- • Vibrációs búvárszivattyú
- • Kapcsolási rajzot keresek
- • Rádiófrekvenciás (RF) jelgenerátor
- • Klíma szervizelés, javítás
- • PLC kérdések
- • Kávéfőzőgép hiba
- • Multiméter - miért, milyet?
- • Milyen csatlakozó ez?
- • LC mérő
- • Felajánlás, azaz ingyen elvihető
- • Arduino relé modul, elnémul az out_pin
- • Számítógép hiba, de mi a probléma?
- • VF2 végerősítő
- • Rendelés külföldről (eBay - Paypal)
- • Analóg oszcilloszkóp javítása
- • KETTLER töltő
- • Hozom-viszem, veszem-küldöm!
- • Tápegységgel kapcsolatos kérdések
- • Tranzisztorok helyettesítése
- • Műhelyünk felszerelése, szerszámai
- • Kapcsolóüzemű táp 230V-ról
- • Gitárerősítő
- • Ventilátoros hűtés
- • Elektronikus szulfátoldó (Akku aktivátor)
- • Gyors hőmérséklet mérés tapintó érzékelővel ellátott műszerrel
- • Dobozolási technikák, műszerdobozok
- • Hangsugárzó építés, javítás - miértek, hogyanok
- • Erősítő mindig és mindig
- • Audiofil, High End Audio
- • Klíma beszerelése, fűtés-hűtés házilag
- • Teljesítmény -LED, powerLED (pl. Cree, Luxeon) vezérlése
- • Varrógép elektronika
- • WiFi antenna készítés
- • Mosógép vezérlők és általános problémáik
- • Transzformátor készítés, méretezés
- • Túlfeszültségvédő
- • SONY TA-F 590ES MOSFET végfok átalakítása
- • Kapcsolóüzemű tápegység
- • Vakondriasztó
- • Indukciós főzőlap javítása
- • Gitár torzító / Effekt / Erősítő / Pickup
- • Tápegység
» Több friss téma
|
Ne is minősíts! Amíg enni alig van pénzem két diplomával, addig feljogosítva érzem magam másolt programok használatára. Amint annyit keresek, mint nyugati kollégáim, máris vásárolok SW-t. Különben is éljen a GPL!
A régit pedig nem szoktam cserélni, csak ha muszáj. Ami jól bevált... De ha küldesz egy újabbat crakkelve, áttérnék...! ))
Azért köszönöm a segítséget, megpróbálom.
GPL -> Arduino? Wiring? C?
Megépítettem ezt a programozót: http://electronics-diy.com/avr_programmer.php
Soros portos. A Bascomban mit kell beállítani hozzá? Mert nekem STK500 -ra állt automatikusan a Bascom, és azóta F4-re nem a letöltés indul el, hanem megjelenik egy sajátgép ablak. Most mit akar?
Soros nemszabványos programozót a Bascom nem támogat.
-> Bascom súgó. Ott vannak a támogatottak, rajzzal is.
Ezt max: external programmer és az AVRDUDE-t beizzítod hozzá...
Sziasztok!
ATMEGA8 INT0 lábra tettem egy nyomógombot. Egy ledet szeretnék be, és ki kapcsolni, de sehogy sem működik. Lehet nem is olyan egyszerű? Tehát, benyomom a nyomógombot, akkor bekapcsol egy led. Ha nem kell, hogy világítson, megint ugyanazt a nyomógombot benyomom, és a led kikapcsol. Kérem, akinek van minta programja az segítsen. A hozzászólás módosítva: Márc 6, 2013
Szia.Most megszakítás alapon akarod használni,vagy csak simán bekapcsolni meg kikapcsolni nyomogombra?
Szia!
Ha tudsz mind a két megoldásban segíteni, akkor jöhet mindkettő megoldás.
Ezt próbáld meg.nem tudom melyik kimeneten van a led azt majd beállítod.Meg a kvarcod is.Ha túl érzékeny a gomb a waitms tudsz korrigálni.Ez csak sima nyomógombos nem megszakításos.
$regfile = "m8def.dat" 'Proci Tipusa
$crystal = 8000000 'qvarc
$swstack = 40
$hwstack = 64
$framesize = 80
Config Portd.2 = Input
Portd.2 = 1
Gomb Alias Pind.2
Config Portc.2 = Output
Portc.2 = 0
Do
If Gomb = 0 Then
Waitms 50
If Portc.2 = 0 Then
Portc.2 = 1
Else
Portc.2 = 0
End If
End If
Waitms 500
Loop
End
Sajnos még mindig nem fut az első programom sem.
Vettem egy szabványos stk500 programozót. Felinstalltam, látja virtuális com3 néven.
A Bascomot beállítottam stk500 -ra COM3 -ra. F7 fordít, F4 letölt de ehelyett megjelenik egy windows file ablak amin nézhetem a könyvtáramat, de semmi nem történik.
Mi a túró lehet? (bascom 1.11.9.0)
Az AVR-Studiot tedd fel itt hivatkozz a stk500.exe-re.
AVR-Doper, USBASP-vel _nem_ működik! - Ezek nem stk500-ak...
B opcio:
Bascommal fordítasz, AVRStudioval feltöltesz. A hozzászólás módosítva: Ápr 1, 2013
Sziasztok! Hogy lehet elérni azt hogy 1db nyomógombbal több program között tudjak váltani?
Szia!
A NY-al léptetsz egy változó és a változó értékétől függően ugrasz ide vagy oda !
Le tudnád nekem írni egy példába?
Nem, mert nem használom ezt a nyelvet!
Értem Azért köszönöm!
Az elv alapján meg kell tudnod oldani!
Valami ilyesminek kell lennie ( a szintaktikát ne nézd ! ):
A változó növelése a gomb megnyomása esetén ( if NY then valtozo=valtozo+1 ),
ha a változo elérte a maximumot, akkor pl. újra visszateszem az elejére, ha 1 gomb van az állításra ( if valtozo=max+1 then valtozo=minimum ),
Eztután ugrás a változó értékétől függően ( if valtozo=0 then goto menu_0
if valtozo=1 then goto menu_1
if valtozo=2 then goto menu_2, stb.
A NY lekezeléséhez ne felejts késleltetést írni !
Így már jobban érthető Köszi!
Megcsináltam elképzelésem szerint de nem lett jó
On Int0 Gomb
Enable Timer0
Enable Interrupts
Enable Int0
Dim Gomb As Byte
Gomb = 0
If Pind.2 = 0 Then Gomb = Gomb + 1
If Gomb = 2 + 1 Then Gomb = 0
If Gomb = 0 Then Goto Prog0
If Gomb = 1 Then Goto Prog1
If Gomb = 2 Then Goto Prog2
If Pind.2 = 0 Then Waitms 200
Mi a hiba?
Én ugy látom a gomb változó kicsit prelles.azaz hamar tulszalad.nem johelyen van a waitms.szerintem.
A gomb 2+1 then gomb=0 azt szerintem ugy kellene hogy gomb<=3 then gomb=0
De kipróbálhatod a CASE utasítást.szerintem az jobb A hozzászólás módosítva: Ápr 20, 2013
Példát tudsz írni, mert már nem értem mi hogy van...
Ilyen nincs a Bascom-AVRben:
If Gomb = 2 + 1 Then Gomb = 0
Tipp-váz:
do
if pinc.2=0 then incr program
if program>3 then program = 1
if program = 1 then call egyesprogram()
if program = 2 then call kettesprogram()
if program = 3 then call harmasprogram()
waitms 100
bitwait pinc.2, set 'engedd el e gombot
loop
Indulásnak az INT és TIMEReket felejtsd el....
Full kezdô vagyok még, remélem ezzel sikerül megcsinálni illetve megtanulni Köszönöm!
Sziasztok!
Egy kis segítséget szeretnék kérni. Próbaképpen egy ATmega8-al egy ébresztőórát akartam a Bascom (2.0.7.3)-mal letesztelni.
Ennek a proginak kellene futnia....
'***************************************************************************
'** author: Ronald Bruinsma
'** date: Juni - 2011
'** title: Alarm Clock
'** version: 1.5
'** descr: Alarm clock with date, functions and parts used:
'** - adjust time and alarm time
'** - adjust date
'** - stop alarm
'** - timer for date and time uses a 32.768kHz Watch Timing Crystal
'** - Star Micronics TMB-05 Buzzer
'** - Runs on 5Volt
'** - HD44780 1602 16x2 LCM Character LCD Display Module New
'***************************************************************************
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 64
$swstack = 32
$framesize = 32
'$sim 'For testing purpose
'Variabelen
Dim Keytime As Word 'for counting if button portd.5 is pressed
Dim Minute As Byte , Hour As Byte , Flag As Bit ' vars for time
Dim Day As Byte , Month As Byte , Year As Byte , Flag_date As Bit ' vars for date
Dim Start_counter_int As Integer 'vars for start loop
Dim Pulses As Word , Periods As Word ' vars for buzzer
Pulses = 2 : Periods = 25000 ' setting the buzzer sound
Dim Alarm_hours As Byte , Alarm_minutes As Byte ' alarm time
Dim Alarm_h_set As String * 2 , Alarm_m_set As String * 2 ' alarm time converted to strings
Dim Alarm_time As String * 8 ' alarm time
Alarm_hours = 00 ' default alarm time hours
Alarm_minutes = 00 ' default alarm time minutes
Dim _alarm_hours As Byte , _alarm_minutes As Byte 'vars for alarm setup sub
Declare Sub Setup_time ' subroutine for setting the time
Declare Sub Setup_alarm_time ' subroutine for setting the alarm time
Declare Sub Alarm 'subroutine for stopping the alarm buzzer
Declare Sub Setup_date ' subroutine for setting the date
'Poort configuratie
Ddrd = &B00000000 'setup portd as input for buttons
Ddrc = &B00111111 'setup portC as output for LCD screen
Portd.5 = 1 'setup button for time, if button is pressed for more than 3 seconds than enter date setup
Portd.6 = 1 'setup button alarm time
Portd.2 = 1 'minutes button
Portd.3 = 1 'hour button
Buzzer Alias Portd.1 'poort d 1 for buzzer
Config Buzzer = Output
Portd.7 = 1 'stop buzzer button
'---------------------------
' Activating LCD screen
'---------------------------
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.5 , Rs = Portc.4
Config Lcd = 16 * 2 'LCD screen fromat
Config Lcdbus = 4 '4 bits instead of 8 bits
Config Lcdmode = Port
Initlcd
Display On
Waitms 400
'---------------------------
' Activate internal clock
'---------------------------
Config Date = Mdy , Separator = / 'ANSI format
Config Clock = Soft 'clock type
Date$ = "14/06/11" 'start date
Time$ = "00:00:00" 'start time
'---------------------------
' Main loop
'---------------------------
Cls
Waitms 300
Lcd "Starting up....."
Start_counter_int = 1
Do
Locate 2 , Start_counter_int
Lcd "."
Waitms 150
Incr Start_counter_int
Loop Until Start_counter_int = 16 '16 is maximum chars for LCD screen
Cls
Waitms 250
Enable Interrupts ' interrupts ON for clock
' Time and Date Main loop±
Do
If Pind.5 = 0 Then
Keytime = 0 'Reset the counter back to zero
Do
Incr Keytime
If Keytime > 65000 Then Keytime = 65000 'Button is pressed very long time
Waitms 1 'Some delay else the loop is to fast
Loop Until Pind.5 = 1 'Do loop until the button is released
If Keytime > 20 And Keytime < 3000 Then Gosub Setup_time 'Button pressed for 3 or less seconds than setup time
If Keytime => 3000 And Keytime < 10000 Then Gosub Setup_date 'Button pressed between 3 and 10 secs than setup date
Elseif Pind.6 = 0 Then
Cursor On , Blink
Gosub Setup_alarm_time
End If
Locate 1 , 1
Lcd "Date: " ; Date$ ; " "
Locate 2 , 1
If Time$ = Alarm_time Then ' alarm time = current time than goto buzzer
Gosub Alarm
Else
Lcd "Time: " ; Time$ ; " "
End If
Loop
End
'Subroutine to setup date:
Sub Setup_date
Disable Interrupts
Cls
Waitms 150
Locate 1 , 1
Lcd "Date setup:"
Bitwait Pind.5 , Set 'wait until pin D 5 setup button is released
Locate 2 , 1
Month = _month
Day = _day
Year = _year
If Month < 10 Then Lcd "0"
Lcd Month ; "/"
If Day < 10 Then Lcd "0"
Lcd Day ; "/"
If Year < 10 Then Lcd "0"
Lcd Year
' main loop for setting up date:
Do
If Flag_date = 1 Then
Locate 2 , 1
If Day < 10 Then Lcd "0"
Lcd Day ; ":"
If Month < 10 Then Lcd "0"
Lcd Month ; ":"
If Year < 10 Then Lcd "0"
Lcd Year
Flag_date = 0
End If
' Adjust days, pin D 2 button:
If Pind.2 = 0 Then
Waitms 150
Incr Day
Waitms 150
If Day = 31 Then Day = 0
Waitms 150 ' pauze
Flag_date = 1 'update lcd
End If
' Adjust months, pin D 3 button:
If Pind.3 = 0 Then
Waitms 150
Incr Month
Waitms 150
If Month = 12 Then Month = 0
Waitms 150 ' pauze
Flag_date = 1 'update lcd
End If
' Adjust years, pin D 7 button:
If Pind.7 = 0 Then
Waitms 150
Incr Year
Waitms 150
If Year = 100 Then Year = 0
Waitms 150 ' pauze
Flag_date = 1 'update lcd
End If
Loop Until Pind.5 = 0 ' after pressing button pin D 5 again, leave this subroutine
_month = Month
_day = Day
_year = Year
Cursor Off , Noblink , Cls
Bitwait Pind.5 , Set
Enable Interrupts ' interrupts back ON for clock.
End Sub
'Subroutine for alarm:
Sub Alarm
Bitwait Pind.7 , Set
Cls
Lcd "Wake up time!!"
Do
Sound Buzzer , Pulses , Periods
Waitms 125
Loop Until Pind.7 = 0
Bitwait Pind.7 , Set
End Sub
'Subroutine to setup time:
Sub Setup_time:
Disable Interrupts
Cls
Waitms 250
Locate 1 , 1
Lcd "Time setup:"
Bitwait Pind.5 , Set '
Locate 2 , 1
Hour = _hour
Minute = _min
If Hour < 10 Then Lcd "0"
Lcd Hour ; ":"
If Minute < 10 Then Lcd "0"
Lcd Minute
' Main loop setting up time::
Do
If Flag = 1 Then
Locate 2 , 1
If Hour < 10 Then Lcd "0"
Lcd Hour ; ":"
If Minute < 10 Then Lcd "0"
Lcd Minute
Flag = 0
End If
' adjust minutes, pin D 2 button:
If Pind.2 = 0 Then
Waitms 150
Incr Minute
Waitms 150
If Minute = 60 Then Minute = 0
Waitms 150 ' pauze
Flag = 1 'update lcd
End If
' Adjust hours, pin D 3 button:
If Pind.3 = 0 Then
Waitms 150
Incr Hour
Waitms 150
If Hour = 24 Then Hour = 0
Waitms 150 ' pauze
Flag = 1 'update lcd
End If
Loop Until Pind.5 = 0
_min = Minute
_hour = Hour
Cursor Off , Noblink , Cls
Bitwait Pind.5 , Set
Enable Interrupts
End Sub
'Subroutine for setting up alarm time:
Sub Setup_alarm_time:
Disable Interrupts
Cls
Waitms 250
Locate 1 , 1
Lcd "Alarm setup:"
Bitwait Pind.6 , Set '
Locate 2 , 1
If Alarm_hours < 10 Then Lcd "0"
Lcd Alarm_hours ; ":"
If Alarm_minutes < 10 Then Lcd "0"
Lcd Alarm_minutes
'Main loop for setting up alarm time:
Do
If Flag = 1 Then
Locate 2 , 1
If Alarm_hours < 10 Then Lcd "0"
Lcd Alarm_hours ; ":"
If Alarm_minutes < 10 Then Lcd "0"
Lcd Alarm_minutes
Flag = 0
End If
' Adjust minutes, pin D 2 button:
If Pind.2 = 0 Then
Waitms 150
Incr Alarm_minutes
Waitms 150
If Alarm_minutes = 60 Then Alarm_minutes = 0
Waitms 150 ' pauze
Flag = 1 'update lcd
End If
' Adjust hours, pin D 3 button:
If Pind.3 = 0 Then
Waitms 150
Incr Alarm_hours
Waitms 150
If Alarm_hours = 24 Then Alarm_hours = 0
Waitms 150 ' pauze
Flag = 1 'update lcd
End If
Loop Until Pind.6 = 0 ' pas als button op pin D 6 weer wordt ingedrukt uit deze loop gaan
' Convert alarm time to string and add extra zero
If Alarm_hours < 10 Then
Alarm_h_set = "0" + Str(alarm_hours)
End If
If Alarm_minutes < 10 Then
Alarm_m_set = "0" + Str(alarm_minutes)
End If
Alarm_time = Alarm_h_set + ":" + Alarm_m_set + ":00" ' alarm time
'Goto main routine
Cursor Off , Noblink , Cls
Bitwait Pind.6 , Set
Enable Interrupts
End Sub
Megépítetten, letöltöttem, de a kijelzőnek csak az első sora látszódik, de ott sem karakterek, hanem a 16x2 (5x7) pont.....
Kérdés hogy csak a hex-et kell ugye beégetni a Bascom által generál file-ok közül??
USBASP-m van, compile (F7) után a hex-et próbáltam Extreme burnerrel is beégetni, de az is ugyanezt az eredményt adta.
Ahonnan az egész származik: Atmel ATMEGA8 with BASCOM alarm clock project A hozzászólás módosítva: Máj 13, 2013
- Initlcd sor lehet 2x kell.
- LCD nincs jól bekötve (zárlat, lábszakadás, stb)
Az inicializálás nem megy végbe.
Én úgy szoktam:
initlcd
cls
initlcd
cls
Sziasztok!
Némi segítséget szeretnék kérni. Forrasztó állomást szeretnék építeni mega8-al, de elakadtam. PÁKA(PTC)+12.5mA generátor és ezen eső feszültség megy bele a megába(további feldolgozás->°C), de már maga a mérés is gondot okoz. Teljesen meghülyül az ADC össze-vissza ugrálnak az értékek még akkor is mikor egy sima konstans feszültséget néztem. Breadboardban van benne a cucc, először erre gyanakodtam,de nem összeforrasztgattam ezen részt, hogy ne legyen érintkezési hiba, de semmi sem változott. Próbáltam több mintát venni, azt kiátlagolni, csökkentettem a mintavételi frekit, felpufferoltam a tápot, AVCC-n LC alul-áteresztő szűrő van. És nincs több ötletem, hogy mi a fenéért van ez. Ha van valami ötletetek, kérlek benneteket világosítsatok fel, mert erősen kezdő vagyok még ebben a világban.
Köszönöm
Aref-GND közt 100nF.
Mérés: internal 2.56V-on.
Ugrálás: milyen szintű? Lehet hogy az 50 Hz jön át kapacitívan.
Programkód?
Config ADC=auto, ....
getadc() - jo ADC csatornát veszel? Vigyázz ADC4 és ADC5: I2C busz , így csak a 8. bitig megbítzható! A többi ADC 10 bites!
Ennyi van meg, de addig nem akarom folytatni amíg erre az ADC problémára nem találok megoldást.
$regfile "m8adef.dat"
$crystal = 8000000
'*******************************************************************************
Config Adc = Single , Prescaler = 128 , Reference = Off 'ref4050 TI referencia 4096mV
'*******************************************************************************
Config Timer0 = Timer , Prescale = 256
Enable Timer0
On Timer0 Tisr0
Start Timer0
'*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
Config Timer1 = Timer , Prescale = 8
Enable Ovf1
On Ovf1 Tisr1
Start Timer1
Enable Interrupts
'*******************************************************************************
Config Timer2 = Timer , Prescale = 1024
Enable Timer2
'*******************************************************************************
Config Portc.5 = Input 'ADC
Config Portd.3 = Input 'Temp -
Le Alias Portd.3
Config Portd.4 = Input 'Temp +
Fel Alias Portd.4
Config Portd.5 = Input 'MEM1
Mem1 Alias Portd.5
Config Portd.6 = Input 'MEM2
Mem2 Alias Portd.6
Config Portd.7 = Input 'MEM3
Mem3 Alias Portd.7
Config Portb = Output 'Szegmensek
Portb = 255
Dataport Alias Portb
Config Portd.2 = Output 'helyiertek
Szazas Alias Portd.2
Config Portd.1 = Output 'helyiertek
Tizes Alias Portd.1
Config Portd.0 = Output 'helyiertek
Egyes Alias Portd.0
'*******************************************************************************
Declare Sub Decszam(byval Szam As Long)
Declare Sub Temp
Declare Sub Adc1
'*******************************************************************************
Dim I As Long
Dim J As Byte
Dim K As Long
Dim L As Byte
L = 0
Dim Szegmens(3) As Byte
Dim Aktled As Byte
Dim M1 As Eram Long
Dim M2 As Eram Long
Dim M3 As Eram Long
Dim A1 As Long
Dim A2 As Long
Dim H As Bit
Aktled = 1
K = 200
Decszam K
A2 = 0
'*******************************************************************************
Do
If Pind.3 = 0 Or Pind.4 = 0 Then
Temp
H = 1
End If
Adc1
If H = 1 Then
Decszam K
End If
If H = 0 Then
Decszam A2
Waitms 100
End If
If Pind.5 = 0 Then
Waitms 250
K = M1
End If
If Pind.5 = 0 Then
Waitms 250
K = M2
End If
If Pind.5 = 0 Then
Waitms 250
K = M3
End If
Loop
End
'*******************************************************************************
Tisr0:
Stop Timer0
Timer0 = 0
Dataport = Szegmens(3)
Set Szazas
Waitms 5
Reset Szazas
Dataport = Szegmens(2)
Set Tizes
Waitms 5
Reset Tizes
Dataport = Szegmens(1)
Set Egyes
Waitms 5
Reset Egyes
Start Timer0
Return
'*******************************************************************************
Tisr1:
Incr L
If L = 50 Then
L = 0
H = 0
End If
Return
'*******************************************************************************
Sub Adc1
A2 = 0
A1 = Getadc(5)
A2 = A1 * 4
End Sub Adc1
'*******************************************************************************
Sub Temp
Stop Timer1
Timer1 = 0
If Pind.3 = 0 Then
Waitms 50
K = K - 10
If K < 200 Then
K = 200
End If
End If
If Pind.4 = 0 Then
Waitms 50
K = K + 10
If K > 480 Then
K = 480
End If
End If
Start Timer1
End Sub Temp
'*******************************************************************************
Sub Decszam(byval Szam As Long)
Local Sz As Long
Sz = Szam Mod 10
Szegmens(3) = Lookup(sz , Leddata)
Szam = Szam / 10
Sz = Szam Mod 10
Szegmens(2) = Lookup(sz , Leddata)
Szam = Szam / 10
Sz = Szam Mod 10
Szegmens(1) = Lookup(sz , Leddata)
End Sub Decszam
'*******************************************************************************
Leddata:
Data &B01000000 '0
Data &B01111001 '1
Data &B00100100 '2
Data &B00110000 '3
Data &B00011001 '4
Data &B00010010 '5,S
Data &B00000010 '6
Data &B01111000 '7
Data &B00000000 '8
Data &B00010000 '9
Data &B00000111 't
Data &B00000110 'E
Szerintem elkolbászol a programban:
- frames? swstack/hwstack mérete?
- adc start hiányzik az elején (elvileg nem kell)
- csak az ADC-t mérd és soroson küldd vissza a PC fele (vagy tedd eepromba es olvasd ki)
- ADC átlagolásokkal nem javul?
- Minek lesz long az ADC ha beleférsz a word-be?
- az 5-os csatorna I2C busz! 8 bites a pontossága (alsó két bit kuka)!
Üdv mindenkinek!
Szeretnék kérni egy kis segítséget!
Ennek a programnak, elméletileg, RGB led-et kellene színátmenettel vezérelni.
Ezt a programot találtam a neten, én csak kiszegettem belölle azt, ami nekem nem kell.
Csak nagyon kezdő szinten próbálkozok az AVR programozással...
$regfile = "m8515.dat"
$crystal = 800000
$hwstack = 24
$swstack = 10
$framesize = 16
Dim Trimmer As Word
Dim D As Byte , Ba As Byte , Be As Integer , Bg As Byte , Dmax As Byte
Dim Changetime As Word , Ontime As Word , Trimtime As Word
Config Porta.0 = Output
Config Porta.1 = Output
Config Porta.2 = Output
Led_piros Alias Porta.0
Led_zold Alias Porta.1
Led_kek Alias Porta.2
Gosub Zero
Bg = 16
Do
Gosub Blure
Select Case Bg
Case 0:
Led_piros = 0
Waitus Ba
Led_piros = 1
Case 1:
Led_zold = 0
Waitus Ba
Led_zold = 1
Case 2:
Led_kek = 0
Waitus Ba
Led_kek = 1
Case 3:
For D = 0 To Ba Step 8
Gosub Led_pirosd20
Gosub Led_zold20
Next
Case 4:
For D = 0 To Ba Step 8
Gosub Led_zold20
Gosub Led_kek20
Next
Case 5:
For D = 0 To Ba Step 8
Gosub Led_kek20
Gosub Led_piros20
Next
Case Else
For D = 0 To Ba Step 12
Gosub Led_piros20
Gosub Led_zold20
Gosub Led_kek20
Next
End Select
Dmax = 255 = Ba
For D = 0 To Dmax Step 1
Waitus 20
Loop
End
A 69. sorban kapom a hibát, de nem értem, miért???
Köszönet a segítségért!
|
|