Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 01.02.2011, 23:22  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Не опрашивается вторая кнопка. Attiny2313/

Подскажите что я делаю не так ?

Цитата:
1. in r25, PIND
2. sbrc r25, 5
3. rcall end
4. in r25, PIND
5. sbrc r25, 4
6. rcall start
При нажатии PD5 переход на подпрограмму есть, а при нажати PD4 нет.
Если поменять местами строки 2 и 5, то переход будет уже на PD4 работать, а на PD5 нет. Как будто после третей строки программа не выполняется.
В АВРстудии всё корректно работает.
Реклама:

Последний раз редактировалось putmannn; 01.02.2011 в 23:29.
putmannn вне форума  
Сказали "Спасибо" putmannn
warel (27.06.2019)
Непрочитано 01.02.2011, 23:34  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,939 раз(а) в 2,369 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

putmannn,
а что там в таинственной rcall end деется - ее личико покажете аль нам самим рисовать?
да и в симуляторе студии прогнать могёте - коль rcall end не ростом с амазонского удава
jump вне форума  
Сказали "Спасибо" jump
warel (27.06.2019)
Непрочитано 01.02.2011, 23:36  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

end: ldi red,0b00011111 ; гасим PB0
out PORTB, red
ret

start: ldi red,0b00011111 ; гасим PB0
out PORTB, red
ret
putmannn вне форума  
Сказали "Спасибо" putmannn
warel (27.06.2019)
Непрочитано 01.02.2011, 23:46  
nml
Супер-модератор
 
Аватар для nml
 
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,378
Сказал спасибо: 1,948
Сказали Спасибо 1,327 раз(а) в 578 сообщении(ях)
nml на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

Сообщение от putmannn Посмотреть сообщение
Как будто после третей строки программа не выполняется.
В АВРстудии всё корректно работает.
В таких случаях надо показывать весь код.
Мне кажется, что у вас просто не инициализирован стек
__________________
[ жизнь приятна и красива, если выпить литр пива ]
nml вне форума  
Сказали "Спасибо" nml
warel (27.06.2019)
Непрочитано 01.02.2011, 23:54  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

Цитата:
.INCLUDE "tn2313def.inc"

.def temp = r16
.

.CSEG
.ORG 0x0000

; -----------------
; Interrupt vectors
; -----------------

rjmp Init ; Reset Handler


Init: ldi Temp,RamEnd
out SPL,Temp
ldi temp,0b00011111
out DDRB, temp
ldi temp, 0b00000000
out PORTB, temp
ldi temp, 0b00000000
out DDRD, temp
ldi temp, 0b00110000
out PORTD, temp

main: in temp, PIND
sbrc temp, 5
rcall end
in temp, PIND
sbrc temp, 4
rcall start

rjmp main



end: ldi temp,0b00001111
out PORTB, temp
ret

start: ldi temp,0b00011111
out PORTB, temp
ret
А здесь хотелось бы, что бы при нажатии на кн.5 загорался диод, а при нажати на 4 гас. Однако почему то когда ни одна кн. не нажата , диод горит в пол накала, и сигнал на нём то 1 то 0 и зациклено, но на кн. реагирует.

... Изменил условие, вместо SBRC поставил SBRS. Странно, но в АВРстудии это не работает, а в контроллере заработало.
Получается АВРстудия кривая ??? Может подскажете более корректный отладчик ?

Последний раз редактировалось putmannn; 02.02.2011 в 00:08.
putmannn вне форума  
Сказали "Спасибо" putmannn
warel (27.06.2019)
Непрочитано 02.02.2011, 00:07  
kittec
Гражданин KAZUS.RU
 
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
kittec на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

Сообщение от putmannn Посмотреть сообщение
При нажатии PD5 переход на подпрограмму есть, а при нажати PD4 нет
Какой-то странный опрос кнопок. Проще так:
sbic pind,5
rcall end
sbic pind,4
rcall start
.......
И хорошобы поставить задержку мс50 - 100, перед каждым ret. И на каком выходе светодиод.

Последний раз редактировалось kittec; 02.02.2011 в 00:09.
kittec вне форума  
Сказали "Спасибо" kittec
warel (27.06.2019)
Непрочитано 02.02.2011, 01:00  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

Для кода в посте #5 прижмите PD5 и PD4 через резисторы к земле.
Лучше sbrc заменить на sbrs/ и, если пины больше никак не используются, заземлить это всё конденсаторами. Также желательно пины подтянуть к Vcc резисторами на 10 - 30к. Внутри кристалла стоят от 100к и выше.
Это не глюк отладчика - это глюк программиста.
Этим кодом
Код:
ldi temp, 0b00110000
out PORTD, temp
Вы включаете PullUp
Далее командуете - пропустить команду, если на пине "0", но там же "1".
Вот отладчик (да и в железе тоже) честно выполняет обе подпрограммы.

Ну и, на всякий случай, стек желательно инициализировать.

Последний раз редактировалось omercury; 02.02.2011 в 01:03.
omercury вне форума  
Сказали "Спасибо" omercury
warel (27.06.2019)
Непрочитано 02.02.2011, 02:13  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,939 раз(а) в 2,369 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

omercury,
стек он инициализирует
Init: ldi Temp,RamEnd
out SPL,Temp

putmannn,
а в студии при симуляции надо флажок на конкретном пине за шаг до команды опроса установить/снять - наверняка сей момент упущен
jump вне форума  
Сказали "Спасибо" jump
warel (27.06.2019)
Непрочитано 02.02.2011, 02:40  
putmannn
Гражданин KAZUS.RU
 
Аватар для putmannn
 
Регистрация: 01.02.2011
Адрес: г. Долгопрудный
Сообщений: 996
Сказал спасибо: 339
Сказали Спасибо 94 раз(а) в 91 сообщении(ях)
putmannn на пути к лучшему
По умолчанию Re: Не опрашивается вторая кнопка. Attiny2313/

Разобрался, спасибо =)
Ещё много будет вопросов. Надеюсь на вашу поддержку.
putmannn вне форума  
Сказали "Спасибо" putmannn
warel (27.06.2019)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимозаменяемы ли ATmega8 и Attiny2313 rusentu Микроконтроллеры, АЦП, память и т.д 17 21.08.2010 18:41


Часовой пояс GMT +4, время: 11:23.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot