Jak bez použití PC spustit již naprogramovaný ATtiny2313?

Dobry den, mel bych jeden (blby) dotaz.
Jak mam spustit jiz naprogramovany ATtiny2313 (bez pouziti PC) ?

dekuji

:arrow_right: administrator: přejmenováno z "Sepnuti mikrokontroleru"

Co třeba ho připojit k napájeni? A jesli je nastaven pro použití krystalu, bude nezbytné ho také připojit. Procesor má vnitřní POR (power on reset), takže další obvody, pokud nejsou vyžádovány programem, procesor nepotřebuje.

krystal mam a napajene to je taky a nechce se tomu nic delat…

Co ten program má dělat(+ zdroják)? jak je to zapojené(+ schéma)?

reknu to takhle… jde mi zatim jen o to, aby se na jakemkoliv z pinu PORTu D (2,3,6,7,8,9,11) rozsvitila dioda u ktere mam zapojene minus na GND pinu (10)
attiny-2313.gif

jinak programator mam zapojeny takto
programator.png

Zapojení vypadá vpořádku. Jak máš nastavené fuses a jak vypadá program(zdroják)?

zdrojaku mam uz hodne (delam to assemblerem a zkousel jsem - “mov $12, #10101010B” pak “SBI PORTD.6, 1” + nejake stazene co by mely rozblikat vystup PD6)… akorat nevim co je fuses

Nezapomeň ješte nastavit funkci portu - jesli je vstupní nebo výstupní. Na to je registr DDRx, kde x je písmeno portu.
Pokud nevíš, co jsou fuses, tak pravděpodobně ani nepotřebuješ krystal :slight_smile: Procesor je totiž z výroby nastaven na interní RC oscilátor s výslednou frekvencí pro jádro 1MHz.
Právě pomocí fuses se nastavují některé vlastnosti procesoru jako je zdroj hodin. Jesli jsi s nimi nemanipuloval, měl by ti procesor fungovat.
Nezapomeň si mezi napájení a zem dát kondik kolem 100nF co nejblíže mcu.
Pokud je ovšem mcu naprogramovaný funkčním programem, tak musí po připojení napájení běžet.

tak ja teda fakt nevim… v assembleru mam tento kod

	SBI DDRD,6
L1:	SBI PORTD,6
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
	CBI PORTD,6
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
	JMP L1

v simulatoru AVR Simulator IDE mi to jede a krasne to blika, a kdyz to nahraju na attinu tak to sviti… a ted nevim jestli to je moc rychlym blikanim nebo jen chyba… :cry:

PS: spustil jsem to tim, ze jsem dal napajeni i na reset. Je to spravne?

aha ted mi to doslo… podle vypoctu to blika 500 000 X za Sekundu…
jak tam mam udelat prodlevu treba 1 sekundu?

Za vse dekuji, jiz je vse vyreseno.

	SBI DDRD,6
L1:	SBI PORTD,6
	JMP delay1
L2:	CBI PORTD,6
	JMP delay2
delay1:	INC R0
	NOP
	NOP
	NOP
	NOP
	CPSE R0,R1
	JMP delay1
	CLR R0
	INC R2
	CPSE R2,R1
	JMP delay1
	JMP L2
delay2:	INC R0
	NOP
	NOP
	NOP
	NOP
	CPSE R0,R1
	JMP delay2
	CLR R0
	INC R2
	CPSE R2,R1
	JMP delay2
	JMP L1

po pripojeni napajeni na reset (1) se zapne a funguje. :smiley:

V asm nepíšu, tak buďte prosím tolerantní :smiley:

[code].include “tn2313def.inc”

.def temp = r16

.cseg
rjmp RESET ;reset handle

RESET:
ldi temp,low(RAMEND)
out SPL,temp
; ldi temp,high(RAMEND)
; out SPH,temp ;init Stack
SBI DDRD,6

ldi	temp,2

main:
// writing a logic one to a bit in the PINx Register, will
// result in a toggle in the corresponding bit in the Data Register.
SBI PIND,6
rcall delay
rjmp main

;********************************************
; 1 průběh trvá 197386 IC
; temp určuje, kolik průběhů bude provedeno
;********************************************
delay:
push r0
push r1
push r2

mov r2, temp

loop2:
clr r1
loop1:
clr r0
loop0:
dec r0
brbc 1, loop0

dec r1
brbc 1, loop1

dec r2
brbc 1, loop2

pop r2
pop r1
pop r0
ret

[/code]

Tak podle datasheetu u vsech (teda myslim ze u vsech AVR) je /reset takze negace. to znamena ze U ATTINY 2313, ATMEGA 32 atd mikrac bezi kdyz je na pinu /RESET log 1 :slight_smile: