1樓:
^#include
unsigned char code dispbitcode=;
unsigned char code dispcode=;
unsigned char dispbuf[8]=;
unsigned char dispcount;
unsigned char getdata;
unsigned int temp;
unsigned char i;
sbit st=p3^0;
sbit oe=p3^1;
sbit eoc=p3^2;
sbit clk=p3^3;
void main(void)
dispbuf[i]=temp;
st=1;
st=0;
} }} void t0(void) interrupt 1 using 0
void t1(void) interrupt 3 using 0dispcount++;
if(dispcount==8)}
求一簡易數字電壓表的電路原理圖
2樓:匿名使用者
28. 數字電壓表
1. 實驗任務
利用微控制器at89s51與adc0809設計一個數字電壓表,能夠測量0-5v之間的直流電壓值,四位數碼顯示,但要求使用的元器件數目最少。
2. 電路原理圖
圖1.28.1
3. 系統板上硬體連線
a) 把「微控制器系統」區域中的p1.0-p1.7與「動態數碼顯示」區域中的abcdefgh埠用8芯排線連線。
b) 把「微控制器系統」區域中的p2.0-p2.7與「動態數碼顯示」區域中的s1s2s3s4s5s6s7s8埠用8芯排線連線。
c) 把「微控制器系統」區域中的p3.0與「模數轉換模組」區域中的st端子用導線相連線。
d) 把「微控制器系統」區域中的p3.1與「模數轉換模組」區域中的oe端子用導線相連線。
e) 把「微控制器系統」區域中的p3.2與「模數轉換模組」區域中的eoc端子用導線相連線。
f) 把「微控制器系統」區域中的p3.3與「模數轉換模組」區域中的clk端子用導線相連線。
g) 把「模數轉換模組」區域中的a2a1a0端子用導線連線到「電源模組」區域中的gnd端子上。
h) 把「模數轉換模組」區域中的in0端子用導線連線到「三路可調電壓模組」區域中的vr1端子上。
i) 把「微控制器系統」區域中的p0.0-p0.7用8芯排線連線到「模數轉換模組」區域中的d0d1d2d3d4d5d6d7端子上。
4. 程式設計內容
i. 由於adc0809在進行a/d轉換時需要有clk訊號,而此時的adc0809的clk是接在at89s51微控制器的p3.3埠上,也就是要求從p3.
3輸出clk訊號供adc0809使用。因此產生clk訊號的方法就得用軟體來產生了。
ii. 由於adc0809的參考電壓vref=vcc,所以轉換之後的資料要經過資料處理,在數碼管上顯示出電壓值。實際顯示的電壓值 (d/256*vref)
5. 彙編源程式
adc0809中文資料
adc0809是帶有8位a/d轉換器、8路多路開關以及微處理機相容的控制邏輯的cmos元件。它是逐次逼近式a/d轉換器,可以和微控制器直接介面。
(1)adc0809的內部邏輯結構
由下圖可知,adc0809由一個8路模擬開關、一個地址鎖存與譯碼器、一個a/d轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8 路模擬量分時輸入,共用a/d轉換器進行轉換。三態輸出鎖器用於鎖存a/d轉換完的數字量,當oe端為高電平時,才可以從三態輸出鎖存器取走轉換完的數 據。
(2). adc0809引腳結構
adc0809各腳功能如下:
d7-d0:8位數字量輸出引腳。
in0-in7:8位模擬量輸入引腳。
vcc:+5v工作電壓。
gnd:地。
ref(+):參考電壓正端。
ref(-):參考電壓負端。
start:a/d轉換啟動訊號輸入端。
ale:地址鎖存允許訊號輸入端。
(以上兩種訊號用於啟動a/d轉換).
eoc:轉換結束訊號輸出引腳,開始轉換時為低電平,當轉換結束時為高電平。
oe:輸出允許控制端,用以開啟三態資料輸出鎖存器。
clk:時鐘訊號輸入端(一般為500khz)。
a、b、c:地址輸入線。
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. adc0809應用電路原理圖
6. 程式設計內容
(1). 進行a/d轉換時,採用查詢eoc的標誌訊號來檢測a/d轉換是否完畢,若完畢則把資料通過p0埠讀入,經過資料處理之後在數碼管上顯示。
(2). 進行a/d轉換之前,要啟動轉換的方法:
abc=110選擇第三通道
st=0,st=1,st=0產生啟動轉換的正脈衝訊號 .
c語言源程式
#include
unsigned char code dispbitcode=;
unsigned char code dispcode=;
unsigned char dispbuf[8]=;
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)
}void t0(void) interrupt 1 using 0
dispbuf[i]=temp;
st=1;
st=0;
} }} void t0(void) interrupt 1 using 0
void t1(void) interrupt 3 using 0
dispcount++;
if(dispcount==8) }
跪求高人簡易數字電壓表電路圖
可用l7107製作三位半數字電壓表.l7107 7.00元1只.參考電子報93下181頁.求一簡易數字電壓表的電路原理圖 28 數字電壓表 1 實驗任務 利用微控制器at89s51與adc0809設計一個數字電壓表,能夠測量0 5v之間的直流電壓值,四位數碼顯示,但要求使用的元器件數目最少。2 電路...
微控制器零基礎者做簡易數字電壓表,微控制器原理一個簡易數字電壓表
微控制器的ad模組和顯示模組 adc讀取被測電壓 微控制器是5v的 被測電壓 5v的直接可以接入測量 大於5v的串聯電阻分壓測試 學習一下微控制器就可以了 速成 微控制器原理一個簡易數字電壓表 這個電路的時鐘訊號是由晶振crystal通過xtal1端和xtal2端產生的,這兩個埠內部有閘電路,與晶振...
急求機械製造工藝學的課程設計
可以參考一下這個設計如何。機械工藝課程設計說明書 一 零件的分析 零件的作用 題目給出的零件是ca6140的槓桿。它的主要的作用是用來支承 固定的。要求零件的配合是符合要求。二 零件的工藝分析 槓桿的 25孔的軸線合兩個端面有著垂直度的要求。現分述如下 本夾具用於在立式銑床上加工槓桿的小平面和加工 ...