Tid för en NOP med en PIC16F84 klockad med 20 MHz?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
e5frog
Inlägg: 475
Blev medlem: 18 juni 2005, 20:41:12
Ort: Älvängen
Kontakt:

Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av e5frog »

Hur beräknar man hur lång tid en NOP tar på en PIC16F84 som klockas på 20 MHz?

Någon som vet (på rak arm) exakt hur lång tid det tar?

Länk kanske?

Hittad denna:
http://www.mikroe.com/en/books/picbook/2_01chapter.htm

Tar en NOP åtta perioder från osc1 klockan? Fyra för att hämta och fyra för att utföra? Åtta cykler borde då vara 8*1/20*10^6 s vilket blir 0,4 µs? Kan det stämma?
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av bearing »

En NOP ta lika lång tid som de flesta instruktionerna, det vill säga en instruktionscykel. En instruktionscykel tar 4 klockcykler.

En NOP tar alltså: 4/20M s = 0,2 us
Användarvisningsbild
e5frog
Inlägg: 475
Blev medlem: 18 juni 2005, 20:41:12
Ort: Älvängen
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av e5frog »

Okej, men på s34 här http://ww1.microchip.com/downloads/en/d ... 35007b.pdf så verkar det som om det tar fyra klockcykler att hämta instruktionen innan den exekveras och vid exekveringen ökas programräknaren samtidigt med 1. Totalt åtta cykler per instruktion alltså?
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av bearing »

Har inte läst dokumentet, men jag vet att jag har rätt.

EDIT:
sida 34 är blank.
Användarvisningsbild
mri
Inlägg: 1165
Blev medlem: 15 mars 2007, 13:20:50
Ort: Jakobstad, Finland
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av mri »

"verkar det som om det tar fyra klockcykler att hämta instruktionen innan den exekveras"

En PIC har väl en instruktionsrörledning som dom flesta andra processorer?
Dvs, under tiden en instruction exekveras, laddas nästa instruktion från minnet.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av bos »

e5frog skrev:Totalt åtta cykler per instruktion alltså?
Jag tror du blandar äpplen med päron. Om du tittar på den sida du hänvisar till så ser du diagrammet / tabellen längst ner. Överst ser du Q1-Q4 (oscillatorn), och dessa kallas för Q-cykler. En instruktionscykel består av 4st Q-cykler. Det är därför klocktiden formuleras som Fosc = 4 / (Oscillatorns MHz). I ditt fall blir det 4/20000000 = 200ns för alla instruktioner utom villkorliga hopp (goto, btsfc, btsfs, osv).

Och som mri skriver har en PIC pipelining för instruktionsflödet. Detta innebär att samtidigt när en instruktion utförs så hämtas nästa, parallellt. Direkt därefter utförs nästa, och när det sker hämtas nästa, osv. Du ser detta i samma tabell under "instruction flow".
Användarvisningsbild
e5frog
Inlägg: 475
Blev medlem: 18 juni 2005, 20:41:12
Ort: Älvängen
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av e5frog »

bearing skrev:Har inte läst dokumentet, men jag vet att jag har rätt.

EDIT:
sida 34 är blank.
Figur 6.12 på pdf-dokumentets sida 34, vilket är s 32 enligt sidnumreringen i dokumentet.

Tittar man i databladet till PIC16F628 så ser man dock att den hämtar instruktion samtidigt som den utför den föregående.
http://ww1.microchip.com/downloads/en/D ... 40300C.pdf
pdf-sida 13, bild 2-2

Så då var väl det löst, tack för hjälpen. Fyra NOP tar alltså endast 0,8 µs... Då kan jag som bäst ersätta dessa fyra men en NOP som då tar 1 µs med en 4MHz-klockad PIC16C84...

