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

 
 
17 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> tiny2313 & mega8, посоветуйте плз
Terapefft
сообщение Nov 17 2006, 12:11
Сообщение #46


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

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



щас попробовал, все равно плата индикации не светится sad.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 17 2006, 13:37
Сообщение #47


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Terapefft @ Nov 17 2006, 15:11) *
щас попробовал, все равно плата индикации не светится sad.gif

Код
;---------------    Timer0        --------------------------------------


    ldi    rin,0b00000001; Подключаем только Timer0
    out    timsk,rin; overflow timer0

;---------------    Timer2        --------------------------------------

    ldi    rin,0b01000000; Подключаем только Timer2
    out    timsk,rin; overflow timer2

Вот он Ваш еггор smile.gif
Если Вам необходимы прерывания всех трех таймеров, то
нужно написать один раз:
ldi rin,0b01000101
out timsk,rin
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Nov 17 2006, 14:31
Сообщение #48


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

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



во засветился smile.gif))) осталось теперь сделать так чтоб после выставления флага на включение насоса, выполнялось прерывание которое выдерживало бы насос во включеном состоянии..Займусь на выходных smile.gif))
Go to the top of the page
 
+Quote Post
yung
сообщение Nov 18 2006, 21:19
Сообщение #49


Местный
***

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



Извиняюсь за offtop, не "Эльф-4М" в очередной раз потеряло единственного инженера и теперь вновь принятый за все отдувается? По тематике похоже.
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Nov 20 2006, 09:06
Сообщение #50


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

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



2 yung имено так smile.gif)) попал блин под расдачу...
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Nov 20 2006, 14:01
Сообщение #51


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

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



Я вот тут посидел подумал и у меня возник вопрос: у меня же процесс включения насоса будет находится в одном цикле с процесами нагрева продольных и поперечных губок автомата, и следовательно если я после выставления флага на включение насоса, перейду на ПП поддержания насоса во включеном состоянии, то у меня сдвинется весь рабочий цикл на величину поддержания насоса во включеном состоянии ??? а это не есть гуд.... подскажите пожалуста возможные пути решения этой проблемы. И еще вопрос, вот у меня есть второй счетчик

timer2:
push rin
ldi rin,$3c ; $3c=60
out tcnt2,rin ;
ldi rin,TNASOS ;
prov:

dec rin
cpi rin,0
brne prov
pop rin

reti
Как сделать так чтобы в рабочем цикле после включения насоса выдерживалось время TNASOS с помощью этого счетчика???
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 20 2006, 14:50
Сообщение #52


Местный
***

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



Цитата(Terapefft @ Nov 20 2006, 13:01) *
Я вот тут посидел подумал и у меня возник вопрос: у меня же процесс включения насоса будет находится в одном цикле с процесами нагрева продольных и поперечных губок автомата, и следовательно если я после выставления флага на включение насоса, перейду на ПП поддержания насоса во включеном состоянии, то у меня сдвинется весь рабочий цикл на величину поддержания насоса во включеном состоянии ??? а это не есть гуд.... подскажите пожалуста возможные пути решения этой проблемы. И еще вопрос, вот у меня есть второй счетчик

timer2:
push rin
ldi rin,$3c ; $3c=60
out tcnt2,rin ;
ldi rin,TNASOS ;
prov:

dec rin
cpi rin,0
brne prov
pop rin

reti
Как сделать так чтобы в рабочем цикле после включения насоса выдерживалось время TNASOS с помощью этого счетчика???

Выставить в прерывании флаг, типа
SBR FLAG,1<<timer_2
а в рабочий цикл, типа
SBRS FLAG,timer_2
RJMP <метка>
ldi rin,TNASOS ;
prov:

dec rin
cpi rin,0
brne prov
<метка>
и будет тебе счастье smile.gif smile.gif
А возможные пути решения этой проблемы... Возми бумажку и нарисуй какой алгоритм тебя устраивает и по нему пиши програму.

