#include "ioS3C9454.h"
#include "intrinsics.h"
#define uchar unsigned char
#define uint unsigned int
#define nop() (__no_operation())
#define di() (__disable_interrupt())
#define ei() (__enable_interrupt())
//LCD cmd
#define Bias_Duty 0x52//0x50
#define Rc256 0x30
#define LCD_ON 0x06
#define LCD_OFF 0x04
#define SIS_EN 0x02
#define TONE_OFF 0x10
#define TONE_2K 0x13
#define TONE_4K 0x12
#define SetDATA_B (P0|=0x40)
#define ClrDATA_B (P0&=~0x40)
#define SetWR_C (P0|=0x80)
#define ClrWR_C (P0&=~0x80)
#define SetCS (P2|=0x40)
#define ClrCS (P2&=~0x40)void
SendBit_1621(uchar Data,uchar cnt)
{
uchar i;
for(i=0;i<cnt;i++)
{
if((Data&0x80)==0)
ClrDATA_B;
else
SetDATA_B;
ClrWR_C;
SetWR_C;
Data<<=1;
}
}
void SendCmd(uchar command)
{
ClrCS;
SendBit_1621(0x80,4);
SendBit_1621(command,8);
SetCS;
}
void Write_1621(uchar addr,uchar Data)
{
ClrCS;
SendBit_1621(0xA0,3);
SendBit_1621(addr<<2,6);
SendBit_1621(Data<<4,4);
SetCS;
}
void InitLCD(void)
{
uchar i;
SendCmd(Rc256);
SendCmd(SIS_EN);
SendCmd(Bias_Duty);
SendCmd(LCD_ON);
for(i=0;i<12;i++)
Write_1621(i,0);
for(i=0;i<12;i++)
Seg[i]=0;
}
|