Страница 1 из 1

помощь в реализации проекта

Добавлено: Пн июл 28, 2014 16:51:51
zvykov
Доброго времени суток, уважаемые коты!!!!!! Обращаюсь за помощью вот в какой конструкции, нужна схемка (на мк, pic, avr не имеет значения), которая реализует следующий принцип работы: на ногу мк (условно пусть будет 1-ая) пришел сигнал (постоянное напряжение или импульс) и другая нога (2-ая) выдала напряжение (для управление релюхой), напряжение это держится на ней пока не будет нажата кнопка, повешенная на еще одну ногу (3-ю) мк, (даже если сигнал с первой ноги уже пропал); как только кнопку нажали напряжение с реле снялось, а мк начал отсчет 10 мин, и после истечения 10 мин проверяет 1-ую ногу мк, если на ней еще есть напруга или импульсы, то снова включает релюху на 2-ой ноге, если нет, то просто мониторит сигнал с 1-ой ноги мк. Видел ли кто чего подобное??Может посоветуете чего??

Re: помощь в реализации проекта

Добавлено: Пн июл 28, 2014 16:58:50
nirq

Re: помощь в реализации проекта

Добавлено: Вт июл 29, 2014 22:38:47
Jack_A
Язык инженера - графика. Если нарисовать временную диаграмму работы, может оказаться, что все настолько просто, что и МК не потребуется, и сам реализуешь на паре ЛА3 и ТМ2

Re: помощь в реализации проекта

Добавлено: Ср июл 30, 2014 10:24:42
metan
zvykov писал(а):нужна схемка (на мк, pic, avr не имеет значения)
точнее, нужна схемка и программка :)
zvykov писал(а):пришел сигнал (постоянное напряжение или импульс)
поточнее, плиз. Уровень сигнала, а также если импульсы, то диапазон их длительностей и периодов
zvykov писал(а):10 мин
точность выдержки данного интервала, нужно ли будет его программно менять

И вообще, определитесь все-таки, нужна помощь, или сделать за вас.

Re: помощь в реализации проекта

Добавлено: Чт авг 21, 2014 16:44:11
PLATON
Здравствуйте. Изучаю микроконтроллеры AVR, напмсал код на ассемблере, реализовав апаратный ШИМ с регулировкой, вот интересует вопрос, возможно ли сигнал ШИМа с ОС0 передать на PB4 или другой порт ,например (PD1).
/*
* FAST_shim.asm
*
* Created: 19.08.2014 14:18:20
* Author: PLATON
*/


.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R21
.def Temp5=R22
.def ResCnt=R20

.cseg
.org 0


;Вектора прерываний

jmp RESET ; Reset Handler
jmp EXT_INT0 ; IRQ0 Handler
jmp EXT_INT1 ; IRQ1 Handler
jmp TIM2_COMP ; Timer2 Compare Handler
jmp TIM2_OVF ; Timer2 Overflow Handler
jmp TIM1_CAPT ; Timer1 Capture Handler
jmp TIM1_COMPA ; Timer1 CompareA Handler
jmp TIM1_COMPB ; Timer1 CompareB Handler
jmp TIM1_OVF ; Timer1 Overflow Handler
jmp TIM0_OVF ; Timer0 Overflow Handler
jmp SPI_STC ; SPI Transfer Complete Handler
jmp USART_RXC ; USART RX Complete Handler
jmp USART_UDRE ; UDR Empty Handler
jmp USART_TXC ; USART TX Complete Handler
jmp ADCM ; ADC Conversion Complete Handler
jmp EE_RDY ; EEPROM Ready Handler
jmp ANA_COMP ; Analog Comparator Handler
jmp TWSI ; Two-wire Serial Interface Handler
jmp EXT_INT2 ; IRQ2 Handler
jmp TIM0_COMP ; Timer0 Compare Handler
jmp SPM_RDY

;RESET:
;EXT_INT0:
;EXT_INT1:
TIM2_COMP:
TIM2_OVF:
TIM1_CAPT:
TIM1_COMPA:
TIM1_COMPB:
TIM1_OVF:
TIM0_OVF:
SPI_STC:
USART_RXC:
USART_UDRE:
USART_TXC:
ADCM:
EE_RDY:
ANA_COMP:
TWSI:
EXT_INT2:
TIM0_COMP:
SPM_RDY:

reti


;****************************************************
; ИНИЦИАЛИЗАЦИЯ
;****************************************************
Reset:

ldi Temp,0b11111111 ;настройка портов
out DDRC,Temp

ldi Temp,0b11111111 ;настройка портов
out DDRB,Temp

ldi Temp,0b00000001 ;инициализация таймера
out TCNT0,Temp


ldi Temp,0b01111001 ;фаст шим настройка, запуск таймера
out TCCR0,Temp

ldi Temp4,0b11110000 ;сравнивается с TCCR0 (Ширина импульса)
out OCR0,Temp4

ldi Temp,0b11000000 ; Разрешение прерывания INT0, INT1
out GICR,Temp

ldi Temp,0b00000000 ; По низкому уровню
out MCUCR,Temp






; инициализация стека
LDI Temp1,Low(RAMEND)
OUT SPL,Temp1
LDI Temp1,High(RAMEND)
OUT SPH,Temp1


sei

; бесконечный цикл

cikl: jmp cikl


; обработчик внешнего прерывания

EXT_INT0:

ldi Temp3,0
ldi Temp2,0

l_res:
dec Temp3 ; Антидребезг
brne l_res

dec Temp2
brne l_res

inc ResCnt

CPI Temp4,0b11100000 ; сравним с крайним значением
BRSH m1 ; если больше или равно перейдём на метку

inc Temp4
inc Temp4
inc Temp4
inc Temp4
inc Temp4
inc Temp4 ; Уменьшаем Ширину импульса
inc Temp4
inc Temp4
out OCR0,Temp4

ldi Temp5,OCR0
out PortC,Temp5

m1:

reti

EXT_INT1:


ldi Temp3,0
ldi Temp2,0

l_res2:
dec Temp3 ; Антидребезг
brne l_res2

dec Temp2
brne l_res2

inc ResCnt

CPI Temp4,0b00011111 ; сравним с крайним значением
BRLO m2 ; если меньше или равно перейдём на метку

dec Temp4 ; Увеличиваем Ширину импульса
dec Temp4
dec Temp4
dec Temp4
dec Temp4
dec Temp4
dec Temp4
dec Temp4
out OCR0,Temp4
m2:

reti

Re: помощь в реализации проекта

Добавлено: Вт сен 02, 2014 11:39:51
BOB51
Аппаратный выход перенаправить невозможно - лишается смысла именно для аппаратного решения.
Программный вариант - куда угодно перенаправить можно, но ограничен по быстродейитвию и разрешающей способности.