Перейти к содержанию

Прошу помощи по BASCOM AVR


Гость vit2700

Рекомендуемые сообщения

Доброго дня всем гуру  программирования в BASCOM AVR !  В программировании я также как и в космической отрасли ... Увлекаюсь рыбалкой, использую электронные сигнализаторы поклевки (китайские). У меня их с приказавшим долго жить микроконтроллером уже больше десятка. Появилась идея , в корпуса изготовить свою плату на МК attiny13, соответственно без полного набора функций как у оригинала. Здесь на сайте нашел  статью "Музыкальный звонок на МК Attiny13". В готовую схему в колхозил светодиод. По факту кнопку планирую заменить на геркон. 

 Не могу разобраться как сделать чтоб при нажатии  кнопки, контролер выполнил программу один раз и остановил цикл даже с нажатой кнопкой(это тот случай когда магнит на ролике остановился возле геркон и замкнул контакт ) ? Отпустил,нажал еще раз  все повторилось.

Есть вторая проблема, во время цикла контролер  не реагирует на кнопку .Как сделать чтоб при повторном нажатии происходил сброс программы (уже действующего цикла) и запускалась новая программа (цикл)? 

$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 16
$swstack = 16
$framesize = 16
$noramclear

Config PINB.1 = Input
Config PORTB.2 = Output

Toch Alias PINB.1
Led Alias PORTB.2

Config INT0 = Low Level
On INT0 Button:
Enable Interrupts
Enable INT0

Declare Sub Melodi1()

Dim Melcount As Byte

Do
Powerdown
Loop

End

Sub Melodi1()
Do
Sound , PORTB.0 , 30 , 100
Waitms 10
Sound , PORTB.0 , 30 , 150
Waitms 10
Melcount = Melcount + 1
Loop Until Melcount = 5

Melcount = 0

if Toch = 1 Then Led = 0
if Toch = 0 Then Led = 1
Led = 1
Waitms 200
Led = 0
Waitms 200
Led = 1
Waitms 200
Led = 0
Waitms 200
Led = 1
Waitms 200
Led = 0
Waitms 200
Led = 1
Waitms 200
Led = 0
Waitms 200
Led = 1
Waitms 200
Led = 0
Waitms 200
End Sub

Button:
Call Melodi1()
GIFR = 64
Return

Спасибо всем кто откликнется! Буду рад любой помощи.

 

1.jpg

ver 1.1.0.bas

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...