Elektronika.lt
 2024 m. lapkričio 7 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 2024 11 07, 22:38. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » 8 bitai į tris septynių segmentų skaičius?
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ą 
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 18:43 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Permanganatas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Sveiki. Esmė tokia. Man reikia padaryt prietaisą, kuris skaičiuotų mygtuko paspaudimą. Bent jau iki 255, tai užtektų 8 bitų. Ketinu naudot mikrovaldiklį Atmega16, tai čia ir vieno porto užtektų. Bet problema su tais 7 segmentų indikatoriais. Žinau, kad yra 7447 mikroschemos, kurios 4 bitus konvertuoja vienam 7 segmentų indikatoriui. Bet tie šešioliktainiai skaičiai trukdo. Reikia kažkaip padaryt, kai kai tik valdiklio išėjime yra 1010 įvyktų pernaša į kitą indikatoriu (kad prasidėtų nauja dešimtis), taip pat ir su šimtais. Ir kad neprasidėtų tie visi A,B,C...F šešioliktainiai skaičiai. Kas turi minčių, kaip tuos tris indikatorius prijungt prie 8bitų, kad skaičiavimas būtų dešimtainėj sistemoj? Rolling Eyes
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 18:55 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sopkis
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Dar sąvaitėlę po forumus panaršyk, pasiskaitinėk kaip kas daroma. Nes matosi kad kol kas didelis žinių trūkumas, jei tokie klausimai užduodami.
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 19:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Permanganatas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Tai, kad jau atsibodo naršyt.
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 20:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sopkis
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Tai mokinkis ne tik ieškoti, bet ir atsirinkti tai kas tau naudinga. Nes užduodami klausimai kol kas rodo dideles spragas progamavimo ir mikrovaldiklių srityje. Dar kol kas neparašei nei kokia kalba rašai programą, nei tai, ar tuos 3x7 segmentus valdysi statiniu ar dinaminiu būdu, kokiu būdu spręsi mygtuko drebėjimo problemą ir tt.
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 20:13 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
tokiai uzduociai ir ATtiny2313 ar ATmega8 per akis.
juolab atmega8 be jokiu raukciu gali susiprograminti arduino IDE
skaiciuoti BCD nera jokio tikslo, juk vistiek neisnaudoji turimos atminties, todel be problemu gali kiekvienam skaitmeniui skirti po baita.
Kodas:
/*
      Simple counter with ATtiny2313     V.beta 
                 
   LED indicator pin assignment and code
   for symbols
 
  PB7 PB6 PB5 PB4 PB3 PB2 PB1 PB0         pins               
  DP   G   F   E   D   C   B   A          segments         
   1   1   0   0   0   0   0   0  0xC0      0               
   1   1   1   1   1   0   0   1  0xF9      1               
   1   0   1   0   0   1   0   0  0xA4      2               
   1   0   1   1   0   0   0   0  0xB0      3               
   1   0   0   1   1   0   0   1  0x99      4               
   1   0   0   1   0   0   1   0  0x92      5               
   1   0   0   0   0   0   1   0  0x82      6               
   1   1   1   1   1   0   0   0  0xF8      7               
   1   0   0   0   0   0   0   0  0x80      8               
   1   0   0   1   0   0   0   0  0x90      9

* DP galima nejungti

   PD3 = CA1
   PD4 = CA2
   PD5 = CA3

   PD6 = counter input with Pull-Up             
*/

#define F_CPU      1000000 // default fuses, internal RC with DIV8

#include <avr/io.h>
#include <util/delay.h>

#define button() (PIND & (1<<6))

void display(void);

unsigned char segs[] =
    {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90} ;
       //  0    1    2    3     4    5    6    7    8    9
unsigned char cnt[] = {0, 0, 0};

int main(void)
{
unsigned char i;

    DDRB = 0xFF;           // PB0..PB7 = a...g,dp
    PORTB = 0xFF;
    DDRD |= (7<<3);     // PD3..PD5 = CA1..CA3
    PORTD &= ~(7<<3);
    DDRD &= ~(1<<6);   // PD6 counter input
    PORTD |= (1<<6);

    display();
    delay(1000);
    while(1){
        while(button()) display();
        for(i=0; i<sizeof(cnt); i++)
            if(cnt[i] < 9) cnt[i]++;
        for(i=0; i<100; i++) display();
        while(!button()) display();
    }
    return 0;
}

void display(void)
{
static unsigned char dig;

    while(t--){
        _delay_ms(1);
        if(dig >= sizeof(cnt)) dig = 0;
            else dig++;
        PORTD &= ~(7<<3);
        PORTB = segs[cnt[dig]];
        PORTD |= (1<<3+dig);
// jei reikia atvirksciai - (1<<5-dig)
    }
}

