Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
1

Не могу запрограммировать ATMega16

12.07.2011, 01:05. Просмотров 5322. Ответов 14
Метки нет (Все метки)

Пытаюсь CodeVisionAVR запрограммировать Mega16 с помощью программатора "пять проводков LPT" .

вот ошибка:

Chip Signature mismatch
Read: Byte0=FFh Byte1=FFh Byte2=FFh
Must Be: Byte0=1Eh Byte1=94h Byte2=03h

программированием микроконтроллеров занялся вчера (почти буквально) по этому не знаю что это за ошибка.
Пытался Pony Prog -ом запрограммировать-тоже не выходит.
Если это важно-вот код программы(хотя наврятли она причём):
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.0a Evaluation
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
[url]http://www.hpinfotech.com[/url]
 
Project : DIOD
Version : 
Date    : 08.07.2011
Author  : Freeware, for evaluation and non-commercial use only
Company : 
Comments: 
 
 
Chip type               : ATmega16
Program type            : Application
AVR Core Clock frequency: 4,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/
 
#include <mega16.h>
 
// Declare your global variables here
 
void main(void)
{
// Declare your local variables here
 
// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
PORTA=0x00;
DDRA=0xFF;
 
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 
PORTB=0xFF;
DDRB=0xFF;
 
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P 
PORTC=0xFF;
DDRC=0x00;
 
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=P State6=P State5=P State4=P State3=P State2=P State1=P State0=P 
PORTD=0xFF;
DDRD=0x00;
 
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
 
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
 
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
 
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=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;
SFIOR=0x00;
 
while (1)
      {
      // Place your code here
           PORTB=PINB;
      };
}
в настройках программатора выставлено:
Kanda Systems STK200+/300
Printer Port: LPT1 (на сколько я помню для программатора пяти проводков так и должно быть).

Спасибо за помощь.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2011, 01:05
Ответы с готовыми решениями:

Не могу прошить atmega16
Приобрел программатор avr ysp 3.2 Подключаю к нему атмегу( RESIT, MOSI, MISO, SCR, GND, VCC)....

Не могу прошить ATMEGA16 16PU
Доброго весм времени суток! Начал знакомство с МК. Начал с изготовления инструментов. Изготовил...

Не могу запрограммировать attiny13V-10SU
Всем привет. Купил я две тиньки attiny13V-10SU в смд корпусе. Пробовал прочитать из них lfuse через...

под линукс не могу запрограммировать микроконтроллер програм
На компьютере установлены две операционки: виндовс и линукс. Под виндовсом использую программу...

Не могу запрограммировать ATmega8535
Собрал программатор 5 проводков, так как это мой первый опыт общения с контроллерами, с помошью...

14
ValeryS
Модератор
7483 / 5666 / 725
Регистрация: 14.02.2011
Сообщений: 19,370
Завершенные тесты: 1
12.07.2011, 01:50 2
Это значит что он не записал в микросхему ничего
возможны варианты
дохлая микруха (менять)
неправильно были выставлены фъюзы и она заткнулась (параллельное програмирование)
была зашита программа и она закрыта (стереть)
во время программирования нет питания на микросхеме (тестер)
нет хорошего контакта в программаторе
неправильно спаял программатор
не сконфигурирован порт(отключен в биосе диспетчер оборудования)

вообще не рекомендую LPT легко можно сжечь порт
лучше COM
но я помучался с 5 проводками (постоянные глюки)
плюнул и купил себе САБЛЮ
подключается по USB сам может запитать схему последовательное и параллельное програмирование
1
polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
12.07.2011, 01:51  [ТС] 3
а что такое САБЛЯ?
0
ValeryS
Модератор
7483 / 5666 / 725
Регистрация: 14.02.2011
Сообщений: 19,370
Завершенные тесты: 1
12.07.2011, 01:51 4
Цитата Сообщение от polimorf96 Посмотреть сообщение
PORTB=PINB;
что ты хотел получить???
0
polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
12.07.2011, 01:52  [ТС] 5
а как надо эти фьюзы высталять?

Добавлено через 36 секунд
Цитата Сообщение от ValeryS Посмотреть сообщение
что ты хотел получить???
нажал на кнопку и диод загорелся.
ага знаю что можно было бы обойтись без микроконтроллера
Это моё первое устройство в книге было .
Вроде в программировании первая программа-"Hello world" а тут-диод
0
ValeryS
Модератор
7483 / 5666 / 725
Регистрация: 14.02.2011
Сообщений: 19,370
Завершенные тесты: 1
12.07.2011, 01:53 6
Цитата Сообщение от polimorf96 Посмотреть сообщение
а что такое САБЛЯ?
программатор такой для ATMega
здесь запрещено давать ссылки погугли и найдешь
0
polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
12.07.2011, 01:56  [ТС] 7
круто!
интересно такую штуку продают в ближайшем радио-магазине... надо бы посмотреть-не люблю через интернет заказывать.
СПАСИБО!
0
ValeryS
Модератор
7483 / 5666 / 725
Регистрация: 14.02.2011
Сообщений: 19,370
Завершенные тесты: 1
12.07.2011, 02:05 8
у тебя порт B запрограмирован на выход
куда втыкаем кнопку???
если бы было хотябы так
C
1
PORTB=PIND
на D кнопки на B диоды

