Het maken van een uurwerk via het programma MCU 8051 IDE

Dit topic is gesloten


Daarom zei ik ook dat ze terug moesten naar de vorige code... Die klopt op dat gebied wel....

Nu weet ik ook wat ANL betekend, bedankt arco, nog nooit gebruikt....

Volgens mij is ANL een opcode die niet in de Z80 zit want ik kende hem niet.

Domoticz en ESP8266, goede combo!!!

Ander probleem is dat R4 en R5 na het bereiken van 100 resp. 50 nooit meer op nul gezet worden en vrolijk verder tellen...
Bij initialisatie R4 en 5 op 0 zetten. De 'd' suffix voor decimale getallen slikken de meeste assemblers niet; gewoon weglaten.
TH0 en TL0 moeten wel beide op 0x37, anders klopt de timer niet. Kleine aanzet die wel werkt (anders wordt 't een topic in meerdere delen... :) :

code:


optellen:  INC R4
	   CJNE R4,#100,optel_ret
	   MOV R4, #0
	   INC R5
	   CJNE R5,#50,optel_ret
	   MOV R5, #0
 
           INC R1
           CJNE R1,#60,optel_ret ;max.waarde = 59 seconden
           MOV R1,#0
           INC R2                 ;verhogen van de minuten
           CJNE R2,#60,optel_ret ;max.waarde = 59 minuten
           MOV R2,#0
           INC R3                 ;verhogen van de uren
           CJNE R3,#24,optel_ret  ;maximumwaarde = 23 uren
           MOV R3,#0
optel_ret: RET
Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Je hebt nu optellen en seconde gecombineerd, creatief en werkt ook....

Domoticz en ESP8266, goede combo!!!

Excuus, ik sloeg verschillende dingen door elkaar.
1) Ik heb het zo opgelost, werkt ook volgens mij
2) wat bedoel je met werken aan weergave?
ORG 0h
LJMP start
ORG 30h

pic asm code:

Start:     MOV SCON,#40h         ;serieel kanaal van mode1 8-bit UART variabele baudrate instellen
           MOV TMOD,#22h         ;instellen timer1 als 8-bit auto reload voor baudrategenerator
           ORL PCON,#80h         ;baudrate verdubbelaar activeren
           MOV TH1,#2a43          ;4800 baudrate
           MOV TL1,#243          ;4800 baudrate
           SETB TR1              ;baudrategenerator activeren

           MOV TH0,#037h         ;startwaarde voor 200µs( 65535 - 200 = 65335 = FF37) FF bij de hoogste waarde
           MOV TL0,#037h          ;startwaarde voor 200µs( 65535 - 200 = 65335 = FF37) 37 bij de laagste waarde
           SETB TR0              ;timer0 starten

           MOV R1,#000H          ;seconden op 0 (hoef je maar 1x uit te voeren
           MOV R2,#000H          ;minuten op 0
           MOV R3,#000H          ;uren op 0
           MOV R4,#000H		 ; register voor maxwaarde teller om seconde te bekomen (=100)
           MOV R5,#000H		 ; register voor maxwoorde teller om seconde te bekomen (=50)
           MOV P0,#00000001B     ;P0 op 1 zetten, Po wordt gebruikt voor het looplicht 

MAIN:      CALL KLOK
	   CALL seconde

           CALL weergave
           CALL looplicht
           LJMP MAIN

KLOK:	   JNB TF0,klok             ;als TF0=0, spring naar klok
           CLR TF0
           RET

LOOPLICHT: MOV A,R2
           ANL A,#00000001B

           JNZ ONEVEN            ;bit 0=1; spring naar ONEVEN

EVEN:      MOV A,P0
           RL A
           MOV P0,A
           RET

ONEVEN:    MOV A,P0
           RR A
           MOV P0,A
           RET

SECONDE:   INC R4
	   CJNE R4,#100d,seconde_ret

	   MOV R4,0
	   INC R5
	   CJNE R5,#50d,seconde_ret

	   MOV R5,0
	   MOV A,#0

           MOV A,R4
           ADD A,R5
	   JZ optellen
seconde_ret: RET	   

optellen:  
           INC R1
           CJNE R1,#60d,optel_ret ;max.waarde = 59 seconden
           MOV R1,#0

           INC R2                 ;verhogen van de minuten
           CJNE R2,#60d,optel_ret ;max.waarde = 59 minuten
           MOV R2,#0

           INC R3                 ;verhogen van de uren
           CJNE R3,#24d,optel_ret ;maximumwaarde = 23 uren
           MOV R3,#0

