⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chuan9850.c

📁 用avr调AD9850的DDS的资料!一个很稳定的信号源!
💻 C
字号:
/*RESET=pa0 WCLK=pa2 FQUD=pa1 D7=PA3 */
#include<iom128v.h>
#include<macros.h>
//char str[]={0x00,0x00,0x3d,0x70,0xa3,0xd7};//30m
//char str[]={0x00,0x00,0x05,0x62,0x4d,0xd2};//40m
char str[]={0x00,0x00,0x4d,0x70,0xa3,0xd7};//30m
void set_wclk(unsigned char i)
{
 if(i) PORTA|=0X04;
 else  PORTA&=0XFb;
}
void set_fqud(unsigned char i)
{
 if(i) PORTA|=0X02;
 else  PORTA&=0XFd;
}
void set_reset(unsigned char i)
{
 if(i) PORTA|=0X01;
 else  PORTA&=0XFE;
}
void set_d7(unsigned char i)
{
 if(i) PORTA|=0X08;
 else  PORTA&=0XF7;
}
void chuli(unsigned char com)
{
 unsigned char i;
 set_wclk(0);
 for(i=0;i<8;i++)
  {
   if(com|0xfe==0xff)//要移的位为低位
    {set_d7(1);}
   else
    {set_d7(0);}
   com>>=1;
   set_wclk(1);
   set_wclk(0);	
  }
}  
void ad9850()
{
 unsigned char i;
 set_fqud(0);
 for(i=5;i>0;i--)
  {chuli(str[i]);}
 set_fqud(1);
 set_fqud(0); 
}
void setup()
{
  set_wclk(0);
  set_fqud(0);
  set_wclk(1);
  set_wclk(0);
  set_fqud(1);
  set_fqud(0);
}
void m128_init()
{
 DDRA=0XFF;
 PORTA=0XFF;
 DDRB=0X00;
 PORTB=0XFF;
 DDRC=0X00;
 PORTC=0XFF;
 DDRD=0X00;
 PORTD=0XFF;
 DDRE=0X00;
 PORTE=0XFF;
}
void main()
{
 m128_init();
 set_reset(0);
 setup();
 ad9850();
 while(1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -