當前位置:編程學習大全網 - 編程軟體 - 求 AD0809的8路模擬信號循環采集電路原理圖及相應的程序代碼,匯編或c均可,江湖救急啊!!!

求 AD0809的8路模擬信號循環采集電路原理圖及相應的程序代碼,匯編或c均可,江湖救急啊!!!

/*?名稱:ADC0809?數模轉換與顯示?

說明:ADC0809?采樣通道?3?輸入的

模擬量,轉換後的結果顯示在數碼管上。*/?

#include<reg51.h>?

#define?uchar?unsigned?char?

#define?uint?unsigned?int?

//各數字的數碼管段碼(***陰)?

uchar?code?DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};?

sbit?CLK=P1^3;?//時鐘信號?

sbit?ST=P1^2;?//啟動信號?

sbit?EOC=P1^1;?//轉換結束信號?

sbit?OE=P1^0;?//輸出使能?

//延時?

void?DelayMS(uint?ms)?

{?

uchar?i;?

while(ms--)?for(i=0;i<120;i++);?

}?

//顯示轉換結果?

void?Display_Result(uchar?d)?

{?

P2=0xf7;?//第4?個數碼管顯示個位數?

P0=DSY_CODE[d%10];

DelayMS(5);?

P2=0xfb;?//第3?個數碼管顯示十位數?

P0=DSY_CODE[d%100/10];?

DelayMS(5);?

P2=0xfd;?//第2?個數碼管顯示百位數?

P0=DSY_CODE[d/100];?

DelayMS(5);?

}?

//主程序?

void?main()?

{?

TMOD=0x02;?//T1?工作模式?2?

TH0=0x14;

TL0=0x00;?

IE=0x82;?

TR0=1;?

P1=0x3f;?//選擇?ADC0809?的通道3(0111)(P1.4~P1.6)?

while(1)?

{?

ST=0;ST=1;ST=0;?//啟動?A/D轉換?

while(EOC==0);?//等待轉換完成?

OE=1;?

Display_Result(P3);?

OE=0;?

}?

}?

//T0?定時器中斷給?ADC0809?提供時鐘信號?

void?Timer0_INT()?interrupt?1?

{?

CLK=~CLK;?

}

  • 上一篇:? pid 能幫我講壹下嗎,最好有簡單的實例?網上看了很多資料,還是壹頭霧水!
  • 下一篇:計算機輔助設計CAD證書好考嗎?哪些就業方向比較需要?
  • copyright 2024編程學習大全網