19.01.2015, 22:13
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от Prototup
|
Надеялся на взаимопонимание... ну, в принципе, и нашёл его...
|
Чем глупо дуться лучше бы спросил, что не так с #include ‹LCD.C›... ![Прикольно](images/smilies/icon_wink3.gif)
Насчет ника. Я в последнее время все больше и больше становлюсь суеверным , и работает же однако...
__________________
Осторожно , злой кот
|
|
|
|
19.01.2015, 23:32
|
|
Вид на жительство
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от vlad_ru
|
подскажите есть ли драйвер для 7 сегментного(с запятой) N-разрядного индикатора?
|
По моему вопросу подскажите.
Может я как-то не корректно вопрос задал?
хочу считывать данные с ацп (например вольтметр) и выводить их на 7 сег индикатор с 4 разрядами. Для вывода ищу готовый модуль (как например вывод на LCD). Искал в инете , но не попалось подходящее.
|
|
|
|
21.01.2015, 21:55
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от vlad_ru
|
7 сег индикатор с 4 разрядами. Для вывода ищу готовый модуль
|
Посмотри пример в Examples: EX_LED.C, там в массиве все цифры с запятой описаны
BYTE CONST LED_MAP[10] = {0x90,0xb7,0x19,0x15,0x36,0x54,0x50,0xb5,0,0x24};
Модифицируй этот пример и напиши свою функцию вывода на индикаторы.
Сообщение от dosikus
|
Чем глупо дуться лучше бы спросил, что не так с #include ‹LCD.C›...
|
В принципе уже нах... не нужно, ну всё-же интересно, почему так коряво работает драйвер LCD420.C , ведь я спрашивал именно про него! А с LCD.C я уже разобрался!
Сообщение от dosikus
|
Я в последнее время все больше и больше становлюсь суеверным , и работает же однако...
|
Согласен! Лучше нюхать дым от Ладана, чем курить его
Последний раз редактировалось Prototup; 21.01.2015 в 21:58.
|
|
|
|
21.01.2015, 22:05
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от Prototup
|
почему так коряво работает драйвер LCD420.C , ведь я спрашивал именно про него! А с LCD.C я уже разобрался!
|
Потому что все писанное на форуме CCS кривое ...
__________________
Осторожно , злой кот
|
|
|
|
21.01.2015, 23:01
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от dosikus
|
Потому что все писанное на форуме CCS кривое ...
|
А как это откоментировать, вроде из состава штатных инструментов:
![Нажмите на изображение для увеличения
Название: 2015-01-21_213815.png
Просмотров: 25
Размер: 10.1 Кб
ID: 74846](https://kazus.ru/forums/attachment.php?attachmentid=74846&thumb=1&d=1421866233)
Короче, дело было не в бобине, сравните строчки из драйверов стандартной поставки CCS:
HD44780_420c.
...........
.............
..............
void lcd_gotoxy( BYTE x, BYTE y) {
BYTE address;
switch(y) {
case 1 : address=0x80;break;
case 2 : address=0xc0;break;
case 3 : address=0x90;break;
case 4 : address=0xd0;break;
}
lcd420c.
..............
..............
..............
void lcd_gotoxy( BYTE x, BYTE y) {
BYTE address;
switch(y) {
case 1 : address=0x80;break;
case 2 : address=0xc0;break;
case 3 : address=0x94;break;
case 4 : address=0xd4;break;
}
address+=x-1;
lcd_send_byte(0,address);
}
Почувствуйте разницу....
|
|
|
|
22.01.2015, 00:02
|
|
Вид на жительство
Регистрация: 12.12.2012
Сообщений: 368
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от vlad_ru
|
По моему вопросу подскажите.
Может я как-то не корректно вопрос задал?
хочу считывать данные с ацп (например вольтметр) и выводить их на 7 сег индикатор с 4 разрядами. Для вывода ищу готовый модуль (как например вывод на LCD). Искал в инете , но не попалось подходящее.
|
Вам надо попользоваться MAX7219/7221 всё простенько и со вкусом.
Код:
|
///////////////////// ВЫДАЧА ПО ПРОГРАММНОМУ SPI/
//////////////////////////////////////////////////
void spi_VIV(unsigned char buffer_VIV1,unsigned char buffer_VIV2 )
{
unsigned char i;
output_low(CS);
for(i=8;i›0;i--)
{
if(buffer_VIV1&0x80)output_high(SDO);
else output_low(SDO);
output_high(SCK);
#asm
nop
nop
#endasm
output_low(SCK);
buffer_VIV1‹‹=1;
}
for(i=8;i›0;i--)
{
if(buffer_VIV2&0x80)output_high(SDO);
else output_low(SDO);
output_high(SCK);
#asm
nop
nop
#endasm
output_low(SCK);
buffer_VIV2‹‹=1;
}
output_high(CS);
}
..............................................
//////////////////////////////////PROGRAM VIVOD 0//////////////////////////////////
void VIV_PR_0(void)
{
spi_VIV(0x0C,0x01);//Главный привод
spi_VIV(0x09,0xFF);
spi_VIV(0x0A,0x08);
spi_VIV(0x0B,0x07);
spi_VIV(0x0F,0x00);
BIN_2(PORTB_YPR);
R8 = ED;
BIN1_2(X2);
R7 = 0xa;
R6 = COT_TH;
R5 = DE_TH;
R4 = TH;
R3 = COT;
R2 = DE;
R1 = ED;
spi_VIV(0x01,R1);
spi_VIV(0x02,R2);
spi_VIV(0x03,R3);
spi_VIV(0x04,R4);
spi_VIV(0x05,R5);
spi_VIV(0x06,R6);
spi_VIV(0x07,R7);
spi_VIV(0x08,R8);
}
///////////////////////////////// |
Знатокам не ругаться , это в своё время была первая подпрограмма на
CCS C. Я ей пользуюсь постоянно и вспоминаю как был счастлив , что перешёл с АСМ.
|
|
|
Сказали "Спасибо" Sergey_57
|
|
|
23.01.2015, 23:01
|
|
Вид на жительство
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Sergey_57 Вы цену видели?
Поделитесь простым рабочим проектом вывода на 7 сегментный 4 разрядный индикатор.
|
|
|
|
23.01.2015, 23:29
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от vlad_ru
|
на 7 сегментный 4 разрядный индикатор.
|
4 разряда с расширением до 8 , с автоматической коррекцией яркости сегментов https://kazus.ru/forums/showpost.php...95&postcount=8
И дешевле чем на пЫк ....
__________________
Осторожно , злой кот
|
|
|
|
23.01.2015, 23:46
|
|
Вид на жительство
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
мне нужен исходник для PIC , хочу переделать под свои задачи
|
|
|
|
23.01.2015, 23:59
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Код:
|
#ifdef OK
#define LED_INIT_POS 0x10
#define LED_OFF 0x00
#else
#define LED_INIT_POS ~0x10
#define LED_OFF 0xff
#endif
#define Led_PORT PORTC
#define LedScan PORTD
#define LED_SCAN_MASK 0xf0
const unsigned char Seg_table[10]={CH_0,CH_1,CH_2,CH_3,CH_4,CH_5,CH_6,CH_7,CH_8,CH_ 9};
unsigned char Led_buffer[4]; // buffer for LED driver
//--------------------------
// Interrupt service
#int_default
void interrupt_handler(void)
{
if(INTCON.T0IF&&INTCON.T0IE) // timer0 interrupt service -› LED display+keypad driver
{
static unsigned char Counter;
static unsigned char Scan_value;
unsigned char Temp;
static unsigned char Port;
INTCON.T0IF=0;
TMR0=TMR0_VAL;
Led_PORT=LED_OFF; // display scan driver
LedScan=Scan_value;
Temp=Led_buffer[Counter];
Led_PORT=Temp;
Scan_value ‹‹=1;
Counter++; //
Counter&=0x03; //
if(!Counter)
{
Scan_value=LED_INIT_POS;
}
}
} |
"Живых" эпюр нету , куда то испарились...
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 24.01.2015 в 00:10.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:19.
|
|