roboforum.ru

Технический форум по робототехнике.

серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Блоги посетителей.
Правила форума
В данном разделе каждый может иметь не более одной темы. Тема должна начинаться с логина (ника) робофорума.

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение blindman » 26 ноя 2011, 06:51

Модератор :Срач отрезан и выкинут в корзину. Ради бога, развлекайтесь, изучайте 2 команды ассемблера на 20 страницах. Но если опять начнется - буду помогать отдыхать от форума.
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 03 дек 2011, 22:34

вот представляю на суд программу написанную самостоятельно! :wink:
идея: робота на жесткой логике реализовать програмно.
минусы: -пока не знаю как работать с частотами (но и до этого дойдем).
плюсы: -откл маршевых двигателей при низком уровне заряда батареи
-еще остались порты ввода/вывода! т.е., мона еще перефирии навесить... :D
Код: Выделить всёРазвернуть
rjmp reset ;
rjmp EXT_INT0  ;
rjmp EXT_INT1  ;
.def temp=r16 ;
.def tempH=r17
.def tempL=r18
.dseg ;
.eseg ;
.cseg ;
.equ in1 = PB2 ;na port B0 podklucen in1 L293
.equ in2 = PB3 ;na port B1 podklucen in2 L293
.equ TSO =PD2 ; na port B2 podklucen osnovnoy TSOP
.equ in3 = PB4 ;na port B3 podklucena in3 L293
.equ in4 = PB5 ;na port B4 podklucen in4 L293
.equ TSL =PB0 ;na port PB0 podklucen leviy TSOP
.equ TSP =PB1 ;na port PB1 podklucen praviy TSOP
.equ PAUER END =PD0 ; signal razryada batarei
reset:
   ldi tempH,$04 ;neobhodimaia
   out SPH,tempH ;ustanovka
   ldi tempL,$5F ;dlia
   out SPL,tempL ;vseh MEG

   ldi temp,0b11000000    ; razreshenie vneSh.prer.
    out GICR, temp  ;
;nastroyka portov
  ldi temp, 0b00000001          ; PD Vh.
  out ddrD, temp                ;
  ldi temp, 0b00001100          ; podtyazka na PD2-3
  out portD, temp           ;
    ldi temp,0b00111100     ; PB0.,PB1 vhod.,PB2-PB5 vih
    out ddrB,temp           ; zapis' v registr
    ldi temp,0b00000011     ; podtyazka na PB0.,PB1
    out portB,temp          ; vivod na portD
    sei                       ;
start:
   ON:
     sbis pinb,tsl    ;
     rjmp a           ;
     sbis pinb,tsp    ;
     rjmp b           ;
       sbi portb,in1  ;dvizenie vpered
       cbi portb,in2  ;esli ne srabotali
       sbi portb,in3  ;datchiki
       cbi portb,in4  ;
       rjmp start     ;
    a:
      cbi portb,in1     ;dvizenie
      cbi portb,in3     ;nazad
      sbi portb,in2     ;
      sbi portb,in4     ;
      ldi temp,255      ;zagr chislo
      rcall pause      ; vizov pausi
        cbi portb,in1   ;bort
        sbi portb,in2   ;vpered.
        sbi portb,in3   ;bort
        cbi portb,in4   ;nazad.
        rcall pause    ;
        rjmp start      ;
    b:cbi portb,in1     ;dvizenie
      cbi portb,in3     ;nazad
      sbi portb,in2     ;
      sbi portb,in4     ;
      ldi temp,255      ;zagr chislo
      rcall pause      ; vizov pausi
        sbi portb,in1   ;bort nazad
        cbi portb,in2   ;
        cbi portb,in3   ;bort
        sbi portb,in4   ;nazad
        ldi temp,255
        rcall pause    ;vizov pausi
      rjmp start        ;
   pause:
      pause1:
   ldi r23,40           ;zagr chislo
   pause2:
   ldi r24,40           ;zagr chislo
   pause3:
   dec r24              ;-1
   brne pause3          ;esli ne 0 ese -1
   dec r23              ;-1
   brne pause2          ;esli ne 0 ese -1
   dec temp             ;-1
   brne pause          ;esli ne 0 ese -1
   ret
   

  EXT_INT1:
    rjmp stop           ;perehod na ostanovku
  stop:
    sbi portd,pauer end;vkl indikatora
    cbi portb,in1       ;
    cbi portb,in2       ;   VSE VIKL.
    cbi portb,in3       ;
    cbi portb,in4       ;
   
    reti
  EXT_INT0:
       
       rjmp reset     ;       
    reti         
Последний раз редактировалось серж 04 дек 2011, 12:48, всего редактировалось 1 раз.
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 04 дек 2011, 00:16

