英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流
标题:
12232F液晶驱动程序
[打印本页]
作者:
eva
时间:
2012-8-21 14:13
标题:
12232F液晶驱动程序
#include<pic.h>//4MHZ
#define CS RC4
#define SCK RC3
#define SDI RC2
#define LCD_COM 0xf8
#define LCD_DATA 0xfa
#define nop() asm("nop")
const unsigned char HYSY[8]={ 0xbb,0xb6,//欢
0xd3,0xad,//迎
0xca,0xb9,//使
0xd3,0xc3,//用
};
//***************12232写函数 LCD_COMM指令/ LCD_DATA 数据, 值*********************//
void lcd_comm(unsigned flag,unsigned data)
{
unsigned char count;
CS=1;
for(count=8;count>0;count--)
{
if(flag&0x80)
SDI=1;
else
SDI=0;
SCK=1;
nop();
nop();
SCK=0;
flag=flag<<1;
}
for(count=4;count>0;count--)
{ if(data&0x80)
SDI=1;
else
SDI=0;
SCK=1;
nop();
nop();
SCK=0;
data=data<<1;
}
for(count=4;count>0;count--)
{ SDI=0;
SCK=1;
nop();
nop();
SCK=0;
}
for(count=4;count>0;count--)
{
if(data&0x80)
SDI=1;
else
SDI=0;
SCK=1;
nop();
nop();
SCK=0;
data=data<<1;
}
for(count=4;count>0;count--)
{ SDI=0;
SCK=1;
nop();
nop();
SCK=0;
}
CS=0;
}
void lcd_delay(void)
{
unsigned int i=240;
while(--i){;}
}
/********************12232初始化*******************************/
void lcd_init(void)
{
PORTC=0X00;
TRISC=0XE3;
lcd_comm(LCD_COM,0x30);
lcd_delay();
lcd_comm(LCD_COM,0x0c);
lcd_delay();
lcd_comm(LCD_COM,0x01);
lcd_delay();
lcd_comm(LCD_COM,0x02);
lcd_delay();
lcd_comm(LCD_COM,0x80);
lcd_delay();
}
void hysy(void)
{
unsigned char i;
const unsigned char *romp=HYSY;
for(i=0x82;i<0x86;i++)
{
lcd_comm(LCD_COM,i);
lcd_delay();
lcd_comm(LCD_DATA,*romp++);
lcd_delay();
lcd_comm(LCD_DATA,*romp++);
lcd_delay();
}
}
void main(void)
{
lcd_delay();
lcd_delay();
lcd_delay(); //液晶上电延时
lcd_init();
hysy();
while(1);
}
欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/)
Powered by Discuz! X3.2