/***********主函数*****************************/ /****这是用ADC0809与DAC0832设计出来的数控电源稳压电源程序*****/ #include \#include \#include \#include \
/*****主函数******/ void main() {
mcu_init(); delay(1000); while(1) {
cnt0(); cnt1(); } }
/**************输入函数*******************/ #include \#include \
sbit clk=P3^1; sbit dat=P3^0;
uchar dis_u[4],dis_i[4];
uchar ad,ad1; uchar
code
tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
/******发送显示数据*******/ void send_byte(uchar date) {
uchar i;
for(i=0;i<8;i++) {
if(date&0x01) dat=1;
else dat=0; clk=0; clk=1; date>>=1; } }
/****u算术平均滤波****/ void uFiliter() {
uint sum=0; uchar i;
for(i=0;i<10;i++) {
sum+=ad_u[i]; }
ad1=sum/10; }
/*****U进行标度变换****/ void cov_u() {
uint k; k=ad/2;
dis_u[0]=k/100; k%=100; dis_i[1]=k/10; k%=10; dis_u[2]=k; dis_u[3]=0x7a; }
/****i算术平均滤波****/ void iFiliter() {
uint sum=0; uchar i;
for(i=0;i<10;i++) {
sum+=ad_i[i]; }
ad1=sum/10; }
/*****I进行标度变换****/ void cov_i() {
uint k;
k=ad1/2; dis_i[0]=k/100; k%=100; dis_i[1]=k/10; k%=10; dis_i[2]=k; dis_i[3]=0xee; }
/***显示函数U****/ void disp_u() {
send_byte(0x7a);
send_byte(tab[dis_u[2]]); send_byte(tab[dis_u[1]]|0x01); send_byte(tab[dis_u[0]]); }
/***显示函数I****/ void disp_i() {
send_byte(0xee);
send_byte(tab[dis_i[2]]);