MicroCHIP.RU
Главная Документация Отладочные средства Справочник Поиск Ссылки
 Новости   Конференция   Контакты 
 

Программирование PIC16f87x c ЖКИ на базе HD44780

 Нoвaя темa  |  Наверх  |  Перейти к теме  |  Поиск  |  Правила  |  Вход 

ВНИМАНИЕ!
Вы просматриваете архив форума.

Этот форум работает только в режиме просмотра и поиска.

Действующий форум переведен на новый движок и
находится по адресу www.microchip.su

 Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: axel-net ()
Дата:   26/02/2004 23:37

Кто нибудь подскажите как инициализировать ЖКИ (на примере Powertip) на HD44780 для 4-х
проводной линии передачи данных. В пояснении к контроллеру говорится, что надо первоначально
перевести контроллер ЖКИ из 8-ми разрядного в 4-х разрядный режим командой $28. Я это делаю но
при выводе на ЖКИ любого числа получается полная лабуда, ЖКИ мерцает выдает какие-то левые
цифры, вообщем ведет себя не по нормальному. Подскажите кто работал с данным контролером плиз в
чем тут дело


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: worm ()
Дата:   26/02/2004 23:56

Сначала надо провести инициализацию ЖКИ.
Об этом можно почитать в описании ЖКИ МЭЛТ http://www.melt.aha.ru/pdf/mt-16s2h.zip


 
 вобще то микрочип за нас все подумал и создал МАЭСТРО
Автор: Яков ()
Дата:   27/02/2004 11:51

http://www.microchip.com/download/lit/suppdoc/maestro/xlcd.readme.pdf




 
 Re: вобще то микрочип за нас все подумал и создал МАЭСТРО
Автор: ant1k ()
Дата:   27/02/2004 15:10

почитай доку на свой хитачи 44780, там все сказано, как инициализировать, какие временные задерж
ки едлать, какие там команды инициализации.. если надо будет помочь стукни в асю мне!я сам недавн
о разбирался с этим просто


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: DimaSobol ()
Дата:   28/02/2004 02:25

#define strobe ((E=1), (E=0))

void lcd_init() //иниацилизация LCD
{
RS=0; //команды
delay(50); // 50ms
PORTD=0b00111000;
delay(2);
strobe;
NOP;
PORTD=0xFF;

delay(20);
PORTD=0b00111000;
delay(2);
strobe;
NOP;
PORTD=0xFF;

delay(5);
PORTD=0b00111000;
delay(2);
strobe;
NOP;
PORTD=0xFF;

delay(20);
PORTD=0b00001100; // 00001 [вкл изобр] [курсор _ выкл] [курсор знком.
выкл]
delay(2);
strobe;
PORTD=0xFF;
delay(100);
}


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: zksystem ()
Дата:   28/02/2004 08:18

//--- initialise the LCD - put into 4 bit mode ---

void lcd_init(void)
{
LCD_RW = 0; // write control bytes
LCD_RS = 0; // write control bytes
DelayMs(20); // power on delay
PORTC = (PORTC & 0xF0) | 0x03;
LCD_STROBE;
DelayMs(5);
LCD_STROBE;
DelayUs(100);
LCD_STROBE;
DelayMs(5);
PORTC = (PORTC & 0xF0) | 0x02; // set 4 bit mode
LCD_STROBE;
DelayMs(10);
lcd_data(0x2c, 0); // 4 bit mode, 2/16 duty, 5x8 font
lcd_data(0x08, 0); // display off
lcd_data(0x0c, 0); // display on, blink curson off
lcd_data(0x06, 0); // entry mode
lcd_clear();
}

- www.zaocita.ru - zksystem aka Konstantin I. Zuykov - icq: 82327775 -



 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: VANK ()
Дата:   28/02/2004 18:21

Не забывай - когда пишешь в LCD не надо делать прерывания!!!


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: Zemfir ()
Дата:   28/02/2004 18:34

VANK писал(а):

> Не забывай - когда пишешь в LCD не надо делать прерывания!!!

почему?


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: VDArs ()
Дата:   28/02/2004 18:56

VANK писал(а):

> Не забывай - когда пишешь в LCD не надо делать прерывания!!!

