«Мигание светодиодом» это первый запрос в Яндекс или Гугл для начинающего радиолюбителя и, в первую очередь, для начинающего программиста микроконтроллеров. Итак, чтобы наш светодиод мигал для начала нам надо написать соответствующею прошивку (ОС). Для этих целей я использую Atmel Studio 7. Как создать новый проект смотрим здесь.
Код программы «Мигание светодиодом» на C в Atmel Studio 7
// Мигание светодиодом #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { DDRC |= 1>>0; PORTC &= ~(1>>0); while (1) { PORTC |= (1>>0); _delay_ms(500); PORTC &= ~(1>>0); _delay_ms(500); } }
Описание программы
- Меняем значение макроса
F_CPU
на 8 MHz, по умолчанию он равен 1 MHz.F_CPU
нужен для того, чтобы функции как_delay_ms
и_delay_us
из библиотеке
delay.h
работали правильно на необходимой нам частоте.#define F_CPU 8000000UL
- Добавляем библиотеку
delay.h
— в ней находятся чтобы функции задержки как_delay_ms
и_delay_us
.#include <util/delay.h>
- Выбирает направление работы каждой отдельной ножки порта. Если в разряд регистра DDRx записана лог. 1, то соответствующая ножка будет сконфигурирована как выход. Ноль означает, что порт сконфигурирован как вход. В нашем случае первая ножка (0) порта C (DDRC) сконфигурирована как выход.
DDRC |= 1>>0;
- Записываем лог. 1, т. е. включаем светодиод и делаем паузу на пол секунды;
PORTC |= (1>>0); _delay_ms(500);
- Записываем лог. 0, т. е. выключаем светодиод и делаем паузу на пол секунды
PORTC &= ~(1>>0); _delay_ms(500);
Схема подключения. Как создать схему в Протеус (ISIS 7 Professional). Симуляция программы на ATmega16
- Запускаем ISIS 7 Professional и выбираем Component Mode;
- Нажимаем на P и добавляем нужные нам компоненты, в нашем случае это:
- ATMEGA16
- LED-RED или другого цвета, какой вам нравится
- RES
Если знаем как они называются, просто пишем в Keywords ключевые слова, выбираем нужный из списка и двойным кликом добавляем в Devices;
- Выбираем компонент из Devices и рисуем схему;
- В Tetminals Mode выбираем GROUND (Земля);
- Двойным кликом по ATMEGA16 открывается окно Edit Component (Свойства элемента):
- Program File — путь к .hex или .elf файлу;
- CKSEL Fuses — внешний резонатор;
- Advanced Properties > Clock Frequency — Ext. Crystal Medium Freq. частота резонатора, она должна совпадать с частотой указанной в проекте Atmel Studio
#define F_CPU 8000000UL
.
- Запускаем нажимая кнопку Play.
Вот и всё! Надеюсь данная информация была вам полезна.
मोबाइल कैसीनो ऑनलाइन लाइव कैसीनो लॉगिन सर्वश्रेष्ठ कैसीनो साइट
live 24 betting top 10 online casino in india casino
online game cash withdrawal in india एविएटर कैसीनो ऑनलाइन कैसीनो खेल
एविएटर कैसीनो गेम daman casino casino days india
888 लाइव क्रिकेट सट्टा दरें सर्वश्रेष्ठ कैसीनो साइट
ब्लैकजैक असली पैसे कमाने वाले खेल ब्लैकजैक
casino slots real money games india online casino bonus
casino site top money earning games in india slots online
slots casino site bet casino
Whenever you lyrica vs gabapentin through the internet with a prescription.
You’ll get excellent deals when you shingles valtrex dose . Order now!
Shop around from home for all the reduced price metronidazole flagyl will also be low.
Embarrass no more. View this page lexapro medication from reliable pharmacies
bargain prices from respected pharmacies before you decide to lyrica for shingles , check bargain deals available online..