
Добавил:
Andrejjavd
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Примеры решения лабораторных работ / LABA3 / 3_1
.txt// Динамическая индикация на 7-ми сегментных индикаторах
// Вывод сообщения "123" без использования таймеров
// Входы: нет
// Выходы: PORT C - сегменты индикаторов
// PORT D - индикаторы HG1, HG2, HG3
#include <iom8535v.h>
#include <macros.h>
#define NUM 30000
void main(void)
{
unsigned int i;
DDRC =0xFF; // порт С - на выход
PORTC=0x00; // все сегменты не светятся
DDRD =0x07; // младшие три бита порта D - на выход
PORTD=0x00; // индикаторы не выбраны
for (;;) // бесконечный цикл
{ // вывод цифры "1" на индикатор HG1
PORTC=0x06; // 0000 0110 - сегменты "b" и "c" в порт С
PORTD=0x01; // выбор индикатора HG1
for (i=0; i<NUM; i++) ; // программная пауза меньше 5 мс
// вывод цифры "2" на индикатор HG2
PORTC=0x5B; // 0101 1011 - сегменты "a","b","d","e","g"
PORTD=0x02; // выбор индикатора HG2
for (i=0; i<NUM; i++) ; // программная пауза 5 мс
// вывод цифры "3" на индикатор HG3
PORTC=0x4F; // 0100 1111 - сегменты "a","b","c","d","g"
PORTD=0x04; // выбор индикатора HG3
for (i=0; i<NUM; i++) ; // программная пауза меньше 5 мс
}
}