реклама на сайте
подробности

 
 
> Начинаю учить AVR, дайте пинка в нужную сторону
pavel-pervomaysk
сообщение Dec 28 2007, 19:30
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Всем привет , решил я начать с простого задания , а именно помигать светодиодом на меге8 , исходник на асме прилагаю , поправьте плиз , что не так я думаю что неправильно настроил порты wub.gif от того светится постоянно только один светодиод

.nolist
.include c:\avr "m8def.inc"
.list

.def temp = r16 ;
.def temp2 = r17 ;

.equ LED_1 = PB1 ;
.equ LED_2 = PB2 ;






.cseg

.org 0

rjmp reset ; Reset Vector


reset:
ldi temp,LOW(RAMEND) ; Init Stack Pointer
out spl,temp

ldi temp,$FC
out DDRB,temp
out PortB,temp

ldi temp,$FF
out DDRD,temp
clr temp2

main: clr temp

cbi PortB,1 ;

rcall wait

sbi PortB,1

rcall wait
rjmp main

wait: ldi temp2,255 ;
wait1:
dec temp2
brne wait1
ret
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
arttab
сообщение Dec 29 2007, 02:29
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



Давненько я на асме не кодил...
Цитата
ldi temp,$FC
out DDRB,temp
out PortB,temp

то есть на выводы
Цитата
PB1 ;
и
Цитата
PB2 ;
на вход

а здесь
ldi temp,$FF
out DDRD,temp
порт D на выход

а тут

Цитата
cbi PortB,1 ;

Цитата
sbi PortB,1

в единичку нолик вывод B0 пытаемся дергать что ,собственно, бесполезно поскольку PORT B настроен как вход

наверно, что то тут не так... очепятка где то


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016