роботы робототехника микроконтроллеры


 Страниц (7): « 1 2 3 4 5 6 [7]   

> Описание: Нужна помощь по программированию
sibiryak Post Id



Главнокомандующий


Сообщений всего: 248
Дата рег-ции: Февр. 2011  



.nolist
.include "m8def.inc" ; Header for ATMEGA8
.list

.def rmp = R20 ; Multipurpose register
.def pos = r19 ; posizia
.def flag = r16; flag impulsa
.dseg
.org 0X0060
.cseg
.org $0000
rjmp Main ; Reset vector
rjmp EXT_INT0; Int vector 1
reti ; Int vector 2
reti ; Int vector 3
reti ; Int vector 4
reti ; Int vector 5
reti ; Int vector 6
reti ; Int vector 7
reti ; Int vector 8
reti ; Int vector 9
reti ; Int vector 10
reti ; Int vector 11
reti ; Int vector 12
reti ; Int vector 13
reti ; Int vector 14
reti ; Int vector 15
reti ; Int vector 16
reti ; Int vector 17
reti ; Int vector 18
EXT_INT0:
cli
ldi flag,0b00000001
sei
reti
Main:
; Init stack
ldi rmp, HIGH(RAMEND) ; Init MSB stack
out SPH,rmp
ldi rmp, LOW(RAMEND) ; Init LSB stack
out SPL,rmp
; Init Port c
ldi rmp,0b00001111 ; Direction Port c
out DDRc,rmp
ldi rmp,0b11110000
out portc,rmp
ldi rmp,0b0
out ddrd,rmp

ldi pos,0b11110001
ldi flag,0b00000000


ldi rmp, 1<<ISC01 ;po spadu 1-0
out MCUCR,rmp
ldi rmp, 1<<INT0 ;razreschim int0
out GIMSK,rmp
sei
Loop:
cpi flag, 1
brne loop
out portc,pos
ldi R17, $3F
WGLOOP0: ldi R18, $F
WGLOOP1: dec R18
brne WGLOOP1
dec R17
brne WGLOOP0
ldi rmp,0b11110000
out portc,rmp

sbrs pos,0
rjmp m1
ldi pos,0b11110010
rjmp ex_loop

m1:
sbrs pos,1
rjmp m2
ldi pos,0b11110100
rjmp ex_loop

m2:
sbrs pos,2
rjmp m3
ldi pos,0b11111000
rjmp ex_loop

m3:
ldi pos,0b11110001

ex_loop:
ldi flag,0b0

rjmp loop ; go back to loop
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



а зачем инвертировать то? у вас же русским языком написано "по спаду":
ldi rmp, 1<<ISC01 ;po spadu 1-0

идёт спад импульса - от этого и пляшет всё остальное.




cli и sei тут не надо

EXT_INT0:
cli
ldi flag,0b00000001
sei
reti
 
 Top
sibiryak Post Id



Главнокомандующий


Сообщений всего: 248
Дата рег-ции: Февр. 2011  



Получается и на землю и на плюс будет работать одинаково ?

killgur пишет:
и не землю подавать на ногу PD2 а положительный импульс по спаду которого и будет реакция

(Добавление)
И ещё вопрос. Порт D2 нужно подтянуть к плюсу или не обязательно ?
В протеусе и так и так работает.
 
 Top
nest Администратор Post Id



Администратор


Сообщений всего: 4866
Дата рег-ции: Сент. 2009  



sibiryak пишет:
Получается и на землю и на плюс будет работать одинаково ?
у импульса есть фронт и спад (или передний фронт и задний фронт). Прерывание у вас сделано по спаду.
 
 Top
sibiryak Post Id



Главнокомандующий


Сообщений всего: 248
Дата рег-ции: Февр. 2011  



Всё понял. Спасибо Улыбка
 
 Top
Пропуск Post Id


Рядовой


Сообщений всего: 16
Дата рег-ции: Март 2015  



killgur

Хочу попросить о помощи написания очень маленькой программы. может это будет интересно и остальным

суть такова
Входит сигнал с датчика холла ну естественно частота сменная.. на аттини13 будет использоваться... этаж частота выходить далее такая же но при достижении например 4000 оборотов нужна кнопка нажимаем кнопку и дальнейшей набор оборотов невозможен из за того что выходной сигнал дает пропуск в зависимости от оборотов например Н=4000 оборотов и М=4000 оборотов но когда Н будет больше 4000 оборотов то М=Н/2 или М=Н/3
где:
Н - входящий сигнал
М- выходящий (он же будет идти к коммутатору)
отзовитесь пожалуйста !!!
 
 Top
yak Post Id


Маршал


Сообщений всего: 102
Дата рег-ции: Февр. 2010  



Пропуск пишет:
например Н=4000 оборотов и М=4000 оборотов но когда Н будет больше 4000 оборотов то М=Н/2 или М=Н/3

Если речь идёт о двигателе внутреннего сгорания на автомобиле, то по Вашей схеме при достижению 4000 оборотов двигатель начнёт дико чихать и троить)))

(Отредактировано автором: 20 Марта, 2015 - 09:55:17)

 
 Top
Страниц (7): « 1 2 3 4 5 6 [7]
« Программирование микроконтроллеров »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru