O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Въведение в Микроконтролерите - PCVT/20150214

Въведение в микроконтролерите като за съвсем начинаещи. Работа с Atmel AVR и по-специално ATtiny85.

  • Entre para ver os comentários

Въведение в Микроконтролерите - PCVT/20150214

  1. 1. Микроконтролери (за абсолютно начинаещи) Въведение в микроконтролерите Тази презентация е част от проведения 14-ти февруари в гр. Велико Търново „Курс по запояване и микроконтролери“ 2015-02-14, Велико Търново Copyright © 2015, Neven Boyanov This work by Neven Boyanov is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Въведение в микроконтролерите Тази презентация е част от проведения 14-ти февруари в гр. Велико Търново „Курс по запояване и микроконтролери“ 2015-02-14, Велико Търново Copyright © 2015, Neven Boyanov This work by Neven Boyanov is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
  2. 2. Какво е това микроконтролер Интегрална схема, съчетаваща в себе си микропроцесор, тактов генератор, оперативна памет и входно-изходни устройства, което и позволява да функционира̀ като самостоятелно компютърно устройство.
  3. 3. Какво можем да правим с микроконтролер – нещо просто
  4. 4. Какво можем да правим с микроконтролер – нещо сложно
  5. 5. Как се програмира микроконтролер Трябват ни … ● Компютър ● Програматор ● Микроконтролер
  6. 6. Как работи микроконтролера
  7. 7. Как контролираме битовете
  8. 8. Примерна програма #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); DDRB &= ~(1 << PB4); while (1) { if (PINB & (1 << PB4) == 0) { PORTB |= (1 << PB3); } else { PORTB &= ~(1 << PB3); } } return (0); }
  9. 9. Мигащ светодиод #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << PB3); while (1) { PORTB |= (1 << PB3); _delay_ms(200); PORTB &= ~(1 << PB3); _delay_ms(400); } return (0); }
  10. 10. Мигащ светодиод стъпка 1 #include <avr/io.h> ● Включване на стандартните за за микроконтролера дефиниции с помоща на #include директивите.
  11. 11. Мигащ светодиод стъпка 2 #include <avr/io.h> int main(void) { return (0); } ● Главната за програмата main() функция.
  12. 12. Мигащ светодиод стъпка 3 #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); return (0); } ● Настройка на PB3 като изход.
  13. 13. Мигащ светодиод стъпка 4 #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); while (1) { } return (0); } ● Задаване на безкраен цикъл wihle(1) за изпълнение на програмата.
  14. 14. Мигащ светодиод стъпка 5 #include <avr/io.h> int main(void) { DDRB |= (1 << PB3); while (1) { PORTB |= (1 << PB3); PORTB &= ~(1 << PB3); } return (0); } ● Последователно установяване на изхода в … – 1 = високо ниво – 0 = ниско ниво … съответстващо на включване и изключване на светодиода.
  15. 15. Мигащ светодиод стъпка 6 #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1 << PB3); while (1) { PORTB |= (1 << PB3); _delay_ms(200); PORTB &= ~(1 << PB3); _delay_ms(400); } return (0); } ● Задаване на закъснение след всяко включване и изключване.
  16. 16. Контакти и препратки Невен Боянов ● http://www.boyanov.org ● https://twitter.com/boyanov ● https://www.facebook.com/boyanov Tinusaur ● http://tinusaur.org ● https://www.facebook.com/tinusaur Programmers' Club in Veliko Turnovo ● http://www.pcvt.org ● https://www.facebook.com/groups/pcvt.org/ Невен Боянов ● http://www.boyanov.org ● https://twitter.com/boyanov ● https://www.facebook.com/boyanov Tinusaur ● http://tinusaur.org ● https://www.facebook.com/tinusaur Programmers' Club in Veliko Turnovo ● http://www.pcvt.org ● https://www.facebook.com/groups/pcvt.org/

×