Правильно реагирует ибо команда in- предназначена для ввода из пространства ввода/вывода БАЙТАМИ.
Чувствительность к отдельному биту определяется командами SBIC или SBIS
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
И снова сдрасте)))
Пытаюсь прописать функцию задержки. Не работает. Не могу найти причину....Помогите, пожалуйста.
просто хочу мигать светодиодом. компилируется и прошивается без ошибок.
и еще попутный вопрос.
Что если часть порта настроена цифровой вход, а другая часть на цифровой выход.
Допустим порт 1.
я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?
Chip115 писал(а):я записываю P1=0xFF , то на выходах будет лог.1 ,а что с теми,кто настроен на вход? на них тоже будет лог.1 или для них не важно что я там записал и они следят только за состоянием соответствующих выводов мк?
Можно назначать биты логическими "И" &= и "ИЛИ" |=
Ну а что будет с теми, кто настроен на вход... Смотря какая у них нагрузка. Логично, что если они сидят на "земле", то даже выставив на порте "1", читаться она всё равно будет как "0".
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
.include "d:\edu\edu3\m8def.inc"
.def temp = r16
.cseg
.org 0
rjmp reset
.org 9
rjmp timer_0_ovf
reset:
ldi temp,low(ramend)
out spl,temp
ldi temp,high(ramend)
out sph,temp
ldi temp,0b11111111
out ddrb,temp
ldi temp,0b00110000 ;гружу значения в стек
push temp;1
ldi temp,0b01101101
push temp;2
ldi temp,0b01111001
push temp;3
sei
ldi temp,0b00000001 ; настройка таймера
out tccr0,temp
ldi temp,0b00000001
out timsk,temp
inf:
sei ;ставлю флаг I для зацикленного прерывания
rjmp inf
timer_0_ovf:
cli
rjmp on
on:
pop temp ;гружу из стека и вывожу ... вот тут то и проблема не грузит из стека
out portb,temp
ldi temp,0b000000000;очищаю флаг таймера
out tifr,temp
in temp,pinb ;проверяю выводимое число
cpi temp,0b00110000
breq a
rjmp inf
a: reti
Не ждите.
Уходите от схемных построений в сторону языков описания аппаратуры (для альтеры лучше взять квартус).
Сэкономите больше сил и продвинетесь значительно дальше (почти без книжек).
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
вечер добрый. хочу собрать программатор для lpt-порта. вот такой - http://myrobot.ru/stepbystep/mc_programmer.php
вопрос: резисторы обязательно 150 Ом или подойдут другого номинала? а то у меня в наличии сейчас только 220, 330 и 620 Ом