optel_ret: RET

weergave:
          MOV P1,R1               ;seconden worden weergegeven op poort0
          MOV P2,R2               ;minuten worden weergegeven op poort1
          MOV P3,R3               ;uren worden weergegeven op poort2
          RET
       
          END  


In je laatste code staan wat rare dingen in je seconde() functie, die per toeval (meer geluk als wijsheid... :) ) wel werken.
Beter mijn voorbeeld nemen, da's ook nog uit te leggen hoe het werkt...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Ik deed het op die manier omdat me aangeraden werd op de registers op te tellen en dan te kijken of deze 0 waren. Maar is goed, wou gewoon zelf ook met iets uit de bus komen :)

Je "collega" gaf aan te werken aan de weergave met behulp van de ASCII-tabel, maar had nog niet gepost hoe het probleem met de secondes op te hebben gelost.

Gebruik de code van Arco en laat seconde helemaal weg, elegant genoeg omdat je dus optellen en seconde gecombineerd hebt en dat de code pas gaat optellen als de seconde voorbij is....

Ik was spuit11, wat Arco zegt, plus dat het ook sneller is...

Domoticz en ESP8266, goede combo!!!

Op die plaats in je seconde routine zijn R4 en R5 altijd nul. Het is dus wat zinloos om 0 + 0 op te tellen en te testen of dat 0 is...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Thomas, maak in je profiel ff je email zichtbaar, ik wil je ergens voor waarschuwen wat nu niet in dit topic thuis hoort...

Domoticz en ESP8266, goede combo!!!

Op 20 augustus 2016 01:04:04 schreef Roches:
Thomas, maak in je profiel ff je email zichtbaar, ik wil je ergens voor waarschuwen wat nu niet in dit topic thuis hoort...

Heb het even onzichtbaar gezet, is niet mijn gewoonte dus laat me weten als je mail hebt gestuurd dan zet ik 'm terug onzichtbaar.

In verband met de tabel voor de ASCII, voor elke seconde dus een aparte code?
Oh, dat gaat nog even duren.

Moet de output op P1,2,3 hex zijn, of mag 't ook BCD zijn? (dat maakt alles een stuk simpeler)

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
Domoticz en ESP8266, goede combo!!!

Oke heb hem ontvangen Roches ;)
Arco, in de opgave wordt er niets gezegd over de outputs van P1,P2,P3 dus ik denk dat BCD in principe geen probleem moet zijn.

Kleine wijziging in optellen():

code:


optellen:  INC R1
           MOV A, R1
           DA  A                  ;Decimal adjust
           MOV R1, A 	
           CJNE R1,#60h,optel_ret ;max.waarde = 59 seconden
           MOV R1,#0
           INC R2                 ;verhogen van de minuten
           MOV A, R2
           DA  A                  ;Decimal adjust 
           MOV R2, A 	
           CJNE R2,#60h,optel_ret ;max.waarde = 59 minuten
           MOV R2,#0
           INC R3                 ;verhogen van de uren
           MOV A, R3
           DA  A                  ;Decimal adjust
           MOV R3, A 	
           CJNE R3,#24h,optel_ret ;maximumwaarde = 23 uren
           MOV R3,#0
optel_ret: RET

In R1,2,3 staan nu al de 'hapklare' waardes voor serieel versturen... ;)
Serieel versturen:

code:


           MOV  A, R1       ;seconden laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait:    JNB  TI, txwait  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R1       ;seconden laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait2:   JNB  TI, txwait2 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen

Dit herhalen voor minuten en uren...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

1)Top! ;)
2) in principe zou het serieel versturen zo als onderstaande code moeten lukken in formaat 'uu:mm:ss'?
( ;- - - - - - uren/minuten/seconden/dubbelpunt staat er gewoon om het overzichtelijk te houden)
3) Hoe kan ik testen of hij het juiste in formaat 'uu:mm:ss' stuur?
4) Het wordt al laat, bedankt voor de nachtelijke hulp, Ik kruip mijn bed. Morgen het eerste wat ik doe is de code uitproberen ;)

pic asm code:


;- - - - - - uren
           MOV  A, R3       ;uren laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait:    JNB  TI, txwait  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R3       ;uren laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait2:   JNB  TI, txwait2 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen

;- - - - - - dubbelpunt

           MOV  A, #03Ah     ;dubbelpunt laden
           MOV  SBUF, A     ;versturen (tientallen)
