51單片機(jī)—ADC0808—05—①
畢竟ADC這個(gè)東西用的比較多,也很成熟,做出來(lái)的東西也是挺多的,所以這個(gè)東東就用兩三個(gè)實(shí)驗(yàn)來(lái)敘述吧~
本文引用地址:http://m.butianyuan.cn/article/201611/322019.htm先說(shuō)一下ADC0808 這款A(yù)/D轉(zhuǎn)換器的介紹:
1、ADC0808的簡(jiǎn)介
A/D轉(zhuǎn)換器是一種能把輸入模擬電壓或者電流信息變成與其成正比的數(shù)字量信息的電路芯片。A/D轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換。
ADC0808是典型的8通道模擬輸入8位并行數(shù)字輸出的逐次逼近式A/D轉(zhuǎn)換器。該轉(zhuǎn)換器采用COMS工藝,可以實(shí)現(xiàn)8路模擬信號(hào)的分時(shí)采集。片內(nèi)有8路模擬選通開(kāi)關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路。
1)ADC0808芯片的介紹
2)ADC0808的引腳
3)ADC0808的工作流程
4)與51單片機(jī)的借口
基本上也就這么點(diǎn)東西~~~很簡(jiǎn)單吧~~我感覺(jué)也是~~
我艸,然我白白調(diào)了半天程序,就那么一點(diǎn)點(diǎn)的錯(cuò)誤,浪費(fèi)了好多的時(shí)間,真不爽啊~~~
貼圖看看~~
由于以后會(huì)用模塊化編程,便于自己以后直接調(diào)用~~~,這個(gè)主函數(shù):
//------------------------------------------------------------------------------
//實(shí)現(xiàn)由ADC0808作為A/D轉(zhuǎn)換器對(duì)電阻進(jìn)行電壓的測(cè)試
//數(shù)碼管顯示的數(shù)據(jù)范圍為0~255
#include"reg52.h"
#include"macroandconst.h"
#include"delay.h"
#include"adc0808.h"
//------------------------------------------------------------------------------
uchar code seg_disp[4]={0x10,0x20,0x40,0x00};
uchar count;
sbit
uchar temp_0=0;
//------------------------------------------------------------------------------
//定時(shí)器初始化函數(shù)
void timer_init()
{
//
}
//------------------------------------------------------------------------------
//main
void main()
{
}
//------------------------------------------------------------------------------
//timer0
void timer0() interrupt 1
{
}
//------------------------------------------------------------------------------
//timer1
void timer1() interrupt 3
{
}
然后就是ADC0808的初始化函數(shù)了(一些輔助的函數(shù)我就不貼出來(lái)了,比如宏定義啊,軟件延時(shí)啊,引腳定義什么的~~):
//------------------------------------------------------------------------------
//adc0808的文件函數(shù)
#include"reg52.h"
#include"delay.h"
#include"macroandconst.h"
//------------------------------------------------------------------------------
sbit START=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
sbit CLK=P3^7;
uchar get_data;
uchar temp;
uchar display[3];
//------------------------------------------------------------------------------
//ADC0808的啟動(dòng)和轉(zhuǎn)換的初始化函數(shù)
void ADC0808_init()
{
}
評(píng)論