Jag försöker dumpa en Fairchild System Videocart med en PIC16C84 @ 4MHz och har anpassat ett program avsett för en PIC16F84 @ 20MHz (eftersom det var det jag hade hemma). Det funkar ibland, ibland inte och ibland till hälften. Det är tyvärr inga vanliga rom:ar utan PSU:er där man är tvungen att via speciella styrsignaler ta fram en instruktion i taget på databussen och spara undan.
(den intresserade kan kika här: http://veswiki.com/Videocart_dumper)

Det kanske blir till att köpa en PIC16F628 på Kjell & Company när lönen kommer, så kan jag väl köra originalkoden nästan rakt av - om det nu inte är den det är fel på. För det är väl den modellen som gäller nuförtiden? Krets 59 kr, kristall 15 kr och ett paket kondensatorer för 79 kr (känns ju surt med ett helt paket när man egentligen bara två till oscillatorn).

Upptäckte också när jag testade lite olika varianter igår kväll att det gick utmärkt att debug:a ut datan direkt från PIC:en till serie-porten på laptopen och sen logga alla indata, känns som hela *232-bygget på andra sidan experimentkortet är ihopknåpat helt i onödan. Men men det kanske inte funkar på alla serieportar.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av bos »

> För det är väl den modellen som gäller nuförtiden?

Beror väl helt på vad man vill göra...

Jag har 628a, 2st kondingar samt kristall (20MHz) hemma, om du är intresserad. Det är ditt för 60 spänn plus 12 frakt.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av sodjan »

Om du har färdig kod till en F84 som fungerar så är det ju enklast att använda den.

Det är lite oklart vad du har och inte har, vad som fungerar och vad som inte fungerar
och vad det är du vill göra...

> Det kanske blir till att köpa en PIC16F628 på Kjell & Company när lönen kommer,

Ha ha, den var bra... :-)
Användarvisningsbild
e5frog
Inlägg: 475
Blev medlem: 18 juni 2005, 20:41:12
Ort: Älvängen
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av e5frog »

bos skrev:> För det är väl den modellen som gäller nuförtiden?

Beror väl helt på vad man vill göra...

Jag har 628a, 2st kondingar samt kristall (20MHz) hemma, om du är intresserad. Det är ditt för 60 spänn plus 12 frakt.
Det låter som en affär, är tyvärr luspank just nu, du kanske kan hålla på de en vecka?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av TomasL »

Gissar att det är pga PICBasic du inte får det att fungera i 4-MHz, skriv om i C eller ASM, så funkar det säkert väldigt bra.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av sodjan »

> Gissar att det är pga PICBasic du inte får det att fungera i 4-MHz,

Som koden är skriven (i princip assembler i BASIC syntax) så tror jag inte
att det spelar någon större roll. Det kommer att kompilieras till ganska
ren assembler. T.ex denna BASCI kod :

Kod: Markera allt

	f8phi=1
	f8write=1

	@ nop						;NOPs used to create square waves
	@ nop
	@ nop
	@ nop

	f8phi=0

	@ nop
	@ nop
	@ nop
	@ nop

	f8write=0
	f8phi=1
	f8romc3=0

	@ nop
	@ nop
	@ nop
	@ nop
blev denna assembler kod :

Kod: Markera allt

   105   068     1485  BSF 0x5, 0x1                           
   106   069     1505  BSF 0x5, 0x2                           
   107   06A     0000  NOP                                    
   108   06B     0000  NOP                                    
   109   06C     0000  NOP                                    
   110   06D     0000  NOP                                    
   111   06E     1085  BCF 0x5, 0x1                           
   112   06F     0000  NOP                                    
   113   070     0000  NOP                                    
   114   071     0000  NOP                                    
   115   072     0000  NOP                                    
   116   073     1105  BCF 0x5, 0x2                           
   117   074     1485  BSF 0x5, 0x1                           
   118   075     1185  BCF 0x5, 0x3                           
   119   076     0000  NOP                                    
   120   077     0000  NOP                                    
   121   078     0000  NOP                                    
   122   079     0000  NOP                                    
vilket ju i princip är samma sak...
Användarvisningsbild
e5frog
Inlägg: 475
Blev medlem: 18 juni 2005, 20:41:12
Ort: Älvängen
Kontakt:

Minsta tillåtna klockhastighet?

Inlägg av e5frog »

Tror att problemet är timingen, 4MHz ger inte utrymme till tillräckligt låg "upplösning" på tiden för att det ska passa in ordentligt.

Man gör väl bäst i att följa timingen i bild 9A på sidan 3-16 i detta dokumentet:
http://veswiki.com/images/0/05/F3850.pdf
Med de tider som är angivna på sidan 3-28 i samma dokument...
(det blir förresten inte enklare av att de verkar ha bytt bildrubrik på de båda bilderna på sidan 3-16, den övre visar långa versionen och den undre visar den korta)


Det är angivet ett maxvärde (1µs) på tiden för en klockperiod för 3850 cpu:n i dokumentet ovan, men det finns väl egentligen inget hinder att köra den ännu långsammare, eller? Om det där extremvärdet stämmer (så måste man klocka på minst 1MHz) så går originalkoden alldeles för långsam också. Bara NOP:arna i koden gör periodtiden hos klockan för PSU:n till minst 1,6µs. Kikar man på sodjan:s kod ovan så sätter man signalernas värde med en instruktion, då blir det ett tillägg på perioden med ytterligare 0,2µs per ändrad signal. Ibland ändrar man tre signaler - då har vi ett tillägg på 0,6 µs om föregående resonemang stämmer... Finns ju ingen chans alls att hålla sig över minimi-klockhastighet isf.
Har man bara en NOP (0,2µs) och anger alla tre signalerna varje gång (för att få pulsbredd 50% om det nu har någon betydelse) så hamnar man på en PSU-klockfrekvens på 1,6µs, ändrar man endast phi varannan gång så blir det 1,2 µs men pulsbredden för phi=0 blir då bara 0,4µs och för phi=1 blir 0,8µs...
EBD
Inlägg: 136
Blev medlem: 10 maj 2006, 18:50:48
Ort: Sundsvall

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av EBD »

Jag har svårt att tro att carten är så intelligent att den bryr sig om timingen särskilt mycket, så länge du inte kör för fort. Tiderna i det där databladet berättar väl vad CPU:n använder för timing när den skickar och läser signaler till/från carten, och CPU:n är väl vad jag förstår inte inblandad i dumpandet? Jag skulle nog börja leta efter något annat som kan vara fel, men så har jag å andra sidan knappt hört talas om en Fairchild Videocart förut :)
Användarvisningsbild
e5frog
Inlägg: 475
Blev medlem: 18 juni 2005, 20:41:12
Ort: Älvängen
Kontakt:

Re: Tid för en NOP med en PIC16F84 klockad med 20 MHz?

Inlägg av e5frog »

Har lyckosamt sparat undan flera kassetter nu, men med vissa får jag inte ut någon data alls - och de fungerar i enheten.

Jo, det är kanske sant men PSU:n (Program Storage Unit) är en co-processor och har en egen programräknare t.ex. Det finns bara fem kontrollsignaler och databussen mellan CPU:n och PSU:n, en viss sekvens resulterar i samma beteende i CPU:n och samtliga PSU:er som är kopplade till denna... PSU:erna är aktiva i olika minnes-områden, det finns två i konsollen och oftast två i kassetterna, åtminstone de tidiga. Senare kassetter nyttjar "normalt" rom tillsammans med en interfacekrets - chippen är monterade direkt på PCB:t utan någon kapsel...
Datablad på PSU: http://veswiki.com/images/c/c0/F3851_56.pdf
Timingen är med igen på sidan 6.

Aha - där har vi lite andra tider... (sidan 21) 10µs max periodtid på PSU-klockan, nu kör jag med 4 så det borde vara ok.

Jag tror att jag läser datan för tidigt, så det har jag flyttat fram något, ska ha minst 2 perioder plus 100ns - falltid för write-puls och max 2 perioder plus 0,85µs...

Då har jag sett över all timing och jag tror att detta ska bli bättre (förhoppningsvis).


Senaste kod (Pic Basic Pro) - försök nummer åtta:

Kod: Markera allt

;	Fairchild Channel F cart dumper version 2
;	2/10/2004 Sean Riddle seanriddle@cox.net
;	Edited from 16f84 to 16c84 by Fredric Blåholtz 03/08/2009
;	Pic BASIC Pro 

; 	1/5 speed, the nop:s are half as many.

INCLUDE "modedefs.bas"

@ device pic16c84, hs_osc, wdt_off

DEFINE	OSC		4			;4 MHz oscillator
DEFINE	NO_CLRWDT	1			;watchdog is off

