标题:
STC15F2K16S2单片机驱动12位DAC MCP4726测试程序
[打印本页]
作者:
xiuyueyuan2013
时间:
2019-7-9 14:56
标题:
STC15F2K16S2单片机驱动12位DAC MCP4726测试程序
使用STC15单片机驱动12位DAC MCP4726芯片的测试程序,实机测试通过,proteus元件库没有这个元件,所以没做仿真
单片机源程序如下:
#include"mcp.h"
#include"lcd.h"
char *num="0123456789ABCDEF";
extern uchar vh,vl,eph,epl;
sbit k=P1^0;
uint n=0;
//测试使用的单片机型号:STC15F2K16S2,频率选择5.5296MHz,理论上STC15系列单片机通用
//必要的话请自行修改改引脚定义
//测试加入了LCD1602和按键功能来显示调整部分参数用于调试,实际使用时可以去掉
//代码通过实机测试
//MCP4726的VOUT脚串接一个LED和102电阻,用于粗略显示电压
void delayms()
{
uchar a,b,c;
for(c=1;c;c--)
for(b=38;b;b--)
for(a=130;a;a--);
}
void vup()
{
if(k==0)
{
delayms();
if(k==0)
{
uchar m=0;
n+=100;
while(k==0&&m<200)
{
delayms();
++m;
}
}
}
}
void main()
{
uchar count=0;
uchar temp=0;
while(!(temp&0x40))
temp=mcpread();
lcdinit();
//mcpwriteall(2400); //这个函数测试时没用到
while(1)
{
temp=mcpread();
vup();
if(n>4095)
n=0;
mcpwrite(n);
writecom(0x80);
writedata(num[temp/100]);
writedata(num[temp%100/10]);
writedata(num[temp%10]);
writedata(' ');
writedata(num[count/100]);
writedata(num[count%100/10]);
writedata(num[count%10]);
++count;
writedata(' ');
writedata(num[vh/100]);
writedata(num[vh%100/10]);
writedata(num[vh%10]);
writedata(' ');
writedata(num[vl/100]);
writedata(num[vl%100/10]);
writedata(num[vl%10]);
writecom(0xc0);
writedata(num[eph/100]);
writedata(num[eph%100/10]);
writedata(num[eph%10]);
writedata(' ');
writedata(num[epl/100]);
writedata(num[epl%100/10]);
writedata(num[epl%10]);
}
}
复制代码
#include"mcp.h"
uchar vh,vl,eph,epl;
void mcpwrite(uint dat)
{
uchar datl,dath;
datl=dat&0x00ff;
dath=((dat&0x0f00)>>8);
i2cstart();
i2cwrite(0xc0,1);
i2cwrite(dath,1);
i2cwrite(datl,1);
i2cstop();
}
void mcpwriteall(uint dat)
{
uchar datl,dath;
datl=dat&0x00ff;
dath=(dat&0xff00)>>8;
i2cstart();
i2cwrite(0xc0,1);
i2cwrite(0x61,1);
i2cwrite(dath,1);
i2cwrite(datl,1);
i2cstop();
}
uchar mcpread()
{
uchar temp,config;
i2cstart();
i2cwrite(0xc1,1);
config=i2cread(0);
vh=i2cread(0);
vl=i2cread(0);
temp=i2cread(0);
eph=i2cread(0);
epl=i2cread(0);
i2cstop();
return config;
}
复制代码
所有资料51hei提供下载:
MCP4726.zip
(43.46 KB, 下载次数: 105)
2019-7-9 14:56 上传
点击文件名下载附件
测试程序
下载积分: 黑币 -5
作者:
sunwg9986
时间:
2019-7-10 09:26
新手弱弱的问一下仿真是干嘛的?
作者:
HongZQ2007
时间:
2020-4-16 13:42
非常感谢您的无私分享!!!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1