您的位置 首页 编程

proteus 仿真AD5310程序。。10位DAC

#includeiom16v.h>#includemacros.h>#defineucharunsignedchar#defineuintunsignedintvoiddelay(uint


#include
#include
#define uchar unsigned char
#define uint unsigned int
void delay(uint ms)
{
uint i,j;
for(i=0;ifor(j=0;j<1141;j++);
}
void spi_init()
{
DDRA|=BIT(1);
DDRB|=BIT(5)|BIT(7);
SPCR=(0<<7)|(1<<6)|(0<<5)|(1<<4)|(0<<3)|(1<<2)|(1<<1)|(1);
// SPIE SPE DORD MSTR CPOL CHPA SPR1 SPR0
}
void da5310(uint data)
{
uchar temp1,temp2;
data&=0x3ff;//11 1111 1111

temp1=(data>>6);//高8位
temp2=((data&0x3f)<<2);//低8位 PORTA&=~BIT(1);
//PORTA|=BIT(1);
//PORTA&=~BIT(1);

SPSR=0;
SPDR=temp1;
while(!(SPSR&0X80));//等候发送结束
SPSR=0;

SPDR=temp2;
while(!(SPSR&0X80));//等候发送结束
SPSR=0;

PORTA|=BIT(1);

}
void main()
{
spi_init();
da5310(0);
delay(5);
da5310(128);
while(1);

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/272917.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部