![]() |
пока не переделал, но пробывал в эту цепь засовывал один элемент от 561ой, те же яйца только в профиль
у меня возникает подозрение счетчик погорел от эксперементов |
В 561 микрухе элемент не инвертирует!!!! А тебе надо инвертировать выход счетчика!!!! Сделай как я нарисовал.
|
как сгорела? А если 2 и 3 ноги отключить от 11, как ты делал, то работает?
|
утром буду пробывать:bye:
|
Вложений: 1
Цитата:
Кстати, для гарантированного формирования импульса по спаду можно добавить два резистора R2 и R3. Если R1 - 1K, то R2 - 2K, R3 - 1K (вроде бы так). Тогда вход - 12В. |
А есть еще один вариант (на современной элементной базе :-))). Один корпус ATTiny11 или ATTiny12.
Это - исходник прошивки: 8<----8<----8<----8<----8<----8<----8<----8<---- .include "TN11DEF.INC" ; include chip definition ;------------------------------ .def temp1=r16 .def temp2=r17 .def temp3=r18 .def PulseFlag=r19 .def Counter=r20 ;------------------------------ rjmp RESET ; Reset Handle rjmp INT0VECT ; External Interrupt0 Vector Address rjmp NOVECT ; Pin change Interrupt Vector Address rjmp OVF0VECT ; Overflow0 Interrupt Vector Address rjmp NOVECT ; (EEPROM ready Interrupt Vector Address ATTiny12) Analog Comparator Interrupt Vector Address ATTiny11 rjmp NOVECT ; Analog Comparator Interrupt Vector Address ATTiny12 ;------------------------------ RESET: ; init timer ldi temp1, (1< ldi temp1, (1< ; init int0 ldi temp1, (1< ldi temp1, (1< ; init ports ldi temp1, (1< ; init val ldi PulseFlag, 0 ldi Counter, 4 ; enable interrupts sei ;------------------------------ MAIN: rjmp MAIN ;------------------------------ OVF0VECT: in temp1, SREG ; Store the Status register in reg temp1 dec Counter brne EX_OVF0VECT ldi Counter, 4 ; here's approx 1sec delay tst PulseFlag breq CLRPINB0 dec PulseFlag mov temp3, PulseFlag andi temp3, 1 breq CLRPINB0 sbi PORTB, PINB0 rjmp EX_OVF0VECT CLRPINB0: cbi PORTB, PINB0 EX_OVF0VECT: out SREG, temp1 ; Restore Status register reti ;------------------------------ INT0VECT: in temp2, SREG ; Store the Status register in reg temp2 tst PulseFlag brne EX_INT0VECT ldi PulseFlag, 4 EX_INT0VECT: out SREG, temp2 ; Restore Status register reti ;------------------------------ NOVECT: reti 8<----8<----8<----8<----8<----8<----8<----8<---- 4-я нога - земля, 8-я нога - питание, на 6-ю ногу через резисторный делитель подать сигнал вкл/выкл заднего хода, с 5-й ноги снимать импульсы. Итого - 3 детали :-) два резистора, одна микросхема (всего о восьми ногах), а не куча логики. |
Цитата:
программу сам написал? где взять программатор?:dntknw: |
Вложений: 1
Там писать нечего. ;-)
Программатор на COM порт: |
Вложений: 1
Но, сначала исходник надо скомпилировать. Я использовал VMLAB.
Потом уже заливать объектный код в микроконтроллер. Я использую программу uniprof. Здесь уже готовый для заливки скомпилированный объектный код: |
а в программе можно будет подправить длинну импульсов и длительность паузы между ними?
|
Часовой пояс GMT +4, время: 23:34. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot