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

QQ登錄

只需一步,快速開始

搜索
查看: 7670|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的DAC0832的D/A轉(zhuǎn)換Proteus仿真實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


實(shí)驗(yàn)要求
    單片機(jī)輸出的數(shù)字量D0~D7加到DAC0832的輸入端,用虛擬直流電壓表測(cè)量DAC0832的電流輸出經(jīng)運(yùn)放LM358N的IV轉(zhuǎn)換后的電壓值,并使用虛擬直流電壓表查看輸出電壓的變化。仿真運(yùn)行,可看到虛擬直流電壓表測(cè)量的電壓在-2.5V~0V范圍內(nèi)變化。如果由于電壓表太小顯示的電壓值不清楚,可用鼠標(biāo)滾輪放大電路原理圖。
    實(shí)驗(yàn)?zāi)康?/font>
    掌握單片機(jī)與DAC0832的接口設(shè)計(jì)和軟件編程。知識(shí)點(diǎn)
    DA轉(zhuǎn)換器DAC0832的性能、內(nèi)部結(jié)構(gòu)以及工作原理。DAC0832是采用先進(jìn)的CMOS工藝制成的單片機(jī)電流輸出型8位DA轉(zhuǎn)換器。它采用的是R-2R電阻梯型網(wǎng)絡(luò)完成DA轉(zhuǎn)換。電平
    接口與TTL兼容,具有兩級(jí)輸入數(shù)字量緩存。
源程序代碼:
#include "reg52.h"    //此文件中定義了單片機(jī)的一些特殊功能寄存器
typedef unsigned int u16;   //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
typedef unsigned char u8;
//--定義使用的IO口--//
sbit PWM=P2^1;
bit DIR;
//--定義一個(gè)全局變量--//
u16 count,value,timer1;
/*******************************************************************************
* 函 數(shù) 名         : Timer1Init
* 函數(shù)功能     : 定時(shí)器1初始化
* 輸    入         : 無
* 輸    出         : 無
*******************************************************************************/
void Timer1Init()
{
TMOD|=0X10;//選擇為定時(shí)器1模式,工作方式1,僅用TR1打開啟動(dòng)。
TH1 = 0xFF;
TL1 = 0xff;   //1us
  
ET1=1;//打開定時(shí)器1中斷允許
EA=1;//打開總中斷
TR1=1;//打開定時(shí)器   
}

/*******************************************************************************
* 函 數(shù) 名       : main
* 函數(shù)功能   : 主函數(shù)
* 輸    入       : 無
* 輸    出      : 無
*******************************************************************************/
void main()
{
Timer1Init();  //定時(shí)器1初始化
while(1)
{
  if(count>100)      
  {  
   count=0;
   if(DIR==1)        //DIR控制增加或減小
   {
     value++;
   }   
   if(DIR==0)
   {
     value--;
   }
   
  }
  if(value==1000)
  {
    DIR=0;
  }
  if(value==0)
  {
    DIR=1;
  }
   
  if(timer1>1000)  //PWM周期為1000*1us
  {
   timer1=0;
  }
  if(timer1 <value)
  {
   PWM=1;
  }
  else
  {
   PWM=0;
  }  
}  
}
/*******************************************************************************
* 函 數(shù) 名       : Time1
* 函數(shù)功能   : 定時(shí)器1的中斷函數(shù)
* 輸    入       : 無
* 輸    出       : 無
*******************************************************************************/
void Time1(void) interrupt 3    //3 為定時(shí)器1的中斷號(hào)  1 定時(shí)器0的中斷號(hào) 0 外部中斷1 2 外部中斷2  4 串口中斷
{
TH1 = 0xFF;
TL1 = 0xff;   //1us
timer1++;
    count++;

}



全部資料51hei下載地址:
新建 WinRAR ZIP 壓縮文件.zip (18.34 KB, 下載次數(shù): 73)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:567677 發(fā)表于 2019-6-20 11:34 | 只看該作者
給的代碼都不對(duì)應(yīng)好不好
回復(fù)

使用道具 舉報(bào)

板凳
ID:493455 發(fā)表于 2019-6-21 14:02 | 只看該作者
本帖最后由 捂耳聽風(fēng) 于 2019-6-22 09:12 編輯

大佬們,我剛用這個(gè)軟件。那個(gè)總線怎么畫的啊,我百度找了好久也不知道怎么畫。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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