Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > C++


Автор: KyKy 22.3.2011, 15:07
Код

#include <p18f4520.h>       // Подключение библиотеки МК PIC18F4520

#pragma config OSC = HS     // Внешний источник тактовых импульсов
#pragma config WDT = OFF    // Отключить сторожевой таймер
#pragma config LVP = OFF    // Отключить низковольтное программирование

unsigned char Digits[] = { 0b11000000, /* 0 */    0b11111001, /* 1 */
                           0b10100100, /* 2 */    0b10000110, /* 3 */
                           0b10011001, /* 4 */    0b10010010, /* 5 */
                           0b10000010, /* 6 */    0b11111000, /* 7 */
                           0b10000000, /* 8 */    0b10010000,  /* 9 */ 
                           0b10000110 /* A */  };
                         

void main (void)            // Основная функция
{
    unsigned char temp = 0; // 8-битовая беззнаковая переменная i

    TRISC = 0b00001111;     // Настройка RC0-RC3 на ввод данных
    TRISD = 0b00000000;     // Все линии порта D настроены на выход

    while (1)                        // Бесконечный цикл
    {
        temp = ~PORTC & 0b00001111;  // Чтение состояния порта

        switch (temp)               // Оператор множественного выбора
        {
            case 0b00000001: temp = 0x05; break;  // нажата кнопка 1
            case 0b00000100: temp = 0x06; break;  // нажата кнопка 3
            case 0b00001010: temp = 0x07; break;  // нажата кнопка 2+4
            case 0b00001100: temp = 0x08; break;  // нажата кнопка 3+4
            
            default:         temp = 0x03;
         }
         
         PORTD = Digits[temp]; // Вывод в порт D управляющего устройства
      
      }
}


Автор: azesmcar 22.3.2011, 15:23
О чем эта тема вообще?

Автор: Severyanin 22.3.2011, 16:21
товарищ показал, что он знает, что  такое МК PIC и даже видел его карту прерываний. Хочет, наверное, чтобы мы испытали гордость, что у нас на форуме есть столь достойные люди 

Автор: ConverterDU 22.3.2011, 17:14
Может у человека времени не хватило на сам вопрос просто...

Автор: UniBomb 22.3.2011, 17:20
Пусть каждый предложит какое-нибудь решение (или ответ). ТС придёт, озвучит проблему - чьё решение больше подходит, тот и победил.

Автор: kemiisto 22.3.2011, 17:24
UniBomb, хорошо. smile 

Мой ответ: 42.

Добавлено через 32 секунды
Цитата(ConverterDU @  22.3.2011,  15:14 Найти цитируемый пост)
Может у человека времени не хватило на сам вопрос просто... 

 smile 

Автор: kemiisto 22.3.2011, 17:43
Цитата(UniBomb @  22.3.2011,  15:20 Найти цитируемый пост)
чьё решение больше подходит, тот и победил

UniBomb, кому сообщить адрес, куда приз отправлять?

Автор: Albor 22.3.2011, 18:17
Чем хорош этот форум, так это тем, что даже не задавая вопроса получишь кучу ответов smile

Автор: bsa 22.3.2011, 18:18
Не менее 10-ти лет прошло с тех пор, как ТС начал изучать Си.


 ! 
bsa
Название темы должно отражать суть.
Нет вопроса, на который ожидается ответ

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)