legion писал(а):Неправильно:
.def temp r=16 ;назначение рабочего регистра
.def tempH r=17
.def tempL r=18
не врубаюсь в чем здесь косяк...
roboforum.ruТехнический форум по робототехнике. |
|
|
legion писал(а):Неправильно:
.def temp r=16 ;назначение рабочего регистра
.def tempH r=17
.def tempL r=18
.include "m8def.inc" ;определение мк
.org $0000
.def temp = r16 ;назначение рабочего регистра
.def tempH = r17
.def tempL = r18
.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
.include "m8def.inc" ;определение мк
.org $0000
.def temp = r16 ;назначение рабочего регистра
.def tempH = r17
.def tempL = r18
.cseg
.eseg
.equ led = pb0 ;присвоение имени
.equ led1 = pb1 ;второй сд
.equ but = pd0 ; присвоение имени кнопки на порт д (посаена на +)
reset: ;
ldi tempH,$04 ;тут пока не знаю,
out SPH,tempH ;но думаю, это
ldi tempL,$5F ;определение режима работы
out SPL,tempL ;регистра - рыба
;nastroyka portov
ldi temp, 0b00000011 ;пин1,2 выход
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 ;если на кнопке +, то вкл сд
sbis portd, but ;счит кнопки
cbi portb, led ;если +, то гасим сд1
sbi portb, led1 ;и включаем сд2
rjmp init ;возврат
init:
sbis pind, but ; считывание + с кнопки
sbi portb, led ;если на кнопке +, то вкл сд
sbic pind, but ;если нет + - переход на а
rjmp a
a:
sbis pind, but ;счит кнопки
cbi portb, led ;если +, то гасим сд1
sbi portb, led1 ;и включаем сд2
sbic pind, but ;если нет + - возврат
rjmp init ;возврат
init:
sbic pind, but ;если нет + - возврат
rjmp init ;
sbis pind, but ; считывание + с кнопки
sbi portb, led ;если на кнопке +, то вкл сд
rjmp a ;и переходим к а
a:
sbic pind, but ;если нет + , то возврат
rjmp a ;нет +, переход в а
sbis pind, but ;счит кнопки
cbi portb, led ;если +, то гасим сд1
sbi portb, led1 ;и включаем сд2
rjmp init ;возврат к началу проги
rjmp a ;и переходим к а
a:
.include "m8def.inc"
.org $0000
.def temp = r16 ;назначение рабочего регистра
.def tempH = r17
.def tempL = r18
.cseg
.eseg
.equ led = pb0 ;присвоение имени
.equ led1 = pb1 ;второй сд
.equ but = pd0 ; присвоение имени кнопки на порт д
reset: ;
ldi tempH,$04 ;тут пока не знаю,
out SPH,tempH ;но думаю, это
ldi tempL,$5F ;определение режима работы
out SPL,tempL ;регистра - рыба
;nastroyka portov
ldi temp, 0b00000011 ;пин1,2 вых
out ddrb, temp ;запись в рег
ldi temp, 0b00000001 ;подт на пин1 - вкл сд1 при инициализации
out portb, temp ;вывод порта б
ldi temp, 0b00000000 ; все вход
out ddrd, temp ;запись в рег
ldi temp, 0b00000001 ; подт на пин1
out portd, temp ; вывод порта д
init:
sbic portb, led ;проверка вкл сд1
rjmp init ;если не горит переход
sbis portb, led ;если горит, идем дальше
sbic pind, but ;проверка кн на не нажатое сост.
rjmp init
sbis pind, but ;проверка кн на нажатие
cbi portb, led ;если нажата гасим сд1
sbi portb, led1 ; и вкл сд2
sbic pind, but ;при отпускании кнопки
rjmp init ;
sbic portb, led ;проверка вкл сд1
rjmp init ;если не горит переход
sbis portb, led ;если горит, идем дальше
Сейчас этот форум просматривают: Yandex [Bot] и гости: 11