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

📄 adc0809.txt

📁 51单片机对A/转换芯片adc0809 读程序 c语言
💻 TXT
字号:
#include <AT89X52.H>

unsigned char code dispbitcode[4]={0x0f,0x1f,0x2f,0x3f};   //数码管选择代码
unsigned char code dispcode[10]={0xf0,0xf1,0xf2,0xf3,0xf4, //字型代码
                           0xf5,0xf6,0xf7,0xf8,0xf9};
unsigned char data buf[4]={0x00,0x00,0x00,0x08};	//数据存储
unsigned char data Pcode,Pbit,data1;
char i,j;
unsigned int get=0;
	
sbit star=P3^6;
sbit oe=P3^7;

void delay();                           //延时声明
void delay1();				//延时声明

void main(void)				//主函数
{
while(1)
{
P1=0xff;			        //初始化
P0=0xff;
P2=0x00;
P3=0xff;  
star=1;					//驱动ad
star=0;
star=1;
delay1();		    //延时给AD处理数据
EX1=1;                      //开INT1中断
IT1=1;                      //INT1边沿触发
EA=1;                       //允许中断
}
}


void int1(void) interrupt 2   //外部中断1
{
EA=0;						  //关中断
oe=0;						  //允许数据输入
get=P0;						  //获取数据
oe=1;						  //禁止数据输入
data1=get*200/255;			  //数据处理
buf[2]=data1/100;			  //存百位
data1=data1%100;
buf[1]=data1/10;			  //存十位
buf[0]=data1%10;			  //存个位

for(j=0;j<=30;j++)                        //循环显示30次
{
for(i=0;i<4;i++)			   //字形输出
{ 
  Pcode=dispcode[buf[i]];
  Pbit=dispbitcode[i];
  P1=Pcode&Pbit;
  delay();
}
}
}

void delay()                   //延时子程序
{
 unsigned char n, m;
 for (n=3; n > 0; n--)
  for (m = 200; m > 0; m--);    
}

void delay1()
{
unsigned char k;
for(k=0;k<=50;k++);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -