Views: 51
- Версия
- Скачать 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;
}
*
*
*/