Waar zijn we nu mee bezig ? Microcontrollers

Gestart door ToThePoint, 13 januari 2012, 10:27:28 AM

Havoc

Voor de 35 instructies van de 16f722 is het simpel: 4 clock cycles.

Maar de vraag is wat die Basic er van maakt. Die cls die je noemt lijkt mij geen pic assembler.
Met vakantie voor onbepaalde duur.

raf

hallo Johan
dus elke instructie kost 4 clock pulsen

die cls is wel basic maar ik weet niet meer hoe die instructie is in assembler
eens van de basic een hex file is gemaakt staat alles toch in assembler of ben ik verkeerd

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Havoc

Neen, assembler is zoiets als basic. Alleen is het primitiever dan basic. Je hebt enkel de machineinstructies ter beschikking. In assembler voor 12-bit pics heb je bvb de instructie "CALL k" met k het adres van 8 bits van een subroutine. In je assembler programma kan je dan schijven "CALL licht_aan", de assembler maakt daar dan de juiste 8 bits (k) van en schijft een hex code van 12 bits als output. Dus als je in assembler schrijft, dan weet je exact hoeveel instructies er in je programma staan.

De hex file zelf, dat zijn normaal machine instructies. Met een de-assembler kan je die terug in "leesbare" assembler omzetten. Of je kan je bezighouden met dat manueel te doen met een instructielijst. Maar dan wens ik je veel geduld...

Maar 1 basic instructie kan (veel) meer dan 1 pic instructie zijn.  En dan weet je niet. Dat hangt af van de compiler/interpreter. Ik vermoed dat die "cls" zoiets is als "clear screen".  Dat kan iets eenvoudig zijn als een reset naar het scherm sturen. Maar evengoed het volledige geheugen van het display overschrijven.
Met vakantie voor onbepaalde duur.

raf

Halo Johan
sorry voor de mis interpretatie maar ja das mijn kopje wat een groot deel mist van vroeger
inderdaad de hex is machine taal en zo heb ik vroeger nog met de z80 aan het programmeren geweest .
dus zo goed de basic interpreter is zo goed komt de machine taal er uit .
en ja "cls" is clear screen maar ik weet niet meer hoe dat weer werkt in machine taal
en dus kan het inderdaad zijn dat het volledige scherm leeg gemaakt word alsook nog het extra geheugen in het scherm en dat kost tijd

gr raf en bedankt
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Havoc

Graag gedaan Raf. Maar ik ken niet genoeg van de pic om meer dan dat te zeggen. Je zou eens kunnen proberen om een soort "programma" te schrijven zodat je enkel die cls kan zien in hex en dan proberen te zien hoeveel instructies dat zijn. Maar evident gaat dat niet zijn. Want je gaat altijd een aantal routines om het scherm te besturen meenemen. Een optie is bvb 3x hetzelfde na elkaar te zetten. En dan in een hex editor kijken waar 3x hetzelfde staat. Dan kan je (als je de instructieset van de 16f722 kent) proberen te tellen hoeveel instructies dat zijn. Maar dat is echt een puzzle. En als de basic compiler intellient genoeg is, dan maakt die daar een lus van en zie je het niet.

Heb ook nog in hex geprogrammeerd in school. Dat waren 2 pcb's in de doos van een vhs cassette met een LED display van 6 cijfers Moet ergens 1988 geweest zijn.
Met vakantie voor onbepaalde duur.

Geert

Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

raf

geer deze ken ik maar die kwam later dan dat ik met de Z 80 begonnen was
ik had dus een 9 tal knopjes en na een zwartwit hf module kregen we beeld
ik zat toen in een computer club in neeroeteren
man man wat een tijden was dat (alee wat ik me herinner)met zi zaken komt steeds meer terug

ik heb nog ergens die boeken liggen om te programmeren
dan is de door u voorgestelde samen stelling uitgekomen
daarna is de zx81 uitgekomen van sinclair
dan is er een andere met kleur uitgekomen en een beter toetsen bord
gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Havoc

Citaat van: Geert op 09 september 2021, 21:36:57 PM
Johan,
Was dat de micro professor? http://www.retro-lab.nl/?p=46

Geert

Ja, zoiets. Met de uitbreiding langs de andere kant maar geen Basic. We hadden een "labo" met op elke tafel zo'n ding en dan een opstelling om iets te besturen. Elke zoveel labs moesten we een andere opstelling doen. Best wel leuk.
Met vakantie voor onbepaalde duur.

patrick smout

Pure nostalgie.

Ook mijn eerste computer staat er tussen.

http://www.retro-lab.nl/?p=618

Mvg, Patrick
Met vriendelijke groeten,

Patrick Smout

raf

gho jullie hadden een print en echte knopjes
die van mij was op gaatjes bord en van die rode en groene druk knopjes
maar zo een schermpje had ik ook aan een flat kabel ;dat kwam van tandy als ik me herinner
dit brengt voor mij weer geheugen terug en gedachten aan mooie dagen .
maar het bleef behelpen tot we een pio en een hf module hadden zodat we op een tv beeld konden tonen .
ik ben daarna overgestapt op de zx81

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Harm

Citaat van: Havoc op 09 september 2021, 14:47:32 PM
Voor de 35 instructies van de 16f722 is het simpel: 4 clock cycles.

Mag ik weten waar je dat vandaan hebt?

Geert

Klopt wel wat Johan schrijft. Het is wel verwarend als je de data sheet leest: "All single-cycle instructions except branches"

Een single-cycle bestaat uit 4 clock cycles...

Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

Havoc

Citaat van: Harm op 13 september 2021, 09:30:48 AM
Citaat van: Havoc op 09 september 2021, 14:47:32 PM
Voor de 35 instructies van de 16f722 is het simpel: 4 clock cycles.

Mag ik weten waar je dat vandaan hebt?

De datasheet van de fabrikant? Eerste pagina staat dat elk van de 35 instructies (behalve branch) 1 "instruction cycle" is. Als je dan in het document zoekt, dan kom je op pagina 187:
CiteerOne instruction cycle consists of four oscillator periods;
for an oscillator frequency of 4 MHz, this gives a
nominal instruction execution time of 1 s. All
instructions are executed within a single instruction
cycle, unless a conditional test is true, or the program
counter is changed as a result of an instruction. When
this occurs, the execution takes two instruction cycles,
with the second cycle executed as a NOP.

Hier staat dan ook dat een branch (= program counter change) 2 instruction cycles duurt (= 8 clock cycles).
Met vakantie voor onbepaalde duur.

raf

Johan bedankt om het uit te leggen
nooit gelezen in de manual maar ja er staat ook zoveel in dat ding
mercie

gr raf

If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Harm

Citaat van: Havoc op 13 september 2021, 10:53:24 AM

De datasheet van de fabrikant?
Gevonden op blz 360.
Alleen zeggen die losse letters me niets.
Heb er dus nog niets aan als ik wil weten wat

IF ingang4 = hoog THEN

aan tijd kost,of

PRINT at...........," bla bla"