标题:
单片机+MCP4921实现DA转换的Proteus的仿真程序
[打印本页]
作者:
dankey
时间:
2020-6-14 20:56
标题:
单片机+MCP4921实现DA转换的Proteus的仿真程序
编写串行 DA 芯片 MCP4921 与单片机的接口程序,实现 周期性 、 锯齿波、 0-5V 信号的输出 。
51hei.png
(69.28 KB, 下载次数: 60)
下载附件
2020-6-14 22:23 上传
单片机源程序如下:
//主文件,用于程序数值的输入
#include <reg52.h>
#include <intrins.h>
#include "delay.h"
#include "DAC0832.h"
#include "MCP4921.h"
#define Max 0xFFFF //其对应的电压值5V
void main()
{
unsigned int Data1,Data2;
int IniVa;//定义初值
while(1)
{
//令输出为锯齿波输出
for(IniVa = 0;IniVa < Max; IniVa++)
{
Data1 = IniVa;
//Data2 = Max-IniVa;
//DA2channel(Data1, Data2);
MCP4921(Data1);
}
}
}
复制代码
//子程序文件,MCP4921的SPI输入时序
#include <reg52.h>
#include <intrins.h>
#include "delay.h"
#include "MCP4921.h"
void MCP4921(unsigned int DAdata)
{
unsigned int DAdataout;
unsigned char i;
DAdataout = (DAdata | 0x3000);
CS = 1;
SCK = 0;
LDAC = 1;
delay10us();
CS = 0;
for(i=0;i<=15;i++)
{
SI = DAdataout >> (15 - i)&0x0001;//移位,将最低位取出,高位赋值为0
delay10us();
SCK = 1;
delay10us();
SCK = 0;
}
delay10us();
CS = 1;
LDAC = 0;
delay10us();
LDAC = 1;
}
复制代码
所有资料51hei提供下载:
MCP4921 锯齿波zy.zip
(175.58 KB, 下载次数: 59)
2020-6-14 20:56 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
linuxcso
时间:
2020-12-9 22:37
大佬,能加个sd卡播放wav音乐吗。proteus 自带arduino例子有一个 wave 模块(sd+mcp4921)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1