Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Формули за определяне на времезакъснението
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7101
Страница 1 от 1

Автор:  ludaqna [ Пет Сеп 04, 2009 11:19 pm ]
Заглавие:  Формули за определяне на времезакъснението

Здр скоро имам изпит по микроконтролери и имам 1 въпрос , на който не мога да си отговоря. Той е следния: как да определяме времезакъснението когато имаме сегмент от няколко цикли, по какъв алгоритъм се извежда формулата. Давам един пример: mov Rx,#FFh 1.1

L3: mov Ry,#FFh 1.2
L2: mov Rz,#FFh 1.4
L1: DJNZ Rz,L1 2.8
DJNZ Ry,L2 2.4
DJNZ Rx,L3 2.2

Моля за съдействие , който разбира.
благодаря предварително!

Автор:  woody [ Нед Сеп 06, 2009 11:11 am ]
Заглавие: 

Алгоритъмът е пределно прост - проверяваш документацията какво казва за времето на изпълнение на инструкциите и сумираш числата отчитайки как се изпълнява програмата (циклите). Дерзай. :)

Автор:  charli [ Нед Сеп 06, 2009 12:39 pm ]
Заглавие: 

Ти да не учиш в МГУ-то? Баш там се учи асемблер за 8051 на Интел ... Този изпит го минах преди половин годинка.

Автор:  ludaqna [ Пон Сеп 07, 2009 3:13 pm ]
Заглавие: 

charli написа:
Ти да не учиш в МГУ-то? Баш там се учи асемблер за 8051 на Интел ... Този изпит го минах преди половин годинка.




Да точно там уча и ми остава само 1 изпит преди дипломиране - Asembler, за който сега търся малко помощ! 8O. Ти какво ште кажеш по моя въпрос със изчисляване на времезакъснението и определяне на формулата???

Автор:  ludaqna [ Пон Сеп 07, 2009 3:26 pm ]
Заглавие: 

woody написа:
Алгоритъмът е пределно прост - проверяваш документацията какво казва за времето на изпълнение на инструкциите и сумираш числата отчитайки как се изпълнява програмата (циклите). Дерзай. :)



Какво ще кажеш за следния пример тогава, как ще се реши като се има впредвид , че имаме 3 цикъла , как да изведа формулата? Аз знам една тя е за 2 цикъла, ама за един или три, както в случая примерно какъв е алгоритъма? Помагай!
mov R0, #15
Qx: mov R1, #3
Qy: mov R2, #10
Qz: DJNZ, R2,Qz
DJNZ, R1,Qy
DJNZ, R0,Qx

8O

Автор:  woody [ Пон Сеп 07, 2009 3:50 pm ]
Заглавие: 

ludaqna написа:
mov R0, #15
Qx: mov R1, #3
Qy: mov R2, #10
Qz: DJNZ, R2,Qz
DJNZ, R1,Qy
DJNZ, R0,Qx


Време на най-вътрешния 'Z' цикъл: TZ = T0 + 10 * (0 + T1) + (T2 - T1)

Време на 'Y' цикъл: TY = T0 + 3 * (TZ + T1) + (T2 - T1)

Време на 'X' цикъл: TX = T0 + 15 * (TY + T1) + (T2 - T1)

Където:
T0 - цикли за изпълнение на "MOV Rx, #imm"
T1 - цикли за изпълнение на "DJNZ Rx, adr" когато преходът е направен
T2 - цикли за изпълнение на "DJNZ Rx, adr" когато преходът не е направен

За домашно:
1) да си намериш T0/T1/T2 от документацията и да си сметнеш числата
2) да формализираш случая за N вложени цикли
3) да ми изпратиш подобаващото количество бира за това че ти решавам задачите вместо теб

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/