-  
 
- #include "NUC1xx.h"
 
- #include "DrvGPIO.h"
 
- #include "DrvSYS.h"
 
- #include "DrvTIMER.h"
 
- #include "LCD4884.h"
 
- //---------------------------------------
 
- //函数名称: LCD_init
 
- //函数功能:5110LCD初始化函数
 
- //输    入:无
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01  
 
- //----------------------------------------- 
 
- void LCD_init(void)
 
- {
 
-  unsigned char k;
 
-  CLR_RES;               //LCD复位
 
-  for(k=0;k<250;k++);
 
-  SET_RES;          
 
-     LCD_write_byte(0x21,0);//LCD功能设置:芯片活动,水平寻址,使用扩展指令
 
-  LCD_write_byte(0xd0,0);//设置VOP值,室温下的编程范围为3.00-10.68
 
-  //Vlcd=3.06+(VOP)*0.06,本例VOP为0B0101 0000为十进制的80,Vlcd=7.86V
 
-  LCD_write_byte(0x20,0);//LCD功能设置:芯片活动,水平寻址,使用基本指令
 
-  LCD_write_byte(0x0C,0);//设定显示配置:普通模式
 
- }
 
- //---------------------------------------
 
- //函数名称: LCD_clear
 
- //函数功能:LCD清屏函数
 
- //输    入:无
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01  
 
- //----------------------------------------- 
 
- void LCD_clear(void)
 
- {
 
-  unsigned char t;
 
-  unsigned char k;   
 
-  for(t=0;t<6;t++)
 
-  { 
 
-   for(k=0;k<84;k++)
 
-   { 
 
-    LCD_write_byte(0,1);    
 
-   } 
 
-  }
 
- }
 
- //---------------------------------------
 
- //函数名称: LCD_write_byte
 
- //函数功能:使用SPI接口写数据到LCD
 
- //输    入:dat:写入的数据 command: 1-数据/0-命令
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01  
 
- //----------------------------------------- 
 
- void LCD_write_byte(unsigned char dat, unsigned char command)
 
- {
 
-  unsigned char i; 
 
-  CLR_SCE;              //使能LCD
 
-     if(command==1)
 
-         DATE_DC;           //DC=1写数据
 
-     else
 
-         COMMEND_DC;           //DC=0写指令
 
-  for(i=0;i<8;i++)
 
-  { 
 
-   if(dat&(0x80>>i))
 
-    SET_SDIN;     //写1
 
-   else
 
-    CLR_SDIN;       //写0
 
-   CLR_SCLK;
 
-         SET_SCLK;        //时钟上升沿写入数据到LCD
 
-  
 
-  }
 
-  DATE_DC;
 
-  SET_SCE;
 
-  SET_SDIN;
 
- }
 
- //---------------------------------------
 
- //函数名称: LCD_write_char
 
- //函数功能:显示英文字符
 
- //输    入:c:显示的字符在font6x8表格中的位置
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01  
 
- //-----------------------------------------   
 
- void LCD_write_char(unsigned char c)
 
- {
 
-  unsigned char line;
 
-  c-= 32;
 
-  for (line=0; line<6; line++)
 
-  LCD_write_byte(font6x8[c][line], 1);
 
- }
 
- //---------------------------------------
 
- //函数名称: LCD_set_XY
 
- //函数功能:设置坐标函数
 
- //输    入:X:0-83 Y:0-5
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01  
 
- //-----------------------------------------   
 
- void LCD_set_XY(unsigned char X, unsigned char Y)
 
- {
 
-  LCD_write_byte(0x40 | Y, 0);
 
-  LCD_write_byte(0x80 | X, 0);
 
- }
 
- //---------------------------------------
 
- //函数名称: LCD_write_String
 
- //函数功能:显示英文字符串
 
- //输    入:XY:设置坐标(X:0-83 Y:0-5) *s:英文字符串指针(带双引号的英文字符串)
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01  
 
- //----------------------------------------- 
 
- void LCD_write_String(unsigned char X,unsigned char Y,char *s)
 
- {
 
-  LCD_set_XY(X,Y);
 
-  while (*s) 
 
-  {
 
-   LCD_write_char(*s);
 
-   s++;
 
-  }
 
- } 
 
- //---------------------------------------
 
- //函数名称: LCD_Disp16_16
 
- //函数功能:写一个16*16的汉字到LCD
 
- //输    入:x,y:写入汉字的地址 index: 写入汉字在han表格中的位置
 
- //输    出:无
 
- //作    者:zxcscm
 
- //日期版本:20120131-01 
 
- //---------------------------------------  
 
- void LCD_Disp16_16(unsigned char x,unsigned char y,unsigned char index) 
 
- { 
 
-  unsigned char c; 
 
-  LCD_set_XY(x*8, y); 
 
-  for(c=0;c<16;c++) 
 
-  {    
 
-   LCD_write_byte(han[index*32+c],1); 
 
-  } 
 
-     LCD_set_XY(x*8, y+1);
 
-  for(c=16;c<32;c++) 
 
-  {    
 
-   LCD_write_byte(han[index*32+c],1); 
 
-  } 
 
- }
 
- void GPIOInit()
 
- {
 
-     DrvGPIO_Open( E_GPA, 2, E_IO_OUTPUT );//设置GPA.2~GPA.9为输出模式
 
-     DrvGPIO_Open( E_GPA, 3, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPA, 4, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPA, 5, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPA, 6, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPA, 7, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPA, 8, E_IO_INPUT );
 
-     DrvGPIO_Open( E_GPA, 9, E_IO_INPUT );
 
-     DrvGPIO_Open( E_GPC,14, E_IO_OUTPUT );//设置GPC为输出模式
 
-     DrvGPIO_Open( E_GPC,15, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPC, 6, E_IO_OUTPUT );
 
-     DrvGPIO_Open( E_GPC, 7, E_IO_OUTPUT );
 
- }
 
-  
 
- int main()
 
- {
 
-  GPIOInit();
 
-     DrvGPIO_SetBit(E_GPC, 6);//作为LCD的电源
 
-     DrvGPIO_ClrBit(E_GPC, 7);//作为LCD的地
 
-  LCD_init();   //初始化LCD模块 
 
-  LCD_clear();   //清屏幕
 
-       
 
-  LCD_Disp16_16(0,0,0); //菜
 
-  LCD_Disp16_16(2,0,1); //农
 
-  LCD_Disp16_16(4,0,2); //助
 
-  LCD_Disp16_16(6,0,3); //学
 
-  LCD_Disp16_16(8,0,4); //板
 
-     
 
-  LCD_Disp16_16(1,2,5); //祝
 
-  LCD_Disp16_16(3,2,6); //愿
 
-  LCD_Disp16_16(5,2,7); //园
 
-     LCD_Disp16_16(7,2,8); //地
 
-     
 
-     LCD_Disp16_16(0,4,9); //越
 
-     LCD_Disp16_16(2,4,10); //来
 
-     LCD_Disp16_16(4,4,11); //越
 
-     LCD_Disp16_16(6,4,12); //红
 
-     LCD_Disp16_16(8,4,13); //火
 
-  
 
-  SET_BackLed;   //开背光
 
-  while(1)
 
-  {
 
-      ;
 
-  }
 
- }
 
 
附艳照
完整工程