高分求单片机数控电压源程序

来源:百度知道 编辑:UC知道 时间:2024/09/23 19:25:18
我最近忙于考试,没时间写单片机程序了,急求一单片机程序,C语言的。
我做的是数控电源,用的AT89S52单片机,要求步进0.1V,0-9.9V通过键盘可调,显示部分用的是1602的液晶。
A\D我用的是AD0804,D\A我买的是DA0832.
急求。。。。。。。。哪位熟悉单片机的高手帮帮忙
编好了再追加分数~

我上学时候电子设计大赛做过一个数控电源,和你的这个差不多,LED显示的,DAC用的是TLC5618的,10位的,比0832强。你参考一下吧,单片机用的是AVR的Mega16,我的名字就叫mega16,呵呵~程序需要改一下,但是算法基本上不用改。
详细程序:
unsigned int DAdata,step_data=1,ch;
volatile unsigned int key_value;
//unsigned int ADC_value;
unsigned char routeway;
unsigned int nc,flag;
signed int temp_1;
volatile unsigned int count;
volatile unsigned char old_key;
unsigned char i,j,k;
typedef struct xxxx
{
int SetPoint;
int LastError;
int PrevError;
int SumError;
}
void Calc( xxxx *pp, int NextPoint )
{
int Error;int x,y;
Error = pp->SetPoint - NextPoint;
x=pp->SumError;
pp->SumError += Error;
if(pp->SumError>32000)
pp->SumError=32000;
else if(pp->SumError<-30000)
pp->SumError=-30000;
y=pp