ATmega8515-16PU - не мигает =(

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 3
Зарегистрирован: Пн авг 20, 2007 22:29:41

Сообщение Simo »

Программатор типа 5 проводков.

Код: Выделить всё

.include "m8515def.inc"	
.def	TMP	= R16	
.def	VERT	= R17	
.def	COUNT1	= R18	
.def	COUNT2	= R19	 
.def	COUNT3	= R20	 
.org	0
rjmp	START
START:			
	ldi	TMP,low(RAMEND)	; ramend ii?aaaeaii a .
	out	SPL,TMP		    ;
	ldi	TMP,high(RAMEND)
	out	SPH,TMP
;********************************************
	ser	TMP
	out	DDRC,TMP
LOOP:
	ldi	VERT,0xFF
	out	PORTC,VERT
	ldi	COUNT3,50
	rcall WAIT

	ldi	VERT,0x00
	out	PORTC,VERT		
	ldi	COUNT3,50	
	rcall WAIT
WAIT:
	dec	COUNT1
	brne	WAIT	
	dec	COUNT2
	brne	WAIT	
	dec	COUNT3
	brne	WAIT
	ret
.exit	
светики горят, но не мигают. не могу понять в чём проблема =( компилятор - AVR Studio, программатор - avreal.
Реклама
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

Посомтрите в VMLAB ход программы по шагам и определите чем он отличается от задуманного вами.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 534
Зарегистрирован: Пн янв 16, 2006 08:00:17
Откуда: Иркутск

Сообщение Mamonth »

Ну есть подозрения что код написан неверно... особенно в части задержки. ;) Пошаговая отладка тебе поможет и хелп на тему brne и compare
Today fine night...
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Вт июл 24, 2007 23:34:23

Сообщение Mr.Moss »

В конце подпрограммы LOOP, поставь rjmp LOOP, а то он у тебя переходит черт знает куда, а точнее в RESET.
Должно работать :)
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 3
Зарегистрирован: Пн авг 20, 2007 22:29:41

Сообщение Simo »

кароч переписал ещё тупее:

Код: Выделить всё

.include "L:\avr\tavrasm\test\m8515def.inc"
.org   0
rjmp   START
START:
   ldi	R16,0xFF
   out	DDRC,R16
   ldi 	R20,0xFF
   ldi	R21,0xFF
TEST:
	dec	R20
	brne	TEST
	dec	R21
	brne	TEST    	
	ldi	R16,0xFF
	out	PORTC,R16
	ldi	R20,0xFF
	ldi	R21,0xFF
TEST2:
	dec	R20
	brne	TEST2
	dec	R21
	brne	TEST2
	ldi	R16,0x00
	out	PORTC,R16
	ldi	R20,0xFF
	ldi	R21,0xFF
	rjmp	TEST

.exit
самое смешное то, что при подаче плюса на VCC а минуса на GND, ничё не работает. а вот если подать плюс на любой порт C(кроме того, на котором светик) всё работает на ура =\ тот код опробовал ещё раз(добавил rjmp LOOP), тоже самое - про подключениее плюса к VCC светик просто горит, при подключении плюса к портам С - мигает.
P.S.: в случае с ldi R16,0x02 тоже самое
Реклама
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Вт июл 24, 2007 23:34:23

Сообщение Mr.Moss »

Может попробуй другой МК взять :) , мистика какаято :shock:
Реклама
Родился
Сообщения: 3
Зарегистрирован: Пн авг 20, 2007 22:29:41

Сообщение Simo »

проблема решена, всем спс)
Э...
Аватара пользователя
Сообщения: 2792
Зарегистрирован: Ср апр 04, 2007 08:39:14
Откуда: Москва

Сообщение tych »

КАК ??? :o :o :o
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контактная информация:
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

имхо, по ходу не выключил JTAG (он же на порту C висит) :))
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»