PDA

Просмотр полной версии : Микроконтроллер


Jahongir
09.04.2008, 20:31
хоть кто-то нибуть работает с контроллерами? помогите начинающему, собрал программатор на at90s2313 схема платы (http://img.uz/images/866637flashed_LED.GIF) и схема (http://img.uz/images/91352gromov00.jpg) порта для подключение к компьютеру при компиляции всё нормально. вот код/************************************************** ***
This program was produced by the
CodeWizardAVR V1.25.9 Evaluation
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 25.03.2008
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:


Chip type : AT90S2313
Clock frequency : 4.433619 MHz
Memory model : Tiny
External SRAM size : 0
Data Stack size : 32
************************************************** ***/

#include <90s2313.h>
#include <delay.h>
// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port D initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1 output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
OCR1H=0x00;
OCR1L=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
GIMSK=0x00;
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;

while (1)
{
// Place your code here
PORTD.1=0;
delay_ms(1000);
PORTD.1=1;
delay_ms(1000);
};
}
:dash2: :dash2: :dash2: :dash2: :dash2: :dash2: :dash2: :dash2: :dash2: :dash2: :dash2: :dash2:
в коде цикл “while” открывает и закрывает 1й канал,
т.е получается мигалка, но программатор не работает(прошивается). при прошивание произошла ошибка (http://img.uz/images/667939123.JPG).
для программирования использую CodeVision.

Vitaliy Fioktistov
09.04.2008, 21:46
Не совсем понял проблему и необходимость выкладывания кода. Не программируется? Или код работает не так, как нужно? Судя по картинке, не хочет именно программировать. Сам чип живой? Фьюзы выставлены правильно?

вольный перевод сообщения об ошибке:
STK500/AVRISP ошибка связи, убедитесь в том, что:
- Питание STK500/AVRISP включено
- В меню Settings|programmer правильно выставлен тип программатора
- В меню Settings|programmer правильно выставлен COM-порт
- Частота сигнала SCK не слишком высока ( у некоторых чипов AVR на заводе выставленs фьюзы для использования внутреннего 1MHz RC генератора.

Попробуйте выставить следующую комбинацию фьюзов:
SKSEL: 1111
SUT: 10
CKOPT: 1

Jahongir
10.04.2008, 18:38
Не программируется? Или код работает не так, как нужно? Судя по картинке, не хочет именно программировать. Сам чип живой? Фьюзы выставлены правильно?

мне первый раз приходится работать с контролерами. Может я что-то не так делаю, не знаю.... мне попался контроллер с smd корпусом (размер 11х10мм), обычных не было. и я затруднялся при паяния, вроде бы я не перегрел кристалл, но всё таки… а как можно проверить кристалл работает ли иле нет?. с программой ещё не очень-то разобрался. Код компилируется без ошибок. но этого не хватает... по-моему что-то ещё не хватает. Может какие то настройки…

Vitaliy Fioktistov
11.04.2008, 13:51
мне первый раз приходится работать с контролерами. Может я что-то не так делаю, не знаю.... мне попался контроллер с smd корпусом (размер 11х10мм), обычных не было. и я затруднялся при паяния, вроде бы я не перегрел кристалл, но всё таки… а как можно проверить кристалл работает ли иле нет?
Только программатором, причем не вашим, раз у вас оно все пока нормально не работает.

. с программой ещё не очень-то разобрался. Код компилируется без ошибок. но этого не хватает... по-моему что-то ещё не хватает. Может какие то настройки…
Про программу забудьте. Дело не в ней. Если внимательно читали мой предыдущий пост, то должны были понять, что я на 90% склоняюсь, что дело именно в фьюзах. Если само понятие "фьюз" незнакомо, то, тогда стоит, наверное, сначала почитать мануалы по AVR-микроконтроллерам и технологиям их прошивки.

Jahongir
11.04.2008, 19:07
Если само понятие "фьюз" незнакомо, то, тогда стоит, наверное, сначала почитать мануалы по AVR-микроконтроллерам и технологиям их прошивки.

инете прочитал что в at90s2313 фьюз нет. а само понятие "фьюз" не понял. там не говорится подробностях об фьюз. форумах если кто спрашиваеть то им не хотят отвечать на этот вопрос. такое ошушения што я последний кто не знает про фьюз.

Vitaliy Fioktistov
12.04.2008, 01:20
Если само понятие "фьюз" незнакомо, то, тогда стоит, наверное, сначала почитать мануалы по AVR-микроконтроллерам и технологиям их прошивки.

инете прочитал что в at90s2313 фьюз нет. а само понятие "фьюз" не понял. там не говорится подробностях об фьюз. форумах если кто спрашиваеть то им не хотят отвечать на этот вопрос. такое ошушения што я последний кто не знает про фьюз.

О, сорри. Глаза замылились. Попутал s2313 c tiny2313 :). В at90s2313 фьюзов действительно нет.
А нафиг юзать такое старый чип, давно снятый с производства?

Насчет литературы:
Вот здесь (http://avr123.nm.ru/) типа пособие для начинающих. Кстати, в нем есть все, что вам нужно.
Еще (http://forum.radiospec.ru/index.php?showtopic=5612)
Инфа по at90s2313 (http://atmel.com/dyn/products/product_card.asp?part_id=1993) на сайте atmel

Jahongir
21.04.2008, 19:44
спасибо Vitaliy за полезные силки, я по бывал, но все-таки мало што понятно...
надо ли подавать питанию во время щитя?. и ещё может ли сгореть кристалл от мощного питание. на пример у меня блок питания подает 5В и где-то 1А тока, от этого мог сгореть?
а какой контроллер и программатор бы Вы посоветовали для начинающих?