Problema programator Atmega 16 nu il recunoaste
#1
Postat 14 March 2009 - 07:58 PM
testul la setup este acesta:
e ok?
0721.798.720
#2
Postat 15 March 2009 - 09:43 AM
#3
Postat 15 March 2009 - 09:46 AM
In schema nu este figurata semnificatia pinilor mufei de programare, MISO, MOSI, RST, CK si masa. Le gasiti pe site-ul lancos.com.
Succes.
#4
Postat 15 March 2009 - 01:11 PM
Bafta!
0721.798.720
#5
Postat 15 March 2009 - 11:17 PM
tre sa ai macar niste principii de baza in ale programarii.
pt tutoriale programare atmega in c uite aici http://winavr.scienc...r-gcc-tutorial/
uite o schita a programului care l-ai cerut tu:
-setezi portul C pentru intrare
-setezi portul A pentru iesire
-in bucla principala a programului faci asa : daca butonul x de pe PORTCx este apasat atunci arpinde/stinge PORTAx
o carticica buna :
C Programming for
Microcontrollers
Featuring ATMEL’s AVR Butterfly and the Free
WinAVR Compiler
o gasesti destul de usor pe net.
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#6
Postat 15 March 2009 - 11:28 PM
0721.798.720
#8
Postat 16 March 2009 - 10:34 AM
merge super marfa
face exact ca la masina aceeea din filmul vechi Kit
// Blinky.c
#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
// set PORTA for output
DDRA = 0xFF;
while(1) {
for(int i = 1; i <= 128; i = i*2)
{
PORTA = i;
_delay_loop_2(30000);
}
for(int i = 128; i > 1; i -= i/2)
{
PORTA = i;
_delay_loop_2(30000);
}
}
return 1;
}
0721.798.720
#10
Postat 16 March 2009 - 05:06 PM
Dau la inceput PORTA=0xFF, PORTC=0X00, ledul este PINA.1 SI butonul este PINC.1 am incercat cu "for" da imi spune ca NU E BINE
#include <avr/io.h>
int main (void)
{
// set PORTA for output
DDRA = 0xFF;
DDRC = 0X00;
for(PINC.1=0XFF)
{
PINA.1=0XFF;
}
}
Aceasta postare a fost editata de Miezu_eu: 16 March 2009 - 05:14 PM
0721.798.720
#11
Postat 16 March 2009 - 05:43 PM
Miezu_eu, la Mar 16 2009, 05:06 PM, a spus:
nu sti deloc programare miezule. zero barat. pune tu manuta de citeste si pricepe primele 100 de pagini din cartea aia. explica cat de cat limbajul de programare c. si apoi mai discutam.
for e instructiune repetitiva! tie iti trebuie verificare conditie. e vorba de if.
daca nu pricepi cartea aia cauta tutoriale de c clasic. si dupa ce inveti sa faci un program care calculeaza suma primelor 100 numere naturale care se divid cu 3 si 5 mai discutam. baga bazele programarii. ia o carte de liceu. nu stiu ce sa zic.
ps: nu ca nu as vrea sa te incurajez, dar daca proiectu e pentru licenta, trebuie sa muncesti enorm ca sa il termini in timp util.
Aceasta postare a fost editata de hash84: 16 March 2009 - 05:43 PM
/------------------------\ |~~\_____/~~\__ | | Hash84 |______________ \______====== )-+ | | ~~~|/~~ | \------------------------/ ()
#12
Postat 16 March 2009 - 08:43 PM
Aceasta postare a fost editata de Miezu_eu: 16 March 2009 - 08:43 PM
0721.798.720
#14
Postat 18 March 2009 - 11:27 AM
charlie, la Mar 18 2009, 11:10 AM, a spus:
Nu are rost sa te stresezi sa inveti C si ASM cand stiu deja altii sa o faca, mai ales ca esti de alta specialitate. :rolleyes:
Vreau sa invat ca hobby, nu ca meserie, sincer eu detest statul in fata calulatorului, dar trebuie sa mai si stau. Nu vreau sa ajung sa programez pentru cine stie ce sisteme complexe ci doar asa pentru un senzor un buton un led :rolleyes:.
Ar fi o idee sa ma ajutati. O sa va cer ajutorul daca o sa am nevoie, si apreciez gestul tau.
ms
0721.798.720
#15
Postat 18 March 2009 - 02:55 PM
Si invata ASM...e mai direct legat de procesor decat C. Asta daca tot nu vrei sa faci cine stie ce chestii stufoase.
Axista o lista de instructiuni numita set de instructiuni pentru familia AVR de la atmel.
Daca stii ce resurse ai, procesorul, pinii, clock-ul, porturile, etc...poti sa accesezi direct acele instructiuni ca sa scrii cateva chestii in procesorul ala.
#16
Postat 18 March 2009 - 03:03 PM
charlie, la Mar 18 2009, 02:55 PM, a spus:
Si invata ASM...e mai direct legat de procesor decat C. Asta daca tot nu vrei sa faci cine stie ce chestii stufoase.
Axista o lista de instructiuni numita set de instructiuni pentru familia AVR de la atmel.
Daca stii ce resurse ai, procesorul, pinii, clock-ul, porturile, etc...poti sa accesezi direct acele instructiuni ca sa scrii cateva chestii in procesorul ala.
YM sau mail: braileanu_gabriel
poti sa trimiti aici sau baga-ma in lista de mes
ms
0721.798.720
#17
Postat 16 June 2009 - 10:31 PM
$regfile = "m16def.dat"
$crystal = 16000000
Declare Sub Vmare
Declare Sub Vmica
Config Portb = Output
Config Porta = Output
Config Portc = Input
Set Portc.0
Set Portc.1
Set Portc.2
Set Portc.3
Set Portc.4
Set Portc.5
Set Portc.6
Set Portc.7
Dim A As Integer
Homeposition:
If Pinc.0 = 1 Then
Call Vmare
End If
If Pinc.1 = 1 Then
Call Vmica
End If
Goto Homeposition
Sub Vmare
Do
A = 1
Porta.0 = 1
Porta.1 = 0
Porta.2 = 0
Porta.3 = 0
Portb.0 = 1
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
Waitms A
Porta.0 = 0
Porta.1 = 1
Porta.2 = 0
Porta.3 = 0
Portb.0 = 0
Portb.1 = 1
Portb.2 = 0
Portb.3 = 0
Waitms A
Porta.0 = 0
Porta.1 = 0
Porta.2 = 1
Porta.3 = 0
Portb.0 = 0
Portb.1 = 0
Portb.2 = 1
Portb.3 = 0
Waitms A
Porta.0 = 0
Porta.1 = 0
Porta.2 = 0
Porta.3 = 1
Portb.0 = 0
Portb.1 = 0
Portb.2 = 0
Portb.3 = 1
Waitms A
Loop Until Pinc.1 = 1
End Sub
Goto Homeposition
Sub Vmica
Do
A = 3
Porta.0 = 1
Porta.1 = 0
Porta.2 = 0
Porta.3 = 0
Portb.0 = 1
Portb.1 = 0
Portb.2 = 0
Portb.3 = 0
Waitms A
Porta.0 = 0
Porta.1 = 1
Porta.2 = 0
Porta.3 = 0
Portb.0 = 0
Portb.1 = 1
Portb.2 = 0
Portb.3 = 0
Waitms A
Porta.0 = 0
Porta.1 = 0
Porta.2 = 1
Porta.3 = 0
Portb.0 = 0
Portb.1 = 0
Portb.2 = 1
Portb.3 = 0
Waitms A
Porta.0 = 0
Porta.1 = 0
Porta.2 = 0
Porta.3 = 1
Portb.0 = 0
Portb.1 = 0
Portb.2 = 0
Portb.3 = 1
Waitms A
Loop Until Pinc.0 = 1
End Sub
Goto Homeposition
0721.798.720