Elektronika.lt
 2025 m. kovo 10 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 03 10, 23:18. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » Programavimo problemos
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ą 
 Programavimo problemos
PranešimasParašytas: 2012 06 22, 16:00 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
Gal kas galėtu padėt išsiaiškint tokia programos fragmentą;

MOV DPTR, #0FF00H ;suprantu, kad čia į registrą
; DPTR įrašo šešioliktainį sk.
MOV R2, DPL ;čia iš DPTR registro žemesnės dalies perrašo į R2
MOV R3, DPH ;čia iš DPTR registro aukštesnės dalies perrašo į R3
CLR C ;išvalo CY bitą PSW registre
MOV A, R2 ;R2 turini perkelia į akumumuliatorių
SUBB A, DPL ;iš A turinio atima DPL turinį
MOV R2,A ;A turinį įrašo į R2

aš suprantu, kad iš įrašyta į iš DPL į R2 turinį atima tą patį skaičių, kuris yra DPL ir R2 turėtu būt 0, vėliau:

MOV A, R3 ;R3 turini perkelia į akumumuliatorių
SUBB A, DPH ;iš A turinio atima DPH turinį
MOV R3,A ;A turinį įrašo į R3

čia tas pats tik su registrais DPH ir R3, R3 manau taip pat turėtu būt 0, nes į R3 iš DPH įrašytas sk. įrašomas į akumuliatoriu, vėliau atimamas sk. esantis DPH iš esančio akumuliatoriuje.
Pagal aprašyma iš skaičiaus esančio R3R2 atimama 10000
0FF00H šešioliktainėj, tai dešimtainėj 65280, kaip čia iš to sk. atimama 10000, nesuprantu P.S. esu naujokas šioje srityje
 Programavimo problemos
PranešimasParašytas: 2012 06 22, 17:20 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vilkaslt
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
kad cia pastoviai gausi nuli pagal sita fragmenta nes is R3(DPL rieksme) - DPL, ir tas pats su dph. Beto jei realiai rasant tai keikviena kart po atimties turi tikrint carry velevele ir pries atimti ja nunulinti. Realiai DPTR skirtas atminciai adresuoti, jei cia apie 8051 mikrovaldikli ir turi zaist tik su registrais paprastais 8 bitu i jais susimetus dalis skaiciaus.

jei riek pacios programos kuri is skaiciaus teigiamu didesniu uz 2710h atima 10000d->2710h
mov R1,#27h
mov R2,#10h
crl c
mov A,R4; tavo skaicius bus R3 R4
subb A,R2
mov R4,A
jnc testi ;jei R4>R2
dec R3 ;jei R4<R2
testi:
mov A,R3
subb A,R1
mov R3,A
 Programavimo problemos
PranešimasParašytas: 2012 06 23, 07:17 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
labai ačiu, už patarimą. šiaip čia aš apsižioplinau:
MOV DPTR, #0FF00H; įrašo sk.
MOV R2, DPL; įrašo žemesnę dalį DPTR į R2
MOV R3, DPH; įrašo aukštesnę dalį DPTR į R3
......
MOV DPTR, #10000; perrašo į DPTR jau kita sk., kuri ir atima, šia eilutę pražiopsojau. Turbut dėl patyrimo stokos, šioje programoje daug šuolių. Bet iškilo kitas klausymas, pradžioje programos eina adresų priskyrimas
R7 .EQU 7; priskyriam 7 adresui registrą R7
R6 .EQU 6; priskyriam 6 adresui registrą R6
........
PSW .EQU 0D0H; priskyriam 0D0H adresui registrą PSW
DPL .EQU 82H; priskyriam 82H adresui registrą DPL
DPH .EQU 83H; priskyriam 83H adresui registrą DPH
........
bet niekur nemačiau, kad DPTR'ui būtu priskyrtas koks nors adresas pvz.:
DPTR .EQU 82H; toks pats, kaip ir DPL, nes kiek suprantu DPL ir DPH įeina į DPTR sudėti.nes tokiu atveju komandos
MOV DPTR, #0FF00H; ir
MOV DPTR, #10000; netenka prasmės, neaišku kontroleriui kur įrašyti šiuos sk., nes DPTR'ui nepriskyrtas joks adresas...
P.S išanksto dėkoju...
 Programavimo problemos
PranešimasParašytas: 2012 06 23, 13:50 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vilkaslt
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
keista kad kazkas R7 R6 registrus pervadinima i lasteles (EQU komanda priskiria konstantas programuotojo) .
Pats dptr yra procesoriaus 16bit adresu registras.
jei naudoji dptr kaip konstanta tai nlb suprantu tavo programos, bandei manaja?
 Programavimo problemos
PranešimasParašytas: 2012 06 23, 16:40 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
nebandžiau, dar šiek tiek žinių trūksta, aš čia kol kas dar teorijos semiuosi, tą programą iš knygos studijavau "Микроконтролеры? это очень просто том1" . Išbandyt, tai turbut kokio simuliatoriaus reikia? Aš tai ten supratau,
pirmas lastelias priskiria registrams, nes programa prasideda taip:

R7 .EQU 7 ; АДРЕСА РЕГИСТРОВ R0-R7
R6 .EQU 6
R5 .EQU 5
........
R1 .EQU 1
R0 .EQU 0
ACC .EQU 0E0H ; АДРЕС АКУМУЛЯТОРА
B .EQU 0F0H ; АДРЕС РЕГИСТРA B
........
Aš čia suprantu, kad čia yra priskyriami adresai registrams
 Programavimo problemos