Когда писал прогу с индикацией на ЖКИ с контроллером Хитачи HD44780, то слава аллаху об этом не
ведал... А блоки тем не мение работают без отказов

____________________________________________________________
Главное - не то, что в принципе, главное - то, что в кожухе.


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: axel-net ()
Дата:   28/02/2004 22:46

Всем спасибо. Немного мучений (ЖКИ четырехстрочный с двумя HD44780 и лишь методом тыка
получилось дойти до того, как выводить на ту или иную строку дисплея) и все получилось. Теперь
у меня на очереди запрограммирование работы АЦП AD7705, так что если до чего снова не дойду
обращусь. Заранее благодарен.


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: andrey_new ()
Дата:   06/03/2004 16:59

Люди помогите пожалуйста дайте программу хоть что нибудь вывести на экран в 8
разрядно режиме
заранее благодарен


 
 Re: Программирование PIC16f87x c ЖКИ на базе HD44780
Автор: andrey_new ()
Дата:   06/03/2004 17:58

попытался вывести на экран 7 7
вот программа для PIC16F84 кварц 1мгц
ниче __CONFIG _CP_OFF &_WDT_OFF&_PWRTE_ON&_XT_OSC

;************************ îáëàñòü ïåðåìåííûõ **********************************
; #define INTCON, T0IF ;ïðèçíàê ïðåðûûâàíèÿ ïî ïåðåïîëíåíèþ òàéìåðà
symbol EQU 0x0F ; ñèìâîë
st_tmp EQU 0x10
w_tmp EQU 0x11
priz EQU 0x12
#define RS PORTA,0 ; ÊÎÌÀÍÄÀ \ ÄÀÍÍÛÅ
#define RW PORTA,1 ; ×ÒÅÍÈÅ \ ÇÀÏÈÑÜ
#define E PORTA,2 ; ÒÀÊÒÎÂÛÉ ÈÌÏÓËÜÑ
ORG 0x000
goto main
;******** ïðåðûâàíèå *******************************
ORG 0x004
movwf w_tmp
movf STATUS,w
movwf st_tmp

bsf priz,1





exit
movwf STATUS
swapf w_tmp,f
swapf w_tmp,W
bcf INTCON,T0IF
bcf INTCON,INTF
retfie
;*******************************************************

main


clrf PORTA
clrf PORTB
bsf STATUS,RP0 ; âûáîð áàíêà1
movlw b'11111000'
movwf PORTA ; RA1-RA3=âûâîä
movlw b'00000000'
movwf PORTB ; âñå íà âûâîä
movlw b'01010101'
movwf OPTION_REG ; ïðåðûâàíèå ïî íàðîñòàíèþ óðîâíÿ
movlw b'10100000'
movwf INTCON; ïðåðûâàíèÿ çàïðåùåíû
bcf STATUS,RP0
clrf symbol
clrf priz
clrf TMR0

clrf PORTA
clrf PORTB
btfss priz,1 ; çàäåðæêà
goto $-1



bcf RS
bcf RW
bsf E
movlw 0x30
movwf PORTB
bcf E
clrf PORTB
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
bsf E
movlw 0x30
movwf PORTB
bcf E
clrf PORTB
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

bsf E
movlw 0x30
movwf PORTB
bcf E
nop
clrf PORTB
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop


bsf E
movlw 0x38
movwf PORTB
bcf E
nop
clrf PORTB

nop
nop

bsf E
movlw 0x08 ;
movwf PORTB
BCF E
clrf PORTB
nop
nop


bsf E
movlw 0x01 ;î?èñòêà äèñïëåÿ
movwf PORTB
BCF E
clrf PORTB
nop
nop
nop


bsf E
movlw 0x01 ;entry mode
movwf PORTB
BCF E
clrf PORTB
nop
nop
nop

bsf E
movlw 0x03 ;entry mode
movwf PORTB
BCF E
clrf PORTB
nop


nop
nop
A bcf RW
bsf RS
bsf E
movlw 0x37 ;7 ïîêàçàòü
movwf PORTB
BCF E
clrf PORTB
nop
nop
bcf RW
bsf RS
bsf E
movlw 0x37 ;7 ïîêàçàòü
movwf PORTB
BCF E
clrf PORTB
nop


goto A


endго не получается кто может помочь