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

📄 dds.c

📁 DDS模块 EWB Quartus2编译 电子综合设计试验箱程序
💻 C
字号:
#include "intrins.h"
#include"reg51.h"
#include "lcd1602.h"
#include "stdio.h"

#define uchar unsigned char 
#define uint  unsigned int 
#define key_bus P0

sbit reset=P1^0;
sbit sclk=P1^1;
sbit load=P1^2;   //FQUD
sbit sdata=P1^3;  //DATA


bit TIflag=1;//Note:It must be 1.

#define KEYPAD_IN   XBYTE[0XF050]//XBYTE[0xA000]
#define KEYPAD_OUT	XBYTE[0XF051]//XBYTE[0x8000]

sbit ds=P1^3;
sbit sh=P1^4;
sbit st=P1^5;

void WriteSIOByte(unsigned char led,unsigned char sel,unsigned char seg) 
{ 
  unsigned char i; 
   	for (i=0;i<8;i++)
	{
		led=led<<1; ds=CY; sh=1; sh=0;  
     }
	_nop_();//延时
   	for (i=0;i<8;i++)
	{
		sel=sel<<1; ds=CY; sh=1; sh=0;  
     }  
	_nop_();//延时
   	for (i=0;i<8;i++)
	{
		seg=seg<<1; ds=CY; sh=1; sh=0;  
     }
   st=0; 
   st=1;//打入并行数据 
}  

/*************************AD9850初始化********************************/
void  ad9850init()
{
  reset=0;
  reset=1;
  reset=0;
  load=0;
}

/*************************AD9850显示正弦波********************************/
AD9850(float freq)
{
    float fw;
    uchar temp;
	uchar i,j;
    uchar d[5];                    //d[4]中存放控制字最高位,即相位控制字                                             //Freq=MCLK*FW/2^32
    fw=freq*85.89934592;
    d[4]=0;
    d[0]=(unsigned long)fw;
    d[1]=(unsigned long)fw>>8;
    d[2]=(unsigned long)fw>>16;
    d[3]=(unsigned long)fw>>24;
    load=0; 
    sclk=0; 
    sclk=1;
    sclk=0;
    load=1;
    load=0;
     for(i=0;i<5;i++)
     {
        temp=d[i];
        for(j=0;j<8;j++)
        {
            sclk=0;
            if(temp&1) sdata=1;
            else sdata=0;
            sclk=1;
            temp=temp>>1;
         }
      }

      load=1;
      load=0;
	  load=0;
	  load=0;
}


main()
{
	uchar s[20]=0;			//8位数字,含小数点
	float freq=1000;
	float step_value=100;
	int step_state=2;//0=1HZ,1=10HZ,2=100HZ,3=1KHZ,4=10KHZ,5=100KHZ,6=1MHZ
	int state=0;	//state=0等待输入步进值状态,state=1改变频率值状态
	ad9850init();
	AD9850(freq);
	P1=0x2;
	while(1)
	{
	}
	
}


⌨️ 快捷键说明

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