1、三 显示板软件程序/*单片机 显示 净化电源 AD STC12C5A60S2 按新版编的* 2011-11-20 *输出电压*输入电压*电流*最终板上的*/#include #include#include#define uchar unsigned char#define uint unsigned int#define ADC_POWER 0x80#define ADC_FLAG 0x10#define ADC_START 0x08#define ADC_SPEEDLL 0x00 / 540 clocks#define ADC_SPEEDL 0x20 / 360 clocks#define
2、 ADC_SPEEDH 0x40 / 180 clocks#define ADC_SPEEDHH 0x60 / 90 clocks/*ADC*设置*/sfr ADC_CONTR=0xbc; /ADC 控制寄存器sfr ADC_RES=0xbd; /ADC 结果高 8 位寄存器sfr ADC_LOW2=0xbe; /ADC 结果低 2 位寄存器sfr AUXR1=0xa2;sfr WDT_CONTR=0xc1; /看门狗地址 0x34sfr P1ASF=0x9d; / P1 次要功能寄存器sbit CS=P27; /片选信号sbit SID=P26; /串行数据sbit SCLK=P25; /串
3、行同步时钟sbit FU_W=P24; /复位unsigned long a;unsigned long a_c=0,a_c1=0,a_c2=0,at=0, at1=0,at2=0;uchar num2;uchar num13;uchar *string_1=“ 输入电压 “;uchar *string_2=“ 输出电压 “;uchar *string_3=“ 输出电流 “;/*延时*/void delayMS(uint a)uint i,j;for(i=a;i0;i-)for(j=120;j0;j-)WDT_CONTR=0x34;/液晶子函数void writeData(uint dat) /串行输出 8 位 bituint i,Temp_data;for(i=0;i=5000)t=0;FU_W=0; /液晶屏复位delayMS(1);FU_W=1;init();disp();