資源描述:
《顯示板軟件程序》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、三顯示板軟件程序/******************************************************************************單片機顯示凈化電源ADSTC12C5A60S2按新版編的**************2011-11-20*************輸出電壓*******輸入電壓**電流**最終板上的**********/#include#include#include#defineucharunsignedchar#defineuintunsignedint#defineAD
2、C_POWER0x80#defineADC_FLAG0x10#defineADC_START0x08#defineADC_SPEEDLL0x00//540clocks#defineADC_SPEEDL0x20//360clocks#defineADC_SPEEDH0x40//180clocks#defineADC_SPEEDHH0x60//90clocks/*********************ADC******設置***********************************/sfrADC_CONTR=0xbc;//ADC控制寄存器sfrADC_RES=0xbd;//ADC結
3、果高8位寄存器sfrADC_LOW2=0xbe;//ADC結果低2位寄存器sfrAUXR1=0xa2;sfrWDT_CONTR=0xc1;//看門狗地址0x34sfrP1ASF=0x9d;//P1次要功能寄存器sbitCS=P2^7;//片選信號sbitSID=P2^6;//串行數(shù)據(jù)sbitSCLK=P2^5;//串行同步時鐘sbitFU_W=P2^4;//復位unsignedlonga;unsignedlonga_c=0,a_c1=0,a_c2=0,at=0,at1=0,at2=0;ucharnum[2];ucharnum1[3];uchar*string_1="輸入電壓";uchar*
4、string_2="輸出電壓";uchar*string_3="輸出電流";/***************延時**********************/voiddelayMS(uinta){uinti,j;for(i=a;i>0;i--)for(j=120;j>0;j--){WDT_CONTR=0x34;}}//液晶子函數(shù)voidwriteData(uintdat)//串行輸出8位bit{uinti,Temp_data;for(i=0;i<8;i++){Temp_data=dat;Temp_data<<=i;if((Temp_data&0x80)==0){SID=0;SCLK=1;S
5、CLK=0;SID=0;}else{SID=1;SCLK=1;SCLK=0;SID=0;}WDT_CONTR=0x34;}}voidwriteCmd(ucharRW,ucharRS,ucharcmd){uintH_data,L_data,S_ID=0xf8;if(RW==0){S_ID&=~0x04;}elseS_ID
6、=0x04;if(RS==0){S_ID&=~0x02;}elseS_ID
7、=0x02;H_data=cmd&0xf0;//高四位,屏蔽低四位L_data=(cmd&0x0f)<<4;//低四位,屏蔽高四位CS=1;writeData(S_ID);writeData(H_d
8、ata);writeData(L_data);CS=0;}//ASCI碼轉換//voidascii_change(uintLX)//{//num[1]=LX-(LX/10)*10+0x30;//個位//num[0]=LX/10+0x30;//十位//WDT_CONTR=0x34;//}//ASCI碼轉換voidascii_change1(uintLvX){WDT_CONTR=0x34;num1[2]=LvX-(LvX/100)*100-(LvX%100/10)*10+0x30;//個位num1[1]=(LvX-(LvX/100)*100)/10+0x30;//十位num1[0]=LvX/1
9、00+0x30;//百位}voidinit(){delayMS(10);writeCmd(0,0,0x30);//基本指令writeCmd(0,0,0x0c);//顯示開,關光標writeCmd(0,0,0x01);//清屏writeCmd(0,0,0x06);//指定在資料寫入或讀取時,光標的移動方向,DDRAM的地址計數(shù)器(AC)加1}voidSet_adr(ucharx)//頁選擇{x=x+0xb8;writeCm