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

📄 adc0809.c

📁 ADC0809转换程序
💻 C
字号:
#include<AT89X51.h>
#include<absacc.h>
#include<intrins.h>
#include"math.h"

#define uchar  unsigned  char
#define uint   unsigned  int
#define ulong  unsigned  long 

#define   START   P2_4      //启动信号,低电平有效
#define   OE      P2_5      //输出允许信号,
#define   EOC     P2_6      //转换结合信号,结束硬件置1

uchar     data    led[4]; 
ulong     data    tvdata;

    

uchar code  tv[]={0xfe,0xfd,0xfb,0xf7};                                     //位选代码
uchar code  a[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};       //数字代码

/***********************************
            延时程序
***********************************/      
void delay(void)                      
{
  uint i;
  for(i=0;i<15;i++);              
}

/***********************************
           显示程序
***********************************/

void ledxianshi(void)       //显示模块
{
  uchar k,i;

  tvdata=tvdata*5000/255;
  led[0]=tvdata%10;
  led[1]=tvdata/10%10;
  led[2]=tvdata/100%10;
  led[3]=tvdata/1000;
		
  for(k=0;k<4;k++)
  { 
   
   P2=tv[k];  //位选
   i=led[k];  
   if(k==3)
     P0=a[i]|0x80;
   else P0=a[i];   //送数据
   delay();
  }
}


/***********************************
             主函数
***********************************/

void main(void)
{  
  while(1)
  {
   START=1;
   START=0;          //启动转换
   while(EOC==0);    //等待转换结束,EOC=1;跳出循环。
   OE=1;             //允许输出          
   tvdata=P1;
   OE=0;            //  禁止输出 
   ledxianshi();    //显示
   delay();         
   }
}     
    

⌨️ 快捷键说明

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