Понедельник, Май 25, 2020

Пример 7.12 PIC18 Си стр284-ЖКИ последовательная передача

primer-712-pic18-si-str284-zhki-posledovatelnaya-peredacha

#include<p18cxxx.h>
#include<delays.h>
#include<string.h>
#pragma config OSC=RC
#pragma config WDT=OFF
#pragma config LVP=OFF
#pragma config BOR=OFF
#pragma config MCLRE=OFF
#define LCD PORTB
#define SDATA  PORTBbits.RB2
#define CLOCK  PORTBbits.RB1
#define E      PORTBbits.RB0
 
#pragma code
void clockShiftReg(void)
{
    CLOCK=1;
    CLOCK=0;
}
void clearShiftReg(void)
{
    char a;
    SDATA=0;
    for(a=0;a<6;a++)
        clockShiftReg();
}
void sendNibble(char nib,char RS)
{
    
    char a;
    clearShiftReg();
    SDATA=RS;
    clockShiftReg();
    for(a=0;a<4;a++)
    {
        SDATA=nib&1;
        clockShiftReg();
        nib>>=1;
    }
    E=1;
    E=0;
}
void SendLCDdata(char data,char RS)
{
    sendNibble(data>>4,RS);
    sendNibble(data,RS);
}
void InitLCD(void)
{
    Delay1KTCYx(20);
    sendNibble(3,0);
    Delay1KTCYx(4);
    sendNibble(3,0);
    Delay1KTCYx(12);
    SendLCDdata(0x32,0);
    SendLCDdata(0x28,0);
    SendLCDdata(0x08,0);
    SendLCDdata(0x01,0);  
    Delay1KTCYx(2);
    SendLCDdata(0x06,0);
    SendLCDdata(0x0c,0);
    clearShiftReg();
}
void main(void)
{
    ADCON1=0x7f;
    TRISB=0;
    PORTB=0;
    InitLCD();
    while(1)
    {
        SendLCDdata(0x80,0);
        SendLCDdata(0x41,1);
    }
}



НАЗАД                                                                                                                                         ДАЛЕЕ


Back to Top