реклама на сайте
подробности

 
 
17 страниц V  « < 11 12 13 14 15 > »   
Reply to this topicStart new topic
> tiny2313 & mega8, посоветуйте плз
freux
сообщение Dec 11 2006, 16:47
Сообщение #181


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 7-02-05
Пользователь №: 2 473



Цитата(Terapefft @ Dec 9 2006, 13:10) *
сначала в первом цикле прерывание сразу срабатывает диод загорается, а во втором уже не срабатывает, а срабатывает только когда из цикла выйдешь...почему так???


Еще раз,
Прерывание от INT1 разрешается
ldi rin,0b10000000
out gicr,rin

в "массе" кода с коментариями:
..включить двигатель
..включить тормоз
..сводим губки
.. еще губки, и т.д.

больше нигде в GICR разрешение INT1 не заносится
Это так задуманно? Ведь в самом INT1 прерывании оно запрещается занесением в GICR нуля
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 11 2006, 16:54
Сообщение #182


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Вопрос по датчику: "нагрузка" это чё открытый коллектор?
Вопрос по "диоду": к какому порту(ножке) и как он подключен? И приводи только часть кода, где он включается\выключается.


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 11 2006, 17:12
Сообщение #183


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



Цитата(Wild007 @ Dec 11 2006, 16:54) *
Вопрос по датчику: "нагрузка" это чё открытый коллектор?
Вопрос по "диоду": к какому порту(ножке) и как он подключен? И приводи только часть кода, где он включается\выключается.

да нагрузка это открытый ключ. При подключении использовал резистор на 10 кОм и стабилитрон КС156А.
Вот в п/п я включаю светодиод:

cnt_int1:

push rin
in rin1,sreg ; çàïîìíèòü ðåãèñòð ñîñòîÿíèÿ
push rin1

sbr svet,0b00010000 ; светить Т1
; inc cntdat
; cpi cntdat,$02
; brne NNN


ldi radr,doza_0; отключить насос
rcall decod
sbr reg_flgs,0b00000001 ;
clr cntdat

clr rin
out gicr,rin


;NNN:
pop rin1 ;
out sreg,rin1
pop rin

reti


только к ноге PD3 подсоединяется
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 11 2006, 17:29
Сообщение #184


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Ну дык если это открытый коллектор, то подключение должно быть: с "выхода" резистор на +5В и "выход" через 100-500 Ом на PD3 (для ограничения тока), плюс два диода для защиты входа.

Но твоя "конструкция":
Код
sbr svet,0b00010000; светить Т1
; inc cntdat
; cpi cntdat,$02
; brne NNN
ldi radr,doza_0; отключить насос
rcall decod
sbr reg_flgs,0b00000001;
clr cntdat

если загорелся "диод", то и насос должен выключиться:
Код
ldi radr,doza_0; отключить насос

Значит что-то неправильно с этим LDI
А в конце -- там полное выключение smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 11 2006, 17:42
Сообщение #185


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



просто у нас также индуктивный датчик двери подключался, поэтому я решил не парится и подключил его также smile.gif вот тока мне непонятно почему же все таки диод загорается а насос не выключается...
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 12 2006, 09:43
Сообщение #186


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата(Terapefft @ Dec 11 2006, 16:42) *
просто у нас также индуктивный датчик двери подключался, поэтому я решил не парится и подключил его также smile.gif вот тока мне непонятно почему же все таки диод загорается а насос не выключается...

Если код
Код
ldi radr,doza_0; отключить насос
rcall decod

ты считаешь, что работает неправильно, то повесь светодиод на выход порта B, который управляет насосом, и посмотри -- он должен переключиться.
В п\п decod опять есть CLI, но нет SEI.


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 10:57
Сообщение #187


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



из decod я убрал cli, сейчас попробовал просто без прерывания выключить насос пораньше в рабочем цикле, но он почему то все равно выключается после всего цикла, а включение я пробовал переставлять - получается нормально (в каком месте цикла поставлю, там и включаются). А вот выключение непонятно почему где его не ставь все равно выключается в конце, из за чего это происходить может???
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 12 2006, 11:03
Сообщение #188


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



А на выходе порта B, который управляет насосом, чё происходит?


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 11:48
Сообщение #189


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



там видимо дело не в порте В, к нему подключен дешифратор, с порта В на него идет адреса, и включается нужный дешифратор. Дело видимо в том, что в программе предусмотрено отключение насоса если он не достигнет датчика, после некоторого времени . Раньше же эта прога управляла клапаном, а на нем было два датчика (на 0,5 и на 1 литр)

обработка сигналов с этих датчиков происходит видимо в п/п delay
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 12 2006, 12:07
Сообщение #190


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Я сейчас посмотрел в Студии п\п delay
Цитата
обработка сигналов с этих датчиков происходит видимо в п/п delay

не вдимо, а точно.
Цитата
там видимо дело не в порте В, к нему подключен дешифратор, с порта В на него идет адреса,

похоже что так. Надо разобраться с алгоритмом работы дешифратора и переписать delay


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 13:59
Сообщение #191


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



тут вот еще проблема, если в п/п я отключаю насос, то у меня если я сразу вначале цикла замкну и не буду до конца размыкать то насос не включится, а это не есть гуд sad.gif как можно сделать штоб он по любому включался независимо от состояния датчика (ведь он при вращении насоса может остановится как на "дырке" так в замкнутом состоянии) ??? п/п delay нужно переделать штоб она опрашивала мой индуктивный датчик???
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 12 2006, 14:29
Сообщение #192


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата(Terapefft @ Dec 12 2006, 12:59) *
тут вот еще проблема, если в п/п я отключаю насос, то у меня если я сразу вначале цикла замкну и не буду до конца размыкать то насос не включится,

Как только мотор выключился, то надрбность в прерывании пропадает. Значит, сразу после команды остановки мотора, запрещаем прерывания до следующего включения двигателя, тогда ОПЯТЬ разрешаем прерывание, остановили двигатель -- запретили и т.д.
Цитата
как можно сделать штоб он по любому включался независимо от состояния датчика (ведь он при вращении насоса может остановится как на "дырке" так в замкнутом состоянии) ???

А это настройка прерывания по фронтам или уровню.
Цитата
п/п delay нужно переделать штоб она опрашивала мой индуктивный датчик???

Я всё же думаю, что кроме п\п delay надо переопределить таблицу:
Код
    .equ    dvig_1    =0b00101000;+ OT1 DD2
    .equ    torm_1    =0b00101011;+ OT4 DD2
    .equ    doza_1    =0b00101100;+ OT5 DD2
    .equ    dat_1    =0b00101101;+ OT6 DD2
    .equ    gprod_1    =0b00101110;+ OT7 DD2
    .equ    gpop_1    =0b00101111;+ OT8 DD2
    .equ    pc1_1    =0b00101001;+ OT2 DD2
    .equ    nprod_1    =0b00011100;+ OT13 DD3
    .equ    dater_1    =0b00011010;+-OT11 DD3 Ïðîãð, íî íå èñï
    .equ    npop_1    =0b00011011;+ OT12 DD3
    .equ    gotov_1    =0b00011001;- OT10 DD3
    .equ    ozon_1    =0b00011000;- OT9 DD3
    .equ    metka_0    =0b00011110;- OT14 DD3
;

    .equ    dvig_0    =0b00100000;+ OT1 DD2
    .equ    torm_0    =0b00100011;+ OT4 DD2
    .equ    doza_0    =0b00100100;+ OT5 DD2
    .equ    dat_0    =0b00100101;- OT6 DD2
    .equ    gprod_0    =0b00100110;+ OT7 DD2
    .equ    gpop_0    =0b00100111;+ OT8 DD2
    .equ    pc1_0    =0b00100001;+ OT2 DD2
    .equ    nprod_0    =0b00010100;+ OT13 DD3
    .equ    dater_0    =0b00010010;+-OT11 DD3 Ïðîãð, íî íå èñï
    .equ    npop_0    =0b00010011;+ OT12 DD3
    .equ    gotov_0    =0b00010001;- OT10 DD3
    .equ    ozon_0    =0b00010000;- OT9 DD3
    .equ    metka_1    =0b00010110;- OT14 DD3

Это таблица команд дешифратора и в ней присутствуют ничего не говорящие постороннему человеку символы типа ОТ9, ОТ14. Что они обозначают для меня загадка smile.gif. Но твоя проблема с включением и выключением двигателя скрыта (ИМХО) в этой таблице smile.gif .

Сообщение отредактировал Wild007 - Dec 12 2006, 14:30


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 14:44
Сообщение #193


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



от 9 и от14 не используются. А если у меня допустим в п/п загорается диод, я потом запрещаю прерывание, то он должен гаснуть? просто он у меня как загорится и горит потом постояно

у меня прерывание сейчас настроено по спадающему фронту
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 12 2006, 14:48
Сообщение #194


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата(Terapefft @ Dec 12 2006, 13:44) *
А если у меня допустим в п/п загорается диод, я потом запрещаю прерывание, то он должен гаснуть? просто он у меня как загорится и горит потом постояно

Для того чтобы "диод" выключился надо его, как минимум, выключить какой-то командой (или выключить питание smile.gif smile.gif smile.gif )

Сообщение отредактировал Wild007 - Dec 12 2006, 14:49


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 15:01
Сообщение #195


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



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

вот у меня в п/п стоит

ldi radr,doza_0;
rcall decod
sbr reg_flgs,0b00000001 ;
; clr cntdat

clr rin
out gicr,rin
Go to the top of the page
 
+Quote Post

17 страниц V  « < 11 12 13 14 15 > » 
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 12:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.08061 секунд с 7
ELECTRONIX ©2004-2016