Обучение : Программирование на Ассемблере для PIC


Понятие о времени исполнения программы

Понятие о времени исполнения программы по важности стоит на втором месте после циклической концепции. Без цикличности не будет работать программа. А без понимания времени выполнения программы нельзя смоделировать правильную работу устройства.

Для начала определимся с цифрами. По нашему опыту скажем, что первоначально у нас очевидные вещи оставались без должного внимания и приводили к ошибочному восприятию скоростных возможностей МК и, как следствие, к ошибкам в программировании.

 

1 сек = 1000 мс (миллисекунд) = 1000000 мкс (микросекунд)

 

В МК одна команда (точнее один машинный цикл) выполняется за 4 такта опорного генератора.

 

При частоте кварца в 4МГц на выполнение одной команды уйдет

(4 такта / 4000000 Гц) = 1 мкс. Оцените – 1 млн. операций в 1 сек!

 

С кварцем большей частоты соответственно быстрее.

А теперь смоделируем работу простейшей мигалки. Сначала нам надо установить сигнал на выходе, затем убрать сигнал с выхода, затем зациклить программу. На выполнение этой задачи понадобиться около 10 команд. Вопрос – сколько уйдёт времени на выполнение одного полного цикла? Ответ – 10 микросекунд. Это так быстро, что вместо мигания мы получим непрерывное свечение. А если нам нужны фиксированная длительность свечения и фиксированная длительность в выключенном состоянии? Для этого применяются задержки.


<<< назад далее >>>

Просмотров: 29520

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.