DEFINE 	DEBUG_REG	PORTA			;serial output on A.0
DEFINE 	DEBUG_BIT	0
DEFINE 	DEBUG_BAUD	9600
' Set Debug mode: 0 = true, 1 = inverted
DEFINE	DEBUG_MODE	1

k		VAR		WORD			;another
rom		VAR		BYTE			;buffer to store ROM

f8phi		VAR		PORTA.1		;clock signal
f8write 	VAR		PORTA.2		;write signal
f8romc3 	VAR		PORTA.3		;ROMC3 signal

;	CMCON=7					;turn off comparators
OPTION_REG.7=0					;weak pull ups on port B
TRISB=$FF						;port B is all input

Low f8phi
Low f8write
Low f8romc3

	Debug "Dumping starts in two seconds..."

Pause 2000						;wait 2 seconds after reset

;	what I do:
;	clear PC0 with ROMC state 8
;	loop 16384 times
;	fetch 4 bytes into buffer with ROMC state 0
;	dump buffer to serial port
;	clear PC0

		f8phi=1
		f8write=1

		f8phi=0

		@ nop

		f8phi=1
		f8write=0

		f8phi=0

		f8romc3=1
						;ROMC state 8, clear PC0.
		f8phi=1

		@ nop

		f8phi=0

		@ nop

		f8phi=1

		@ nop

		f8phi=0
		
		@ nop
			
		f8phi=1

		@ nop
		
		f8phi=0

		f8romc3=0

 For k=0 TO 16383



		f8phi=1
		f8write=1

		f8phi=0

		@ nop

		f8phi=1
		f8write=0

		f8phi=0

		@ nop

		f8phi=1
						;ROMC state 0, fetch instruction
		@ nop

		f8phi=0

		@ nop

		f8phi=1

		@ nop

		f8phi=0
		
		@ nop
			
		f8phi=1

		rom=PORTB			;read databus into buffer
		
		f8phi=0

		Debug rom

Next k

 

End


Passade förresten på att koppla på en riktig cartridge-hållare, så nu ska inte den biten orsaka några problem.


... det blev annorlunda iaf. Cartridge 26 läses som helt blank fortfarande, Luxor #2 däremot läste den till skillnad mot min förra version in första halvan... Kanske rör sig åt rätt håll då... Det enda problemet jag kan se nu är att det vid nollandet av PC0 är för långt mellanrum, kan lika gärna sätta f8romc3 till 1 direkt från början - nähe det gick inte alls...

