新聞中心

12864控制forMSP430

作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
  • /*************************************************************************
  • //名稱:WriteStr
  • //參數(shù):顯示的地址addr,待顯示數(shù)據(jù)的指針,顯示長(zhǎng)度
  • //返回值:無(wú)
  • //功能:在12864指定位置上顯示字符串,包括漢字
  • 可以顯示ASCII碼表上字符,但長(zhǎng)度應(yīng)該減半
  • *************************************************************************/
  • voidWriteStr(ucharaddr,constuchar*pt,ucharnum)
  • {
  • uchari;
  • Send(0,addr);
  • for(i=0;i<(num*2);i++)
  • Send(1,*(pt++));
  • }
  • /*************************************************************************
  • //名稱:DrawPic
  • //參數(shù):待顯示圖片的指針
  • //返回值:無(wú)
  • //功能:在整個(gè)屏幕上畫一個(gè)圖片
  • *************************************************************************/
  • voidDrawPic(constuchar*ptr)
  • {
  • uchari,j,k;
  • Send(0,0x34);//打開(kāi)擴(kuò)展指令集
  • 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);//打開(kāi)繪圖顯示
  • Send(0,0x30);//回到基本指令集
  • }
  • /*************************************************************************
  • //名稱:Draw1Pic
  • //參數(shù):Yaddr--Y地址,Xaddr--X地址
  • //返回值:無(wú)
  • //功能:在液晶上描繪一個(gè)16*16的圖形
  • *************************************************************************/
  • voidDraw1Pic(ucharYaddr,ucharXaddr,constuchar*dp)
  • {
  • ucharj;
  • uchark=0;
  • Send(0,0x34);//使用擴(kuò)展指令集,關(guān)閉繪圖顯示
  • for(j=0;j<16;j++)
  • {
  • Send(0,Yaddr++);//Y地址
  • Send(0,Xaddr);//X地址
  • Send(1,dp[k++]);//送兩個(gè)字節(jié)的顯示數(shù)據(jù)
  • Send(1,dp[k++]);
  • }
  • Send(0,0x36);//打開(kāi)繪圖顯示
  • Send(0,0x30);//回到基本指令集模式
  • }
  • /*************************************************************************
  • //名稱:LocateXY
  • //參數(shù):待寫入地址,橫坐標(biāo)X,縱坐標(biāo)Y(從0開(kāi)始)
  • //返回值:無(wú)
  • //功能:12864指針指向指定位置
  • *************************************************************************/
  • voidLocateXY(ucharX,ucharY)
  • {
  • Send(0,Address[Y][X]);
  • }
  • /*************************************************************************
  • //名稱:WriteNum
  • //參數(shù):待寫入數(shù)字Num,橫坐標(biāo)X,縱坐標(biāo)Y(從0開(kāi)始)
  • //返回值:無(wú)
  • //功能:在指定位置顯示一個(gè)數(shù)字(不超過(guò)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
  • //參數(shù):待寫入浮點(diǎn)數(shù),unsignedcharx,unsignedchary
  • //返回值:無(wú)
  • //功能:在給定位置顯示一個(gè)浮點(diǎn)數(shù)(整數(shù)部分和小數(shù)部分都不超過(guò)兩位)
  • *************************************************************************/
  • voidWriteFloat(floatn,ucharx,uchary)
  • {
  • uintInteger,Decimal;//Integer用于存放整數(shù)部分,Decimal用于存放小數(shù)部分
  • 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
  • //參數(shù):待寫入數(shù)組,數(shù)組長(zhǎng)度,unsignedcharx,unsignedchary
  • //返回值:無(wú)
  • //功能:在給定位置顯示一個(gè)數(shù)組
  • *************************************************************************/
  • voidWriteArrary(uint*a,uintn,ucharx,uchary)
  • {
  • uchari;
  • LocateXY(x,y);
  • for(i=0;i
  • {
  • a[i]=a[i]+0;
  • Send(1,a[i]);
  • }
  • }


  • 上一頁(yè) 1 2 下一頁(yè)

    關(guān)鍵詞: 12864MSP43

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