<noscript id="p0cjs"><th id="p0cjs"></th></noscript>

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)+MCP4921實現(xiàn)DA轉(zhuǎn)換的Proteus的仿真程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:779303 發(fā)表于 2020-6-14 20:56 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
編寫串行 DA 芯片 MCP4921 與單片機(jī)的接口程序,實現(xiàn) 周期性 、 鋸齒波、 0-5V 信號的輸出 。


單片機(jī)源程序如下:
  1. //主文件,用于程序數(shù)值的輸入

  2. #include <reg52.h>
  3. #include <intrins.h>
  4. #include "delay.h"
  5. #include "DAC0832.h"
  6. #include "MCP4921.h"

  7. #define Max 0xFFFF  //其對應(yīng)的電壓值5V

  8. void main()
  9. {
  10.         unsigned int Data1,Data2;
  11.         int IniVa;//定義初值
  12.         while(1)
  13.         {       
  14.                 //令輸出為鋸齒波輸出
  15.                 for(IniVa = 0;IniVa < Max; IniVa++)
  16.                 {
  17.                         Data1 = IniVa;
  18.                         //Data2 = Max-IniVa;
  19.                         //DA2channel(Data1, Data2);
  20.                         MCP4921(Data1);
  21.                 }
  22.         }
  23. }
復(fù)制代碼

  1. //子程序文件,MCP4921的SPI輸入時序
  2. #include <reg52.h>
  3. #include <intrins.h>
  4. #include "delay.h"
  5. #include "MCP4921.h"

  6. void MCP4921(unsigned int DAdata)
  7. {
  8.         unsigned int DAdataout;
  9.         unsigned char i;
  10.         DAdataout = (DAdata | 0x3000);
  11.         CS = 1;
  12.         SCK = 0;
  13.         LDAC = 1;
  14.         delay10us();
  15.         CS = 0;
  16.         for(i=0;i<=15;i++)
  17.         {
  18.                 SI = DAdataout >> (15 - i)&0x0001;//移位,將最低位取出,高位賦值為0
  19.           delay10us();
  20.                 SCK = 1;
  21.                 delay10us();
  22.                 SCK = 0;
  23.         }
  24.         delay10us();
  25.         CS = 1;
  26.         LDAC = 0;
  27.         delay10us();
  28.         LDAC = 1;
  29. }
復(fù)制代碼

所有資料51hei提供下載:
MCP4921 鋸齒波zy.zip (175.58 KB, 下載次數(shù): 59)

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:104982 發(fā)表于 2020-12-9 22:37 | 只看該作者
大佬,能加個sd卡播放wav音樂嗎。proteus 自帶arduino例子有一個 wave 模塊(sd+mcp4921)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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