txwait3:    JNB  TI, txwait3  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen

;- - - - - - minuten

           MOV  A, R2       ;minuten laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait4:    JNB  TI, txwait4  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R2       ;minuten laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait5:   JNB  TI, txwait5 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen

;- - - - - - dubbelpunt

           MOV  A, #03Ah     ;dubbelpunt laden
           MOV  SBUF, A     ;versturen (tientallen)
txwait6:    JNB  TI, txwait6  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen

;- - - - - - seconden

           MOV  A, R1       ;seconden laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait7:    JNB  TI, txwait7  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R1       ;seconden laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait8:   JNB  TI, txwait8 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen

Klopt zo te zien wel. De serieele waarde kun je controleren door het SBUF register te bekijken in de simulatie...
Erg nauwkeurig wordt de klok zo nooit (zonder interrupts), maar het gaat tenslotte om het principe, niet?

Iedere complete serieele tijd-transmit kost bijna 17mS, die komen er dus extra bij steeds.
Je kunt de boel wel wat tweaken door timer 0 met een wat kleinere waarde (dus hoger) te laden, bijv. #39h of #3Ah i.p.v. #37h...

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Ik heb het eens uitgeprobeerd met onderstaande code.
bemerkingen:
1) geeft die decimal adjust geen probleem voor mijn looplicht?
2) Die sbuf register verandert na 1 seconde niet van waarde.
3) Denk je dat het op een half dagje nog mogelijk is om het met interrupts te doen?

pic asm code:

ORG 0h
           LJMP start
           ORG 30h

Start:     MOV SCON,#40h         ;serieel kanaal van mode1 8-bit UART variabele baudrate instellen
           MOV TMOD,#22h         ;instellen timer1 als 8-bit auto reload voor baudrategenerator
           ORL PCON,#80h         ;baudrate verdubbelaar activeren
           MOV TH1,#243          ;4800 baudrate
           MOV TL1,#243          ;4800 baudrate
           SETB TR1              ;baudrategenerator activeren

           MOV TH0,#037h         ;startwaarde voor 200µs( 65535 - 200 = 65335 = FF37) FF bij de hoogste waarde
           MOV TL0,#037h          ;startwaarde voor 200µs( 65535 - 200 = 65335 = FF37) 37 bij de laagste waarde
           SETB TR0              ;timer0 starten

           MOV R1,#000H          ;seconden op 0 
           MOV R2,#000H          ;minuten op 0
           MOV R3,#000H          ;uren op 0
           MOV R4,#000H		 ; register voor maxwaarde teller om seconde te bekomen (=100)
           MOV R5,#000H		 ; register voor maxwoorde teller om seconde te bekomen (=50)
           MOV P0,#00000001B     ;P0 op 1 zetten, Po wordt gebruikt voor het looplicht 

MAIN:      CALL KLOK
	   CALL optellen

           CALL weergave
           CALL looplicht
           LJMP MAIN

KLOK:	   JNB TF0,klok             ;als TF0=0, spring naar klok
           CLR TF0
           RET

LOOPLICHT: MOV A,R2
           ANL A,#00000001B

           JNZ ONEVEN            ;bit 0=1; spring naar ONEVEN

EVEN:      MOV A,P0
           RL A
           MOV P0,A
           RET

ONEVEN:    MOV A,P0
           RR A
           MOV P0,A
           RET

optellen:  INC R1
           MOV A, R1
           DA  A                  ;Decimal adjust
           MOV R1, A 	
           CJNE R1,#60h,optel_ret ;max.waarde = 59 seconden
           MOV R1,#0

           INC R2                 ;verhogen van de minuten
           MOV A, R2
           DA  A                  ;Decimal adjust 
           MOV R2, A 	
           CJNE R2,#60h,optel_ret ;max.waarde = 59 minuten
           MOV R2,#0

           INC R3                 ;verhogen van de uren
           MOV A, R3
           DA  A                  ;Decimal adjust
           MOV R3, A 	
           CJNE R3,#24h,optel_ret ;maximumwaarde = 23 uren
           MOV R3,#0

optel_ret: RET

weergave:;- - - - - - uren
           MOV  A, R3       ;uren laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait:    JNB  TI, txwait  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R3       ;uren laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait2:   JNB  TI, txwait2 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
 
;- - - - - - dubbelpunt
 
           MOV  A, #03Ah     ;dubbelpunt laden
           MOV  SBUF, A     ;versturen (tientallen)
