![]() |
|
|
![]()
|
|
| Xenia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.4.2006 Где: Москва Репутация: нет Всего: нет |
Подскажите как сделать задержку на 1 сек, так что бы дествие программы задерживалось . Например мне говорили что можно читать память или переносить содержимое из одного регистра в другой.
|
|||
|
||||
| makwen |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 9.11.2005 Где: Киев Репутация: нет Всего: 1 |
Используй таймер или можешь просчитать, сколько времени затрачивает процессор на выполнение одной операции, и потом создаешь цикл с нужным количеством операций! Но второй способ не очень удобен, поскольку на разных машинах будет разное время
Вообще так делается в микроконтроллерах.... Так, что лучше используй таймер!!! |
|||
|
||||
| Xenia |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 16.4.2006 Где: Москва Репутация: нет Всего: нет |
К примеру
Вот такая программа(зажигание диода по кнопке) ORG 8000H METKA1: MOV C,P1.4 nop MOV ACC.0,C nop JB ACC.0,LED1 nop setb P1.2 LED1: CLR P1.2 ajmp METKA1 END Как здесь использовать timer? Вообще-то никогода не сталкивалась с задержкой...Помогите с кодом |
|||
|
||||
| makwen |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 9.11.2005 Где: Киев Репутация: нет Всего: 1 |
если это микроконтроллер(МК), то лучше использовать второй способ! Скажи, какой у тебя МК? и какой кварц стоит?
|
|||
|
||||
| makwen |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 9.11.2005 Где: Киев Репутация: нет Всего: 1 |
приведу пример:
у меня МК AT89C5131 я знаю, что он 8 разрядный и для выполнения одной 1 инструкции нужно 6 тактов. Кварц у меня 24Мгц. 24/8=3Мгц 3/6=0,5Мгц это говорит о том, что на выполнение 1 одной инструкции( mov acc,00h) нужно 0,5мкс. -> на выполнение 2 инструкций нужно 1мкс-> 2 000 000 инструкций нужно 1 с. Пример приведу на С (надеюсь, сможешь перевести на асм for(i=0;i<2000;i++) for(i=0;i<1000;i++); делаешь, как процедуру и вызываешь в своей программе. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |