roboforum.ru

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

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

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

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

blindman » 26 ноя 2011, 06:51

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

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 раз.

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

Dmitry__ » 04 дек 2011, 00:16

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

почему 2 подпрограммы делающие одно и тоже: pauseA и pauseB ?
оставь только одну...

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

серж » 04 дек 2011, 12:49

исправил...

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

KitaPro » 08 дек 2011, 07:38

Не стал создавать тему. Кто-нибудь знает как на кр580вм80 реализовать задержку времени? И можно ли вообще сделать программную задержку 1 минуту?

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

Dmitry__ » 08 дек 2011, 10:31

А почему нет? кр580вм80 такой же проц как и все другие...

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

boez » 08 дек 2011, 12:29

Мда, сессия - она такая. Приходит совершенно неожиданно ;)
Задержку на заданное время можно реализовать на любое время, хоть на год :) - просто может понадобиться много вложенных циклов, или один, но с длинным числом, 3-4 байта.
580-й - проц с фиксированными длительностями команд, так что рисуешь например цикл, в котором из 32-битного числа вычитается единичка, и если нет переноса - цикл повторяется. Потом считаешь сколько в этом цикле тактов и из этого вычисляешь сколько циклов тебе надо сделать, чтобы получить минуту.

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

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 нужное количество секунд

Такое будет работать?

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

Dmitry__ » 08 дек 2011, 22:20

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

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

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

KitaPro » 08 дек 2011, 22:44

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

А что то изменилось? Дома то врядли кто еще пишет на таком

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

Dmitry__ » 08 дек 2011, 23:22

я дома и пишу на таком.

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

KitaPro » 08 дек 2011, 23:45

А зачем?.. Их же уже не выпускают. Для обучения и знакомства с МП самое то

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

Dmitry__ » 09 дек 2011, 00:18

Я про асм а не про кр580вм80 :)
некоторые нынешние микроконтроллеры не далеко ушли от кр580вм80/Intel8080, вот на них и бацаем

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

KitaPro » 09 дек 2011, 00:55

А) А я то думал Вы на кр580 еще пишите)


Rambler\'s Top100 Mail.ru counter