Elektronika.lt
 2025 m. gruodžio 24 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 24, 06:13. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Reikalinga pagalba
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ą 
 Reikalinga pagalba
PranešimasParašytas: 2011 10 15, 08:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
korne1
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Įdomumo dėlei pabandžiau su 3 jungtukais ir 4 led, bet kažkur padariau klaidą.

#include <avr/io.h>

int main(void)
{
while(1)
{
DDRD=240; //Nustatome PD4,PD5,PD6,PD7 kaip isejima
while(1){
if ((PINB & 224) != 224){ // Tikriname ar nera paspausti mygtukai
if (PINB & 32) PORTD=(PORTD & 15) | 160; // uzdegam LED2;LED4, gesinam LED1;LED3
if (PINB & 64) PORTD=(PORTD & 15) | 80; // uzdegam LED1;LED3, gesinam LED2;LED4
if (PINB & 128) PORTD=(PORTD & 15) | 96; // uzdegam LED2;LED3, gesinam LED1;LED4
}
}}}
 Reikalinga pagalba
PranešimasParašytas: 2011 10 15, 09:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
lyg ir teisinga, tik nepatogi 10-aine sistema, naodok 2-aine 0bxxxxxxxx arba 16-aine 0xHH, jos patogesnes bitus atvaizduoti.

klaida gal mcu "uzsiuvime", fuse bituose ir t.t.
 Reikalinga pagalba
PranešimasParašytas: 2011 10 15, 19:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
specialistas
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
korne1 rašo:
Įdomumo dėlei pabandžiau su 3 jungtukais ir 4 led, bet kažkur padariau klaidą.

#include <avr/io.h>

int main(void)
{
while(1)
{
DDRD=240; //Nustatome PD4,PD5,PD6,PD7 kaip isejima
while(1){
if ((PINB & 224) != 224){ // Tikriname ar nera paspausti mygtukai
if (PINB & 32) PORTD=(PORTD & 15) | 160; // uzdegam LED2;LED4, gesinam LED1;LED3
if (PINB & 64) PORTD=(PORTD & 15) | 80; // uzdegam LED1;LED3, gesinam LED2;LED4
if (PINB & 128) PORTD=(PORTD & 15) | 96; // uzdegam LED2;LED3, gesinam LED1;LED4
}
}}}


O kur DDRB?
 Reikalinga pagalba
PranešimasParašytas: 2011 10 15, 20:08 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
po reseto visi isvadai veikia kaip iejimai, tad DDRB nustatymas nebutinas.
 Reikalinga pagalba
PranešimasParašytas: 2011 10 16, 00:19 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Socrates
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Kodas:

while(1) {
   while(1) {
      while(1) {
         while(1) {
            while(damn(one(!ok))) {
               printf("LEARN TO USE IDENTIATION!\n");
            }
         }
      }
   }
}



Laughing
 Reikalinga pagalba
PranešimasParašytas: 2011 10 16, 08:58 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ingo
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
AlgisL rašo:
po reseto visi isvadai veikia kaip iejimai, tad DDRB nustatymas nebutinas.


nenaudojamus mikrovaldiklio isejimus palikti kaip iejimus yra blogis.
while(1) ciklas main programos kode turi buti tik vienas, nereikalinga pastoviai nustatineti DDR registrus.
Mygtuko paspaudimas reiskia kad i mikrovaldiklio iejimo pin'a paduodamas nulinis lygis,taciau sioje salygoje: if (PINB & 32) {} tikrinamas aukstas lygis.
if ((PINB & 224) != 224){ //tikrini ar visi trys mygtukai, o jeigu bus nuspausti tik du mygtukai?

Kodas:

#include <avr/io.h>

int main(void) {

DDRD=0b11111111;
DDRB=0b00011111;
DDRC=0b11111111;

while(1){

//kodas

} //end while
} //end main
[/code]
 Reikalinga pagalba
PranešimasParašytas: 2011 10 16, 10: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ą
isvadu palikimas isejimais irgi pavojinga jei uztrumpinsi i VCC ar net GND
palikt iejimais pavojinga jei ilgi takeliai ir nera pull-up/down, o vartotojas megsta schema bandyti prijungdamas tesla coil ar kazka panasaus

du kar while(1) idejo autorius

mygtukai tikrinami jei nors vienas nuspaustas, kitaip nieko nedaroma

klaida yra is tikro mygtuku apdorojime, praleistas ! operatorius, bet ji vistiek turi nors kazkiek veikti, jei paspaudziami ne visi mygtukai.

Kodas:

#include <avr/io.h>
int main(void){
  DDRD=0x60;
  while(1){
    if ((PINB & 0x60) != 0x60)
    { // Tikriname ar nera paspausti abu mygtukai
      if (!(PINB & 0x20)) PORTD=(PORTD & 0x9F) | 0x20; // uzdegam LED1, gesinam LED2
      if (!(PINB & 0x40)) PORTD=(PORTD & 0x9F) | 0x40; // uzdegam LED2, gesinam LED1
    }//if
  }//while
}//main
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