Просмотр полной версии : Библиотека на С для индикатора TIC8148
Ivan_007
07.09.2009, 20:41
Hello All!!!
Помогите пожалуйста с примером программы на С для индикатора TIC8148, или библиотекой для него. Заранее благодарен.
С уважением!!! Иван, US5MPT.
Разбирайтесь, это для перевернутого 8148 (вверх тормашками)
xdata unsigned char LCD_buffer[11];
xdata unsigned char BCD_buffer[9];
xdata unsigned char LCD_Dots, LCD_Modes;
char code FontLookup[11] =
{
0x7B, // 0
0x0A, // 1
0x37, // 2
0x1F, // 3
0x4E, // 4
0x5D, // 5
0x7D, // 6
0x4B, // 7
0x7F, // 8
0x5F, // 9
0x00, // 10 blank
};
/*
0x75, // E
0x65, // F
0x60, // I
0x70, // L
0x74, // t
0x7A; // V
0x7B; // 0
*/
void bcd2font (void)
{
char i;
for ( i = 0; i < 8; i++)
{
BCD_buffer[i] = FontLookup[BCD_buffer[i]];
}
}
void conver2LCD (void)
{
LCD_buffer[0] = ( BCD_buffer[0] ) | (LCD_Modes << 7);
LCD_buffer[1] = ( BCD_buffer[1] << 1 )| (LCD_Dots & 0x01);
LCD_buffer[2] = ( BCD_buffer[2] << 2 )| (LCD_Dots & 0x02) | ((LCD_Modes & 0x02) >> 1);
LCD_buffer[3] = ( BCD_buffer[3] << 3 )| (LCD_Dots & 0x04) | ((LCD_Modes & 0x04) >> 1) | (BCD_buffer[2] >> 6);
LCD_buffer[4] = ( BCD_buffer[4] << 4 )| (LCD_Dots & 0x08) | ((LCD_Modes & 0x08) >> 1) | (BCD_buffer[3] >> 5);
LCD_buffer[5] = ( BCD_buffer[5] << 5 )| (LCD_Dots & 0x10) | ((LCD_Modes & 0x10) >> 1) | (BCD_buffer[4] >> 4);
LCD_buffer[6] = ( BCD_buffer[6] << 6 )| (LCD_Dots & 0x20) | ((LCD_Modes & 0x20) >> 1) | (BCD_buffer[5] >> 3);
LCD_buffer[7] = ( BCD_buffer[7] << 7 )| (LCD_Dots & 0x40) | ((LCD_Modes & 0x40) >> 1) | (BCD_buffer[6] >> 2);
LCD_buffer[8] = (LCD_Dots & 0x80) | ((LCD_Modes & 0x80) >> 1) | (BCD_buffer[7] >> 1);
}
void display (void)
{
P4 = 0xFE; ///FE
small_delay(20);
Send_SPI (0x00);
Send_SPI (LCD_buffer[8]);
Send_SPI (LCD_buffer[7]);
Send_SPI (LCD_buffer[6]);
Send_SPI (LCD_buffer[5]);
Send_SPI (LCD_buffer[4]);
Send_SPI (LCD_buffer[3]);
Send_SPI (LCD_buffer[2]);
Send_SPI (LCD_buffer[1]);
Send_SPI_END (LCD_buffer[0]);
P4 = 0xFF;
small_delay(20);
P4 = 0xFE;
}
Ivan_007
07.09.2009, 21:06
Спасибо!!!
Буду разбираться.
Володимир
30.11.2011, 18:28
Здравствуйте!! Вопрос как бы по теме. Но не совсем. Суть в том, что приобрел я макеевский LCF (http://www.rv3yf.ru/index.php?option=com _content&view=article&id=63:-lcf-&catid=6:2009-01-09-16-36-38&Itemid=13) метр. Работал нормально для своего класса. Но как то обнаружил, что трещина на индикаторе. И показания пропадают. Купил аналогичный индикатор (TIC 8148). Перепаял (заменил). Но индикатор не отображает НОРМАЛЬНО инфо. Цифры появляются и пропадают. В чем причина?
Powered by vBulletin® Version 4.1.12 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot