導航:首頁 > 操作系統 > adc0808怎麼跟單片機接線

adc0808怎麼跟單片機接線

發布時間:2022-10-30 00:06:57

『壹』 ADC0808的CLOCK口接單片機的ALE口。程序沒有定義。單片機的頻率是12M。AD會得到時鍾頻率信號嗎。

會得到,但是ALE是6分頻,2M的時鍾頻率太高,教科書上0808最高時鍾是500K。但實際 使用中,我用6M晶振,1M時鍾頻率也可正常。

『貳』 ADC0808與單片機的介面

datasheet中有關於ADC0808介紹,與單片機介面電路非常簡單,注意設計硬體電路時ALE 和start引腳的時序關系,

『叄』 ADC0808模數轉換晶元的CLK引腳可以怎樣接在單片機AT89S52上啊。。。

一般接在ALE引腳,因為ALE引腳如果不關閉的話,輸出一個相對固定的FOSC/12的脈沖,符合ADC0809/0808的時鍾要求。

『肆』 單片機AT89C51 與ADC0808的介面技術。八路輸入 要同時顯示選擇的 第幾路。

如果要讓接在P1.0口的LED1亮起來,那麼只要把P1.0口的電平變為低電平就可以了;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變為高電平;同理,接在P1.1~P1.7口的其他7個LED的點亮和熄滅的方法同LED1。因此,要實現流水燈功能,我們只要將發光二極體LED1~LED8依次點亮、熄滅,8隻LED燈便會一亮一暗的做流水燈了。在此我們還應注意一點,由於人眼的視覺暫留效應以及單片機執行每條指令的時間很短,我們在控制二極體亮滅的時候應該延時一段時間,否則我們就看不到「流水」效果了。

『伍』 懇求各位高手:幫忙看一下這個單片機課設題目唄。題目為 ADC0808轉換 謝謝!謝謝!

27. ADC0809A/D轉換器基本應用技術
1. 基本知識
ADC0809是帶有8位A/D轉換器、8路多路開關以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉換器,可以和單片機直接介面。
(1). ADC0809的內部邏輯結構

由上圖可知,ADC0809由一個8路模擬開關、一個地址鎖存與解碼器、一個A/D轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉換器進行轉換。三態輸出鎖器用於鎖存A/D轉換完的數字量,當OE端為高電平時,才可以從三態輸出鎖存器取走轉換完的數據。
(2). 引腳結構
IN0-IN7:8條模擬量輸入通道
ADC0809對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉換過程中應該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路。
地址輸入和控制線:4條
ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與解碼器將A,B,C三條地址線的地址信號進行鎖存,經解碼後被選中的通道的模擬量進轉換器進行轉換。A,B和C為地址輸入線,用於選通IN0-IN7上的一路模擬量輸入。通道選擇表如下表所示。
C B A 選擇的通道
0 0 0 IN0
0 0 1 IN1
0 1 0 IN2
0 1 1 IN3
1 0 0 IN4
1 0 1 IN5
1 1 0 IN6
1 1 1 IN7
數字量輸出及控制線:11條
ST為轉換啟動信號。當ST上跳沿時,所有內部寄存器清零;下跳沿時,開始進行A/D轉換;在轉換期間,ST應保持低電平。EOC為轉換結束信號。當EOC為高電平時,表明轉換結束;否則,表明正在進行A/D轉換。OE為輸出允許信號,用於控制三條輸出鎖存器向單片機輸出轉換得到的數據。OE=1,輸出轉換得到的數據;OE=0,輸出數據線呈高阻狀態。D7-D0為數字量輸出線。
CLK為時鍾輸入信號線。因ADC0809的內部沒有時鍾電路,所需時鍾信號必須由外界提供,通常使用頻率為500KHZ,
VREF(+),VREF(-)為參考電壓輸入。
2. ADC0809應用說明
(1). ADC0809內部帶有輸出鎖存器,可以與AT89S51單片機直接相連。
(2). 初始化時,使ST和OE信號全為低電平。
(3). 送要轉換的哪一通道的地址到A,B,C埠上。
(4). 在ST端給出一個至少有100ns寬的正脈沖信號。
(5). 是否轉換完畢,我們根據EOC信號來判斷。
(6). 當EOC變為高電平時,這時給OE為高電平,轉換的數據就輸出給單片機了。
3. 實驗任務
如下圖所示,從ADC0809的通道IN3輸入0-5V之間的模擬量,通過ADC0809轉換成數字量在數碼管上以十進制形成顯示出來。ADC0809的VREF接+5V電壓。
4. 電路原理圖