txwait3:    JNB  TI, txwait3  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
 
;- - - - - - minuten
 
           MOV  A, R2       ;minuten laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait4:    JNB  TI, txwait4  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R2       ;minuten laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait5:   JNB  TI, txwait5 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
 
;- - - - - - dubbelpunt
 
           MOV  A, #03Ah     ;dubbelpunt laden
           MOV  SBUF, A     ;versturen (tientallen)
txwait6:    JNB  TI, txwait6  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
 
;- - - - - - seconden
 
           MOV  A, R1       ;seconden laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait7:    JNB  TI, txwait7  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R1       ;seconden laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait8:   JNB  TI, txwait8 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
          RET

Het deel met R4/5 was weggevallen, daardoor liep de boel veel te snel... ;)
Met interrupts lijkt me wel wat kort dag. Ik neem aan dat je ook nog uit moet kunnen leggen hoe de boel werkt?... Zo werkt het in ieder geval:

code:


           ORG 0h
           LJMP start
           ORG 30h
 
Start:     MOV SCON,#40h         ;serieel kanaal van mode1 8-bit UART variabele baudrate instellen
           MOV TMOD,#22h         ;instellen timer1 als 8-bit auto reload voor baudrategenerator
           ORL PCON,#80h         ;baudrate verdubbelaar activeren
           MOV TH1,#243          ;4800 baudrate
           MOV TL1,#243          ;4800 baudrate
           SETB TR1              ;baudrategenerator activeren
 
           MOV TH0,#037h         ;startwaarde voor 200µs( 65535 - 200 = 65335 = FF37) FF bij de hoogste waarde
           MOV TL0,#037h         ;startwaarde voor 200µs( 65535 - 200 = 65335 = FF37) 37 bij de laagste waarde
           SETB TR0              ;timer0 starten
 
           MOV R1,#000H          ;seconden op 0 
           MOV P1,#0
           MOV R2,#000H          ;minuten op 0
           MOV P2,#0
           MOV R3,#000H          ;uren op 0
           MOV P3,#0 
           MOV R4,#000H		 ; register voor maxwaarde teller om seconde te bekomen (=100)
           MOV R5,#000H		 ; register voor maxwoorde teller om seconde te bekomen (=50)
           MOV P0,#00000001B     ;P0 op 1 zetten, Po wordt gebruikt voor het looplicht 

 
MAIN:      CALL KLOK
	   CALL optellen
           CALL looplicht
           LJMP MAIN
 
KLOK:	   JNB TF0,klok          ;als TF0=0, spring naar klok
           CLR TF0
           RET
 
LOOPLICHT: MOV A,R2
           ANL A,#00000001B
           JNZ ONEVEN            ;bit 0=1; spring naar ONEVEN
 
EVEN:      MOV A,P0
           RL A
           MOV P0,A
           RET
 
ONEVEN:    MOV A,P0
           RR A
           MOV P0,A
           RET
 
optellen:  INC R4
	   CJNE R4,#100,optel_ret
	   MOV R4, #0
	   INC R5
	   CJNE R5,#50,optel_ret
	   MOV R5, #0 
           inc R1
           MOV A, R1
           DA  A                  ;Decimal adjust
           MOV R1, A 	
           CJNE R1,#60h,weergave  ;max.waarde = 59 seconden
           MOV R1,#0
           INC R2                 ;verhogen van de minuten
           MOV A, R2
           DA  A                  ;Decimal adjust 
           MOV R2, A 	
           CJNE R2,#60h,weergave  ;max.waarde = 59 minuten
           MOV R2,#0
           INC R3                 ;verhogen van de uren
           MOV A, R3
           DA  A                  ;Decimal adjust
           MOV R3, A 	
           CJNE R3,#24h,weergave  ;maximumwaarde = 23 uren
           MOV R3,#0
 optel_ret: RET

weergave:;- - - - - - uren
           MOV  A, R3       ;uren laden
           SWAP A           ;nibbles omruilen
           ANL  A, #0Fh     ;msn eraf
           ADD  A, #30h     ;30 hex optellen voor ascii
           MOV  SBUF, A     ;versturen (tientallen)
txwait:    JNB  TI, txwait  ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
           MOV  A, R3       ;uren laden
           ANL  A, #0Fh     ;msn eraf 
           ADD  A, #30h     ;30 hex optellen voor ascii 
           MOV  SBUF, A     ;versturen (eenheden)  
