Elektronika.lt
 2025 m. gruodžio 25 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 12 25, 04:07. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » atMega8 ir max232
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 22
Pereiti prie Atgal  1, 2
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 atMega8 ir max232
PranešimasParašytas: 2012 10 28, 20:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
if (PINB&1)
Galit paaiskint lietuvisaki ka tai reiskia? angliskai nepagaunu.
jei parasyta sitaip tada nuo pb0 migtuko junginejas ledai, o kaip padaryt kad junginetus nuo pb3 pvz?
 atMega8 ir max232
PranešimasParašytas: 2012 10 28, 20:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tasjus rašo:
if (PINB&1)
Galit paaiskint lietuvisaki ka tai reiskia? angliskai nepagaunu.
jei parasyta sitaip tada nuo pb0 migtuko junginejas ledai, o kaip padaryt kad junginetus nuo pb3 pvz?


if (PINB & (1<<PB3)) // jei PB3 = 1 ...
....;

dazniausiai mygtukai jungiami i minusa, tad teisingiau butu:
if (!(PINB & (1<<PB3)))
...;
 atMega8 ir max232
PranešimasParašytas: 2012 10 30, 19:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
#include <avr/io.h>
#include <util/delay.h>
int main( void )
{
DDRD |=1 <<PIND0;


DDRB &= ~(1<<PINB0);
PORTB|=1<<PINB0;
while (1){

if(bit_is_clear(PINB,0))
{
PORTD|=1<<PIND0;
}
}}

parasius tokia programa ledas paspaudus migtuka uzsidega ir dega, ar neturetu atleidus uzgest?
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 00:51 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
o tu papildyk:
else PORTD &= ~(1<<PIND0);
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 12:08 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
dekui veikia.

Noriu Padaryt panasiai kaip viktorinose buna tie mygtukai , kuris pirmas paspaudzia to lempa uzsidega, o kitu nebe.bet kiek vargstu niekaip negaunu to ko noriu, galit esme pasakyt kaip tokai programa turetu atrodyt?

padarau kad paspaudus viena migtuka kitos led paspaudus nebeuzidega, bet paspaudus tuos kitu migtukus uzgesta ir pirmoji..
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 14:58 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tasjus rašo:
dekui veikia.

Noriu Padaryt panasiai kaip viktorinose buna tie mygtukai , kuris pirmas paspaudzia to lempa uzsidega, o kitu nebe.bet kiek vargstu niekaip negaunu to ko noriu, galit esme pasakyt kaip tokai programa turetu atrodyt?

padarau kad paspaudus viena migtuka kitos led paspaudus nebeuzidega, bet paspaudus tuos kitu migtukus uzgesta ir pirmoji..

Kodas:

#define btnPLAY      (1<<PB0)
#define btnPLAYER1 (1<<PB1)
#define btnPLAYER2 (1<<PB2)
#define btnPLAYER3 (1<<PB3)
#define ledPLAY      (1<<PD0)
#define ledPLAYER1 (1<<PD1)
#define ledPLAYER2 (1<<PD2)
#define ledPLAYER3 (1<<PD3)
#define btnPL123 (btnPLAYER1 | btnPLAYER2 | btnPLAYER3)

int main() {
char b;
// init ports
  DDRD |= (ledPLAY | ledPLAYER1 | ledPLAYER2 | ledPLAYER3); // isejimai LED'ams
  DDRB &= ~(btnPLAY | btnPL123); // iejimai klavisams
  PORTB |= (btnPLAY | btnPL123); // ijungiam pull-up's
  while (1){
     PORTD &= ~(ledPLAY | ledPLAYER1 | ledPLAYER2 | ledPLAYER3);
     while (PINB & btnPLAY); // laukiam PLAY paspaudimo
     delay_ms(50); // del klavisu "traskesio"
     while (!PINB & btnPLAY); // laukiam PLAY atleidimo
     delay_ms(random(1000)); // random reikia pasitikrinti
     PORTD |= ledPLAY;
     while ((b=PINB & (btnPLAY | btnPL123))==(btnPLAY | btnPL123)); // laukiam bet kurio klaviso
     if (!b & btnPLAY) {  // klaida
       while (!PINB & btnPLAY);
       delay_ms(1000);
       continue;
     }
     PORTD &= ~ledPLAY;
     if (!b & btnPLAYER1) PORTD |= ledPLAYER1;
     if (!b & btnPLAYER2) PORTD |= ledPLAYER2;
     if (!b & btnPLAYER3) PORTD |= ledPLAYER3;
     delay_ms(1000);
     while (!PINB & btnPL123); laukiam kol visi paleis mygtukus
  }//while(1)
}