Ett problem är att jag inte kan växla f8romc3 efter att write gått från hög till låg på mindre än 550 ns, det tar minst 1 µs med blott 4 MHz... :(

Version 7 dumpade ganska mycket men inte allt, slarvade bort pbp-koden så jag fick fixa till PC0-nollställningen baklänges. Så här ser assemblerkoden ut iaf när man konverterar från HEX-filen:

Kod: Markera allt

Working on filein 'VC-7.hex'

PICDIS-LITE PicChip HEX File Disassembler Utility. Version 1.0 Feb-02-2004
Copyright (C) 2004 Joe's Cat.	All Rights Reserved.   picdisl -h for help
			list	p=pic16f84
0000  2855		goto	j055
0001  008e	j001:	movwf	0x0e
0002  1683		bsf	STATUS,5
0003  1005		bcf	PORTA/TRISA,0
0004  1283		bcf	STATUS,5
0005  3009		movlw	0x09
0006  008f		movwf	0x0f
0007  1003		clrc
0008  2010	j008:	call	j010
0009  0c8e		rrf	0x0e,f
000a  0b8f		decfsz	0x0f,f
000b  2808		goto	j008
000c  1403		setc
000d  2010		call	j010
000e  1403		setc
000f  2850		goto	j050
0010  1803	j010:	skpnc
0011  2815		goto	j015
0012  0000		nop
0013  1405		bsf	PORTA/TRISA,0
0014  2817		goto	j017
0015  1005	j015:	bcf	PORTA/TRISA,0
0016  2817		goto	j017
0017  3000	j017:	movlw	0x00
0018  008d		movwf	0x0d
0019  305b		movlw	0x5b
001a  2829		goto	j029
001b  018f		clrf	0x0f
001c  008e	j01c:	movwf	0x0e
001d  30ff	j01d:	movlw	0xff
001e  078e		addwf	0x0e,f
001f  1c03		skpc
0020  078f		addwf	0x0f,f
0021  1c03		skpc
0022  2850		goto	j050
0023  3003		movlw	0x03
0024  008d		movwf	0x0d
0025  30df		movlw	0xdf
0026  2029		call	j029
0027  281d		goto	j01d
0028  018d		clrf	0x0d
0029  3ee8	j029:	addlw	0xe8
002a  008c		movwf	0x0c
002b  098d		comf	0x0d,f
002c  30fc		movlw	0xfc
002d  1c03		skpc
002e  2832		goto	j032
002f  078c	j02f:	addwf	0x0c,f
0030  1803		skpnc
0031  282f		goto	j02f
0032  078c	j032:	addwf	0x0c,f
0033  0000		nop
0034  0f8d		incfsz	0x0d,f
0035  282f		goto	j02f
0036  180c		btfsc	0x0c,0
0037  2838		goto	j038
0038  1c8c	j038:	btfss	0x0c,1
0039  283c		goto	j03c
003a  0000		nop
003b  283c		goto	j03c
003c  0008	j03c:	return
003d  008e	j03d:	movwf	0x0e
003e  3001		movlw	0x01
003f  2840		goto	j040
0040  0094	j040:	movwf	0x14
0041  080f		movfw	0x0f
0042  020d		subwf	0x0d,w
0043  1d03		skpz
0044  2847		goto	j047
0045  080e		movfw	0x0e
0046  020c		subwf	0x0c,w
0047  3004	j047:	movlw	0x04
0048  1803		skpnc
0049  3001		movlw	0x01
004a  1903		skpnz
004b  3002		movlw	0x02
004c  0514		andwf	0x14,w
004d  1d03		skpz
004e  30ff		movlw	0xff
004f  2850		goto	j050
0050  1383	j050:	bcf	STATUS,7
0051  1303		bcf	STATUS,6
0052  1283		bcf	STATUS,5
0053  0000		nop
0054  0008		return
0055  1683	j055:	bsf	STATUS,5
0056  1381		bcf	TMR0/OPTION_REG,7
0057  30ff		movlw	0xff
0058  0086		movwf	PORTB/TRISB
0059  1283		bcf	STATUS,5
005a  1085		bcf	PORTA/TRISA,1
005b  1683		bsf	STATUS,5
005c  1085		bcf	PORTA/TRISA,1
005d  1283		bcf	STATUS,5
005e  1105		bcf	PORTA/TRISA,2
005f  1683		bsf	STATUS,5
0060  1105		bcf	PORTA/TRISA,2
0061  1283		bcf	STATUS,5
0062  1185		bcf	PORTA/TRISA,3
0063  1683		bsf	STATUS,5
0064  1185		bcf	PORTA/TRISA,3
0065  3044		movlw	0x44
0066  1283		bcf	STATUS,5
0067  2001		call	j001
0068  3075		movlw	0x75
0069  2001		call	j001
006a  306d		movlw	0x6d
006b  2001		call	j001
006c  3070		movlw	0x70
006d  2001		call	j001
006e  3069		movlw	0x69
006f  2001		call	j001
0070  306e		movlw	0x6e
0071  2001		call	j001
0072  3067		movlw	0x67
0073  2001		call	j001
0074  3020		movlw	0x20
0075  2001		call	j001
0076  3073		movlw	0x73
0077  2001		call	j001
0078  3074		movlw	0x74
0079  2001		call	j001
007a  3061		movlw	0x61
007b  2001		call	j001
007c  3072		movlw	0x72
007d  2001		call	j001
007e  3074		movlw	0x74
007f  2001		call	j001
0080  3073		movlw	0x73
0081  2001		call	j001
0082  3020		movlw	0x20
0083  2001		call	j001
0084  3069		movlw	0x69
0085  2001		call	j001
0086  306e		movlw	0x6e
0087  2001		call	j001
0088  3020		movlw	0x20
0089  2001		call	j001
008a  3074		movlw	0x74
008b  2001		call	j001
008c  3077		movlw	0x77
008d  2001		call	j001
008e  306f		movlw	0x6f
008f  2001		call	j001
0090  3020		movlw	0x20
0091  2001		call	j001
0092  3073		movlw	0x73
0093  2001		call	j001
0094  3065		movlw	0x65
0095  2001		call	j001
0096  3063		movlw	0x63
0097  2001		call	j001
0098  306f		movlw	0x6f
0099  2001		call	j001
009a  306e		movlw	0x6e
009b  2001		call	j001
009c  3064		movlw	0x64
009d  2001		call	j001
009e  3073		movlw	0x73
009f  2001		call	j001
00a0  302e		movlw	0x2e
00a1  2001		call	j001
00a2  302e		movlw	0x2e
00a3  2001		call	j001
00a4  302e		movlw	0x2e
00a5  2001		call	j001
00a6  3007		movlw	0x07
00a7  008f		movwf	0x0f
00a8  30d0		movlw	0xd0
00a9  201c		call	j01c
00aa  1485		bsf	PORTA/TRISA,1
00ab  1505		bsf	PORTA/TRISA,2
00ac  0000		nop
00ad  1085		bcf	PORTA/TRISA,1
00ae  0000		nop
00af  1105		bcf	PORTA/TRISA,2
00b0  1485		bsf	PORTA/TRISA,1
00b1  0000		nop
00b2  1085		bcf	PORTA/TRISA,1
00b3  0000		nop
00b4  1485		bsf	PORTA/TRISA,1
00b5  1585		bsf	PORTA/TRISA,3
00b6  0000		nop
00b7  1085		bcf	PORTA/TRISA,1
00b8  0000		nop
00b9  1485		bsf	PORTA/TRISA,1
00ba  0000		nop
00bb  1085		bcf	PORTA/TRISA,1
00bc  0000		nop
00bd  1485		bsf	PORTA/TRISA,1
00be  1505		bsf	PORTA/TRISA,2
00bf  0000		nop
00c0  1085		bcf	PORTA/TRISA,1
00c1  0000		nop
00c2  1105		bcf	PORTA/TRISA,2
00c3  1485		bsf	PORTA/TRISA,1
00c4  1185		bcf	PORTA/TRISA,3
00c5  0000		nop
00c6  1085		bcf	PORTA/TRISA,1
00c7  0000		nop
00c8  1485		bsf	PORTA/TRISA,1
00c9  0000		nop
00ca  1085		bcf	PORTA/TRISA,1
00cb  0000		nop
00cc  1485		bsf	PORTA/TRISA,1
00cd  0000		nop
00ce  1085		bcf	PORTA/TRISA,1
00cf  01a4		clrf	0x24
00d0  01a5		clrf	0x25
00d1  0824	j0d1:	movfw	0x24
00d2  008c		movwf	0x0c
00d3  0825		movfw	0x25
00d4  008d		movwf	0x0d
00d5  303f		movlw	0x3f
00d6  008f		movwf	0x0f
00d7  30ff		movlw	0xff
00d8  203d		call	j03d
00d9  1d03		skpz
00da  28f5		goto	j0f5
00db  1485		bsf	PORTA/TRISA,1
00dc  1505		bsf	PORTA/TRISA,2
00dd  1085		bcf	PORTA/TRISA,1
00de  0000		nop
00df  1485		bsf	PORTA/TRISA,1
00e0  1105		bcf	PORTA/TRISA,2
00e1  1085		bcf	PORTA/TRISA,1
00e2  0000		nop
00e3  1485		bsf	PORTA/TRISA,1
00e4  0000		nop
00e5  1085		bcf	PORTA/TRISA,1
00e6  0000		nop
00e7  1485		bsf	PORTA/TRISA,1
00e8  0000		nop
00e9  1085		bcf	PORTA/TRISA,1
00ea  0000		nop
00eb  1485		bsf	PORTA/TRISA,1
00ec  0806		movfw	PORTB/TRISB
00ed  00a6		movwf	0x26
00ee  1085		bcf	PORTA/TRISA,1
00ef  0826		movfw	0x26
00f0  2001		call	j001
00f1  0aa4		incf	0x24,f
00f2  1903		skpnz
00f3  0fa5		incfsz	0x25,f
00f4  28d1		goto	j0d1
00f5  0063	j0f5:	sleep
00f6  28f5		goto	j0f5

2007  3ffa		__fuses	0x3ffa
Skriv svar