找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 20089|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

DAC0832實(shí)現(xiàn)51單片機(jī)輸出方波鋸齒波三角波等

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
D/A轉(zhuǎn)換
一、實(shí)驗(yàn)?zāi)康?/strong>
1. 掌握DAC0832直通方式、單緩沖器方式、雙緩沖器方式的編程方法
2. 掌握D/A轉(zhuǎn)換程序的編程方式和調(diào)試方法
二、原理
DAC0832是8位D/A轉(zhuǎn)換器,它采用CMOS工藝制作,具有雙緩沖器輸入結(jié)構(gòu),其引
腳排列如圖所示,DAC0832各引腳功能說明:
DI0~DI7:轉(zhuǎn)換數(shù)據(jù)輸入端。
   CS:片選信號(hào)輸入端,低電平有效。
ILE:數(shù)據(jù)鎖存允許信號(hào)輸入端,高電平有效。   
WR1:第一寫信號(hào)輸入端,低電平有效,
Xfer:數(shù)據(jù)傳送控制信號(hào)輸入端,低電平有效。
WR2:第二寫信號(hào)輸入端,低電平有效。            
Iout1:電流輸出1端,當(dāng)數(shù)據(jù)全為1時(shí),輸出電流最大;當(dāng)數(shù)據(jù)全為0時(shí),輸出電流最小。
Iout2:電流輸出2端。DAC0832具有:Iout1+Iout2=常數(shù)的特性。 Rfb:反饋電阻端。
Vref:基準(zhǔn)電壓端,是外加的高精度電壓源,它與芯片內(nèi)的電阻網(wǎng)絡(luò)相連接,該電壓范圍為:-10V~+10V。
VCC和GND:芯片的電源端和地端。
DAC0832內(nèi)部有兩個(gè)寄存器,而這兩個(gè)寄存器的控制信號(hào)有五個(gè),輸入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用軟件指令控制這五個(gè)控制端可實(shí)現(xiàn)三種工作方式:直通方式、單緩沖方式、雙緩沖方式。
直通方式是將兩個(gè)寄存器的五個(gè)控制端預(yù)先置為有效,兩個(gè)寄存器都開通只要有數(shù)字信號(hào)輸入就立即進(jìn)入D/A轉(zhuǎn)換。
單緩沖方式使DAC0832的兩個(gè)輸入寄存器中有一個(gè)處于直通方式,另一個(gè)處于受控方式,可以將WR2和Xfer相連在接到地上,并把WR1接到80C51的WR上,ILE接高電平,CS接高位地址或地址譯碼的輸出端上。
雙緩沖方式把DAC0832的輸入寄存器和DAC寄存器都接成受控方式,這種方式可用于多路模擬量要求同時(shí)輸出的情況下。
三種工作方式區(qū)別是:直通方式不需要選通,直接D/A轉(zhuǎn)換;單緩沖方式一次選通;雙緩沖方式二次選通
三、實(shí)驗(yàn)內(nèi)容
    1、利用數(shù)/模轉(zhuǎn)換器DAC0832分別構(gòu)造2種波形:方波、鋸齒波,并通過示波器來觀察波形情況。
    2、軟件編程提示:
方波:實(shí)驗(yàn)要求在DOUT端輸出方波信號(hào),方波信號(hào)的周期由延時(shí)時(shí)間常數(shù)確定。 根據(jù)Vout =-〔VREF×(輸入數(shù)字量的十進(jìn)制數(shù))〕/256,當(dāng)數(shù)字量的十進(jìn)制數(shù)為256(FFH)時(shí),由于VREF =-5V,Vout = +5V。當(dāng)數(shù)字量的十進(jìn)制數(shù)為0(00H) 時(shí), 由于VREF = - 5V,Vout = 0V。因此,只要將上述數(shù)字量寫入DAC0832端口地址時(shí),模擬電壓就從DOUT 端輸出 。
鋸齒波:本實(shí)驗(yàn)在DAOUT端輸出鋸齒波。根據(jù)Vout = -〔VRFE×(輸入數(shù)字量的十進(jìn)制數(shù))〕/256即可知道,只要將數(shù)字量0~256(00H~FFH)從0開始逐漸加1遞增直至256為止,不斷循環(huán),在DOUT端就會(huì)輸出連續(xù)不斷的鋸齒波

QQ圖片20180514210853.png (26.71 KB, 下載次數(shù): 150)

QQ圖片20180514210853.png

3.rar

67.8 KB, 下載次數(shù): 284, 下載積分: 黑幣 -5

仿真和代碼

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂2 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:283491 發(fā)表于 2018-11-24 17:27 | 只看該作者
最后功能實(shí)現(xiàn)了嗎,
回復(fù)

使用道具 舉報(bào)

板凳
ID:643576 發(fā)表于 2019-11-24 17:32 | 只看該作者
可以這樣寫嗎?鋸齒波:int main (void)
{
uchar i;
while(1)
{
for(i=0;i<255;i++)
{
delay(10);
XBYTE[0X7fff]=i;
}
}
}
回復(fù)

使用道具 舉報(bào)

地板
ID:538496 發(fā)表于 2020-3-16 23:08 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

5#
ID:635905 發(fā)表于 2020-3-24 09:31 | 只看該作者
仿真軟件用的什么
回復(fù)

使用道具 舉報(bào)

6#
ID:714939 發(fā)表于 2020-3-25 01:02 | 只看該作者

proteus
回復(fù)

使用道具 舉報(bào)

7#
ID:80273 發(fā)表于 2020-4-12 14:20 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

8#
ID:741305 發(fā)表于 2020-4-30 00:06 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

9#
ID:732342 發(fā)表于 2020-7-4 15:09 | 只看該作者
請(qǐng)問怎么改變電壓范圍和頻率呢
回復(fù)

使用道具 舉報(bào)

10#
ID:978036 發(fā)表于 2021-11-4 23:31 | 只看該作者
單片機(jī)老司機(jī) 發(fā)表于 2019-11-24 17:32
可以這樣寫嗎?鋸齒波:int main (void)
{
uchar i;

您好,我是新手,想問有int main這個(gè)嗎
回復(fù)

使用道具 舉報(bào)

11#
ID:978036 發(fā)表于 2021-11-4 23:32 | 只看該作者

proteus
回復(fù)

使用道具 舉報(bào)

12#
ID:978036 發(fā)表于 2021-11-4 23:34 | 只看該作者

哈羅  可以分享一下樓主的代碼和仿真嗎?DAC0832和AT89C51波形輸出
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表