⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adc0809.c

📁 adc0809中断方式的c程序源程序
💻 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 + -