📄 v.c
字号:
#include <REGX52.H>
#include<absacc.H>
unsigned code table[]={ 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
long int n[4]={0},j;
double i=0.;
unsigned int m;
void main()
{
IT1=0;
EX1=1;
IT0=0;
EX0=1;
EA=1;
// PX1=1;
for(;;);
}
void loop0()interrupt 2 using 0
{
P2=0x90; //P2.4接OE,置高,允许转换;P2.0、P2.1、P2.2接adc的地址a0、a1、a2,这里选择 IN0
P2=0x98; //P2.3接ALE 给一上升沿锁存地址;
P2=0xb8; //p2.5接start,给一上升沿,使内部逐次逼近寄存器复位
P2=0x98; //start下降沿,开始转换;
}
//转换结束后,eoc触发外部中断0
void loop()interrupt 0 using 0
{
m=P1; //读取转换结果
i=m;
i=(i*10000)/255;
n[3]=((int)i)/10000;
n[2]=((int)i%10000)/1000;
n[1]=((int)i%1000)/100;
n[0]=((int)i)%100/10;
XBYTE[0xffec]=table[n[3]]; //输出显示
XBYTE[0xffed]=table[n[2]+10];
XBYTE[0xffee]=table[n[1]];
XBYTE[0xffef]=table[n[0]];
for(j=0;j<=255;j++); //显示延迟
P2=0x10; //p2.7接p3.3,触发外部中断1,开始下一轮转换
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -