откомпилировав, собрал в протеусе, а оно не работает
может подскажет кто-нибудь в чем суть...
в архиве схема, исходник, протеус
Суть в полном непонимании происходящего. Убегайте бегом от всяческих визардов! Вы хоть поняли, что вам этот "волшебник" нагородил? В идеале ваша программа должна состоять из нескольких строк. А что у вас? Рановато вы компилировать начали. Этому должно предшествовать внимательное чтение литературы и понимание прочитанного. Кодевижны и прочие визарды этому не способствуют.BoRtO писал(а):может подскажет кто-нибудь в чем суть...
в архиве схема, исходник, протеус
Убегайте бегом от всяческих визардов!
Так все время и будет кто-то строчку кода писать. Мне не лень - просто это не педагогично. В интернетах куча примеров - надо их посмотреть и попробовать свое.Reloader писал(а):Хот бы кто - нить переборол свою лень и строчку кода написал...
Интересно, почему я в своём первом проекте, после того, как зажег светодиод и поморгал им, через десяток-другой минут сумел инициализировать UART и наблюдать эхо на компе?Это, пес вас забери, ПЕРВЫЙ проект. с этого все начинается, от этого зависит - будет человек заниматься или нет. Вам бы помочь, а вы подножки ставите
а советуют "читай мануалы"А коли спрашиваешь - слушай, что советуют.
просто это не педагогично
вот именно. А это не помощь, а только во вред.Reloader писал(а):Форумы создаются для помощи друг другу
Код: Выделить всё
.include "tn2313def.inc"
.list
.def temp = 16
.cseg
.org 0
idi temp, RAMEND
out SPL, temp
idi temp, 0
out DDRD, temp
idi temp, 0xFF
out DDRB, temp
out PORTB, temp
out PORTD, temp
idi temp, 0x80
out ACSR. temp
main: in temp, PIND
sbrc temp, 0
rjmp mainТак наверное надо написать, что не так. Перед этим желательно прочитать ошибки. После прочтения, в 90% случаев доходит, что надо сделать.жму: генерировать програму, сохранитьи выйти, а оно мне кучу всякой...
Код: Выделить всё
out ACSR. temp
опечатка. должна быть запятаяEngineer_Keen писал(а): Там между операндами точка или это опечатка?
ploop писал(а):Отлично. Можешь теперь прокомментировать каждую строку кода? .
Код: Выделить всё
.include "tn2313def.inc" ; Файл описания
.list ; включение листинга
.def temp = 16 ; главный рабочий регистир
.cseg ; выбор памяти
.org 0 ; установка адреса на 0
idi temp, RAMEND ; выбор адреса стека
out SPL, temp ; запись регистра стека
idi temp, 0 ; пишу 0 в регистр temp
out DDRD, temp ; пишу 0 на порт PD - порт ввода
idi temp, 0xFF ; число $FF в регистр temp
out DDRB, temp ; пишу temp на порт PB - порт вывода
out PORTB, temp ; потушить светодиод
out PORTD, temp ; вкл. внутренный резистор
idi temp, 0x80 ; вкл. компаратор
out ACSR, temp
main: in temp, PIND ; чтения порта PD
sbrc temp, 0 ; переслать в порт PB
rjmp main ; начало циклаВот тут у тебя ошибка.sbrc temp, 0 ; переслать в порт PB
Код: Выделить всё
out PORTB, temp ; переслать в порт PBКод: Выделить всё
.def temp = 16 ; главный рабочий регистира что тогда с rjmp делать?ploop писал(а):А следующая команда - rjmp, т.е. при нажатии ты её перепрыгиваешь и попадаешь в никуда (дальше кода нет)