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

 
 
> tiny2313 & mega8, посоветуйте плз
Terapefft
сообщение Nov 10 2006, 08:54
Сообщение #1


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

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



Доброго времени суток господа!!
Подскажите пожалуйста начинающему....Передо мной стоит задача следующего характера: в оборудовании имеется плата индикации (на ней стоит tiny2313) и плата управления (на ней mega8). Недавно я переделывал прогу для тини2313 (раньше там использовался s1200). Сейчас стоит задача переделать немного прогу на мегу8....
Сейчас она управляет клапаном, т.е. при достижении клапаном определеного датчика (на 0,5 литра или на 1 л), он возвращается обратно, дозируя тем самым необходимое количество жидкости. Но теперь необходимо просто поставить насос (сигнал с платы идет на частотник, а насос подключен к нему), который будет дозировать следующим образом: включатся на некоторый промежуток времени (который можно будет изменять) и выключатся. Алгоритм работы я представляю: нужен регистр в который будет сохранятся введеное значение с платы индикации, потом это значение должно попасть в счетчик, и в самой програме после выставления флага на включение насоса перейти на ПП обработки прерывания для выдержания насоса во включеном состоянии нужное количество времени. Посоветуйте пожалуйста как это все лучше сделать... Вот исходник проги для платы управления
Прикрепленные файлы
Прикрепленный файл  avtomat.txt ( 69.4 килобайт ) Кол-во скачиваний: 112
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Terapefft
сообщение Nov 10 2006, 11:22
Сообщение #2


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

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



2 Dog Pawlowa я прекрасно понимаю что не достаточно мне еще опыта, но к сожалению мое начальство это мало интересует...тем более что в нашей фирме эту тему больше некому поручить. Я тут недавно мучался с тини2313, переделывал под них проги...но с ними как то попроще было...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Nov 10 2006, 11:46
Сообщение #3


Гуру
******

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



Цитата(Terapefft @ Nov 10 2006, 14:22) *
2 Dog Pawlowa я прекрасно понимаю что не достаточно мне еще опыта, но к сожалению мое начальство это мало интересует...тем более что в нашей фирме эту тему больше некому поручить.

Ну, повезло значит. Так лучше, чем просто штаны просиживать :-)
Попробуйте все-таки начать с проектирования сверху вниз - то есть определить функции двух блоков и их взаимодействие. Поверьте, таймеры и программа - это абсолютно неважно на этом этапе. В большинстве моих приборов работает прерывание таймера с частотой 1 кГц, и его период 1 мс вполне достаточен для точности задания времени. Аппаратный таймер не нужен. Попробуйте написать такой фрагмент программы.

Сообщение отредактировал Dog Pawlowa - Nov 10 2006, 11:48


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Nov 10 2006, 14:27
Сообщение #4


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

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



Цитата(Dog Pawlowa @ Nov 10 2006, 14:46) *
Цитата(Terapefft @ Nov 10 2006, 14:22) *

2 Dog Pawlowa я прекрасно понимаю что не достаточно мне еще опыта, но к сожалению мое начальство это мало интересует...тем более что в нашей фирме эту тему больше некому поручить.

Ну, повезло значит. Так лучше, чем просто штаны просиживать :-)
Попробуйте все-таки начать с проектирования сверху вниз - то есть определить функции двух блоков и их взаимодействие. Поверьте, таймеры и программа - это абсолютно неважно на этом этапе. В большинстве моих приборов работает прерывание таймера с частотой 1 кГц, и его период 1 мс вполне достаточен для точности задания времени. Аппаратный таймер не нужен. Попробуйте написать такой фрагмент программы.

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

ldi rin4, 0b00000111;
out tccr2, rin4;
ldi rin4, $3c;
out tcnt2, rin4;

ldi rin4, 0b01000000;
out timsk, rin4;

а вот как сделать так чтобы время включения насоса менять можно было бы?
вот на всякий случай прога для ПИ
Прикрепленные файлы
Прикрепленный файл  ind.txt ( 12.2 килобайт ) Кол-во скачиваний: 91
 
Go to the top of the page
 
+Quote Post
slog
сообщение Nov 10 2006, 14:46
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 28-11-05
Пользователь №: 11 489



Я сильно не разбирался с твоей программой, так просто взглянул.
Вот что заметил сразу:

