Elektronika.lt
 2025 m. liepos 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 07 24, 15:13. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » AT90S2313 uzprogramavimas (kodo rasymas)
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 11
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 23, 21:06 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
sveiki, gal kas galetu padeti man su programavimu, neina man niekaip padaryti kad spaudinejant jungtuka ( jungtukas pajungtas i +5V ir 2 kojele) pagal jungtuko spaudinejimo daznuma degtu tam tikri diodai prijungti prie mikrokontroleriu isvadu, nu pvz jei 1 karta per sekunde spaudai vienas dega, jei du - kitas ir t. t.

#include "io2313.h"
void Laikas();
void main()
{
DDRB = 255;
DDRD = 1;
PORTD=0;
while(1)
{
int a = 0; /// Kad vel laika is naujo skaiciuotu
Laikas(); ///Uzdelsimas
while ((PIND&1)<1){a++;}
if ((PIND&1)>0){
if ( a > 300000 ) { PORTB=1;} ///1 kartai per sec
if ( 150000 < a < 300000 ) { PORTB=2;} ///2 kartai per sec
if ( 75000 < a < 150000 ) { PORTB=4;} ///4 kartai per sec
if ( 32500 < a < 75000 ) { PORTB=8;} ///8 kartai per sec
} } }
void Laikas()
{
long i=0; for (i=0; i<100000; i++){} ///300000 yra kazkas apie 1 sec, tai cia kazkas yra 1/3 sec
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 24, 15:01 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
o tai gal cia man beda su tuo jungtuko spaudinejimu, ju kai spaudi tai praeina kelios dales sekundes, ir tai kontaktas nebuna toks svarus, gal del to cia ka sblogai, nu pameginsiu su ir spinduliais, ziuresiu ar kas geriau bus... Confused
 Re: AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 25, 15:28 Pranešti apie taisyklių pažeidimą Atsakyti su citata
budris
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą MSN Messenger
while ((PIND&1)<1){a++;}

tavo galva viena sito ciklo operacija uztrunka vieno osciliatoriaus perioda?
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 25, 16:48 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
nu man atrodo kad sakinys a++ yra vykdomas kol tenkina (PIND&1)<1, o kai pasidaro (PIND&1)>0 tada ziuri kita sakini, kai nueina iki galo, vel viskas is naujo, jei klystu tai pataisyk... Rolling Eyes
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 25, 17:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
is principo gal ir viskas normalu, nors del kontaktu drebejimo tai tubut nveiks

o siaip didele klaida tavo skaiciai, int negali buti daugiau kaip 32000 arba 65000 unsigned.
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 25, 18:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tai reikia vartoti long vietoj int?
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 25, 18:16 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
galima ir long, bet geraiu uzdek uzdelsima po kiekvieno patikrinimo, nereikes dideliu skaiciu ir kartu isipresi kontaktu drebejimo problema.

manau patogiausia sukurti patikrinimo funkcija, kurios viduje bus uzdelsimas
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 26, 10:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
budris
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą MSN Messenger
kuom kompiliuoji? o tu warning'sus skaitai?

../asd.c:18: warning: comparison is always false due to limited range of data type

while ((PIND&1)<1) a++;
tai cia iseina kad kai nepaspausta
PIND nepaspaudus 0.. & 1 = 0.. tai while ir sukasi..

o visu svarbiausia kokiu dazniu pas tave nustatytas osciliatorius? itariu 4 MHz pagal laikas().

http://sel.gsfc.nasa.gov/website/documents/online-doc/94-003.pdf
rekomenduoju visiems.

ir kuo toliau ziuriu tuo labiau nuo pat pradziu programa suvaryta.
Ar zinai ka reiski DDRD=1 ir paskkui PIND&1 naudojimas?
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 26, 15:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
while ((PIND&1)<1) a++; na siaip tai cia gerai kad sukas kol nepaspaustas, nes turis skaiicuoti pe rkiek laiko knopke bus paspausta. o DDRD=1 neparodo kurie portai bus naudojami? o del PIND&1 tai nlb zinau, paemiau is schemu pavyzdziu elektronikoj.. o taip pvz negalim: if (PORTD=0){..} ?
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 26, 17:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
budris
Dažnas dalyvis
Dažnas dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą MSN Messenger
KT315 rašo:
while ((PIND&1)<1) a++; na siaip tai cia gerai kad sukas kol nepaspaustas, nes turis skaiicuoti pe rkiek laiko knopke bus paspausta. o DDRD=1 neparodo kurie portai bus naudojami? o del PIND&1 tai nlb zinau, paemiau is schemu pavyzdziu elektronikoj.. o taip pvz negalim: if (PORTD=0){..} ?


DDRD yra D porto data direction register. Supaprastintai snekant jei DDRD bitas high(1), tai PORTD veiks kaip output, o jei low(0) tai kaip input. Siuo atveju tavo porto PIND&1 yra visada = 0, nes tu negali pakeisti PIND pirmojo bito.
Programa visiskai nelogiska jei switcho paspaudimas turi skaiciuoti per kiek laiko jis paspaudziamas. nes neaiskus ataskaitos taskas ir funkcija laikas() sitam kontekste visiskai ne i tema. O jei imi pavyzdzius tai juo reikia issiaiskint. Wink
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 26, 18:12 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Digix
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
is dalies jo programa logiska, jis matuoja kiek laiko mygtukas buvo paspaustas. tai suprantama nera tikslus rezultatas, nes nekreipia demesio kiek laiko buvo atleistas
nu zinoma yra klaidu ir neoptamaliai padaryta, bet is esmes veikti galetu.

pvz galima ja supaprastinti

while (! PIND.0){a++;}
arba jei kompilaitorisu to neleidzia tai
while (! (PIND&1)){a++; dealy(1ms);} kad nereiketu naudoti long kintamuju reikia suletinti cikla
sekantis if ((PIND&1)>0) nereikalingas bet toje vietoje reikia padaryti laiko uzdelsima

jei nori skaiciuti pilna mygtuko perioda butu taip
while{
a=0
while (! (PIND&1)){a++; dealy(1ms);} //kiek buvo paspaustas
while ( (PIND&1)){a++; dealy(1ms);} //kiek buvo atleistas iki sekancio paspaudimo
//dabar a parodo kiek laiko uztruko mygtuko paspaudimas + atleidimas. milisekundemis
}
apsauga nuo kontaktu drebejimo atlieka delay funkcija kou didesnis uzdelsimas tuo labiau apsaugota
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 29, 21:27 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Dekui reiks pameginti Smile
 AT90S2313 uzprogramavimas (kodo rasymas)
PranešimasParašytas: 2006 05 31, 19:56 Pranešti apie taisyklių pažeidimą Atsakyti su citata
KT315
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
nu va viskas veikia gerai, tik kad delay neveik ant IAR, tai teko be jo apseit. O siaip naudojau IR diodus kurie matavo varikliuko apsisukimus, ir nuo varikliuko greicio uzsideginejo skirtingi ledai Smile
Pradėti naują temą  Atsakyti į pranešimą
 
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
VAT calculator
VAT number check, What is VAT, How much is VAT
FS25 Mods
FS25 Harvesters, FS25 Tractors Mods, FS25 Maps 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
Football Training Kit
Football Training Equipment, Football Skills, Football Training
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
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama