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 09 19, 00:03. Visos datos yra GMT + 2 valandos.
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
Tai va galvoju biski reiketu ismokt programuot gal galit pasiulit kokia programatoriaus schema ar tinka is sio puslapio ir kaip ten suprasti kai prie schemu su kontroleriais buna kas koks kodas kurie duomenis is jo naudojami programuojant
ACIU uz atsakymus
pirma gali keliasdesimt kartu paskaityti http://www.elektronika.lt/schematic/theme/67/219/
kol i galva neprades plusti mintys apie mikrovaldikliu panauduojima ivairiose vietose.
..kol 7-segmentu indikacijuose nepamatysi atskirai deganciu skaiciu
#include <iom16.h>
#include "ina90.h"
// Laiko vėlinimo funkcijos aprašymas
void Laikas2(unsigned int m);
// Globalus kintamasis stereo kanalų išskyrimui
char i=0;
void main()
{
//PORTB ir PORD nustatymas kaip išėjimo prievadai
DDRB=255; DDRD=255;
//ADMUX registras skirtas ASK valdymui
//REFSx - nustato etaloninį maitinimo šaltinį skirtą ASK
//MUXx - viduje esančio multiplekserio nustatymui
// MUX1->1 ir MUX0->1 nustato kaip įėjimą 37 išvadą
//ADLAR - nustato nuskaitymo iš duomenų registro ADC būdą
ADMUX=(1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|
(1<<MUX1)|(1<<MUX0);
//ADCSRA - ASK valdymo, įjungimo, išjungimo registras
//ADEN ->1- įjungiame ASK, ADSC->1
//pradėti vienkartinį konvertavimą
//ADFR->1 Laisvo konvertavimo režimas,
//ADIE - konvertavimo pertraukties įjungimas
//ADPS - skirtas ASK veikimo spartai keisti
//pagal kvarcinį rezonatorių
ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADFR)|(1<<ADIE)|
(1<<ADFR)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
_SEI(); // Globalių pertraukčių įjungimas
while(1)
{} // Amžinas ciklas
}
// ASK pertraukties paprogramė
#pragma vector=ADC_vect
__interrupt void Analog()
{
char a; // Tarpinio kintamojo išskyrimas
a=ADCH;// nuskaitom
if (i==0){// Kairio kanalo diodų įjungimo tvarka
//Lyginam ASK reikšmes su mūsų pačių
//nustatymo diodų perjungimo reikšmių
if (a>5) PORTB=1;
if (a>10)PORTB=3;
if (a>15) {PORTB=7;Laikas2(50);}
if (a>20){PORTB=15;Laikas2(100);}
if (a>26) {PORTB=31; Laikas2(200);}
if (a>33) {PORTB=63; Laikas2(300);}
if (a>39){PORTB=127;Laikas2(400);}
if (a>44){PORTB=255;Laikas2(500);}
//Sudarom sąlygas dešinio kanalo diodų įjungimui
i=1;
// Perjungiam multiplekserį prie 40 išvado kitam kanalui
ADMUX=(1<<REFS1)|(1<<REFS0)|
(1<<ADLAR)|(0<<MUX1)|(0<<MUX0);
// Dešinio kanalo diodų įjungimo tvarka
}else{
//Lyginam ASK reikšmes su mūsų pačių nustatymo
//diodų perjungimo reikšmių
if (a>5) PORTD=1;
if (a>=10)PORTD=3;
if (a>15) {PORTD=7;Laikas2(50);}
if (a>20){PORTD=15;Laikas2(100);}
if (a>26) {PORTD=31; Laikas2(200);}
if (a>33) {PORTD=63; Laikas2(300);}
if (a>39){PORTD=127;Laikas2(400);}
if (a>44){PORTD=255;Laikas2(500);}
//Sudarom sąlygas kairio kanalo diodų įjungimui
i=0;
// Perjungiam multiplekserį prie 37 išvado kitam kanalui
ADMUX=(1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|
(0<<MUX4)|(1<<MUX1)|(1<<MUX0);
}
}
// Laiko vėlinimo paprogramė
void Laikas2(unsigned int m)
{
unsigned int i=0, k=0;
for (i=0; i<m; i++)
{
for (k=0; k<150; k++){}
}
}
taigi komentaruose parasyta, o jei ir is ju nesupranti tai deretu visu pirma pasimokinti programavimo pagrindu. Nu ir kas, kad kas paaiskins tau labai issamiai si kodo gabala, bet jei pats bandysi savo kurti, neismokes pagrindu, o jau pradejes mikrokontrolerius programinti - prazusi. O dar pradedi nuo C kalbos grupes. Niekas negime mokedamas.
Tada mokinkis taip: pasiemi dabar lengviausia koda, ji bandai nagrineti, bandyk analizuoti kodel taip parasyta? Kodel ne kitaip? Jei kokio gabaliuko nesupranti, ziurek internete,, o jei ten nerasi arba tikrai nesuprasi, klausk. Padesim. Bet taip tikrai nedaryk: nukopini kodo gabala, o po to klausi kas ka reiskia.