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

📄 ad9850_main.c

📁 AD9850的一个实际例子 一般可用于DDS数字合成技术
💻 C
字号:
//文件名	:ad9850_main 
//创建人	:尹延辉
//QQ:329314196欢迎交流
//创建日期	:2006/08/18
//FOSC		:8000000
//BAUDRATE	:9600 
//哈尔滨工程大学E唯协会,电子爱好者的乐园!

#include <avr/io.h>  
#include <avr/interrupt.h>

#define ConPort PORTC
#define ConDdr DDRC
#define DATA PC0
#define W_CLK PC1
#define FQ_UD PC2
#define SetDATA()	ConPort|=1<<DATA
#define ClrDATA()	ConPort&=~(1<<DATA)
#define SetW_CLK()	ConPort|=1<<W_CLK
#define ClrW_CLK()	ConPort&=~(1<<W_CLK)
#define SetFQ_UD()	ConPort|=1<<FQ_UD
#define ClrFQ_UD()	ConPort&=~(1<<FQ_UD)

void AD9850WriteBytes(unsigned char *byte)
{
	unsigned char i,j,temp;
	ClrW_CLK();
	ClrFQ_UD();
	for(i=0;i<5;i++)
	{
		temp=byte[i];
		for(j=0;j<8;j++)
		{
			ClrW_CLK();
			if(temp&0x01) SetDATA();
			else ClrDATA();
			temp=temp>>1;
			SetW_CLK();
		}
	}
	ClrW_CLK();
	SetFQ_UD();
	SetFQ_UD();
	ClrFQ_UD();
}
int main(void)
{
	unsigned char test[5]={0xff,0xff,0xff,0b01010011,0b00000001};//547ae147
	unsigned char i,j;
	ConDdr=0xff;
	for(i=0;i<200;i++)
	for(j=0;j<200;j++);
	AD9850WriteBytes(test);
//	AD9850WriteBytes(test);
//	AD9850WriteBytes(test);
	while(1);
}

⌨️ 快捷键说明

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