серж, в комментах пиши на русском, не надо на транслите...
компилятору монописуально что находится за ";"
мегабизон сказал бы: "это читать ну совершенно невозможно" :D

почему 2 подпрограммы делающие одно и тоже: pauseA и pauseB ?
оставь только одну...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение серж » 04 дек 2011, 12:49

исправил...
Аватара пользователя
серж
 
Сообщения: 589
Зарегистрирован: 27 янв 2011, 17:38
Откуда: россия, череповец

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение KitaPro » 08 дек 2011, 07:38

Не стал создавать тему. Кто-нибудь знает как на кр580вм80 реализовать задержку времени? И можно ли вообще сделать программную задержку 1 минуту?
KitaPro
 
Сообщения: 127
Зарегистрирован: 30 сен 2011, 20:33
Откуда: Мурманск
ФИО: Никита

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 08 дек 2011, 10:31

А почему нет? кр580вм80 такой же проц как и все другие...
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение boez » 08 дек 2011, 12:29

Мда, сессия - она такая. Приходит совершенно неожиданно ;)
Задержку на заданное время можно реализовать на любое время, хоть на год :) - просто может понадобиться много вложенных циклов, или один, но с длинным числом, 3-4 байта.
580-й - проц с фиксированными длительностями команд, так что рисуешь например цикл, в котором из 32-битного числа вычитается единичка, и если нет переноса - цикл повторяется. Потом считаешь сколько в этом цикле тактов и из этого вычисляешь сколько циклов тебе надо сделать, чтобы получить минуту.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Grem » 08 дек 2011, 17:13

Вот или на 2 сек, или на 1. Не помню уже, а считать влом :pardon:
Код: Выделить всёРазвернуть
    lxi d, 0300
l3: lxi b, ffff
    dcr d
    mov a, d
    ora e
    jnz l4
    ret
l4: dcx b
    mov a, b
    ora c
    jnz l4
    jz l3
"There is nothing better than sliding down snow and flying through the air" (с) Shane McConkey.
Lieber ein Brett am Fuß als eins vorm Kopf, aber lieber ein Brett vorm Kopf als zwei am Fuß.
Аватара пользователя
Grem
 
Сообщения: 1530
Зарегистрирован: 16 май 2009, 12:50
Откуда: Россия
прог. языки: Java, C

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение KitaPro » 08 дек 2011, 20:18

Ну да, сессия она такая) Всем спасибо)
Сделали вот такой код:

Код: Выделить всёРазвернуть
MVI B необходимое кол-во секунд
MVI C FF /метка3
MVI D FC/метка2
NOP   /метка1
NOP
NOP
NOP
DCR D
JNZ метка1
DCR C
JNZ метка2
DCR B
JNZ метка3


FF и FC - задержка 1с
а в регистре B нужное количество секунд

Такое будет работать?
KitaPro
 
Сообщения: 127
Зарегистрирован: 30 сен 2011, 20:33
Откуда: Мурманск
ФИО: Никита

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 08 дек 2011, 22:20

KitaPro писал(а):Ну да, сессия она такая) Всем спасибо)

Вон оно чо, а я чуть моск себе не вынес, хоть бы говорили что для сессии.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение KitaPro » 08 дек 2011, 22:44

Dmitry__ писал(а):Вон оно чо, а я чуть моск себе не вынес, хоть бы говорили что для сессии.

А что то изменилось? Дома то врядли кто еще пишет на таком
KitaPro
 
Сообщения: 127
Зарегистрирован: 30 сен 2011, 20:33
Откуда: Мурманск
ФИО: Никита

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 08 дек 2011, 23:22

я дома и пишу на таком.
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение KitaPro » 08 дек 2011, 23:45

А зачем?.. Их же уже не выпускают. Для обучения и знакомства с МП самое то
KitaPro
 
Сообщения: 127
Зарегистрирован: 30 сен 2011, 20:33
Откуда: Мурманск
ФИО: Никита

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение Dmitry__ » 09 дек 2011, 00:18

Я про асм а не про кр580вм80 :)
некоторые нынешние микроконтроллеры не далеко ушли от кр580вм80/Intel8080, вот на них и бацаем
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: серж. "А ТЫ... ХОЧЕШЬ СТАТЬ АСМАТИКОМ?"

Сообщение KitaPro » 09 дек 2011, 00:55

А) А я то думал Вы на кр580 еще пишите)
KitaPro
 
Сообщения: 127
Зарегистрирован: 30 сен 2011, 20:33
Откуда: Мурманск
ФИО: Никита

Пред.След.

Вернуться в Блоги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3