кстати уважаемые коты
нужна была математика для AVR, так многие мои вопросы будут сняты, скан хороший кому нужна лежит сдесь http://www.gsm-forum.name/forum/viewtopic.php?t=421&sid=b988de95e3e72db4dd35bfccaf2152daМикроконтроллеры AVR - Хартов В.Я.,
нужна была математика для AVR, так многие мои вопросы будут сняты, скан хороший кому нужна лежит сдесь http://www.gsm-forum.name/forum/viewtopic.php?t=421&sid=b988de95e3e72db4dd35bfccaf2152daМикроконтроллеры AVR - Хартов В.Я.,
в AVR для этого можно использовать SBIS и SBICipkin писал(а):хочу посчитать импульсы приходящие на вход tinny2313
допустим portb1 кроме того некоторые разряды этого порта работают на вывод подскажите какими командами (ассемблер) воспользоваться для реализации данной задачи
в мк51 я пользовался JNB и JB
poff писал(а):Доброго времени суток...
Если оставить одну строку rcall delay (выделено красным), то програмуля работает, а если две подряд, то нехочет. Где грабли зарыты? Заранее благодарен.
poff писал(а):Доброго времени суток... Пытаюсь освоить Mega8535. Для начала решил помигать светодиодами. Обнаружил следующее: при обращении к одной и той же подпрограмме два и более раза подряд програмуля не работает.
poff писал(а):Доброго времени суток.... Где грабли зарыты? Заранее благодарен.
poff писал(а):Благодарен dremov и smak за сочуствие в моем небольшом горе... В симуляторах свою програмулю я тоже проверял, все работает. На макете диоды мигают только если на подпрограмму ссылаться один раз. Рассавлял програмные метки типа sbi/cbi по ходу программы - должны были зажигаться/гаснуть дополнительные светодиоды при проходе определенных мест в программе. Так вот,приналичии двух обращений к подпрограмме, программа останавливается перед перед первым переходом rcall
poff писал(а)::shock: to Smac Все проверил WDT выключен. Очевидно, грабли в другом месте. Попытался проделать тоже на MEGA32 - эфект тот-же.
Код: Выделить всё
.cseg
.org 0
rjmp Reset
;****************************
.org 0x100 ; размещаем дальнейшую программу с адреса 100 hex
Reset: ldi temp,high(RAMEND)
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp
и далее ваша программа.poff писал(а):Так вот,приналичии двух обращений к подпрограмме, программа останавливается перед перед первым переходом rcall
Код: Выделить всё
rcall delay ldi temp,9Код: Выделить всё
rol temp3Код: Выделить всё
bst temp3,7
lsl temp3
bld temp3,0poff писал(а):... Пробовал переносить (по Вашему совету) программу на 100 шагов вперед - даже рабочий код вообще не работает !!!...
Код: Выделить всё
.cseg
.org 0
rjmp Reset
;****************************
Reset: ldi temp,high(RAMEND)
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp
ser Temp ; настраиваем
out DDRB,Temp ; порт B на вывод
; основная программа
clr temp
ldi temp3, (1<<PORTB4); маска для "мигания" выводом PORTB4
start:
in temp, PORTB ; читаем порт
eor temp, temp3 ; применяем маску тем самым инвертируем нужный бит
out PORTB, temp ; выводим в порт
rcall Delay
rcall Delay
rjmp start
;подпрограмма задержки
Delay: ldi temp1,0
ldi temp2,0
Loop: dec temp1
brne Loop
dec temp2
brne Loop
ret обычно проблема заключается в человеческой невнимательности