Вінницький форум

Вінницький форум (https://forum.vn.ua//index.php)
-   Технічний форум (https://forum.vn.ua//forumdisplay.php?f=8)
-   -   Помощь с программой (https://forum.vn.ua//showthread.php?t=25774)

Den 25-11-2010 02:31

Помощь с программой
 
Итак у меня проблема, есть простая схема сигнализации на микроконтролере ATtiny 13.
http://i070.radikal.ru/1011/0c/986d4172001et.jpg

Кароче принцип работы, шо когда сигнализация в режиме охраны и срабатывает датчик, то на схеме "sirena" начинает крутиться. Проблема в том что мне нада заместь этой сирены впихнуть динамик, что бы он просто пиликал.

Вот сама прога (я так понял нада просто поменять в проге что б микрконтролер подавал сигналы звука на динамик)
Цитата:

Повідомлення від Прога_asm

;************************************************* **************

;* Proekt:"Alarm_5", имеет "память" о сработке,
;* режим ожидания ,светодиод горит посстоянно,датчик заблокирован
;* пауза задержки при выходе = 45 Сек.
;* Время задержки на вход = 4,5 сек
;* Время звучания сирены 1 цикл= 45 сек.
;* количество циклов не лимитировано
;* сработка индицируется мерцанием светодиода 0,2с.скважность=2
;* индикация режима охраны 0.2с скважность=5
;* chip: ATtiny13
;* Frequensy - 128/8 kHz (external RC-Oscillator).
;************************************************* **************
.include "tn13def.inc"
;------------------- Назначаем имена выводам микроконтроллера и регистрам

.equ Light =0 ;PB0 Light Output
.equ Alarm =1 ;PB1 Alarm Output
.equ SW =3 ;PB3 I nput sensor
.equ Led =4 ;PB4 Output Led

.def temp =r16 ;r16 temprary register

;************************************************* **************
.cseg ;Выбираем сегмент памяти ;
.org 0
rjmp Reset

;------------------- инициализация ---------------------------

Reset: ldi temp,RAMEND ;инициализация стека ;
out SPL,temp
;------------------ inicializaciya PORTB -----------------
ldi temp,0b11110111
out DDRB,temp ;конфигурация вх,вых.
;Нпзначаеем PВ3 входом,остальные выходами. ;
Com temp ;Инвертируем содержимое temp
out PORTB,temp ;Включаем подтяжку на PВ3
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< <<<<<<<<<<<<<<
; Главный программный цикл
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>
sbi PORTB,Light ;включаем Свет,(внешний светодиодный фонарь)
sbi PORTB,Led ;Индицируем -режим задержки на выход
rjmp TTT
; Задержка по выходу = 45 Sek.

main: sbis PINB,SW ;Опрашиваем датчик,разомкнуты ли контакты.
rjmp nnn
;----------------------------------------------------------------------------
rcall delay ; Формирование задержки на вход (1,125сек * 4 = 4,5 сек)
rcall delay
rcall delay
rcall delay
;------------------------------------------------------------------------------
wt: sbi PORTB,Alarm ;если сработал датчик,включается сирена
Set ;Устанавливаем флаг Т,как признак срабатывания сирены
;------------------------------------------------------------------------------
TTT: rcall delay4 ;формирование времени зажержки на выход и
rcall delay4
rcall delay4 ;время звучания сирены = 45 Sek.(delay4 по 3раза )
;-------------------------------------------------------------------------------
cbi PORTB,Light ;Гасим внешний светодиодный фонарь подсветки.
nnn : brbs 6,vvv ; Если флаг Т установлен(когда проходит 1 цикл)

rcall delay ;время свечения индикатора " Led "

vvv: rcall delay2 ; Если была сработка сирены,
; индикатор переходит на 2-й - режим мерцания-Led


sbi PORTB,Led ;зажигаем светодиод - * - Led

rcall delay2 ; длительность свечения * Led,
;скважность=5 , (1-й - режим мерцания-Led)

out PORTB,temp ; гашение индикации,окончание одного цикла.
rjmp main ;переход к началу программы ожидания

;----- Время погасания "Led" Т= 1,125сек.----------

delay: ldi XL,Low (4500)
ldi XH,high (4500)
del: sbiw XL,1
brne del
ret

;----- Время импульса длительности горения "Led" Т=0,2 сек -----

delay2: ldi XL,Low (800)
ldi XH,high (800)
mm: sbiw XL,1
brne mm
ret

;----- формирование задержки интервалом T = 15 Sek. -----------

delay4: ldi XL,Low (60000)
ldi XH,high (60000)
del_: sbiw XL,1
brne del_
ret


;************************************************* **************


Ссылка на схему протеус
HEX файл для контролера
сама прога


С меня много пива/сока !
Заранее благодарен!

Fluke 25-11-2010 14:57

Цитата:

Повідомлення від AndRey Wild Cat (Повідомлення 2534393)
Замість "крутилки" ставиш оце:
http://www.dinistor.net.ru/sirena-vo...9-12v-8vt.html

З.І. Загуглив за 10сек :d

Не забудьте перед испытанием работы сирены подготовить путь отступления в бомбо- (родителе-, соседо-), убежище! ))

Александр 25-11-2010 16:13

Цитата:

Повідомлення від Den (Повідомлення 2534331)
Итак у меня проблема, есть простая схема сигнализации на микроконтролере ATtiny 13.
http://i070.radikal.ru/1011/0c/986d4172001et.jpg

Кароче принцип работы, шо когда сигнализация в режиме охраны и срабатывает датчик, то на схеме "sirena" начинает крутиться. Проблема в том что мне нада заместь этой сирены впихнуть динамик, что бы он просто пиликал.

Вот сама прога (я так понял нада просто поменять в проге что б микрконтролер подавал сигналы звука на динамик)


Ссылка на схему протеус
HEX файл для контролера
сама прога


С меня много пива/сока !
Заранее благодарен!

Ставишь автомобильную сирену за 20 грн и всех делов. В програме нужно очень много менять(писать генератор) чтоб динамик издавал звук.

Den 25-11-2010 16:27

Цитата:

Повідомлення від AndRey Wild Cat (Повідомлення 2534393)
Замість "крутилки" ставиш оце:
http://www.dinistor.net.ru/sirena-vo...9-12v-8vt.html

З.І. Загуглив за 10сек :d

ок попробую ))

П,с. мне грубо говоря сам прибор ненада, мне главное что б была рабочая схема в протеусе (что б звук ишёл на динамике и всё)....

П.с.с. в протеусе звука нету ((
так что нада в микроконтролере что то делать

П.с.с.с. Вот нашёл прогу, "музыкальный звонок" называеться, там запрограмирована мелодия, правда контролер At90s2313...
схема звонка
прога

Помогите оч. прошу, в долгу не останусь!

Den 26-11-2010 08:03

Проблема решена , закройте топ.


Поточний час: 05:08. Часовий пояс GMT +3.

Copyright ©2000 - 2025