txwait2:   JNB  TI, txwait2 ;wachten tot versturen klaar is
           CLR  TI          ;flag clearen
 
;- - - - - - dubbelpunt
 
           MOV  A, #03Ah     ;dubbelpunt laden
           MOV  SBUF, A      ;versturen (tientallen)
txwait3:   JNB  TI, txwait3  ;wachten tot versturen klaar is
           CLR  TI           ;flag clearen
 
;- - - - - - minuten
 
           MOV  A, R2        ;minuten laden
           SWAP A            ;nibbles omruilen
           ANL  A, #0Fh      ;msn eraf
           ADD  A, #30h      ;30 hex optellen voor ascii
           MOV  SBUF, A      ;versturen (tientallen)
txwait4:   JNB  TI, txwait4  ;wachten tot versturen klaar is
           CLR  TI           ;flag clearen
           MOV  A, R2        ;minuten laden
           ANL  A, #0Fh      ;msn eraf 
           ADD  A, #30h      ;30 hex optellen voor ascii 
           MOV  SBUF, A      ;versturen (eenheden)  
txwait5:   JNB  TI, txwait5  ;wachten tot versturen klaar is
           CLR  TI           ;flag clearen
 
;- - - - - - dubbelpunt
 
           MOV  A, #03Ah     ;dubbelpunt laden
           MOV  SBUF, A      ;versturen (tientallen)
txwait6:   JNB  TI, txwait6  ;wachten tot versturen klaar is
           CLR  TI           ;flag clearen
 
;- - - - - - seconden
 
           MOV  A, R1        ;seconden laden
           SWAP A            ;nibbles omruilen
           ANL  A, #0Fh      ;msn eraf
           ADD  A, #30h      ;30 hex optellen voor ascii
           MOV  SBUF, A      ;versturen (tientallen)
txwait7:   JNB  TI, txwait7  ;wachten tot versturen klaar is
           CLR  TI           ;flag clearen
           MOV  A, R1        ;seconden laden
           ANL  A, #0Fh      ;msn eraf 
           ADD  A, #30h      ;30 hex optellen voor ascii 
           MOV  SBUF, A      ;versturen (eenheden)  
txwait8:   JNB  TI, txwait8  ;wachten tot versturen klaar is
           CLR  TI           ;flag clearen

           MOV P1,R1         ;seconden worden weergegeven op poort0
           MOV P2,R2         ;minuten worden weergegeven op poort1
           MOV P3,R3         ;uren worden weergegeven op poort2

           RET
Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

Oke, het looplicht werkt terug.
Maar even om te controleren, of de serïele sturing werkt.
Bij 3s, 160ms staat mijn SBUF register op op CA, SBUF T op 01, maar bij het paseren van de seconde zie ik niet direct iets veranderen.

GJ_

Moderator

Thomas, ondanks dat je motivatie beter lijkt dan die van TS is en blijft het zijn topic, en dat ben je nu aan het kapen. En dat is dus echt niet de bedoeling.

We gaan verder met de problemen van S-man.

Op 19 augustus 2016 21:43:10 schreef S-man:
[...]

Hé kameraad,ik en Thomas zitten wel samen te werken voor die opdracht. We vergelijken wel samen en geven elkaar wat informatie en bedenkingen voor die klok

Lijkt me geoorloofd daar S-man dit zelf aangeeft.

Domoticz en ESP8266, goede combo!!!

Lijkt mij ook, temeer daar S-man ook al een tijdje onzichtbaar is.
(ik denk trouwens dat we dan ook nog niet veel verder als de startpost waren gekomen qua inhoud... :) )

In de Edsim51 simulator zie ik toch netjes 0x30,0x30,0x3A,0x30,0x30,0x3A,0x30,0x31 verschijnen in SBUF na een seconde. (SBUF tx register, er is ook een SBUF voor rx)

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com

@ Arco, na een seconde krijg ik die waarde ook, maar na de 2 de seconde blijft die waarde van de 1ste seconde onveranderd in SBUF Tx

Bij mij krijg ik netjes 0x32 als laatst verstuurde byte na de 2e seconde. (en na 3 seconden 0x33, enz...)

Arco - "Simplicity is a prerequisite for reliability" - hard en software ontwikkeling: www.arcovox.com
GJ_

Moderator

Ehh, het was geen vraag.

s-man is verdwenen van dit schoolvragen topic, een collega is in zijn plaats gekomen en s-man hoeft nu alleen nog maar het resultaat over te nemen.

Dit topic is gesloten