www.horizontautomatics.ru

Программирование, автоматизация.

Новые блоки .

Модератор: Евгений

Re: Новые блоки .

Сообщение mush25 » 23 окт 2018, 15:10

Спасибо , начинаю проверку .
Не работает .работает как кнопка , при подаче лог 1 на вых лог 1 .При подаче лог 0 на вых лог 0
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Re: Новые блоки .

Сообщение mush25 » 27 окт 2018, 17:51

mush25 писал(а):Женя в блоке разработки есть такой же (TON ) там тоже глючит , я тупо поменял исправленный исходник всё стало ок . Поменяй там код тоже и выложи на обновл.

Женя ты исправил у этого блока код ?
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Re: Новые блоки .

Сообщение mush25 » 28 окт 2018, 20:33

Народ ждёт тебя !!! Особенно Я ! Женя вообщем я устал ждать , взял образец блока Ftrig и исправил блок FRTrig (не было вот этой строчки " mov B, Uz1L" ). После исправления начал работать как надо , проверь исходник если я всё сделал правильно выложи на обновление .
Вложения
стало.inc
(831 байт) Скачиваний: 27
было.inc
(818 байт) Скачиваний: 28
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Re: Новые блоки .

Сообщение mush25 » 29 окт 2018, 06:52

Сегодня заметил проблему с блоком . При старте , запуске , инициализации блока выдает одиночный импульс , как его убрать ? Что дописать или исправить чтобы ждал команды на входе .
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Re: Новые блоки .

Сообщение Прохожий » 29 окт 2018, 15:02

Привет!!! А как смотришь? Прямо с бока на выход контроллера низкий уровень приходит? Тогда, да. Нога у контроллера по любому дрыганёнется после рестарта. Конструктивная особенность железа. Поэтому все ответственные проекты имеют сразу высокий уровень на выходе, что бы никакие реле или механизмы не теребонькнулись. Поставь перед выходом интвертор "не" и танцуй уже от высокого уровня. Там точно будешь знать в этом причина или нет :)
"Attiny 85 из Atmega328P сделать совсем не сложно, достаточно просто откусить лишние ноги!"
Прохожий
 
Сообщения: 368
Зарегистрирован: 21 май 2016, 06:23

Re: Новые блоки .

Сообщение mush25 » 29 окт 2018, 16:35

Привет , смотрю осликом . В том то и дело что "не" не поможет потому что датчик ( вибродатчик ) с которого я буду брать сигнал может находиться в любом состоянии Н.З или Н.Р. Сейчас подстраиваю схему на принцип работы чтобы датчик всегда был замкнут ( лог 0 ) . Тогда при включении если "лог 0" импульса нету . А пока терпеливо жду когда наш гуру выйдет на связь . В наше время самое дорогое время .
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Re: Новые блоки .

Сообщение mush25 » 16 ноя 2018, 20:18

9 . Сделать блок ( как "блок пользователя в лог. элем" с возможностью добавить входы 1,2-8,9 при подаче на них лог 1 на выходе получить импульс с (регулировкой длительности если возможно ) блок для зуммера , звукового дублирования нажатия кнопок .

Ребята привет всем !
После долгих старании и мучений написал я код этого блока № 9 в СИ перевёл в ASM , вот что получилось ;

( единственное не могу пока разобраться и победить - что когда на любом из входов постоянно ЛОГ 1 то остальные входы не реагируют на входной сигнал . В принципе понимаю в чём дело, но пока не удаётся писать программу по другому с прерываниями и таймерами . )

Женя проверь по возможности и исправь код пожалуйста , а также добавь этот блок в тело программы .

#include <mega8.h>
#include <delay.h>
void main(void)
{

DDRB = 0x00;
PORTB = 0xff;

DDRC = 0x01;
PORTC = 0x00;

while (1)
{
if ((PINB.0==1) | (PINB.1==1) | (PINB.2==1) | (PINB.3==1) | (PINB.4==1) | (PINB.5==1) | (PINB.6==1) | (PINB.7==1))
{
PORTC = 0xFF;
delay_us(20);
PORTC = 0x00;
delay_us(20);
};

while (PINB) {}; // ждем отпускания кнопки
delay_ms(50);
}



;#include <mega8.h>
#ifndef __SLEEP_DEFINED__
#define __SLEEP_DEFINED__
.EQU __se_bit=0x80
.EQU __sm_mask=0x70
.EQU __sm_powerdown=0x20
.EQU __sm_powersave=0x30
.EQU __sm_standby=0x60
.EQU __sm_ext_standby=0x70
.EQU __sm_adc_noise_red=0x10
.SET power_ctrl_reg=mcucr
#endif
;#include <delay.h>
;void main(void)
; 0000 0004 {

.CSEG
_main:
; .FSTART _main
; 0000 0005
; 0000 0006 DDRB = 0x00;
LDI R30,LOW(0)
OUT 0x17,R30
; 0000 0007 PORTB = 0xff;
LDI R30,LOW(255)
OUT 0x18,R30
; 0000 0008
; 0000 0009 DDRC = 0x01;
LDI R30,LOW(1)
OUT 0x14,R30
; 0000 000A PORTC = 0x00;
LDI R30,LOW(0)
OUT 0x15,R30
; 0000 000B
; 0000 000C while (1)
_0x3:
; 0000 000D {
; 0000 000E if ((PINB.0==1) | (PINB.1==1) | (PINB.2==1) | (PINB.3==1) | (PINB.4==1) | (PINB.5==1) | (PINB.6==1) | (PINB.7==1) ...
LDI R26,0
SBIC 0x16,0
LDI R26,1
RCALL SUBOPT_0x0
MOV R0,R30
LDI R26,0
SBIC 0x16,1
LDI R26,1
RCALL SUBOPT_0x0
OR R0,R30
LDI R26,0
SBIC 0x16,2
LDI R26,1
RCALL SUBOPT_0x0
OR R0,R30
LDI R26,0
SBIC 0x16,3
LDI R26,1
RCALL SUBOPT_0x0
OR R0,R30
LDI R26,0
SBIC 0x16,4
LDI R26,1
RCALL SUBOPT_0x0
OR R0,R30
LDI R26,0
SBIC 0x16,5
LDI R26,1
RCALL SUBOPT_0x0
OR R0,R30
LDI R26,0
SBIC 0x16,6
LDI R26,1
RCALL SUBOPT_0x0
OR R0,R30
LDI R26,0
SBIC 0x16,7
LDI R26,1
RCALL SUBOPT_0x0
OR R30,R0
BREQ _0x6
; 0000 000F {
; 0000 0010 PORTC = 0xFF;
LDI R30,LOW(255)
RCALL SUBOPT_0x1
; 0000 0011 delay_us(20);
; 0000 0012 PORTC = 0x00;
LDI R30,LOW(0)
RCALL SUBOPT_0x1
; 0000 0013 delay_us(20);
; 0000 0014 };
_0x6:
; 0000 0015
; 0000 0016 while (PINB) {}; // ждем отпускания кнопки
_0x7:
IN R30,0x16
CPI R30,0
BRNE _0x7
; 0000 0017 delay_ms(50);
LDI R26,LOW(50)
LDI R27,0
RCALL _delay_ms
; 0000 0018 }
RJMP _0x3
; 0000 0019
; 0000 001A }
_0xA:
RJMP _0xA
; .FEND

.CSEG
;OPTIMIZER ADDED SUBROUTINE, CALLED 8 TIMES, CODE SIZE REDUCTION:5 WORDS
SUBOPT_0x0:
LDI R30,LOW(1)
RCALL __EQB12
RET

;OPTIMIZER ADDED SUBROUTINE, CALLED 2 TIMES, CODE SIZE REDUCTION:1 WORDS
SUBOPT_0x1:
OUT 0x15,R30
__DELAY_USB 53
RET

;RUNTIME LIBRARY

.CSEG
__EQB12:
CP R30,R26
LDI R30,1
BREQ __EQB12T
CLR R30
__EQB12T:
RET

_delay_ms:
adiw r26,0
breq __delay_ms1
__delay_ms0:
wdr
__DELAY_USW 0x7D0
sbiw r26,1
brne __delay_ms0
__delay_ms1:
ret

;END OF CODE MARKER
__END_OF_CODE:
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Re: Новые блоки .

Сообщение mush25 » 16 ноя 2018, 20:36

протеус
Вложения
00 зумер.DSN
(93.39 КБ) Скачиваний: 13
mush25
 
Сообщения: 142
Зарегистрирован: 05 июн 2018, 15:54

Пред.

Вернуться в Микроконтроллеры AVR

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron