Страница 8 из 8

Добавлено: Вт дек 08, 2009 15:12:02
GP1
я тоже пошел рисовать, сравним что, у кого получится :wink:

Добавлено: Вт дек 08, 2009 16:17:47
GP1
забыл спросить - сколько кнопок будет?

Добавлено: Вт дек 08, 2009 21:11:26
aleks_bmw528
1.on off
2.+
3. -
4. таймер

вызвали на обьект чуть позже выложу что наделал днем!!!!

Добавлено: Ср дек 09, 2009 02:51:27
aleks_bmw528
алгоритм нарисовал но вот реализовать из за неполных знаний как то не очень получается
1.часа два пытался найти зависимость мощности в % так чтобы можно было без гемороя пересчитывать ,записывать в power

в общем 100 к 1 у меня не получилось как я только не делил и умножал , целое число не получалось ???, думал может массив сделать.

вот что пока придумал

100% 10мс при таймере CK256
TCNT1H = 0xFF
TCNT1L = 0x64 ; 100

получается 100 + 10 (100% -10% = 90%) = 110

256*255 - 110 /4000000 = 0,0092 с

2.Кнопки сделал самые простые с антидребезгом еще не разбирался
надо с мощностью в процентах еще разобратся ???

Добавлено: Чт дек 10, 2009 13:23:59
aleks_bmw528
начал переделывать обработку кнопок т.к очень быстро реагирует
невозможно пользоваться ришил сделать на таймере плюс еще с длительным нажатием !!!

новый вариант обработки кнопок с использованием T0 !!!!

кнопки посадил на pd4 pd5 pd6 pd7


pd4 power 0x10
pd5 + 0x20
pd6 - 0x40
pd7 таймер 0x80

CK256 по переполнению 0,016 с

Код: Выделить всё

.def	KeyS	= R11
.def 	KeyIn	= R12
.def	KeyOld	= R13	
.def 	KeyD	= R20	

T0_OVF
   in	tmp,sreg
   push	tmp 
   in	KeyIn, PIND
   andi	KeyIn, 0b11110000
   cp	KeyIn, KeyOld ;  сравниваем со старым  
   mov	KeyOld, KeyIn ;   
   brne   K1 
   mov   KeyS ,KeyIn  
K1:
   tst     KeyS 
   brne  K3 
   tst     KeyOld 
   brne  K2 
   clr     timekey
   rjmp  keyend

k2: 
   rjmp keyend 


k3:
   inc    timekey
   
   cpi    timekey, 1
   breq  keyset
  
; автоповтор 

;   cpi    timekey , 50
;   brne  keyend 
;   rjmp  keyset

   cpi timekey ,60
   brne keyend 
   ldi    tmp ,0x02
   or keyold ,tmp
   rjmp  keyset

keyset:
  mov KeyD , KeyOld 
keyend:                                             

  pop     tmp                                           
  out     sreg,tmp




использование


cpi KeyD,0x20 ; короткое 0x22 длинное
brne plus

Добавлено: Чт дек 10, 2009 20:18:29
GP1
малость оторвался от темы, дел выше крыши.
но...
в прерывании обычно читают клавиатурный порт, а анализ, какая кнопка нажата надо делать вне прерывания.

Добавлено: Чт дек 10, 2009 23:49:03
aleks_bmw528
GP1
в прерывании обычно читают клавиатурный порт, а анализ, какая кнопка нажата надо делать вне прерывания.
не совсем понял ????

я в прерывании пытался сделать отслеживание короткого и длительного нажатия !!!!

Добавлено: Пт дек 11, 2009 02:12:16
aleks_bmw528
пришел в голову пока только начальный вариант включения и выключения ,при включении питания устройство как бы находится в режиме ожидания ,при нажатии любой из кнопок перейдет к работе.

вкл.!!! - sei разрешение прерывания
выключение!!! пока только запрет прерывания ,так как на форуме походу особо никто не хочет связывается с режимом пониженного питания ответов не было по реализации кнопки Power

Код: Выделить всё


start:	
        ldi	tmp,low(ramend)      ;stack init SP=0xdf 
        out	spl,tmp

        sbi	ACSR,ACD      ;Analog comparator off 

        ser	tmp
        out	OutCntr,tmp

        clr 	tmp
        out	OutPort,tmp

        .....
scan0:
      sbis pinb,4        ; кнопка ON/OFF(PD4)
      rjmp PowerOn          
      sbis pinb,5        ; кнопка "+"(PD5)
      rjmp PowerOn          
      sbis pinb,6        ; кнопка "-"(PD6)
      rjmp PowerOn          
      rjmp scan0       ;                          

; полноценное включение 
PowerOn:
      sei 
     ;чтение из EEPROM и т.д   
     ..

 
; основной цикл
next:

если нажата клавиша on off то off 

rjmp next

off:            
       cli  
       rjmp scan0       

Добавлено: Пт дек 11, 2009 14:12:25
aleks_bmw528
GP1 проблема!!!! на лампе работает , подключаю мотор не запускается жужжит даже на max мощности 99% ,хотя до этого работало на bt136 по схеме мастер кит с переменным резистором а на
контроллере не хочет :shock:

Добавлено: Пн дек 14, 2009 20:27:08
stas89
aleks_bmw528 писал(а):GP1 проблема!!!! на лампе работает , подключаю мотор не запускается жужжит даже на max мощности 99% ,хотя до этого работало на bt136 по схеме мастер кит с переменным резистором а на
контроллере не хочет :shock:
я щас работаю над таким устройством
могу и индекатор прилепить (3310, 3410, МТ6116)
с выводимой мошьностью

Добавлено: Пн дек 14, 2009 20:28:47
aleks_bmw528
на каком симисторе делаешь и какая нагрузка??

Добавлено: Пн дек 14, 2009 20:32:25
stas89
BT138-800E 10А

Добавлено: Пн дек 14, 2009 20:35:41
aleks_bmw528
так ты запустил устройство на этом гребаном симисторе если запустил то сколько у тебя управляющий импульс мкс

Добавлено: Пн дек 14, 2009 20:45:18
stas89
___

Добавлено: Пн дек 14, 2009 20:46:37
stas89
дорисую выложу схему

Добавлено: Пн дек 14, 2009 20:47:44
aleks_bmw528
Что то я ничего не понял, если можно еще раз!!! :beer: