/******************************************************************************* 名称:12864液晶操作程序 功能:本c文件封装了对12864液晶的一些简单的基本读写操作. 封装函数: void Lcd_WriteCmd(unsigned char a); //写指令 void Lcd_WriteData(unsigned char a); //写数据 intLcd_ReadCmd(); //读指令 intLcd_ReadData(); //读数据 void Lcd_Init(); //初始化液晶 void Lcd_XY(unsigned char a,unsigned char b); //设定光标位置 void Clear_GDRAM(void); //清除液晶GDRAM中的随机数据 void Draw_PM(constuchar *ptr); //在整个液晶屏幕上画图 void Draw_TX(ucharYaddr,ucharXaddr,constuchar * dp); //显示一个16*16大小的图形 作者:胡静涛 最后修改时间:2011年7月25号 备注:该程序应在1M的系统时钟下运行,读忙信号函数已经被封装到除读指令函数以外的函数 中. 典型应用: Lcd_XY( 1 , 1 ); i = 0; while( num1[i] != '\0' ) { Lcd_WriteData( num1[i] ); i++; } 以上函数均进行测试可以正常使用 *******************************************************************************/ #include #include"12864LCD.h" //****************************************************************************** //12864液晶读指令 //典型应用读忙标志:while(Lcd_ReadCmd() & 0x80); //****************************************************************************** intLcd_ReadCmd() { int temp; unsignedchar CLKCMD; CLKCMD = BCSCTL2; //先将时钟寄存器的值读出来 BCSCTL2 = SELM_2 + DIVM_3 + (CLKCMD & 0x0e); //重新设定主时钟(不改变从时钟) LCD12864_CMDDIR; LCD12864_DATADIR = 0X00; LCD12864_LCDRS_0; LCD12864_LCDWR_1; LCD12864_LCDEN_0; _NOP(); LCD12864_LCDEN_1; _NOP(); _NOP(); temp = LCD12864_DATAIN; LCD12864_LCDEN_0; BCSCTL2 = CLKCMD; //还原原来的时钟(放在函数最后) return temp; } //****************************************************************************** //12864液晶读数据 //****************************************************************************** intLcd_ReadData() { int temp; unsignedchar CLKCMD; CLKCMD = BCSCTL2; //先将时钟寄...