самое обидное, это то что все чему вован меня учил, все общение было записано как диалог, но к сожалению удалили...
Добавлено спустя 43 секунды:
исправил
roboforum.ruТехнический форум по робототехнике. |
|
|
.cseg ;
.org $0000 ;
.def temp=r16 ;íàçíà÷åíèå ðàáî÷èõ ðåãèñòðîâ
.def tempH=r17 ;
.def tempL=r18 ;
.dseg ;
.eseg ;
.cseg ;
.equ BUT =PD0 ;êíîïêà íà ïîðò Ä1
.equ L1 = PB0 ;na port B1 podklucen svetodiod1
.equ L2 = PB1 ;na port B2 podklucen svetodiod2
.equ L3 = PB2 ;na port B3 podklucen svetodiod3
rjmp reset ;åïðåõîä ê íàçíà÷åíèþ ðàá ðåãèñòðîâ
reset: ;
ldi tempH,$04 ;ob etom v dvuh slovah
out SPH,tempH ;napisat mozno
ldi tempL,$5F ;no poka rano
out SPL,tempL ;prosto schitay eto neobhodimiy tipo include
;nastroyka portov
ldi temp, 0b00000111 ;naznachaem port B1 vihod ostalnie vhodi
out DDRB, temp ;çàïèñü â ðåã
ldi temp, 0b00000000 ;0 na vihod port B1
out portb, temp ;âûâîä ïîðòà á
ldi temp, 0b00000000 ;ïäîðò ä, ïèí1-âõîä
out ddrd, temp ;çàïèñü â ðåã
ldi temp, 0b00000000 ; podnyazka na pin1
out portd, temp ;âûâîä ïîðòà ä
; rjmp stapt ;idem na start
start: ;glavnaia programma
sbis portd, BUT ;schit knopki
sbi portb, L1 ; vkl led1
rjmp start ; íà ñ÷èò êíîïêè
sbi portb, L2 ;âêë ëåä
rjmp start ;íà ñ÷èò êíîïêè
sbi portb,L3 ;âêë ëåä3
ret
.includi "m8def.inc"
.include "m8def.inc" ;определение мк
.org $0000
.def temp r=16 ;назначение рабочего регистра
.cseg
.eseg
.dseg
.equ led = pb0 ;присвоение имени
reset: ;
ldi tempH,$04 ;тут пока не знаю,
out SPH,tempH ;но думаю, это
ldi tempL,$5F ;определение режима работы
out SPL,tempL ;регистра - рыба
;nastroyka portov
ldi temp, 0b00000001 ;пин1, выход
out ddrb, temp ; запись в рег
ldi temp, 0b00000000 ; подт нет
out portb, temp ; вывод порта Б
init:
sbi portb, led ;вкл сд
ret
.include "m8def.inc" ;определение мк
.org $0000
.def temp r=16 ;назначение рабочего регистра
.cseg
.eseg
.dseg
.equ led = pb0 ;присвоение имени
reset: ;
ldi tempH,$04 ;тут пока не знаю,
out SPH,tempH ;но думаю, это
ldi tempL,$5F ;определение режима работы
out SPL,tempL ;регистра - рыба
;nastroyka portov
ldi temp, 0b00000001 ;пин1, выход
out ddrb, temp ; запись в рег
ldi temp, 0b00000000 ; подт нет
out portb, temp ; вывод порта Б
init:
sbi portb, led ;вкл сд
nop ;задержки
nop ;
nop ;
nop ;
nop ;
nop ;
cbi portb, led ;выкл сд
nop ;задержки
nop ;
nop ;
nop ;
nop ;
nop ;
rjmp init ; переход в начало. зациклили.
.include "m8def.inc" ;определение мк
.org $0000
.def temp r=16 ;назначение рабочего регистра
.def tempH r=17
.def tempL r=18
.cseg
.eseg
.equ led = pb0 ;присвоение имени
.equ but = pd0 присвоение имени кнопки на порт д (посаена на +)
reset: ;
ldi tempH,$04 ;тут пока не знаю,
out SPH,tempH ;но думаю, это
ldi tempL,$5F ;определение режима работы
out SPL,tempL ;регистра - рыба
;nastroyka portov
ldi temp, 0b00000001 ;пин1, выход
out ddrb, temp ; запись в рег
ldi temp, 0b00000000 ; подт нет
out portb, temp ; вывод порта Б
ldi temp, 0b00000000 ; пин1 порта д вход
out ddrd, temp ;запись в рег
ldi temp, 0b00000001 ;подт на пин1
out portd, temp ; вывод порта
init:
sbis portd, but ; считывание + с кнопки
sbi portb, led ;если на кнопке +, то вкл сд
rjmp init
legion писал(а):Здесь опечатка:
.def temp r=16 ;назначение рабочего регистра
И у тебя код размещен в сегменте ОЗУ - .dseg, а надо в сегменте кода - .cseg
А еще tempH и tempL не определены.
.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10