📄 ad650.c
字号:
#include <reg51.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
#define TN 10
#define Vref 15
uint Fref,Fgnd;
uint Fin[7];
uchar numb;
uint idata Volt[8]={0,0,0,0,0,0,0,0};
void t0_int(void) interrupt 1
{
TL0=0x78;
TH0=0xec;
numb--;
}
void proc(uchar n)
{ switch(n){
case 0: break;
case 1: { };break;
case 2: { };break;
case 3: { };break;
case 4: { };break;
case 5: { };break;
case 6: { };break;
case 7: break;
}
}
void main(void)
{ uchar fh,fl,ad_now,init,ad_old;
P1=0x07;
IE=0x00;
TCON=0x00;TMOD=0x51;
IP=0x82;
TL0=0x78;TH0=0xec;
TL1=0x00;TH1=0x00;
IE=0x82;
ad_now=7;
init=3;
do
{ ad_old=ad_now;
TR1=1;
numb=TN;
while(numb);
TR1=0;
if((++ad_now)==8) ad_now=0;
P1=ad_now;
fh=TH1;fl=TL1;
TH1=0;TL1=0;
switch(ad_old){
case 0:Fgnd=fh*256+fl;break;
case 7:Fref=fh*256+fl;break;
default:Fin[ad_old]=fh*256+fl;break;
}
if (init!=0) {--init;}
else {
Volt[ad_old]=(Fin[ad_old]-Fgnd)/(Fref-Fgnd)*Vref;
proc(ad_old);
}
} while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -