12864控制forMSP430 作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢 收藏 /*************************************************************************//名稱: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è)
評(píng)論