;-----------------------------------------------------------------------
; подпрограмма перевода числа в диапазоне 0 - 15 в код семисегментного
; индикатора числам от 10 до 15 соответствует код от A до F

Вот это вообще-то по таблице делать лучше


--------------------
В действительности всё не так, как на самом деле.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Nov 11 2006, 20:26
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(slog @ Nov 10 2006, 17:46) *
Я сильно не разбирался с твоей программой, так просто взглянул.
Вот что заметил сразу:

;-----------------------------------------------------------------------
; подпрограмма перевода числа в диапазоне 0 - 15 в код семисегментного
; индикатора числам от 10 до 15 соответствует код от A до F

Вот это вообще-то по таблице делать лучше


biggrin.gif

Видал я линейных программистов, но чтобы до такой степени. blink.gif

Если таблицей(согласно 'slog'), то на асме это делается так (wl = 0-15):

ldi Zl,low(TablHex*2)
ldi Zh,high(TablHex*2)
add Zl,wl ; определить смещение
adc Zh,Vol0
lpm wl,Z ; найти истинный код символа
...
TablHex:
.db $30, $31, $32, $33, $34, $35, $36, $37
.db $38, $39, $41, $42, $43, $44, $45, $46

(таблица другая)
Банально, правда?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Terapefft   tiny2313 & mega8   Nov 10 2006, 08:54
- - Семён   Цитата(Terapefft @ Nov 10 2006, 11:54) До...   Nov 10 2006, 10:13
- - Dog Pawlowa   Цитата(Terapefft @ Nov 10 2006, 11:54) По...   Nov 10 2006, 10:53
||- - Dog Pawlowa   Цитата(Terapefft @ Nov 10 2006, 17:27) Я ...   Nov 10 2006, 19:19
||- - Terapefft   Цитата(Dog Pawlowa @ Nov 10 2006, 22:19) ...   Nov 13 2006, 06:07
||- - Семён   Цитата(Terapefft @ Nov 13 2006, 09:07) На...   Nov 13 2006, 07:51
|- - Семён   Цитата(Terapefft @ Nov 10 2006, 14:22) Я ...   Nov 10 2006, 11:47
||- - Terapefft   Цитата(Семён @ Nov 10 2006, 14:47) Цитата...   Nov 10 2006, 12:18
|- - Kovrov   Цитата(Terapefft @ Nov 10 2006, 15:22) но...   Nov 12 2006, 14:26
- - defunct   Terapefft Писали бы такого рода программы на C.. О...   Nov 11 2006, 23:24
- - vesago   Несомненное есть и такое. Но имхо - это маразм. В ...   Nov 12 2006, 14:45
|- - SasaVitebsk   Цитата(vesago @ Nov 12 2006, 17:45) Несом...   Nov 12 2006, 14:57
- - Terapefft   а вот как сделать так чтобы значение введеное с пл...   Nov 13 2006, 09:49
|- - Wild007   Цитата(Terapefft @ Nov 13 2006, 11:49) а ...   Nov 13 2006, 09:59
|- - Семён   Цитата(Terapefft @ Nov 13 2006, 12:49) а ...   Nov 13 2006, 10:07
- - Terapefft   Я вроде сделал в меню параметр который будет контр...   Nov 15 2006, 12:24
|- - Wild007   Цитата(Terapefft @ Nov 15 2006, 14:24) Я ...   Nov 15 2006, 12:30
- - Terapefft   вот исходник который я уже пытался переделать во...   Nov 15 2006, 12:53
- - Wild007   Стандартная ошибка: timer2: ldi rin,0b00000111 ...   Nov 15 2006, 13:33
- - Terapefft   просто это мой первый болеменее серъезный проект ...   Nov 15 2006, 13:53
|- - Wild007   Цитата(Terapefft @ Nov 15 2006, 15:53) пр...   Nov 15 2006, 14:15
- - Wild007   И в догонку: Студия имеет хорошие возможности для ...   Nov 15 2006, 14:28
- - Terapefft   я вот вчера вечером еще раз переделал прогу, попро...   Nov 16 2006, 08:04
- - Wild007   Ну попорядку: .def d =r0 ;R0 не желателно использо...   Nov 16 2006, 09:25
- - Terapefft   переделал все, прошил контролер, поставил на плату...   Nov 16 2006, 13:12
|- - Dog Pawlowa   Цитата(Terapefft @ Nov 16 2006, 16:12) пе...   Nov 16 2006, 13:47
|- - Wild007   Цитата(Terapefft @ Nov 16 2006, 15:12) пе...   Nov 17 2006, 06:58
- - Terapefft   2 Dog Pawlowa спасиба Вам за дельный совет....пове...   Nov 16 2006, 13:59
- - Terapefft   за меня не надо ваять проект, я просто хочу понять...   Nov 16 2006, 14:10
- - Terapefft   а сейчас возникла очередная проблема даже при отк...   Nov 17 2006, 09:05
|- - Wild007   Цитата(Terapefft @ Nov 17 2006, 11:05) а ...   Nov 17 2006, 09:17
|- - Alex_Pol   Цитата(Wild007 @ Nov 17 2006, 11:17) Т.е....   Nov 17 2006, 10:52
- - Terapefft   ну я думаю эту проблему я решу, главное со вторым ...   Nov 17 2006, 09:47
|- - Wild007   Цитата(Terapefft @ Nov 17 2006, 11:47) ну...   Nov 17 2006, 10:15
- - Terapefft   дык яб с удовольствием тока где его достать таког...   Nov 17 2006, 10:25
|- - Wild007   Цитата(Terapefft @ Nov 17 2006, 12:25) ды...   Nov 17 2006, 10:30
- - Terapefft   вроде все исправил, теперь работает нормально, инд...   Nov 17 2006, 11:20
|- - Wild007   Цитата(Terapefft @ Nov 17 2006, 13:20) вр...   Nov 17 2006, 11:28
- - Terapefft   так я и говорю что без него теперь все нормально р...   Nov 17 2006, 11:49
|- - Wild007   Цитата(Terapefft @ Nov 17 2006, 13:49) та...   Nov 17 2006, 11:57
- - Terapefft   щас попробовал, все равно плата индикации не свети...   Nov 17 2006, 12:11
|- - singlskv   Цитата(Terapefft @ Nov 17 2006, 15:11) ща...   Nov 17 2006, 13:37
- - Terapefft   во засветился ))) осталось теперь сделать так чтоб...   Nov 17 2006, 14:31
|- - yung   Извиняюсь за offtop, не "Эльф-4М" в очер...   Nov 18 2006, 21:19
- - Terapefft   2 yung имено так )) попал блин под расдачу...   Nov 20 2006, 09:06
- - Terapefft   Я вот тут посидел подумал и у меня возник вопрос: ...   Nov 20 2006, 14:01
|- - Wild007   Цитата(Terapefft @ Nov 20 2006, 13:01) Я ...   Nov 20 2006, 14:50
- - Terapefft   что то я не совсем понял, судя по этому: SBR FLAG,...   Nov 20 2006, 15:29
- - Wild007   Ну да! Я тебе про это несколько постов назад г...   Nov 20 2006, 15:43
- - Terapefft   понятно а подскажите пожалуста как и ОЗУ в ППЗУ с...   Nov 20 2006, 16:13
|- - Wild007   Цитата(Terapefft @ Nov 20 2006, 15:13) по...   Nov 20 2006, 16:19
- - Terapefft   из RAM в EEPROM   Nov 20 2006, 16:24
|- - Wild007   Цитата(Terapefft @ Nov 20 2006, 15:24) из...   Nov 20 2006, 16:38
- - Terapefft   просто вот здесь вот считываются уставки с 60 по 6...   Nov 20 2006, 17:19
- - Wild007   Извини срочно уезжаю на объект. Посмотрю и отвечу ...   Nov 20 2006, 17:23
- - Wild007   В решение с флагом TIMER_2 вкраась существенная ош...   Nov 21 2006, 09:57
- - Terapefft   и еще один вопросик...судя вот по этому: ...   Nov 21 2006, 09:58
|- - Wild007   Цитата(Terapefft @ Nov 21 2006, 08:58) и ...   Nov 21 2006, 10:25
- - Terapefft   то есть грубо говоря допустим есть у меня таймер2 ...   Nov 21 2006, 11:08
- - Wild007   ldi rin,TNASOS ewrite: sbic eecr,eewe rjmp ewrite ...   Nov 21 2006, 11:30
- - Terapefft   вот я сделал отключение насоса в счетчике2: timer2...   Nov 21 2006, 13:24
|- - Wild007   Цитата(Terapefft @ Nov 21 2006, 12:24) во...   Nov 21 2006, 14:30
- - Terapefft   ну а как же тогда сделать???   Nov 21 2006, 15:29
- - Wild007   Смотри два поста назад: Цитата(Wild007 @ Nov...   Nov 21 2006, 15:34
- - Terapefft   ну вот мне надо выдержать 1 секунду, я заношу в ri...   Nov 21 2006, 15:45
|- - Wild007   Цитата(Terapefft @ Nov 21 2006, 14:45) ну...   Nov 21 2006, 16:00
- - Terapefft   как нить вот так: timer2: push rin push rin1 l...   Nov 21 2006, 16:32
- - Wild007   Нет, что-то такое: MAIN_LOOP: ....... SBRC FLAG,MO...   Nov 21 2006, 17:04
- - Terapefft   сейчас сделал так как Вы сказали, но теперь он воб...   Nov 21 2006, 17:50
- - Terapefft   вернее насос только включается но не выключается п...   Nov 22 2006, 09:19
- - Wild007   Можно еще так: ..... SBRS REG_FLAG,FDOZ RJMP rrr...   Nov 22 2006, 09:51
- - Terapefft   теперь вобще не работает.....   Nov 22 2006, 10:35
- - Terapefft   то есть цикл идет а насос не включается   Nov 22 2006, 10:56
- - Terapefft   я вот щас попробовал еще раз так как вы мне вчера ...   Nov 22 2006, 11:58
|- - Wild007   Цитата(Terapefft @ Nov 22 2006, 10:58) я ...   Nov 22 2006, 12:23
|- - Семён   Сразу скажу, что не смотрел ваш код, но с подобным...   Nov 22 2006, 12:33
- - Terapefft   сегодня переделал все очередной раз, насос включае...   Nov 23 2006, 13:37
|- - singlskv   Цитата(Terapefft @ Nov 23 2006, 13:37) се...   Nov 23 2006, 14:35
- - Terapefft   пробовал уже, все равно не помогает. причем когда ...   Nov 23 2006, 14:59
|- - Wild007   Цитата(Terapefft @ Nov 23 2006, 13:59) пр...   Nov 24 2006, 09:32
- - Terapefft   я уже щас попробовал убрать почти все CLI все равн...   Nov 24 2006, 13:14
|- - Wild007   Цитата(Terapefft @ Nov 24 2006, 12:14) я ...   Nov 24 2006, 14:27
|- - Dog Pawlowa   Цитата(Wild007 @ Nov 24 2006, 14:27) За т...   Nov 24 2006, 17:47
||- - Wild007   Цитата(Dog Pawlowa @ Nov 24 2006, 16:47) ...   Nov 27 2006, 10:04
||- - Dog Pawlowa   Цитата(Wild007 @ Nov 27 2006, 10:04) Я сч...   Nov 27 2006, 10:25
||- - Wild007   Цитата(Dog Pawlowa @ Nov 27 2006, 09:25) ...   Nov 27 2006, 10:41
|- - singlskv   Цитата(Wild007 @ Nov 24 2006, 14:27) За т...   Nov 24 2006, 23:21
- - Terapefft   2 singlskv харашо ) попробую....только с этой про...   Nov 27 2006, 08:53
|- - Dog Pawlowa   Цитата(Terapefft @ Nov 27 2006, 08:53) 2 ...   Nov 27 2006, 09:52
- - Terapefft   уже начал.....внутренняя политика компании оставля...   Nov 27 2006, 10:00
- - Terapefft   Оборудование будет работать нормально, просто возь...   Nov 27 2006, 11:32
|- - Семён   ИМХО: Попробуйте объяснить начальству, что бы сдел...   Nov 27 2006, 11:47
- - Terapefft   я тут пробовал испытывать оборудование, работает в...   Nov 28 2006, 11:24
- - Wild007   Цитата(Terapefft @ Nov 28 2006, 10:24) я ...   Nov 28 2006, 12:10
- - Alex_Pol   Цитата(Terapefft @ Nov 28 2006, 10:24) Пр...   Nov 28 2006, 12:47
3 страниц V   1 2 3 >


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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