圖1.27.1
5. 系統板上硬體連線
(1). 把「單片機系統板」區域中的P1埠的P1.0-P1.7用8芯排線連接到「動態數碼顯示」區域中的A B C D E F G H埠上,作為數碼管的筆段驅動。
(2). 把「單片機系統板」區域中的P2埠的P2.0-P2.7用8芯排線連接到「動態數碼顯示」區域中的S1 S2 S3 S4 S5 S6 S7 S8埠上,作為數碼管的位段選擇。
(3). 把「單片機系統板」區域中的P0埠的P0.0-P0.7用8芯排線連接到「模數轉換模塊」區域中的D0D1D2D3D4D5D6D7埠上,A/D轉換完畢的數據輸入到單片機的P0埠
(4). 把「模數轉換模塊」區域中的VREF端子用導線連接到「電源模塊」區域中的VCC端子上;
(5). 把「模數轉換模塊」區域中的A2A1A0端子用導線連接到「單片機系統」區域中的P3.4P3.5P3.6端子上;
(6). 把「模數轉換模塊」區域中的ST端子用導線連接到「單片機系統」區域中的P3.0端子上;
(7). 把「模數轉換模塊」區域中的OE端子用導線連接到「單片機系統」區域中的P3.1端子上;
(8). 把「模數轉換模塊」區域中的EOC端子用導線連接到「單片機系統」區域中的P3.2端子上;
(9). 把「模數轉換模塊」區域中的CLK端子用導線連接到「分頻模塊」區域中的/4端子上;
(10). 把「分頻模塊」區域中的CK IN端子用導線連接到「單片機系統」區域中的ALE端子上;
(11). 把「模數轉換模塊」區域中的IN3端子用導線連接到「三路可調壓模塊」區域中的VR1端子上;
6. 程序設計內容
(1). 進行A/D轉換時,採用查詢EOC的標志信號來檢測A/D轉換是否完畢,若完畢則把數據通過P0埠讀入,經過數據處理之後在數碼管上顯示。
(2). 進行A/D轉換之前,要啟動轉換的方法:
ABC=110選擇第三通道
ST=0,ST=1,ST=0產生啟動轉換的正脈沖信號
7. 匯編源程序
CH EQU 30H
DPCNT EQU 31H
DPBUF EQU 33H
GDATA EQU 32H
ST BIT P3.0
OE BIT P3.1
EOC BIT P3.2

ORG 00H
LJMP START
ORG 0BH
LJMP T0X
ORG 30H
START: MOV CH,#0BCH
MOV DPCNT,#00H
MOV R1,#DPCNT
MOV R7,#5
MOV A,#10
MOV R0,#DPBUF
LOP: MOV @R0,A
INC R0
DJNZ R7,LOP
MOV @R0,#00H
INC R0
MOV @R0,#00H
INC R0
MOV @R0,#00H
MOV TMOD,#01H
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
SETB TR0
SETB ET0
SETB EA
WT: CLR ST
SETB ST
CLR ST
WAIT: JNB EOC,WAIT
SETB OE
MOV GDATA,P0
CLR OE
MOV A,GDATA
MOV B,#100
DIV AB
MOV 33H,A
MOV A,B
MOV B,#10
DIV AB
MOV 34H,A
MOV 35H,B
SJMP WT
T0X: NOP
MOV TH0,#(65536-4000)/256
MOV TL0,#(65536-4000) MOD 256
MOV DPTR,#DPCD
MOV A,DPCNT
ADD A,#DPBUF
MOV R0,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
MOV DPTR,#DPBT
MOV A,DPCNT
MOVC A,@A+DPTR
MOV P2,A
INC DPCNT
MOV A,DPCNT
CJNE A,#8,NEXT
MOV DPCNT,#00H
NEXT: RETI
DPCD: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH,00H
DPBT: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
END

8. C語言源程序
#include <AT89X52.H>
unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,0x00};
unsigned char dispbuf[8]={10,10,10,10,10,0,0,0};
unsigned char dispcount;

