?? st7920_serial_c.c
字號:
}
SID=0;
for(i=0;i<0x4;i++)
{
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
}
for(i=0;i<0x4;i++)
{
SID=cmd&0x80;
cmd=cmd<<1;
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
}
SID=0;
for(i=0;i<0x4;i++)
{
_nop_();
_nop_();
CLK=1;
_nop_();
_nop_();
CLK=0;
_nop_();
_nop_();
}
Delay(5);
return;
}
/***********************************
** 函數(shù)名稱: SET_CGRAM_ADDRESS
** 功能描述:
** 輸 入: add
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊: Write_Instruction
**
** 作 者: 耀宇科技
** 日 期: 2006-2-28
******************************************/
void Set_CGRAM_Address(unsigned char idata add)
{
Write_Instruction(add|0x40);
return;
}
/***********************************
** 函數(shù)名稱: Set_DDRAM_Address
** 功能描述:
** 輸 入: add
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊: Write_Instruction
**
** 作 者: 耀宇科技
** 日 期: 2006-2-28
******************************************/
void Set_DDRAM_Address(unsigned char idata add)
{
Write_Instruction((0x80|add));
return;
}
/***********************************
** 函數(shù)名稱: Set_GDRAM_Address
** 功能描述:
** 輸 入: add
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊: Write_Instruction
**
** 作 者: 耀宇科技
** 日 期: 2006-2-28
******************************************/
void Set_GDRAM_Address(unsigned char idata add_page,unsigned char idata add_seg)
{
Write_Instruction((0x80|add_page));
Write_Instruction((0x80|add_seg));
return;
}
/***********************************
** 函數(shù)名稱: Initial
** 功能描述: LCD初始化
** 輸 入: 無
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊:CLEAR_DISPLAY_MEMORY,SET_SHIFT_DIRECTION,SET_FUNCTION_BASIC,DISPLAY_ON
**
** 作 者: 耀宇科技
** 日 期: 2006-2-28
******************************************/
void Initial(void)
{
Delay(2000);
PS=0;
CS=1;
Delay(1000);
CLEAR_DISPLAY_MEMORY();
Delay(5000);
SET_SHIFT_DIRECTION();
Delay(100);
SET_FUNCTION_BASIC();
Delay(100);
DISPLAY_ON();
Delay(100);
}
/***********************************
** 函數(shù)名稱: Display_Chinese
** 功能描述: 顯示漢字
** 輸 入: fnt
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊:Write_Data_1,Write_Data_2,Set_DDRAM_Address
**
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
void Display_Chinese(unsigned char fnt[])
{
register unsigned char i,j;
Set_DDRAM_Address(0x00);
for(i=0;i<0x08;i+=2)
{
for(j=0;j<0x08;j++)
{
Write_Data(fnt[i]);
Write_Data(fnt[i+1]);
}
}
return;
}
/***********************************
** 函數(shù)名稱: Display_Chinese
** 功能描述: 顯示漢字
** 輸 入: fnt
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊:Write_Data_1,Write_Data_2,Set_DDRAM_Address
**
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
void Display_Character(unsigned char dat)
{
register unsigned char i;
Set_DDRAM_Address(0x00);
for(i=0;i<0x40;i++)
{
Write_Data(dat++);
}
return;
}
/***********************************
** 函數(shù)名稱: Display_Chess
** 功能描述: 顯示棋盤
** 輸 入: 無
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊:Set_DDRAM_Address,Write_Data
**
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
void Display_Chess(void)
{
register unsigned char i;
Set_DDRAM_Address(0x00);
for(i=0;i<0x20;i++)
{
Write_Data(0x00);
Write_Data(0x00);
}
return;
}
/***********************************
** 函數(shù)名稱: Create_CGRAM
** 功能描述: 建棋盤圖形16*16
** 輸 入: dat
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊:Write_Data,Set_CGRAM_Address
**
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
void Create_CGRAM(unsigned char idata dat)
{
register unsigned char i,j;
Set_CGRAM_Address(0x00);
for(i=0;i<0x04;i+=2)
{
dat=~dat;
for(j=0;j<0x08;j++)
{
Write_Data(dat);
Write_Data(~dat);
}
}
return;
}
/***********************************
** 函數(shù)名稱: Create_CGRAM
** 功能描述: 建棋盤圖形16*16
** 輸 入: dat
** 輸 出 : 無
** 全局變量:無
** 調(diào)用模塊:Write_Data,Set_CGRAM_Address
**
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
void Create_CGRAM1(unsigned char idata dat1,unsigned char idata dat2)
{
register unsigned char i;
Set_CGRAM_Address(0x00);
for(i=0;i<0x10;i++)
{
Write_Data(dat1);
Write_Data(dat1);
Write_Data(dat2);
Write_Data(dat2);
}
return;
}
void main(void)
{
Initial();
Delay(10000);
while(1)
{
Create_CGRAM1(0x55,0x55);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Create_CGRAM1(0xaa,0xaa);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Create_CGRAM1(0xff,0x00);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Create_CGRAM1(0x00,0xff);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Create_CGRAM1(0x55,0xaa);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Create_CGRAM1(0xaa,0x55);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Display_Character(0x41);
Delay(65000);
Delay(25000);
Display_Chinese(font);
Delay(65000);
Delay(25000);
Display_Chinese(ft);
Delay(65000);
Delay(25000);
Create_CGRAM(0xff);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
Create_CGRAM(0x00);
Delay(10000);
Display_Chess();
Delay(65000);
Delay(15000);
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -