📄 ms.c
字号:
/****************************************************************
LCD Demo Program
****************************************************************/
//其中LCD_data()和LCD_cmd()是操作LCD控制芯片的函数,具体指令代码按照你芯片指令集发送
/************ LCD function ************/
void LCD_init()
{
unsigned int i;
for(i=0;i<5;i++)
{
RB1=0;
delay(5);
RB1=1;
delay(5);
}
LCD_cmd(LCD_INIT);
delay(5);
LCD_cmd(LCD_RC);
delay(5);
LCD_cmd(LCD_OSC);
delay(5);
LCD_cmd(LCD_DISP_ON);
delay(5);
for(i=0;i<32;i++) LCD_data(i,0x00);
for(i=0;i<20;i++) LCD_data(i,0x0f); //test LCD
LCD_data(6,0x06);
LCD_data(19,0x07);
delay(8000);
for(i=0;i<20;i++) LCD_data(i,0x00);
delay(4000);
}
void LCD_bit(unsigned int data)
{
RD3=0; //WR low
delay_short();
RD2=data;
delay_short();
RD3=1; //WR high
delay_short();
}
void LCD_cmd(unsigned int data)
{
unsigned int i,temp;
RB1=0;
delay(1);
LCD_bit(1);
LCD_bit(0);
LCD_bit(0);
for(i=0;i<8;i++)
{
temp=(data&0x0080)>>7;
data=data<<1;
LCD_bit(temp);
}
LCD_bit(0);
RB1=1;
delay(1);
}
void LCD_data(unsigned int addr,unsigned int data)
{
unsigned int i,temp;
RB1=0;
delay(1);
LCD_bit(1);
LCD_bit(0);
LCD_bit(1);
for(i=0;i<6;i++)
{
temp=(addr&0x0020)>>5;
addr=addr<<1;
LCD_bit(temp);
}
for(i=0;i<4;i++)
{
temp=(data&0x0001);
data=data>>1;
LCD_bit(temp);
}
RB1=1;
delay(1);
}
/************ delay function ************/
void delay(unsigned int time) //delay(100)=25ms
{
unsigned int i,j;
for(i=0;i<time;i++)
{
for(j=0;j<60;j++)
{
}
}
}
void delay_short() //delay_short()=13.5us
{
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -