资源描述:
《显示板软件程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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;//串行数据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;}}//液晶子函数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的地址计数器(AC)加1}voidSet_adr(ucharx)//页选择{x=x+0xb8;writeCm