Лекция 322. Atmega 8: Порты ввода-вывода
Описана функциональная схема портов ввода-вывода контроллера. Имеется 2 режима работы: ввод и вывод. Для операций ввода-вывода логических сигналов можно использовать все контакты кроме подводящих питание. Эти контакты разбиваются на группы по 8. Управление каждой такой группой выполняется тремя портами: ввода, направления и вывода.Показано, как оно реализовано. Приведены простейшие команды ассемблера для этого. Список всех лекций на сайте автора в описании канала.
Пікірлер: 76
большое спасибо за ваши лекции.хоть кто то уделяет этому внимание...
Хочу выразить благодарность лектору! Уточнение в расшифровке аббревиатуры: SBI - Set bit in I/O register, CBI - Clear bit in I/O register.
Отлично, наконец то показали как это работает на уровне схем
Спасибо за видео. Микроконтроллеры становятся менее загадочными, после ваших лекций.
Очень хотелось бы про STM32 такие лекции.
Спасибо. Развивайте тему МК очень интересно.
Нижайший поклон! Наконец все эти пулапы и опендрейны стали понятны русским языком.
Спасибо вам большое за лекции , в нашем университете преподают очень плохо . Смотрю ваши лекции с большим интересом !
@andavlyatshin
6 жыл бұрын
зато вас там учат как самому учиться
@luminary6396
3 жыл бұрын
@@andavlyatshin Не надо их оправдывать, большая часть таких преподов бухают на з/п и никуя не учат и не делают, давно пора их гнать нахрен и лишать кафедру права преподавать, они живут за счёт гос. бюджета. Ещё некоторые снижают проходной балл специально, чтоб минимальный набор студентов дэбилов набрать.
Благодарю вас. Вы очень помогаете этими лекциями!
Ваши лекции - золото!
Спасибо за лекции!
Самый интересный канал по электронике. Уже не первый раз сюда попадаю при поиске информации на интересующую меня тему. Всё доходчиво и интересно. Спасибо за Ваши старания & продолжайте в том же духе.
Спасибо за прекрасные уроки.
Спасибо большое, все очень доходчиво и самое главное простым языком) Дальнейших успехов Вам)
И снова у меня сессия, и снова готовлюсь по вашим видео) Спасибо!)
СПАСИБО! За Ваш труд.Очень нужные знания.
Так приятно слушать, Вау Прошу продолжайте, очень интересно
отличная лекция,подчерпнул нужную информацию. спасибо
Весьма доступным языком изложено, большое спасибо!
Спасибо! Очень интересно и понятно сразу.
Очень проницателно и ястно! Спасибо !!
Спасибо, все понятно и доходчиво)
было бы интересно послушать при арифметические операции над байтими и их реализацию на микроконтроллере
Всё круто, хорошие уроки! Оговорка 4:41 подтягивающий резистор порядка 10 кОм.
Отлично, очень интересно, спасибо.
Наконец-то я понял как они работают.
Колега, Благодаря за труда ви.
Большое спасибо! Здорово!
супер!!! такого ждал
Спасибо! Вполне понятно. Раз до микроконтроллеров добрались наверное и до устройств доберемся. Очень хочется добраться до металлодетектора и pH метра)
@user-im5ok5px2p
3 жыл бұрын
Мы на лекциях изучили всякие законы, теперь можно сделать любое существующее устройство
Шикарная лекция. Лучшее из всего что видел, по делу и без воды. Спасибо!
Спасибо за микрофон. Очень интересно узнать про основу асемблер, и как что работает в atmega 8. Пишу на высокоуровневых языках и мало что смыслю в регистрах.
Просто отлично изложен материал, жаль что на ассемблере команды.
СпасибО!
Спасибо!
Спасибо. Очень хорошие лекции, правда в конце 14:31, когда преподаватель говорит по-видимому о номерах регистров группы D, например PIND $10, мне кажется он говорит - "B" вместо "D", мелочь но немого сбило с толку.
Спасибо
11:16 ldi r17, 0b00001000 мы хотим включить подтяжку. Включается подачей ноля в DDRB4 и ЕДИНИЦЫ в порт PORTB 4 pin.
Хорошо, учиться не поздно
спасибо за наглядность. скажите, а Вы подрабатываете программированием?
👍
Было бы классно, если была бы раскрыта такая тонкая тема как помехи. Не совсем понятно, как они наводятся и как от них избавляться. Для чего нужно подключать внешний подтягивающий резистор, если внутри уже есть таковой.
@chuvakelectronshic96
7 жыл бұрын
Внешний подтягивающий для Mega8 не нужен, если пин настроен на ввод. Просто у некоторых мк нет внутреннего подтягивающего. Если, например, реализуется I2C, то пин настраивается на вывод, при этом из-за такой логической схемы отключается внутренний подтягивающий резистор, поэтому приходится включать внешний. Про помехи в видео уже сказано, что мк имеет зону нечувствительности, а остальные помехи скорее всего из-за отсутствия блокирующих кондёров и/или кривой трассировки платы.
@redtex
7 жыл бұрын
Иногда недостаточно только внутренней подтяжки. Всё зависит от зашумлённости питания, длины проводников как питания так и сигнальных, наличия фильтра в непосредственной близости от корпуса мк в питании и т.д. Это тема для отдельной лекции.
@georgewashington3164
4 жыл бұрын
как наводятся помехи? Представьте, что ваш контроллер стоит внутри сварочного аппарата и пытается им управлять. Надо дальше продолжать?
спасибо за видео . подскажите начинающему в чем разница амег 8 с буквой АМЕГА 8А И ИМЕЕТ ЗНАЧЕНИЕ СМД И ДИП КОРПУС . СПАСИБО ЗА ОТВЕТЫ
Отличное видео, спасибо! Я начинающий в мире электроники и мне многое ещё не понятно. Согласно схемы я вижу, что PINB4 = PORTB4 независимо от того, равен ли DDRB4 нулю или единице. Какой тогда смысл в регистре PINB. Может быть достаточно того, что есть регистр PORTB?
@dancing_master
Жыл бұрын
Я не сильний в цьому але на однії хвілі😃 PINB4 це лише 1 біт із 8 бітів в порту PINB , призначений для зчитування одного значення 1 біта . PINB4 можна зчитати програмним кодом if(PINB4){} , сигнал може надходити з другої мікросхеми . DDRB задає для 8ми контактів режим (входу або вихіду ) , PORTB їх значення .
к выводу микроконтроллера подключен сигнал сброса внешнего устройства, активный уровень сигнала - низкий, вывод подтянут к напряжению питания внешним резистором. как посоветуете настраивать вывод контроллера, чтобы избежать возможного появления сигнала сброса на выходе - сначала задать значение на выход равно 1, а потом уже настроить бит на вывод? или можно сначала задать режим работы бита на вывод, а потом уже задать его значение равное 1? или возможен еще какой-то вариант настройки?
а как преподавателя зовут? можно его контакты дать?
В транзистор тестере на 328р сгорает вход из за не разряженного конденсатора. Можно ли перепрограмировать вход на другую ножку?
Немного не понял, если DDRB устанавливаем в 1 (вых), то про какую "подтяжечку" говорит профессор? Ведь транзистор "подтяжечки" из-за DDRB в 1 заблокирован, да и подтяжка через резистор используется только при входе, а мы делаем PinB выход. Какая-то каша получается.
@stepansml6713
Жыл бұрын
pinB4 это чтение входа всегда. вкл подтяжка или нет пофиг. если портБ4 =***1 **** то подтяжка вкл и управляем входом коротя его на землю. если не закоротили, то там единица. если ***0 **** то уже управлять входом надо полноценно подтягивая к нулю или земле внешними устройствами. вроде всё верно он вещает. на схеме Порт =1 и ДДР =0, тогда вкл подтяжка. или что то не так?
Вы сказали, что все выводы равны. А как же аналоговые входы и PWM выходы? Они ведь не на всех ножках есть, насколько я понимаю.
Скажите, а почему в сторону питания защитный диод? Почему не стабилитрон 5.1В в землю?
@user-sc9it9zd4g
5 жыл бұрын
Потому что в интегральном исполнении диод изготовить значительно проще, два диода -- это две точки на фотошаблоне, т.е. они получаются "бесплатно", в одном техпроцессе вместе с другими элементами. Для стабилитрона нужна отдельная технологическая операция. Ну и, кроме того, при малом размере стабилитроны получаются с диким разбросом по характеристикам.
чем команда in r18, PinB отличается от ldi r16,0b00010000 ? И то и то записывает значение в регистры r18 и r16
@VAlexandriyski
6 жыл бұрын
Надо читать документацию, но от то как лектор их применил можно сделать вывода что разница в том что in считывает регистр, а ldi заряжает константу
А где взяли список команд для процессора? в инструкциях вроде не нашёл ((( sbi например. я через функции И ИЛИ с 0001000 и 11101111 делаю. как то криво кажется - на костылях типа.
Этот свитер говорит о том что экзамен будет жёстким
Ну хоть кто то рассказывает про аппаратную часть...
когда монетизацию подключите))
@msdesignru
7 жыл бұрын
Монетизация - это зло, лучше помогите автору сами
@iagonson
7 жыл бұрын
Ничего злого в этом нет)
+++++++++
В років 12 (на першому компі КР580) писав першу програму на АСМі: ніяк не розумів: чому після запису в порт читаю якусь маячню, тільки через років двадцять зрозумів паразитну ємкість затворів :)
Соображает, но теряется что хотел сказать, произносит слово "а именно" в это время вспоминает, а что надо дальше говорить. Возраст. Но в целом есть что то похожее на лекцию.
года идут а кофта не меняется
а я все га первой сотне (
@user-cv6hi1mm7z
6 жыл бұрын
бля тож(
Полнейшая каша! Постоянно замешиваются понятия порта (восемь причалов) и его диспетчерской службы (три регистра порта). 1. DDRx - регистр направления данных порта x - ввод/вывод 2. PINx - регистр чтения порта x, и только чтения, который не зависит от настроек порта. Хочешь узнать текущий логический уровень разрядов порта - читай регистр PINx. 3. PORTx - регистр данных порта (состояние порта) x. Если порт установлен на вывод (DDRx=1), то это просто выходной буфер - что в него записали, то он и выдал на ножки МК. Через этот регистр я могу "дергать" ножками порта. Если порт установлен на вход (DDRx=0), то в зависимости от того, что записано в разряды этого регистра, разряды порта (ножки МК) будут находиться либо в состоянии высокого сопротивления, либо к этим ножкам будут подтянуты внутренние сопротивления МК. А так, лайк!
А дед то скорострел -у него не отнять
Вы рассказываете про гистерезис, а рисуете синусоиду, после таких объяснений, "на местах" приходится молодёжь переучивать, разгребать в их голове кашу с перепутанной терминологией.