Нужна вставка на Асме
|
|
brown |
Дата: Ср, 24.02.2010, 20:57 | Сообщение # 16 |
Группа:
Пользователи
Ранг:
Помогаю всем
Сообщений:
333
Замечания:
±
На сайте с 18.09.2007
Статус:
Offline
|
Quote (demanik) Только вместо rlf я поставил rclf У моего пика такой команды нет. Вполне возможно, для ПИК18 команды изменили, дополнили. Вообще-то я в АСМе не силен, изучал когда то на сайте Корабельникова, а потом вкусил РВР и .... Для моих любительских целей достаточно.
Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
|
|
|
|
доцент2 |
Дата: Вт, 12.06.2018, 08:55 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Не могу понять как определить кол-во циклов необходимых на выполнение вставки: ;delay = 100 machine cycles Pause movlw .33 ' число 33 movwf Reg_1 ' запись в переменную 1 цикл wr decfsz Reg_1, F ' 1 цикл goto wr ' 2 цикла итого 1 + 33*(1+2) = 100 здесь понятно! А вот тут никак не соображу: ;delay = 790 machine cycles Pause movlw .5 ' число 5 movwf Reg_1 ' запись в переменную 1 цикл movlw .2 ' число 2 movwf Reg_2 ' запись в переменную 1 цикл wr decfsz Reg_1, F ' 1 цикл goto wr ' 2 цикла decfsz Reg_2, F ' 1 цикл goto wr ' 2 цикла Итого 1 + 1 +( 5*(1+2)) * (2*(1+2)) =92 не могу сообразить как считать при введении второй переменной. Прошу помощи.
|
|
|
|
ivan_fd |
Дата: Вт, 12.06.2018, 12:06 | Сообщение # 18 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
;delay = 790 machine cycles Pause movlw .5 ' 1 цикл movwf Reg_1 ' 1 цикл movlw .2 ' 1 цикл movwf Reg_2 ' 1 цикл wr decfsz Reg_1, F ' 1 цикл goto wr ' 2 цикла decfsz Reg_2, F ' 1 цикл goto wr ' 2 цикла
Задержка = 1 + 1 + 1 + 1 + (Reg_1 * (1 + 2) - 1) + ((256 * 3 - 1) * (Reg_2 - 1)) + (Reg_2 * (1 + 2) - 1) = 790
Сообщение отредактировал
ivan_fd - Вт, 12.06.2018, 12:52
|
|
|
|
доцент2 |
Дата: Вт, 12.06.2018, 16:39 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
ivan_fd спасибо. мудрено блин. не дают покоя мне эти задержки в частотомере. Вот решил попробовать разобраться. Есть, пока далекая, мысль попробовать переделать под 40МГц генератора МК код частотомера на 16f84a. Там есть подсчет переполнений с дополнительной переменной. (терзают меня смутные сомнения, что самостоятельно разберусь. не завидую первопроходцам этого языка).
Сообщение отредактировал
доцент2 - Вт, 12.06.2018, 16:42
|
|
|
|
ivan_fd |
Дата: Вт, 12.06.2018, 17:00 | Сообщение # 20 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
894
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Цитата доцент2 ( ) Есть, пока далекая, мысль попробовать переделать под 40МГц генератора МК код частотомера на 16f84a. Там есть подсчет переполнений с дополнительной переменной. Там счет идет с предделителем, вообще голову сломаете.
|
|
|
|
доцент2 |
Дата: Вт, 12.06.2018, 17:18 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
291
Замечания:
±
На сайте с 13.09.2011
Статус:
Offline
|
Это точно! На простом примере уже голову сломал . Второй раз за пивом сходил, и чувствую это не предел . Как же быть!?
Сообщение отредактировал
доцент2 - Вт, 12.06.2018, 17:18
|
|
|
|