Программа расчета задержек pause ver1.1
. Инструкция.
Наконец-то. Свершилось. Мои "вопли" услышаны.
Нашелся "комплексный программёр", работающий в "Виндах" и знающий ассемблер для ПИКов.
Это Маров Николай Андреевич (http://nmarov.narod.ru, E-mail: kolmar1986@mail.ru ).
Те из Вас, кто на практике пробовал производить калибровку фиксированных задержек (а, тем паче, их больших величин), знают, что это за "великое счастье".
После запуска секундомера и десяти "перекуров", безумно хочется ударить чем-нибудь тяжелым по "системнику", чтобы он скорее соображал...
А если нужна задержка в несколько десятков минут, часов, дней и т.д., и причем, не на глазок, а точная?
Проклянешь все на свете...
Именно по этой причине, я очень рад тому, что Маров Николай избавил всех нас от этой малоприятной процедуры.
Его программа pause ver1.1 одновременно совмещает в себе и простоту и "навороченность".
Расшифровываю: пользовательский интерфейс программы очень простой (а это и нужно). Количество "органов управления" - минимально возможное и разобраться с ними абсолютно не составляет труда.
Задаете величину задержки в машинных циклах, щелкаете по "ОК" и получаете текст подпрограммы фиксированной задержки с требуемой разрядностью и просчитанными под эту задержку константами. Короче, красота...
"Навороченность" же программы заключается в том, что, с ее помощью, можно быстро и точно просчитать величины констант во всем диапазоне задержек от 4-х машинных циклов и до "огромаднейших" их величин.
Семь разрядов счетчика это очень солидно.
Плюс, выдается готовый текст подпрограммы фиксированной задержки (N-разрядный, вычитающий счетчик), который, через буфер обмена, можно скопировать в текст программы, причем, с соблюдением "правил 12-ти пробелов" (если текст программы "настукан" по этому правилу, то ничего выравнивать не нужно).
C разрешения Николая, публикую эту программу и, от лица всех посетителей сайта, выражаю ему благодарность за проделанную и очень нужную работу.
Надеюсь, что продолжение темы последует (на более высоком "витке развития").
Архив программы pause ver1.1 Вы можете скачать: здесь |
Работа с программой
С программой можно работать сразу же после разархивации.
Она специализирована под PIC контроллеры (а также и под "текстуру" "Самоучителя...") и расчитывает величины констант для заданной (в машинных циклах) величины задержки, формируемой N-разрядным вычитающим, классическим счетчиком.
Величину задержки можно задавать любую, в диапазоне от 4 до 215887987009320190
машинных циклов (от 1 до 7 разрядов счетчика).
Для вычисления времени задержки, нужно умножить количество машинных циклов на время исполнения одного машинного цикла.
Нужна, например, такая "ужасающая" задержка, как в месяц, в год - нет проблем.
По окончании расчета, программа "выдает" группу команд задержки, с установленными в ней константами.
Регистры счетчика указываются в символическом виде, а именно, Reg_1, Reg_2, ..... Reg_7.
Регистр Reg_1 есть регистр самого младшего разряда. Далее - в порядке возрастания старшинства разрядов.
Если заданное количество машинных циклов меньше 4 или превышает 215887987009320190, то выдается предупреждение.
После переноса группы команд расчитанной задержки из программы pause ver1.1 в текст программы (....asm), нужно заменить символические названия регистров (Reg....) на соответствующие названия регистров, "прописанных" (под задержку) в "шапке" программы.
Название ПП задержки (Pause), а также и название метки (wr) также нужно "адаптировать" под конкретную программу.
В некоторых случаях, необходимости в присвоении группе команд задержки "статуса" подпрограммы нет, и ее название (Pause) можно просто убрать.
При изменении названия метки wr (а вот метку убирать нельзя), нужно также соответственно изменить ее название в адресных частях команд goto, обращающихся к этой метке.
После вызова программы pause ver1.1, в главном меню нужно щелкнуть по кнопке "Расчет".
Откроется окно с названием "Введите величину задержки".
"Настукиваете" в ней нужную Вам цифру и жмете на "ОК".
Все... Остальное выполнится в автомате и будет преподнесено Вам "на блюдечке с золотой каёмочкой".
Вот такая очень простая в эксплуатации, приятная и нужная программа.
После создания текста подпрограммы задержки, программа pause ver1.1 автоматически копирует текст подпрограммы задержки в буфер обмена, поэтому нужно всего лишь вставить его в текстовый редактор MPLAB (или куда-то еще).
Николай даже на секунду выделил текст подпрограммы задержки, чтобы пользователь догадался, что он уже скопирован в буфер обмена.
Если воспользоваться кнопкой "Сохранить", то можно сохранить текст расчитанной задержки в формате "Блокнота" (.txt) или "Винворда" (.doc) в любом указанном Вами месте.
Для этого, в строке "Имя файла" нужно, после названия файла, "настучать" .txt или .doc.
Примечание: вношу в "раскрутку" программы Николая свою посильную лепту, так как считаю, что она есть еще один, дополнительный и эффективный "инструмент" в "наборе инструментов" конструктора.
Надеюсь, что Николай порадует нас развитием темы. Информацией, в части касающейся этого, Вы можете поинтересоваться на его сайте (ссылка указана выше).
Если Николай сочтет нужным поделиться со мной (а значит и с Вами) своими наработками, связанными с тематикой "Самоучителя...", то мой сайт для него открыт.
Замечания по работе программы можете присылать либо мне (я передам), либо Николаю (E-mail - см. выше).Если воспользоваться кнопкой "Сохранить", то файл расчитанной задержки сохраняется в формате .txt, в любом, указанном Вами, месте.
Архив программы pause ver1.2 Вы можете скачать: здесь |
Архив программы Сдвиг С Вы можете скачать: здесь |