nera realizuota logika, patikrinanti ar nepaspaude klavisu vienu metu keli zaidejai.


Paskutinį kartą redagavo AlgisL, 2012 10 31, 16:28. Redaguota 2 kartus(ų)
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 15:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
dekui, bet patvarkius ir irasius jokiu veiksmu spaudinejant migtukus.tik PD0 ciut sviecia.
as naudoju winavr, gal megint su kita programa rasyt ar kompiliuot?
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 16:29 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
pasitikrink dabar
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 16:34 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
while (!PINB & btnPL123); laukiam kol visi paleis mygtukus
}//while(1)
su tuo while viskas cia gerai? nes jis gaunasi kaip komentaras

kimba prie "random"
ain.c:24: warning: implicit declaration of function 'random'
ji istrynus paspaudus PB0 uzsidega PD0, ir tada paspaudus bet koki migtuka jis uzgesta, daugiau nieko
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 19:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
#include <stdlib.h>

delay_ms(1000+rand()/128); //arba kazkas panasaus

o kur pas tave kiti klavisai ir led'ai pajungti?
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 20:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
vis tiek tas pats.

ledai ant PD0.PD1,PD2,PD3
migtukai PB0,PB1,PB2,PB3
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 20:26 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
manau kad cia kazkas negerai kazkur kitur, parasius
#include <avr/io.h>
#include <util/delay.h>
unsigned int a;
int main( void )

{
DDRD |=1 <<PIND0;

DDRB &= ~(1<<PINB0);
PORTB|=1<<PINB0;
a=0;

while (1){
if (a=1)
{if(bit_is_clear(PINB,0))
{PORTD|=1<<PIND0;}

}
}}

kadangi a=0 tai daugiau niekas turetu nevykti, bet paspaudus migtuka ledas uzsidega. arba as nesuprantu mikrovaldikliuprogramavimo, arba cia kazkur kitur kazkas negerai.
 atMega8 ir max232
PranešimasParašytas: 2012 10 31, 23:28 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
o cia kas tavo manymu?
Citata:

DDRD |= (ledPLAY | ledPLAYER1 | ledPLAYER2 | ledPLAYER3); // isejimai LED'ams
DDRB &= ~(btnPLAY | btnPL123); // iejimai klavisams
PORTB |= (btnPLAY | btnPL123); // ijungiam pull-up's
 atMega8 ir max232
PranešimasParašytas: 2012 11 02, 16:29 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
AlgisL rašo:
o cia kas tavo manymu?
Citata:

DDRD |= (ledPLAY | ledPLAYER1 | ledPLAYER2 | ledPLAYER3); // isejimai LED'ams
DDRB &= ~(btnPLAY | btnPL123); // iejimai klavisams
PORTB |= (btnPLAY | btnPL123); // ijungiam pull-up's

atleisk bet tikrai nesuprantu ka tu tuo norejai pasakyti.

tavo sisuta koda irasyt meginau bet kas vyksta rasiau anksciau.
todel pagalvojau kad kazkas negerai kitur(kompiliavime, optimizavime ar dar kur) todel parasiau ta programa kuri turetu neleist uzsidekti ledui nes a=0 bet jis vistiek uzsidega.
 atMega8 ir max232
PranešimasParašytas: 2012 11 02, 19:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
tasjus
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Dekui visiem , pasiekiau ko norejau.

jei kam idomu: #include <avr/io.h>

unsigned int a;
int main( void ){
DDRD |=(1 <<PIND0|1 <<PIND1|1 <<PIND2|1 <<PIND3);
DDRB &= ~(1<<PINB0|1<<PINB1|1<<PINB2|1<<PINB3);
PORTB|=(1<<PINB0|1<<PINB1|1<<PINB2|1<<PINB3);

while (1){
if(bit_is_clear(PINB,0)&&a==0)
{PORTD|=1<<PIND0;
a=1;}

if(bit_is_clear(PINB,1)&&a==0)
{PORTD|=1<<PIND1;
a=1;}

if(bit_is_clear(PINB,2)&&a==0)
{PORTD|=1<<PIND2;
a=1;}

if(bit_is_clear(PINB,3)&&a==0)
{PORTD|=1<<PIND3;
a=1;}}}

Paprasta bet veikia
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama