標題: ADC0809單通道例程(51單片機) [打印本頁]

作者: benbens    時間: 2015-7-14 19:40
標題: ADC0809單通道例程(51單片機)

#include<reg51.h>
//宏定義
#define uchar unsigned char
#define uint unsigned int   
//adc0808相關引腳定義
sbit start=P2^0;
sbit OE=P2^1;
sbit EOC=P3^2;
//數(shù)碼管位選定義
sbit wei1=P3^4;
sbit wei2=P3^5;
sbit wei3=P3^6;
//數(shù)碼管段碼
const uchar led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//1ms延時函數(shù)
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
//數(shù)碼管顯示
void display(uchar shu)
{
uchar ge,shifen,baifen;
    uint dianya;
dianya=1.96078431372*shu;
ge=dianya/100;
shifen=dianya0/10;
baifen=dianya;

wei3=0;
P1=led[ge]&0x7f;   //加小數(shù)點
wei3=1;
delay(5);
wei1=0;
P1=led[shifen];
wei1=1;
delay(5);
wei2=0;
P1=led[baifen];
wei2=1;  
delay(5);
}
//adc0808的數(shù)據(jù)讀取
uchar ad_handle(void)
{
uchar adc;
start=0;
start=1;
start=0;
while(EOC==1);
OE=1;
adc=P0;
OE=0;
return adc;
}
void main()
{
while(1)
{
  display(ad_handle());
}
}









歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1