циклы в пиках

Тема в разделе "WASM.ELECTRONICS", создана пользователем DAIM, 30 июл 2011.

  1. DAIM

    DAIM New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2010
    Сообщения:
    49
    всем хай!
    вот такой кусок кода задержки:

    Код (Text):
    1. ;delay = 500000 machine cycles
    2.  Pause       movlw       .85
    3.              movwf       Reg_1
    4.              movlw       .138
    5.              movwf       Reg_2
    6.              movlw       .3
    7.              movwf       Reg_3
    8.  wr          decfsz      Reg_1, F
    9.              goto        wr
    10.              decfsz      Reg_2, F
    11.              goto        wr
    12.              decfsz      Reg_3, F
    13.              goto        wr
    14.              
    15.              return
    16.  
    17.             end                     ; конец программы
    народ посчитайте плиз там действительно 500000 маш. циклов, сколько не считал, получается больше:
    если даже взять последний цикл,
    255х255х3=195075
    255*3=765
    195075+765=195840
    195840*3=587520
     
  2. Dmitry_Milk

    Dmitry_Milk Member

    Публикаций:
    0
    Регистрация:
    20 ноя 2007
    Сообщения:
    540
    Считать лень. А аппаратные таймеры чем не угодили? зачем такой изврат?
     
  3. DAIM

    DAIM New Member

    Публикаций:
    0
    Регистрация:
    29 авг 2010
    Сообщения:
    49
    да я посчитал уже, вроде как сходится.
    вот я тоже подумал что изврат,но оказалось что это ктото убер мега крутую программку написал для генерации кода задержки, и она вот такое недоразумение генерирует.
    а до аппаратных таймеров еще пока не дашел:)