Сообщение отредактировал Wild007 - Nov 20 2006, 14:58


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


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

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



что то я не совсем понял, судя по этому:
SBR FLAG,1<<timer_2
это мне надо какому нить свободному регистру назначить имя flag, а timer_2 будет в нем просто битом ??? и вставить эту строку в процедуру обработки прерываний от таймера2 как нить так? :
timer2:
push rin

ldi rin,$3c ; $3c=60
out tcnt2,rin ;
sbr Flag,1<<timer_2
pop rin ;
reti


А рабочий цикл тогда получится будет таким ?:
.....................

sbr svet,0b00010000 ; светить Т1
ldi rin,0 ; включить поперечный нагрев
rcall nagr ;
rcall delay ; выдерживаем вермя для заварки Т1

ldi radr,doza_1 ; дозатор на всасывание
rcall decod ;
cbr reg_flgs,0b00000001 ; флаг на начало всасывания
SBRS Flag,timer_2
RJMP M10
ldi rin,TNASOS ;
prov:

dec rin
cpi rin,0
brne prov


M10:

cbr svet,0b00010000 ;погасить Т1
sbr svet,0b00100000 ; светить Т2

.......................................
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 20 2006, 15:43
Сообщение #54


Местный
***

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



Ну да! Я тебе про это несколько постов назад говорил biggrin.gif .


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


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

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



понятно smile.gif а подскажите пожалуста как и ОЗУ в ППЗУ считать (мне надо значение TNASOS считать из ячейки $77 ) ???
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 20 2006, 16:19
Сообщение #56


Местный
***

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



Цитата(Terapefft @ Nov 20 2006, 15:13) *
понятно smile.gif а подскажите пожалуста как и ОЗУ в ППЗУ считать (мне надо значение TNASOS считать из ячейки $77 ) ???

Не совсем понял вопрос? Из EEPROM в RAM или как?


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


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

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



из RAM в EEPROM
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 20 2006, 16:38
Сообщение #58


Местный
***

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



Цитата(Terapefft @ Nov 20 2006, 15:24) *
из RAM в EEPROM

LDI ZL,LOW(метка на переменную)
LDI ZH,hi(метка на переменную)
LPM ; и в R0 имеешь свою переменную.
....
Assembly Code Example
EEPROM_write:
; Wait for completion of previous write
sbic EECR,EEWE
rjmp EEPROM_write
; Set up address (r18:r17) in address register
out EEARH, r18
out EEARL, r17
; Write data (r16) to data register
out EEDR,r16
; Write logical one to EEMWE
sbi EECR,EEMWE
; Start eeprom write by setting EEWE
sbi EECR,EEWE
ret
Это из любого DS/


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


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

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



просто вот здесь вот считываются уставки с 60 по 67-й адрес из ОЗУ в ППЗУ
ozu_pzu:
clr zh ;
clr zl ;
cli
ewrite:
sbic eecr,eewe ;
rjmp ewrite ;
out eearh,zh ;
out eearl,zl ;
subi zl,$A0 ;мне
ld rin,z ;вот эта
subi zl,$5F ;часть не понятна
out eedr,rin ;
sbi eecr,eemwe ;
sbi eecr,eewe ;
nop
nop
nop
cpi zl,24 ; и вот здесь причем тут 24?
brne ewrite ;
ret ;

может просто вот так сделать? (чтоб с 77-й ячейки считать) :
ozu_pzu:
clr zh ;
clr zl ;
cli
ewrite:
sbic eecr,eewe ;
rjmp ewrite ;
ldi zl,LOW(TNASOS) ;
ldi zh,HI(TNASOS)
ld rin,z ;
out eedr,rin ;
sbi eecr,eemwe ;
sbi eecr,eewe ;
brne ewrite ;
ret
Go to the top of the page
 
+Quote Post
Wild007
сообщение Nov 20 2006, 17:23
Сообщение #60


Местный
***

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



Извини срочно уезжаю на объект. Посмотрю и отвечу только завтра.


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post

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

 


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


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