Микроконтроллеры это просто! Посмотрим что происходит внутри микроконтроллера во время выполнения программы. В видио могут быть неточности, это сделано для упрощения понимания логики работы МК.
Умение подать информацию, это самое важное. Весь интернет забит обучающими роликами, но толку от них абсолютно никакого, ибо не понимают сути подачи информации.
Спасибо вам за визуальное представление информации. Мне как человеку который впервые знакомится с понятием микроконтроллер было очень информативно ваше видео
спасибо. ассемблер сейчас немаловажен и не видел еще такого энтузиаста на ютубе который норм расскажет за фундаментальные основы информатики. спс. коля 16 лет
Евгений Дробышевский Спасибо за отзывчивость. А у Вас есть где-нибудь еще материал? Есть ли Вы в социальной сетях??? Можно ли с Вами где то общатся? или задавать вопросы здесь? Ваша тема перспективная, жду видосы😀
Вопросы лучше задавать здесь. Моих материалов больше нет, но в интернете их полно. Могу порекомендовать вот этот источник easyelectronics.ru/category/avr-uchebnyj-kurs/page/5 . Именно с него я и начинал освоение контроллеров.
Хотя многие и говорят, что AVR устарели, но это не так, на этих микросхемах еще много можно создать устройств и разработок! Спасибо Вам, что рассказываете про AVR!
Это микроконтроллер. Так что как не говори, т.е. ОЗУ находится в цп или ОЗУ находится не в цп - это не важно. Потому как и ЦП и ОЗУ и флеш память программ и все остальное находится на одном кристалле.
Команда CP - это команда сравнения, а не вычитания. По сути конечно происходит вычитание, но без сохранения результата, но при этом устанавливаются соответствующие флаги регистра статуса. Т.е. если результат отрицательный, т.е. значение R1
@@user-gb6wj6fn9x Относительного - потому что смещение, которое содержится в коде команды добавляется к программному счетчику (ну или вычитается из него). Конечная точка перехода вычисляется как значение програмного счетчика плюс указанное смещение, в данном случае 2 (т.е. +2). Насколько оно верно в данном примере я судить не буду, потому как программисту пишущему на ассемблере обычно не нужно самому расчитывать значения смещений. Он может пользоваться метками, а смещение уже будет вычислено в процессе компиляции. Кроме относительных переходов еще бывают абсолютные, когда указывается не смещение, а абсолютный адрес, который присваивается програмному счетчику, а не добавляется к нему, хотя в данном случае программисту тоже не нужно ничего расчитывать, это делает компилятор. Относительные переходы удобны тем, что код ихних команд состоит из одного слова, это экономит память программ, дает возможность создания перемещаемого кода (иногда используется в макросах), возможно и выполняется быстрее (хотя я в этом не уверен). Но так как сама команда состоит из 1 слова, то количество битов выделенное в ней для смещения ограничено и поэтому переходы могут происходить недалеко. Команды абсолютных переходов состоят уже из 2 слов, но там переход возможен на любой адрес. Насчет периферии - это вопрос скорее философский. И периферия - понятие довольно относительное и зависит от масштабов того, что мы рассматриваем. Если рассматривать страну, город, компьютер, какую-то систему - в каждом случае под периферией будет подразумеваться разное. В случае микроконтроллера, хотя оно все находится на одном кристалле, но основными его узлами считаются центральный процессор и память, а все остальные устройства называют периферией.
@@glukmaker спасибо, хотя вопросов куча, да ладно. Насчёт переферия, тут нет никакой философии. Все что сидит на какой-либо внешней шине (интерфейсе) , добавляется или наоборот, обменивается данными с "башкой" и есть переферия все остальное чистой воды - спекуляция.
@@user-gb6wj6fn9x Ну насчет периферии - это я так, образно. Да и раньше в микропроцессорных системах всякие там порты ввода/вывода, таймеры и прочая хрень считалась периферией... А тут все свели на один кристалл, но называют по-прежнему периферией. Лично я этим не заморачиваюсь. Особой разницы нет как называть...Лично для меня это понятие довольно таки относительное и расплывчатое... А насчет команды BRMI вот тут гляньте: www.ntlib.chat.ru/avr/instr/brmi.htm Там поймете почему я написал что не уверен в 100% правильности того, что значение смещения должно быть именно 2. Обычно никогда не приходилось так писать именно число... Для этого используются метки. Т.е типа так: SBR R1,3 SBR R2,5 CP R1,R2 BRMI LABEL INC R1 LABEL: INC R2 и не нужно задумываться над смещением, его сам компилятор просчитает, а то ведь команд может быть несколько, и часть из них могут состоять не из 1 слова, а из 2-х, а в других микропроцессорах длина разных команд может отличаться и в 3 и в 4 раза, или даже больше.