找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13383|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

ADC0809電壓采集程序(C語言)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:83710 發(fā)表于 2015-6-24 21:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

//*****************************************************************
//ADC0809的clk經(jīng)分頻74LS74接單片機的ALE端,ADC0809的ALE端接ST端,單片機晶振:12M
//STC89C52RC單片機,此時介接入ADC0809的時鐘頻率為1M,然后不經(jīng)過分頻,直接把單片機的2M
//頻率的出自ALE端的時鐘信號接入ADC0809也可以正常工作,不過這是將while(!AD0809_EOC);去掉以后
//發(fā)現(xiàn)仍然能夠正常工作。同時不加任何延時,基準電壓大約為4.41v,,測出來的電壓和萬用表測得電壓吻合
//*****************************************************************
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint  unsigned int
#define ad0809_data P2
sbit ad0809_stale=P3^2;
sbit ad0809_eoc=P3^3;
sbit ad0809_oe=P3^4;
sbit ad0809_a=P3^5;
sbit ad0809_b=P3^6;
sbit ad0809_c=P3^7;
uchar ad0809_read()
{
  uchar tempdata;
  ad0809_a=1;
  ad0809_b=1;
  ad0809_c=1;   //選通第八個通道
  ad0809_stale=1;  //對應(yīng)ST以及ALE上跳沿,通道地址鎖存,AD復(fù)位
  ad0809_stale=0;  //ST下降沿,啟動AD轉(zhuǎn)換
  //while(!ad0809_eoc); //等帶AD轉(zhuǎn)換成功
  ad0809_data=0xff;
  ad0809_oe=1;  //輸出容許
  tempdata=ad0809_data;
  ad0809_oe=0;  //輸出禁止
  return tempdata;
}
uint ad0809_cvt(uchar digdata)
{
  uint voltdata;
  voltdata=(4.41/255)*digdata*100;
  return voltdata;                                                                                                   
}
//*****************************************************************
//數(shù)碼管顯示子程序,將一個數(shù)num顯示到某一位weixuan數(shù)碼管
//*****************************************************************
void numdis(uchar num,uchar weixuan,uchar brightness )
{
  while(brightness--)P0=num*0x10+weixuan*0x01;
  P0=0xff;
}
void display(uint addata)
{
    numdis(addata%1000/100,   2,20);
    numdis(addata%100/10,     1,20);
    numdis(addata%10,         0,20);
}
void main()
{
  while(1)
  {
   display(ad0809_cvt(ad0809_read()));
  }
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:209880 發(fā)表于 2017-6-10 17:34 | 只看該作者
你好 請問如果我單片機的晶振是12M也可以實現(xiàn)AD采集嗎 請盡快回復(fù)謝謝
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表