📄 adc0809.c
字号:
#include<absacc.h>
#include<reg51.h>
#define uchar unsigned char
#define IN0 XBYTE[0x7ff8]
sbit CSL=P2^0;//地位显示控制
sbit CSH=P2^1;//高位显示控制
uchar data g_Dsy_H; //显存高位
uchar data g_Dsy_L; //显存低位
uchar data g_Data[7];//数据缓存
uchar data counter=0;//转换次数计数
bit Flg=0;
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//定义字形0-9编码表
void adc0809() //AD启动函数
{
uchar xdata *ad_adr1;
ad_adr1=&IN0;
*ad_adr1=0;//启动转换
}
void ad_Interyupt(void) interrupt 0 using 0 //外部中断0中断服务程序
{
uchar xdata *ad_adr;
ad_adr=&IN0;
g_Data[counter]=*ad_adr;
counter++;
if(6==counter)
{
Flg=1;
counter=0;
}
}
void Display() //显示子函数
{
CSL=1;
CSH=0;
P1=table[g_Dsy_L];
CSL=0;
CSH=1;
P1=table[g_Dsy_H];
}
void main()
{
EA=1;
IT0=1;
EX0=1;
while(1)
{
adc0809();
if(1==Flg)
{
/*int i;
int j;
for(i=0;i<7;i++)
{
j+=g_Data[i];
}
j=j/7;
if(j>0x3f)*/
g_Dsy_L=g_Dsy_H=1;
//else
//g_Dsy_L=g_Dsy_H=0;
Flg=0;
}
Display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -