12864控制forMSP430
时间:11-27
来源:互联网
点击:
- for(i=n;i>
- ************************************
- //名称:WriteStr
- //参数:显示的地址addr,待显示数据的指针,显示长度
- //返回值:无
- //功能:在12864指定位置上显示字符串,包括汉字
- 可以显示ASCII码表上字符,但长度应该减半
- *************************************************************************/
- voidWriteStr(ucharaddr,constuchar*pt,ucharnum)
- {
- uchari;
- Send(0,addr);
- for(i=0;i<(num*2);i++)
- Send(1,*(pt++));
- }
- /*************************************************************************
- //名称:DrawPic
- //参数:待显示图片的指针
- //返回值:无
- //功能:在整个屏幕上画一个图片
- *************************************************************************/
- voidDrawPic(constuchar*ptr)
- {
- uchari,j,k;
- Send(0,0x34);//打开扩展指令集
- i=0x80;
- for(j=0;j<32;j++)
- {
- Send(0,i++);
- Send(0,0x80);
- for(k=0;k<16;k++)
- {
- Send(1,*ptr++);
- }
- }
- i=0x80;
- for(j=0;j<32;j++)
- {
- Send(0,i++);
- Send(0,0x88);
- for(k=0;k<16;k++)
- {
- Send(1,*ptr++);
- }
- }
- Send(0,0x36);//打开绘图显示
- Send(0,0x30);//回到基本指令集
- }
- /*************************************************************************
- //名称:Draw1Pic
- //参数:Yaddr--Y地址,Xaddr--X地址
- //返回值:无
- //功能:在液晶上描绘一个16*16的图形
- *************************************************************************/
- voidDraw1Pic(ucharYaddr,ucharXaddr,constuchar*dp)
- {
- ucharj;
- uchark=0;
- Send(0,0x34);//使用扩展指令集,关闭绘图显示
- for(j=0;j<16;j++)
- {
- Send(0,Yaddr++);//Y地址
- Send(0,Xaddr);//X地址
- Send(1,dp[k++]);//送两个字节的显示数据
- Send(1,dp[k++]);
- }
- Send(0,0x36);//打开绘图显示
- Send(0,0x30);//回到基本指令集模式
- }
- /*************************************************************************
- //名称:LocateXY
- //参数:待写入地址,横坐标X,纵坐标Y(从0开始)
- //返回值:无
- //功能:12864指针指向指定位置
- *************************************************************************/
- voidLocateXY(ucharX,ucharY)
- {
- Send(0,Address[Y][X]);
- }
- /*************************************************************************
- //名称:WriteNum
- //参数:待写入数字Num,横坐标X,纵坐标Y(从0开始)
- //返回值:无
- //功能:在指定位置显示一个数字(不超过5位且小于65536)
- *************************************************************************/
- voidWriteNum(uintn,ucharx,uchary)
- {
- ucharfive,four,three,two,one;
- LocateXY(x,y);
- if((n>=10000)&&(n<=65535))
- {
- five=n/10000;
- four=(n%10000)/1000;
- three=((n-five*10000)%1000)/100;
- two=((n-five*10000)%1000-three*100)/10;
- one=((n-five*10000)%1000-three*100)%10;
- Send(1,NUM[five]);
- Send(1,NUM[four]);
- Send(1,NUM[three]);
- Send(1,NUM[two]);
- Send(1,NUM[one]);
- }
- if((n>=1000)&&(n<=9999))
- {
- four=n/1000;
- three=(n%1000)/100;
- two=(n%1000-three*100)/10;
- one=(n%1000-three*100)%10;
- Send(1,NUM[four]);
- Send(1,NUM[three]);
- Send(1,NUM[two]);
- Send(1,NUM[one]);
- }
- if((n>=100)&&(n<=999))
- {
- three=n/100;
- two=(n-three*100)/10;
- one=(n-three*100)%10;
- Send(1,NUM[three]);
- Send(1,NUM[two]);
- Send(1,NUM[one]);
- }
- if((n>=10)&&(n<=99))
- {
- two=n/10;
- one=n%10;
- Send(1,NUM[two]);
- Send(1,NUM[one]);
- }
- if((n>=0)&&(n<=9))Send(1,NUM[n]);
- }
- /*************************************************************************
- //名称:WriteFloat
- //参数:待写入浮点数,unsignedcharx,unsignedchary
- //返回值:无
- //功能:在给定位置显示一个浮点数(整数部分和小数部分都不超过两位)
- *************************************************************************/
- voidWriteFloat(floatn,ucharx,uchary)
- {
- uintInteger,Decimal;//Integer用于存放整数部分,Decimal用于存放小数部分
- Integer=(uint)(n/1);
- Decimal=(uint)(n*100-Integer*100);
- if(Integer<10)
- {
- LocateXY(x,y);
- Send(1,);
- WriteNum(Integer,x+1,y);
- }
- if(Integer>=10)WriteNum(Integer,x,y);
- Send(1,NUM[10]);
- WriteNum(Decimal,x+2,y);
- }
- /*************************************************************************
- //名称:WriteArrary
- //参数:待写入数组,数组长度,unsignedcharx,unsignedchary
- //返回值:无
- //功能:在给定位置显示一个数组
- *************************************************************************/
- voidWriteArrary(uint*a,uintn,ucharx,uchary)
- {
- uchari;
- LocateXY(x,y);
- for(i=0;i
- {
- a[i]=a[i]+0;
- Send(1,a[i]);
- }
- }
12864MSP43 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)