sbit ST=P3^0;
sbit OE=P3^1;
sbit EOC=P3^2;
unsigned char channel=0xbc;//IN3
unsigned char getdata;

void main(void)
{
TMOD=0x01;
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
TR0=1;
ET0=1;
EA=1;

P3=channel;

while(1)
{
ST=0;
ST=1;
ST=0;
while(EOC==0);
OE=1;
getdata=P0;
OE=0;
dispbuf[2]=getdata/100;
getdata=getdata%10;
dispbuf[1]=getdata/10;
dispbuf[0]=getdata%10;
}
}

void t0(void) interrupt 1 using 0
{
TH0=(65536-4000)/256;
TL0=(65536-4000)%256;
P1=dispcode[dispbuf[dispcount]];
P2=dispbitcode[dispcount];
dispcount++;
if(dispcount==8)
{
dispcount=0;
}
}

『陸』 不與單片機相連,使ADC0808(ADC0809)不斷接受模擬信號產生數字信號,各個管腳應該怎麼連接

您好,我現在是用ADC0809轉換一個模擬信號,與單片機具體的管腳怎麼連接呢?需要什麼其他的原件輔助嗎?單片機程序該怎麼寫呢?很急的,請幫助我一下,謝謝了!我現在的圖,連到這樣就停住了,不知該怎麼下手!

『柒』 上一主題 下一主題 收起左側 用單片機驅動ADC0808時模擬不出來,求大神幫忙解答!!!感激不盡

AD0808的CLOCK這么接是沒有時鍾信號的,因模擬時ALE無信號輸出。很簡單,左邊工具條中有個信號源,選其中的DCLOCK,放置後雙擊,把頻率改為500K就好了。改完還不行,再幫你找原因。

『捌』 不與單片機相連,使ADC0808(ADC0809)不斷接受模擬信號產生數字信號,各個管腳應該怎麼連接

這個CL卡腳要接個時鍾信號,這個是肯定的,但是轉換開始時的ST信號可以用EOC的轉換結束信號控制,EOC接一個計時器上,這個將OE升高輸出數據,一定時間到後將ST和ALE觸發。ABC 和地址可以固定直接接電源上,剩下的就是數據存儲那個我不太清楚。但是DAC0832的數據你可以直接將AD0809的數據輸出和DAC0832的數據輸入直接相連,公用一個時鍾信號。

『玖』 ADC0808數字電壓表 單片機CLOCK怎麼接啊要求有矩形波的啊

使用ADC0808,ADC0809之類的AD,一般都從ALE直接取信號,ALE信號的頻率約為晶振頻率的1/6(方波),假定晶振為12MHz,則ALE出來的方波頻率為2MHz,然後用74HC74進行兩次二分頻,也就是除4,獲得500KHz的方波,就可以送AD的CLK了。
也可以直接用IO口模擬時鍾,不過這一種方法對編程者的軟體能力要求比較高。

『拾』 說明ADC0808與單片機之間如何介面

我這是PROTEUS的模擬圖,其中電源和地是沒接的你用PROTEL畫實際電路的時候要注意下

閱讀全文

與adc0808怎麼跟單片機接線相關的資料

熱點內容
如何批量快速壓縮視頻 瀏覽:432
我的世界如何加入ice伺服器 瀏覽:873
兄弟cnc編程說明書 瀏覽:204
php閃電入門教程學習 瀏覽:152
金岳霖邏輯pdf 瀏覽:938
linuxtomcat線程 瀏覽:77
pboc長度加數據加密 瀏覽:187
英雄聯盟國際服手游怎麼下安卓 瀏覽:297
程序員的思路 瀏覽:234
只能用命令獲得的四種方塊 瀏覽:358
怎麼用命令方塊防止開創造 瀏覽:807
掃描版的pdf 瀏覽:790
編程貓怎樣做3d游戲 瀏覽:207
怎麼查找雲伺服器上的ftp 瀏覽:156
我的世界伺服器如何注冊賬號 瀏覽:934
統計英文字元python 瀏覽:423
linux信息安全 瀏覽:908
壓縮機接線柱爆 瀏覽:999
程序員自主創業 瀏覽:584
匯編程序員待遇 瀏覽:359