LED драйвер TM1639 библиотека v1.2 for XC16

Views: 266

[featured_image]
Login Required Message:
Download is available until [expire_date]
  • Версия
  • Скачать 2
  • Размер файла 11.57 KB
  • Количество файлов 1
  • Дата создания 14/05/2018
  • Последнее обновление 01/06/2019

LED драйвер TM1639 библиотека v1.2 for XC16

//------------------------------------------------------------------------------
/*
 * 8-разрядный дисплей
 * Библиотека для работы с платами индикации на драйвере TM1639
 * 8 разрядный индикатор с общим катодом
 * 8-digit display
 * Library for working with display boards on the TM1639 driver
 * 8-bit common cathode indicator
 * Microchip MPLAB XC16 C Compiler V1.34
 * Геннадий Чернов, Днипро 2018
 * Hennady Chernov, Dnipro 2018
 * версия V1.2. для работы MCC и XC16
 * работа с 4 четырёх кнопочной клавиатурой
 * TM1639
 * __  9--12/13
 * __ 10--12/13
 * work with 4 four-button keyboard
 * Email: catcatcat.electronics@gmail.com
 * http://catcatcat.d-lan.dp.ua/
 * =============================================================================
 *  --    --    --    --    --    --    --    --    -a-
 * |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  f   b
 *  --    --    --    --    --    --    --    --    -g-  
 * |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  e   c
 *  --.   -- .  --.   --.   --.   -- .  --.   --.   -d- h
 *  1     2     3     4	  	5	  6		7     8
 * Десятичная точка 0 - нет точки, цифра после
 *    1     2     3     4     5     6     7     8
 * =============================================================================
 * Для работы библиотеки надо в MCC сконфигурировать SPI
 * пример инициализации и вывода значений на индикатор
 * 
    TM1639_init ();             // инициализация дисплея
    bin_dec (-3475,0,0,0);      // для тестовой индикации
 * 
 * Функция LOAD_displ_keyboard дожна быть встроена в прерывания таймера с периодом 20 мсек
 * даннaя библиотека используется совместно с библиотекой SPI
 * 
 * Индикация и чтение клавиатуры выполняется через функцию <LOAD_displ_keyboard>
 * в прерывание таймера с периодом 10 милисекунд надо поместить строки 
 * (тут скорость опроса выбираем по желанию) придется только скорректировать
 * // Задержки анимации
 * #define NAEZD    14  // длительность наезда
 * #define DLIT 	90	// движение по горизонтали
 * #define DLITV	90	// вертикальное движение
 * 
    if(timersud)timersud--;         // таймер удержания кнопки
    LOAD_displ_keyboard ();         // загрузка данных и чтение клавы
 * 
 * пример функциии прерывания для Т3 , период 10 милисекунд
 * 
void __attribute__ ( ( interrupt, no_auto_psv ) ) _T3Interrupt (  )
{
    //***User Area Begin

    // ticker function call;
    // ticker is 1 -> Callback function gets called everytime this ISR executes
    TMR3_CallBack();
//------------------------------------------------------------------------------
    if(timersud)timersud--;         // таймер удержания кнопки
    LOAD_displ_keyboard ();         // загрузка данных и чтение клавы
//------------------------------------------------------------------------------
    if(mi05uH)mi05uH--;     // таймер 0,5 герца
    else
    {
       mi05uH = 50;
       B_MIG = !B_MIG; 
    }
//------------------------------------------------------------------------------      
    //***User Area End
    

    tmr3_obj.count++;
    tmr3_obj.timerElapsed = true;
    IFS0bits.T3IF = false;
}
 * 
 *  
*/

 

Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее