Programerings problem

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Programerings problem

Inlägg av MGKea »

Köpte en PICkit2 igår och sitter nu och grunnar på hur nedan angiven labbkod fungerar. Önskar hjälp med de rader där jag angivit "???".
Tack på förhand /Magnus
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)

cblock 0x20
Delay1 ; Assign an address to label Delay1
Delay2
Display ; define a variable to hold the diplay
endc

org 0
Start:
bsf STATUS,RP0 ; val av rigister sida 1
clrf TRISC ; gör all IO PortC till output
bcf STATUS,RP0 ; åter till register sida 0
movlw 0x08 ; ??? varför just 8
movwf Display ; ??? stopp in 8 i "display"
MainLoop:
movf Display,w ; kopierar "display" till LED dioderna ??? Display,w
movwf PORTC ;
OndelayLoop:
decfsz Delay1,f ; Waste time.
goto OndelayLoop ; The Inner loop takes 3 instructions per loop * 256 loopss = 768 instructions
decfsz Delay2,f ; The outer loop takes and additional 3 instructions per lap * 256 loops
goto OndelayLoop ; (768+3) * 256 = 197376 instructions / 1M instructions per second = 0.197 sec.
; call it a two-tenths of a second.

bcf STATUS,C ; se till att "carry bit" är tömd.
rrf Display,f ; ???
btfsc STATUS,C ; Roterade biten i "carry"? ???
bsf Display,3 ; Ja, lägg den i bit 3. ???
goto MainLoop
end
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Programerings problem

Inlägg av AndersG »

0x08 = 1000, fjärde ledden tänd, sedan pushar man ut den på porten

rrf roterar 00001000 högerut, dvs

00001000
00000100
00000010
00000001

Om du inte ser till att carry är clear så kommer ettan i carry att ramla in vänsterifrån

Sista steget flyttar in biten i carry, då sätter du bit 3, 2^3 = 8
MGKea
Inlägg: 114
Blev medlem: 22 oktober 2008, 14:56:14
Ort: Eskilstuna

Re: Programerings problem

Inlägg av MGKea »

Okej det förklarar en del. Mycket tack!
Det där med hexa dec måste jag träna på.
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9127
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Programerings problem

Inlägg av AndersG »

Det där med hexa dec måste jag träna på.
Japp, att kunna förvandla dec/hex/bin i huvudet skadar inte. Annars så kan du fuska med calc.exe ;)
Skriv svar