MCU4. Отображение цифр на двух семисегментных индикаторах с помощью микроконтроллера PIC.

Написать программу для последовательного отображения чисел от 0 до 19 (с шагом 1) на двух рядом расположенных одноразрядных семисегментных индикаторах. Отображение цифр начинается с левого индикатора, затем (на втором десятке) подключается правый индикатор. Задействовать в проекте микроконтроллер Atmega8. Подключение семисегментного индикатора к микроконтроллеру подробно изложено в учебном пособии “Программирование микроконтроллеров”.
Листинг программы:

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
int figures[10] = {0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f};
int z;
int main (void)
{
DDRD = 0b11111111;
DDRB = 0b11111111;
while (1)
{
PORTB = 0b00000000;
PORTD = 0b00000000;

for (z=0; z<=9; z++) // возрастание цифр в PORTB
{
PORTB = figures[z];
_delay_ms(600);
}
for (z=0; z<=9; z++) // возрастание цифр в PORTD
{
PORTB = figures[1];
PORTD = figures[z];
_delay_ms(600);
}
}
}

Моделирование

В случае правильного функционирования программы прошиваем микроконтроллер. Последовательность действий при прошивке микроконтроллера изложена в учебном пособии “Программирование микроконтроллеров” на данном сайте.