Jump to content

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


Guest vit2700
 Share

Recommended Posts

Guest 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

Link to comment
Share on other sites

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...