Цитата Сообщение от polimorf96 Посмотреть сообщение
а как надо эти фьюзы высталять?
фъюзы это такие ячейки памяти которые конфигурируют микрасхему
от внутреннего генератора/кварца какая частота и т.д
зайди на сайт журнала хакер
набери ATMega и почитай статьи
там очень хорошо для начинающих описана архитектура программирование и эти фъюзы

Добавлено через 1 минуту
Цитата Сообщение от polimorf96 Посмотреть сообщение
СПАСИБО!
для спасибы кнопка есть

Добавлено через 2 минуты
Цитата Сообщение от polimorf96 Посмотреть сообщение
Chip Signature mismatch
Read: Byte0=FFh Byte1=FFh Byte2=FFh
Must Be: Byte0=1Eh Byte1=94h Byte2=03h
извиняюсь он утебя даже сигнатуру не прочитал
т.е не знает что за микросхема
1
Demon30201990
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 9
12.07.2011, 05:32 9
ДЛЯ начала хочу отметить, что твой код работать не будет. Для его работоспособности как минимум необходимо использовать функцию IF.
По поводу программатора, рекомендую если у тебя есть порт LTP. А в качестве программатора - Ponyprog. ОН меня выручает всегда.
И вообще почитай http://chipenable.ru/ там очень много проектов, а так же radiokot.ru там так же есть проекты.
1
ValeryS
Модератор
7483 / 5666 / 725
Регистрация: 14.02.2011
Сообщений: 19,370
Завершенные тесты: 1
12.07.2011, 08:26 10
Цитата Сообщение от Demon30201990 Посмотреть сообщение
ДЛЯ начала хочу отметить, что твой код работать не будет.
"Это пощщему ещще?"

Цитата Сообщение от Demon30201990 Посмотреть сообщение
Для его работоспособности как минимум необходимо использовать функцию IF.
что за функция такая ???
если оператор сравнения
типа
C
1
2
if(PIND)
  PORTB=0xFF;
то он нахрен не нужен
как я уже писал
C
1
PORTB=PIND
все что на входах D будет повторятся на выходах B

Добавлено через 3 минуты
polimorf96,
по меньше пользуйся мастерами кода
вещь конечно удобная
но пока не узнал как работает микроконтроллер какая команда за что отвечает абсолютно не нужная
расхолаживает

Добавлено через 28 минут
polimorf96,
вот еще что вспомнил
сейчас в продаже есть платы на которых напаен микроконтроллер, периферия кнопки разные,светодиоды и прочее
купи и пользуйся
научишься сперва программировать а потом можешь паять свои схемы.
а то может получится так, что неправильно распаял, развел плату, продумал схему.
ничего не работает и на что грешить на железо или программу??
1
Demon30201990
1 / 1 / 0
Регистрация: 13.06.2011
Сообщений: 9
12.07.2011, 13:29 11
Извиняюсь, ошибочка вышла. Когда я просматривал ваш код, то как то пропустил комментарий по поводу PORTD=PINB,
а в самом коде было написано:
PORTB=PINB.
По поводу оператора сравнения то его и правда лучше использовать для более важных функций.
______________________________________________________
Как говориться зачем тратить и так дефицитные биты и байты.
0
polimorf96
9 / 9 / 1
Регистрация: 02.08.2010
Сообщений: 270
12.07.2011, 16:19  [ТС] 12
ValeryS,
не видел таких плат с напаеными кнопками и диодами-если бы нашёл такое чудо-оно было бы у меня уже на столе.

кстати программатор "Сабля" тоже нигде не найти(((( .
Буду искать.
0
denver
1611 / 281 / 5
Регистрация: 19.09.2009
Сообщений: 701
14.07.2011, 21:25 13
Сейчас полно отладочных плат под AVR, есть и схемы неплохие есть и готовые исполнения. Когда то сам собирал вот такую http://robotsspace.ucoz.ru/publ/2-1-0-25 с небольшими своими доработками, для начинающего само то
0
Prividenie
74 / 73 / 25
Регистрация: 05.10.2008
Сообщений: 233
15.07.2011, 21:00 14
Цитата Сообщение от polimorf96 Посмотреть сообщение
с помощью программатора "пять проводков LPT" .
я тоже не смог на моей новой материнке ma785gmt-ud2h шить таким методом до этого на старой asrock k7vt4a+ все работало без проблем.
перешел на программатор: stk200 (через микруху 74hc244), схем в инете полно
1
ValeryS
Модератор
7483 / 5666 / 725
Регистрация: 14.02.2011
Сообщений: 19,370
Завершенные тесты: 1
18.07.2011, 07:41 15
Цитата Сообщение от Prividenie Посмотреть сообщение
перешел на программатор: stk200 (через микруху 74hc244), схем в инете полно
полно!
и стк200 и стк500
но у сабли("Sable prog") есть и ПАРАЛЛЕЛЬНЫЙ программатор (вот их схем я не видел)

кто нибудь видел программаторы с отладчиком (и есть ли такие)?
0
18.07.2011, 07:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2011, 07:41

СМА whirlpool awt2288 проц atmega16 прошить, проц atmega16 прошить
есть ли защита от считывания? То есть могу ли я слить прошивку процессора и записать на другой?

Atmega16
изучаю прерывания, помогите понять что значит в начале памяти программ и в области загрузчика? ...

Atmega16
помогите пожалуйста! есть микроконтроллер atmega16. через ассемблер на PORTC подаем комбинацию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru