🗊Презентация Контакты микроконтроллера

Нажмите для полного просмотра!
Контакты микроконтроллера, слайд №1Контакты микроконтроллера, слайд №2Контакты микроконтроллера, слайд №3Контакты микроконтроллера, слайд №4Контакты микроконтроллера, слайд №5Контакты микроконтроллера, слайд №6Контакты микроконтроллера, слайд №7Контакты микроконтроллера, слайд №8Контакты микроконтроллера, слайд №9Контакты микроконтроллера, слайд №10Контакты микроконтроллера, слайд №11Контакты микроконтроллера, слайд №12Контакты микроконтроллера, слайд №13Контакты микроконтроллера, слайд №14Контакты микроконтроллера, слайд №15Контакты микроконтроллера, слайд №16Контакты микроконтроллера, слайд №17Контакты микроконтроллера, слайд №18Контакты микроконтроллера, слайд №19Контакты микроконтроллера, слайд №20

Содержание

Вы можете ознакомиться и скачать презентацию на тему Контакты микроконтроллера. Доклад-сообщение содержит 20 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Есть ли у вас вопросы?
Описание слайда:
Есть ли у вас вопросы?

Слайд 2





Краткое предыдущей серии
Как можно подключить светодиод к микроконтроллеру?
А кнопку?
Какие параметры у контактов МК мы можем менять?
А как?
Что такое «регистры периферийных устройств»?
Как зажечь светодиод?
Описание слайда:
Краткое предыдущей серии Как можно подключить светодиод к микроконтроллеру? А кнопку? Какие параметры у контактов МК мы можем менять? А как? Что такое «регистры периферийных устройств»? Как зажечь светодиод?

Слайд 3





Цели на сегодня (те же, что и в прошлый раз):
Зажечь светодиод
Погасить светодиод
Помигать светодиодом
Помигать по нажатию кнопки (bonus level)
Описание слайда:
Цели на сегодня (те же, что и в прошлый раз): Зажечь светодиод Погасить светодиод Помигать светодиодом Помигать по нажатию кнопки (bonus level)

Слайд 4





Контакты микроконтроллера
(они же «пины», «ноги», «выводы»)
Описание слайда:
Контакты микроконтроллера (они же «пины», «ноги», «выводы»)

Слайд 5





Что из этого нам сегодня нужно?
Чтобы зажечь светодиод на плате discovery, нам нужна ножка в режиме комплементарного выхода (output push-pull).
Чтобы считать состояние кнопки – вход без подтяжки (input floating).
Описание слайда:
Что из этого нам сегодня нужно? Чтобы зажечь светодиод на плате discovery, нам нужна ножка в режиме комплементарного выхода (output push-pull). Чтобы считать состояние кнопки – вход без подтяжки (input floating).

Слайд 6





STM32f103RBT6
На плате discovery не доступны:
PA13, PA14, PA15;    PB3,PB4;    PC14, PC15;    PD0, PD1
Описание слайда:
STM32f103RBT6 На плате discovery не доступны: PA13, PA14, PA15; PB3,PB4; PC14, PC15; PD0, PD1

Слайд 7





STM32 VL Discovery
Два светодиода, подключенные к земле и МК:
PC.8
PC.9
Две кнопки:
Черная – это reset
Синяя – PA.0 – просто кнопка с внешней подтяжкой к земле
Описание слайда:
STM32 VL Discovery Два светодиода, подключенные к земле и МК: PC.8 PC.9 Две кнопки: Черная – это reset Синяя – PA.0 – просто кнопка с внешней подтяжкой к земле

Слайд 8





Как же зажечь светодиод
Подать питание на нужный порт
через регистр RCC->APB2ENR
Настроить режим нужного контакта в нужном порту (нужен режим output push pull)
через регистр GPIOx->CRH или CRL
Вывести на контакт высокий уровень
через регистр GPIOx->ODR
Описание слайда:
Как же зажечь светодиод Подать питание на нужный порт через регистр RCC->APB2ENR Настроить режим нужного контакта в нужном порту (нужен режим output push pull) через регистр GPIOx->CRH или CRL Вывести на контакт высокий уровень через регистр GPIOx->ODR

Слайд 9





Как считать состояние кнопки?
Подать питание на нужный порт
через регистр RCC->APB2ENR
Настроить режим нужного контакта в нужном порту (нужен режим input floating)
через регистр GPIOx->CRH или CRL
Проверить уровень на нужном контакте
через регистр GPIOx->IDR
Описание слайда:
Как считать состояние кнопки? Подать питание на нужный порт через регистр RCC->APB2ENR Настроить режим нужного контакта в нужном порту (нужен режим input floating) через регистр GPIOx->CRH или CRL Проверить уровень на нужном контакте через регистр GPIOx->IDR

Слайд 10





Подвох
При записи и чтении регистров нас, как правило, волнуют состояния отдельных бит.
При чтении нужно читать ТОЛЬКО отдельные биты
При записи нужно менять ТОЛЬКО отдельные биты
Почему?
Потому что состояние других бит может отражать что-нибудь еще.
Описание слайда:
Подвох При записи и чтении регистров нас, как правило, волнуют состояния отдельных бит. При чтении нужно читать ТОЛЬКО отдельные биты При записи нужно менять ТОЛЬКО отдельные биты Почему? Потому что состояние других бит может отражать что-нибудь еще.

Слайд 11





Пример
Мы хотим зажечь светодиод на ножке РС8.
Для этого нужно установить восьмой бит в регистре GPIOC->ODR.
Например вот так:
GPIOC->ODR = 256;
Но ведь так мы не только установим восьмой бит! 
Мы еще и сбросим все остальные биты!
Описание слайда:
Пример Мы хотим зажечь светодиод на ножке РС8. Для этого нужно установить восьмой бит в регистре GPIOC->ODR. Например вот так: GPIOC->ODR = 256; Но ведь так мы не только установим восьмой бит! Мы еще и сбросим все остальные биты!

Слайд 12





А при чтении?
Мы хотим проверить, нажата ли кнопка на РА0. Нужно проверить нулевой бит в регистре IDR:
GPIOA->IDR == 1;
Но ведь это проверяет не только первый бит на равенство единице! Это проверяет и равенство всех остальных битов нулю.
Описание слайда:
А при чтении? Мы хотим проверить, нажата ли кнопка на РА0. Нужно проверить нулевой бит в регистре IDR: GPIOA->IDR == 1; Но ведь это проверяет не только первый бит на равенство единице! Это проверяет и равенство всех остальных битов нулю.

Слайд 13





Что же делать?
Битовые операции языка С!
Описание слайда:
Что же делать? Битовые операции языка С!

Слайд 14





Запись одного бита
Установка одного бита:
a |= 1<<7; // установить седьмой бит
Сброс одного бита:
a &= ~(1<<3); // сбросить третий бит
Инверсия одного бита:
a ^= 1<<5; // инверсия пятого бита
Описание слайда:
Запись одного бита Установка одного бита: a |= 1<<7; // установить седьмой бит Сброс одного бита: a &= ~(1<<3); // сбросить третий бит Инверсия одного бита: a ^= 1<<5; // инверсия пятого бита

Слайд 15





Чтение одного бита
if( a & (1<<7) ) – это условие истинно, если седьмой бит равен единице.
Писать if( a & (1<<7) == 1<<7) можно, но бессмысленно.
Скобки лучше ставить. Серьезно.
Описание слайда:
Чтение одного бита if( a & (1<<7) ) – это условие истинно, если седьмой бит равен единице. Писать if( a & (1<<7) == 1<<7) можно, но бессмысленно. Скобки лучше ставить. Серьезно.

Слайд 16





Запись нескольких бит
Объединение через ИЛИ:
a |= (1<<7) | (1<<8); // установить седьмой и восьмой биты
Три волшебных числа:
a |= 0x3<<7; // установить седьмой и восьмой биты
a |= 0x7<<7; // установить седьмой, восьмой и девятый биты
a |= 0xF<<7; // установить 7,8,9 и 10й биты
Шестнадцатеричный код без сдвигов:
016 === 00002. Т.е. 10016 == 1 0000 00002
a |= 0x180; // == a |= (1<<7) | (1<<8)
Описание слайда:
Запись нескольких бит Объединение через ИЛИ: a |= (1<<7) | (1<<8); // установить седьмой и восьмой биты Три волшебных числа: a |= 0x3<<7; // установить седьмой и восьмой биты a |= 0x7<<7; // установить седьмой, восьмой и девятый биты a |= 0xF<<7; // установить 7,8,9 и 10й биты Шестнадцатеричный код без сдвигов: 016 === 00002. Т.е. 10016 == 1 0000 00002 a |= 0x180; // == a |= (1<<7) | (1<<8)

Слайд 17





Чтение нескольких бит (аналогично)
Объединение через ИЛИ:
a & (1<<7 | 1<<8)
Три волшебных числа:
a & (3<<7)
Шестнадцатеричный код без сдвигов:
a & 0x180
Описание слайда:
Чтение нескольких бит (аналогично) Объединение через ИЛИ: a & (1<<7 | 1<<8) Три волшебных числа: a & (3<<7) Шестнадцатеричный код без сдвигов: a & 0x180

Слайд 18





Как помигать светодиодом?
Что такое мигание?
Это когда какое-то время светодиод горит, а потом какое-то время не горит!
Значит, нужно:
Зажечь светодиод
Подождать 
Погасить светодиод
Подождать
Повторить 1-4
Описание слайда:
Как помигать светодиодом? Что такое мигание? Это когда какое-то время светодиод горит, а потом какое-то время не горит! Значит, нужно: Зажечь светодиод Подождать Погасить светодиод Подождать Повторить 1-4

Слайд 19





Как подождать?
С помощью функции delay? Но как она работает?
Самый простой способ – пустой цикл for:
for(uint32_t i=0; i<1000; i++) {;}
Ничего не делать 1000 раз подряд.
Количество итераций выбирается либо на глаз, либо исходя из частоты процессора (у нас – 72 МГц)
Описание слайда:
Как подождать? С помощью функции delay? Но как она работает? Самый простой способ – пустой цикл for: for(uint32_t i=0; i<1000; i++) {;} Ничего не делать 1000 раз подряд. Количество итераций выбирается либо на глаз, либо исходя из частоты процессора (у нас – 72 МГц)

Слайд 20





А можно ли чуть попроще помигать?
Можно:
Подождать
Инвертировать состояние ножки
Повторить 1-2
Описание слайда:
А можно ли чуть попроще помигать? Можно: Подождать Инвертировать состояние ножки Повторить 1-2



Похожие презентации
Mypresentation.ru
Загрузить презентацию