Elektronika.lt
 2025 m. lapkričio 28 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 11 28, 23:43. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » kintamūjų vieta mikrokontroleryje...
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ą 
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 17:49 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vytautasr
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Man dabar nelabai aiški ši vieta.
programa:
Kodas:
.include "2313def.inc"
.def c =r16
sbr c, 0

Sukompiliavus gaunasi: 00 60
1 skaičius registras.
2. pirmi 4 kintamoju bitai.
4. kiti 4 kintamoju bitai.

Ką reiškia tas "6" ? Confused


Pratęsiu klausimą:

Kodas:
.include "tn2313def.inc"
.def c =r16
sbr c, 255
out DDRD, c


hex'as 0F 6F 01 BB

Pirma pusė beveik aiški (išskyrūs; žiūrėti pirma klaisimo dalį)
Antra pusė:
1 skaičius kaip suprantu registro adresas kuriame yra kintamasis.
2 skaičius registro kuriam priskiriamas šis skaičius, čia irgi iškyla klausimas: DDRD būna "1", DDRB "7". Nepavyksta man šiū skaičių susieti su datasheet'e parašytai adresais Confused
3,4 ką reiškia "BB" ?


p.s. kaip reikia skaičiuoti pvz. 6F tai vienas ar du skaičiai? Rolling Eyes

_________________
Teorija - kai viską žinai, bet niekas neveikia,
Praktika - kai viskas veikia, bet nežinai kodėl.

Skype : VytautasRX
 Re: kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 19:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Vytautasr rašo:
Man dabar nelabai aiški ši vieta.
programa:.def c =r16
sbr c, 0
Sukompiliavus gaunasi: 00 60

Taigi viskas teisingai. Tik susikeisk baitus vietomis kad suprastum. Perrašau binariniu būdu:
0b0110-kkkk.dddd-kkkk.
Taigi 0110 (6) reiškia SBR komandą. dddd reiškia registro numerį pradedant R16. T.y., R16 bus 0000, R17 bus 0001 ir t.t. O kkkkkkkk reiškia tą konstantą "0", kurią bandai priskirti registrui.
Su sbr c, 255 lygiai tas pats. Susikeisk baitus vietomis, ir gausi tą patį "6" reiškiantį SBR komandą, FF reiškiantį 255, O likęs "0" reiškia R16.
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 21:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vytautasr
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Dėkui, supratau.

Dabar kita mintis.
kodėl programa parašyta su ASM užima 5 kartus mažiau vietos, nei parašyta su C?
ASM kodas
Kodas:
.include "tn2313def.inc"
.def c =r16
sbr c, 0b101001 ;TCCR1A
.def d =r17
sbr d, 127 ; OCR1BL
.def e =r18
sbr e, 255 DDRB
.def f =r19
sbr f, 0b10 ; TCCR1B

out DDRB,e
out TCCR1A, c
out TCCR1B, f
out OCR1BL, d

Kodas:
:020000020000FC
:1000000009621F672F6F326027BB0FBD3EBD18BD51
:00000001FF


C kodas
Kodas:
#include "iotiny2313.h"
  void main(){
      DDRB=(1<<DDB4);
      TCCR1A=(1<<COM1B1)|(1<<WGM10);
      TCCR1B=(1<<CS11);
      OCR1B=127;
  }

Kodas:
 :100000001DC0189518951895189518951895189558
:100010001895189518951895189518951895189578
:1000200018951895189500E107BB01E20FBD02E095
:100030000EBD0FE710E019BD08BD08950FE90DBF13
:10004000C0E803D0F0DF03D002C001E00895000053
:040050008895FECFC2
:00000001FF


Daro jos lyg ir tą patį Confused jei aš čia į pievas plaukiu tai pasakykit, tik prieš kelias dienas ASM pradėjau klibinti. Rolling Eyes[/code]

_________________
Teorija - kai viską žinai, bet niekas neveikia,
Praktika - kai viskas veikia, bet nežinai kodėl.

Skype : VytautasRX
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 21: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ą
todel kad c kalbos nemoki optimaliai panaudoti.

jei nori optimizuoti pasiziurek tarpini asamblerio varinta
o saip c dar visokiu papildomu dalyku prideda. ir visai gali buti kad tavo kompilatorius tiap ir sukiso visa ta (1<<COM1B1)|(1<<WGM10); ne kaip viena skaiciu .

pvz kaip sukompilavo codevision

Kodas:
;      73 while                       (1)
_0x3:
;      74       {                     
;      75
;      76
;     77                  **********    DDRB=33;
   LDI  R30,LOW(33)
   OUT  0x17,R30
;      78                         ***********  TCNT0=0x56;
   LDI  R30,LOW(86)
   OUT  0x32,R30
;      79              *************        OCR0A=0x77;
   LDI  R30,LOW(119)
   OUT  0x36,R30
;      80                    ***********      OCR0 B=0x55;
   LDI  R30,LOW(85)
   OUT  0x29,R30
;      81
;      82
;      83       };
   RJMP _0x3
;     84 }
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 21:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vytautasr
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Man čia kažkaip į asemblerį daugiau neša, nei C Surprised

Parašius taip užima tiek tap Laughing

Kodas:
#include "iotiny2313.h"
  void main(){
      DDRB=255;
      TCCR1A=41;
      TCCR1B=2;
      OCR1B=127;
  }

_________________
Teorija - kai viską žinai, bet niekas neveikia,
Praktika - kai viskas veikia, bet nežinai kodėl.

Skype : VytautasRX
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 21:59 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ą
tai cia mano pavyzdys is .asm failo kaip c kompilatorius dirba.

tu irgi jei svarbu, pasiziurek ka kompilatorius padare. , tai bus aisku kodel gaunamos nesamones
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 22:04 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vytautasr
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Digix rašo:
tai cia mano pavyzdys is .asm failo kaip c kompilatorius dirba.

tu irgi jei svarbu, pasiziurek ka kompilatorius padare. , tai bus aisku kodel gaunamos nesamones


Nelabai supratau kas čia norėta pasakyti Rolling Eyes

_________________
Teorija - kai viską žinai, bet niekas neveikia,
Praktika - kai viskas veikia, bet nežinai kodėl.

Skype : VytautasRX
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 22:18 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ą
kompiliatorius c vercia i asambleri, tai va reikia paziureti kaip jis ta padare.
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 22:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vytautasr
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Kaip čia IAR'e tai padaryti?

_________________
Teorija - kai viską žinai, bet niekas neveikia,
Praktika - kai viskas veikia, bet nežinai kodėl.

Skype : VytautasRX
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 03, 23:26 Pranešti apie taisyklių pažeidimą Atsakyti su citata
vakaras
VIP narys
VIP narys
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Apsilankyti vartotojo tinklapyje ICQ numeris
Vytautasr rašo:
Kaip čia IAR'e tai padaryti?

Uždėti varneles prie options kad sukurtų ASM failus.
Arba pasileisti debugerį/simuliatorių. Ten irgi matysi ASM komandas.
 kintamūjų vieta mikrokontroleryje...
PranešimasParašytas: 2006 09 04, 07:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vytautasr
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką
Supratau Wink

_________________
Teorija - kai viską žinai, bet niekas neveikia,
Praktika - kai viskas veikia, bet nežinai kodėl.

Skype : VytautasRX
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
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