PranešimasParašytas: 2012 06 23, 17:01 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vilkaslt
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
registras tai procesoriaus dalis, realiai siulyciau issirasyt IAE nebloga simuliatorius ir asembleri ir c kalba ima o literatura siulyciau paskaitu konspekta googlej paeiskojus mikroprocesoriai. Isesmes pirma norint asembleriu programint riekia gerai isstudijuoti jo architektura nes kitaip nlb iseis. Architekturos sarasas tai pat kaip ir jo asemblerio komandu sarasa gali rasti mikroprocesoriaus datasheete.
 Programavimo problemos
PranešimasParašytas: 2012 06 23, 18:30 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
Gal patartum kur atrast IAE simuliatorių?
 Programavimo problemos
PranešimasParašytas: 2012 06 23, 18:52 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vilkaslt
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
erikasmik rašo:
Gal patartum kur atrast IAE simuliatorių?

http://www.iar.com/Products/IAR-Embedded-Workbench/
pasiulymas naudoti limituoto dydzio licenzija tada neribota laika naudoses.
 Programavimo problemos
PranešimasParašytas: 2012 06 24, 10:46 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
Aš atsisiunčiau, IAR simuliatoriu, susiinstaliavau. Nelabai žinau nuo ko pradėt, susikūriau projektą joje yra kaip ir direktorija Asmmain.s51 pagrindiniame lauke yra automatiškai sukurta programos pradžia:

NAME main ;čia suprantu, kad yra programos
................................;pavadinimas
PUBLIC main ;čia kiek su C++ turėjau reikalų, tai rašomi
................................;kintamieji,
................................;tai čia gal reikia surašyt visus priskyrimus tokius,
................................; ....ACC .EQU 0E0H....., ar kažką panašaus?

ORG 0FFFEh ;čia suprantu, kad sekanti komanda, nuo adreso
...............................;0FFFEH, kaip ir tolokai tą pradžia, gal iki čia
...............................; skirta kintamiesiems surašyt?-kintamųjų sritis

DC16 main ;čia nežinau, bet įtariu, kad kontrolerio tipas?

RSEG RCODE ;šito išvis nežinau

main NOP ; nuo čia suprantu turi prasidėt asm kodas?
...............................; kurios pirma komanda tuščia, kaip ir laiko
...............................;užlaikymas

END main ; programos pabaiga

Gal ir kvaili pasirodys klausymai, bet man tai pradžia, nenoriu pasirodyt įkyrus, bet turiu kelis klausymus, kur man reikia pradėt rašyt programos kodą? ar išvis čia? ar teisingi mano pamastymai? Tikiuosi nelabai kvailai atrodau, bet jie jus prajuokinau tokiais klausymais, tai irgi neblogai.... Very Happy
P.S. nkreikit dėmesio į taškus, jie tik tam , kad būtu galima lengviau atskirt programą nuo komentarų
 Programavimo problemos
PranešimasParašytas: 2012 06 24, 17:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
gal kas galėtu pasakyt, ar IAR simuliatoriuje galima rašyt kodą asembleriu?, nes kol kas aš suprantu, kad ten galima tik C
 Programavimo problemos
PranešimasParašytas: 2012 06 25, 15:46 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vilkaslt
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
ten visoms imanomoms kalboms, mano anksciau rasyta programa:
Kodas:
#include "ioADuC841.h"
    name    main   ; Pagrindinė programa
       public __program_start ; Zymes C-SPY derinimo irankiui
       public main
__program_start:
main:
   
  mov R1,#27h
  mov R2,#10h
  clr c
  mov A,R4; tavo skaicius bus R3 R4
  subb A,R2
  mov R4,A
  jnc testi ;jei R4>R2
  dec R3 ;jei R4<R2
testi:
  mov A,R3
  subb A,R1
  mov R3,A
?C_EXIT: ; Programos exit žyme, naudojama C-SPY irankiui exit:
  ret ; grižti      

                END   

faila butina issaugoti asm pletiniu kitaip nlb funkcinuos.
 Programavimo problemos
PranešimasParašytas: 2012 06 25, 16:36 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
#include "ioADuC841.h"; , čia turbūt reikia šią bilioteką nurodyt, kad susikalbėtų su asembleriu?

public __program_start; čia gal deklaruojama funkcija?

panašu į C, bet, rašant funkcijos "main" kamieną, reiktu įterpt į {}?
 Programavimo problemos
PranešimasParašytas: 2012 06 25, 18:22 Pranešti apie taisyklių pažeidimą Atsakyti su citata
Vilkaslt
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
erikasmik rašo:
#include "ioADuC841.h"; , čia turbūt reikia šią bilioteką nurodyt, kad susikalbėtų su asembleriu?

public __program_start; čia gal deklaruojama funkcija?

panašu į C, bet, rašant funkcijos "main" kamieną, reiktu įterpt į {}?

as tau visa veikencia programa parasiau... o tu dar bandai prisikabint. ten kur main ir kita velniava neklausk paprasciausiai tokia sintakse sitam kompiliatoriui o kas viduj tai grynas 8051 mikroprocesoriaus asemblerio kodas.
 Programavimo problemos
PranešimasParašytas: 2012 06 26, 07:49 Pranešti apie taisyklių pažeidimą Atsakyti su citata
erikasmik
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ą
Atisiprašau, toks aš jau, bandau viską iš pagrindų, pabandysiu programą nukopijuot ir pažiūrėt....
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

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
KCD2 Mods
Installing KCD 2 Mods, KCD 2 Guides, KCD 2 Cheats
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 Wiki
GTA 6 Map, GTA 6 Characters, GTA 6 News
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
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
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