siaip, si koda nesunkiai gali pakoreguoti skaiciuoti ir rodyti iki 6 skaitmenu
kas bus 0..999999 ribose
o su nedidele korekcija ir iki 8 skaitmenu 0..99999999 ribose
jei reikia skaiciuoti didesnio nei 10Hz daznio signalus, koda reikia siek tiek modifikuoti


Paskutinį kartą redagavo AlgisL, 2013 04 10, 22:35. Redaguota 4 kartus(ų)
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 20:46 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Permanganatas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Dekui Algiui.
Lengva kalbėt... "Mokinkis" sako. Sunku rast normalius paaiškinimus, kaip tuos atmel valdiklius su c kalba programuot. O jei ką paklausi, tai prasideda va tokių, kaip moderatoriaus išsidirbinėjimai. Tipo čia visi aplink kvaili... Jei univere mokytų tokius dalykus nuo pradžių, o ne asemblerius visokių atgyvenusių intel 8080 procesorių, tai gal ir mokėčiau su C programuot.
Reik mokėt elementariai paaiškint. Kad ir šitą kodą, kur parašė Algis, man reiks aiškintis dar pora dienų. Kiekvieną simbolį ir jo funkciją.
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 21:37 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sopkis
Moderatorius
Moderatorius
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Jei nori kažką gamintis tai ir mokykis. Aš pats kokį pusmetį mokinausi kol kažką sugebėjau padaryti. Nes kol pats neišsiaiškinsi kaip kas veikia ir daroma, tai savarankiškai nieko nepadarysi. Ir net nesitikėk kad internete yra kažkokios pamokos, kad po dviejų dienų jau sugebėsi norimus prietaisus pasigaminti. Ne veltui sakoma - pradėk nuo šviesos diodų pamirksenimo, tada jau po truputį judėk ir mokykis toliau.
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 22:12 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Permanganatas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Tai suprantama. Nuo to ir pradėjau. Nuo Atmegos16. Bet Arduino nepirkau, kaip dauguma Very Happy Pasimokiau išvedimus, ciklus... Bet tada koją kišt pradėjo tie visokie mandri užrašymai, pvz.: (1<<5) ir panašiai Very Happy O čia dabar teko tokia gan nelengva užduotis ir noriu greit išsiaiškint kaip ją padaryt Smile
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 10, 22: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ą
(1<<5) reiskia 0b0010000 arba 5-as bitas, o pats "<<" yra poslinkio i kaire operatorius.
sitaip slankioti galima ir po kelis bitus, pvz (7<<3) rezultate virsta 0b00111000
operatorius "~" yra inversijos ir ~(7<<3) padaro 0b11000111 (kai operuojama baitiniu rezultatu)

PORTD &= (7<<3) tolygu PORTD &= 0b11000111 kas reiskia PD3=0, PD4=0, PD5=0
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 11, 09:42 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Master_Of_King
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje
Cia kiek suprantu ta pati nori padaryt http://www.ladyada.net/make/digg/index.html
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 11, 10:24 Pranešti apie taisyklių pažeidimą Atsakyti su citata
fubs
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
http://varzazaliam.blogas.lt/files/2010/05/1201518102_programavimas_c_kalba.pdf

perskaitysi per valandą kokią ir tikrai apie postųmius irkitas operacijas aprašyta Smile pradžiai sakyčiau gan gerai.

_________________
Bandau praplėst žinias
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 11, 13:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ibanez
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Permanganatas rašo:
Tai suprantama. Nuo to ir pradėjau. Nuo Atmegos16. Bet Arduino nepirkau, kaip dauguma Very Happy Pasimokiau išvedimus, ciklus... Bet tada koją kišt pradėjo tie visokie mandri užrašymai, pvz.: (1<<5) ir panašiai Very Happy O čia dabar teko tokia gan nelengva užduotis ir noriu greit išsiaiškint kaip ją padaryt Smile


Speju VGTU? Jai taip, tai turejai pirmame kurse C ir C++, jai tuomet bent kazkiek mokeisi, tu ziniu turetu uztekti tokiai uzduociai atlikti.
https://www.youtube.com/playlist?list=PLE72E4CFE73BD1DE1
Perziurek viska, turetumei bent siektiek ismokti. Ten net mygtuko drebejimo problema parodyta kaip isspresti tiek programiskai, tiek su kondencatorium.

Atmega16 tokiam darbui- gerokai per galinga.

Su tais poslinkiais- as pats ju nelabai megstu naudoti, mano nuomone patogiau tiesiog i registra ivesdineti reiksme, o ne poslinkius naudoti:
(1<<5) bus 0b00010000 arba tiesiog 0x10
~(7<<3) bus 0b11000111 arba tiesiog 0xC7 , nes C=12
Jaigu nemoki verstis i sesioliktaini, reiskia yra didelis ziniu trukumas
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 11, 21:38 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Permanganatas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Master_Of_King rašo:
Cia kiek suprantu ta pati nori padaryt http://www.ladyada.net/make/digg/index.html

Iš principo taip Smile
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 11, 21:41 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Permanganatas
Naujokas
Naujokas
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Ibanez rašo:
Permanganatas rašo:
Tai suprantama. Nuo to ir pradėjau. Nuo Atmegos16. Bet Arduino nepirkau, kaip dauguma Very Happy Pasimokiau išvedimus, ciklus... Bet tada koją kišt pradėjo tie visokie mandri užrašymai, pvz.: (1<<5) ir panašiai Very Happy O čia dabar teko tokia gan nelengva užduotis ir noriu greit išsiaiškint kaip ją padaryt Smile


Speju VGTU? Jai taip, tai turejai pirmame kurse C ir C++, jai tuomet bent kazkiek mokeisi, tu ziniu turetu uztekti tokiai uzduociai atlikti.
https://www.youtube.com/playlist?list=PLE72E4CFE73BD1DE1
Perziurek viska, turetumei bent siektiek ismokti. Ten net mygtuko drebejimo problema parodyta kaip isspresti tiek programiskai, tiek su kondencatorium.

Atmega16 tokiam darbui- gerokai per galinga.

Su tais poslinkiais- as pats ju nelabai megstu naudoti, mano nuomone patogiau tiesiog i registra ivesdineti reiksme, o ne poslinkius naudoti:
(1<<5) bus 0b00010000 arba tiesiog 0x10
~(7<<3) bus 0b11000111 arba tiesiog 0xC7 , nes C=12
Jaigu nemoki verstis i sesioliktaini, reiskia yra didelis ziniu trukumas

Taip VGTU ir taip buvo C ir C++. Dabar mikroprocesoriai yra, bet tik apie jų architektūrą ir asemblerį. Aš nesakiau, kad nemoku į šešioliktainį verstis. Šitą tikrai gerai išmokė Smile
 8 bitai į tris septynių segmentų skaičius?
PranešimasParašytas: 2013 04 11, 21:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Ibanez
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Permanganatas rašo:
Ibanez rašo:
Permanganatas rašo:
Tai suprantama. Nuo to ir pradėjau. Nuo Atmegos16. Bet Arduino nepirkau, kaip dauguma Very Happy Pasimokiau išvedimus, ciklus... Bet tada koją kišt pradėjo tie visokie mandri užrašymai, pvz.: (1<<5) ir panašiai Very Happy O čia dabar teko tokia gan nelengva užduotis ir noriu greit išsiaiškint kaip ją padaryt Smile


Speju VGTU? Jai taip, tai turejai pirmame kurse C ir C++, jai tuomet bent kazkiek mokeisi, tu ziniu turetu uztekti tokiai uzduociai atlikti.
https://www.youtube.com/playlist?list=PLE72E4CFE73BD1DE1
Perziurek viska, turetumei bent siektiek ismokti. Ten net mygtuko drebejimo problema parodyta kaip isspresti tiek programiskai, tiek su kondencatorium.

Atmega16 tokiam darbui- gerokai per galinga.

Su tais poslinkiais- as pats ju nelabai megstu naudoti, mano nuomone patogiau tiesiog i registra ivesdineti reiksme, o ne poslinkius naudoti:
(1<<5) bus 0b00010000 arba tiesiog 0x10
~(7<<3) bus 0b11000111 arba tiesiog 0xC7 , nes C=12
Jaigu nemoki verstis i sesioliktaini, reiskia yra didelis ziniu trukumas

Taip VGTU ir taip buvo C ir C++. Dabar mikroprocesoriai yra, bet tik apie jų architektūrą ir asemblerį. Aš nesakiau, kad nemoku į šešioliktainį verstis. Šitą tikrai gerai išmokė Smile


kitame semestre turesi mikrovaldiklius, nesijaudink Very Happy
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

GENERAL FINANCING BANKAS

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

Technologijos.lt

Buitinė technika ir elektronika internetu žemos kainos – Zuza.lt

www.esaugumas.lt – apsaugok savo kompiuterį!

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
LEGO
Mänguköök, mudelautod, nukuvanker
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope
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
GTA 6 Weapons
GTA 6 Characters, GTA 6 Map, GTA 6 Vehicles
FS25 Mods
Farming Simulator 25 Mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Script hook v, Openiv, Menyoo
gta5mod.net
FS25 Mods, FS25 Tractors, FS25 Maps
fs25mods.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
Reklamos paslaugos
SEO sprendimai

www.addad.lt
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama