亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? shiboqi.c

?? 單片機(jī)DDS驅(qū)動程序
?? C
字號:
//-----------------------------------------
//
//2007年全國電子設(shè)計大賽培訓(xùn)專用	
//		基于DDS的信號發(fā)生器
//						Design By BoBo&ShuiJian
//------------------------------------------
#include<reg51.h>
#include<absacc.h>
#include<stdio.h>
#include"LCD.h"
//----------每位的控制字-----------------
#define FF7 357913941//858993459	//50M															//2147483648  20M			//357913941		 120M															//385136686 		111MHz晶振
#define FF6 35791394//85899346																	//214748365					//35791394																	//38513669
#define FF5 3579139//8589935																		//21474836					//3579139																		//3851367
#define FF4 357914//858993																		//2147484					//357914																		//385137
#define FF3 35791//85899																		//214748					//35791																		//38514
#define FF2 3579//8590																		//21475						//3579																		//3851
#define FF1 358//859																			//2148						//358																			//385
#define FF0 36//86																			//215						//36		
//--------------8279端口定義--------------
#define com XBYTE[0X0001]   															//命令字地址
#define dat XBYTE[0X0000]   															//數(shù)據(jù)口地址
//--------------DDS控制--------------------
#define  data_OUT  XBYTE[0x1C00]														//采用總線方式CE7
#define	 data_OUT1	XBYTE[0x1400]														//采用總線方式CE5
//--------------AD7524端口定義-------------
#define	AD7524	XBYTE[0x0C00]															//程控衰減地址

unsigned long data temp_r ;																//頻率值預(yù)存
sfr AUXR = 0x8e;
bit int_flag=0; 																		/*中斷標(biāo)志位*/
sbit clflag=ACC^7;
unsigned char LCD_string[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'\0'};				//LCD顯示字符串變量
unsigned char LCD_step[]={0x00,'\0'};
unsigned char step_i=0;																	//ma步進(jìn)值下標(biāo)	
unsigned char step[]={0x00,0x19,0x32,0x4B,0x64,0x7D,0x96,0xAF,0xC8,0xE1,0xFA};			//ma步進(jìn)控制值
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 		//數(shù)碼管段碼
unsigned char freq[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};							//8位數(shù)碼管頻率值
unsigned char con_word[5]; 																//頻率控制字
unsigned char i,temp;																	//temp用于存放臨時命令狀態(tài)字
unsigned char key_value;																//按鍵值
//-----------------------主要函數(shù)--------------------------
void IntToStr(void);																	//LCD顯示字符轉(zhuǎn)換
void longtoword(unsigned long num);														//長整型轉(zhuǎn)頻率控制字
void write_ad9850(void);																//控制字寫入ad9850
void write_ad98501(void);
unsigned long jisuan(unsigned char data *fno);											//頻率值產(chǎn)生
unsigned char keyin(void);																//按鍵函數(shù)
void setup_8279(void);																	//8279初始化
void display_led(void);																	//數(shù)碼管顯示
void delay(unsigned char i);															//延時
//------------------頻率步進(jìn)設(shè)置----------------------
void f10Mhz(void);																		//S1
void f1Mhz(void);																		//S2
void f100Khz(void);																		//S3
void f10Khz(void);																		//S4
void f1Khz(void);																		//S5
void f100Hz(void);																		//S6	
void f10Hz(void);																		//S7
void f1Hz(void);																		//S8
//-----------------------------------------------------
void carry_sin(void);																	//載波正弦波發(fā)生	S9
void mod_sin(void);																		//調(diào)制信號正弦波發(fā)生S10
void ma_step(void);																		//調(diào)制度10%步進(jìn)
void mode(void);
unsigned char a,b,k;
//-------------------------主函數(shù)--------------------------------
void main(void)
{
  	 
     Init_LCD();
	 Clear_Screen();
     Write_Nopara_Command(0x98); 
     AUXR = 0x02;																		/*STC單片機(jī)關(guān)內(nèi)部RAM和開ALE*/
  	 EA=1;
  	 EX0=1;																				//開外部中斷
  	 IT0=1;
  	//-----------延時(必須加)-------------
  	for(a=0;a<5;a++)
 	{
		for(b=0;b<50;b++)
  		{
			for(k=0;k<50;k++);
		}
	}
  	//------------------------------------
  	setup_8279(); 	 																	//初始化8279
  	delay(1000);
	Display_hz(2,0,"信號發(fā)生器");
	Display_String(12,0,"(Hz)");
	Display_hz(0,1,"載波");
	Display_String(4,1,":");
	Display_hz(0,2,"調(diào)制波");
	Display_String(6,2,":");
	Display_hz(0,3,"調(diào)制度");
	Display_String(6,3,":");
	while(1)
  	{
  		mode();
  	}
}
//------數(shù)碼管顯示----------------
void display_led(void)
{
	for(i=0;i<8;i++)
    {	com=0x80+i;																		//寫顯示RAM
   		dat=dispcode[freq[7-i]];														//顯示段碼
   		delay(120);
  	}
}
//-----8279初始化-----------------
void setup_8279(void)
{
	com=0x00;																			//鍵盤,顯示方式
	com=0x34;																			//20分頻  
	com=0xd1;																			//1101 0001b 清除所有顯示
	temp=com;																			//讀狀態(tài)字
	do{ACC=com;}
	while(clflag==1);   																//清除起來比較慢,所以一條指令執(zhí)行的時間不足以完成所有清除,故需等待
}

//---------頻率值轉(zhuǎn)換控制字----------
void longtoword(unsigned long num)
{
	con_word[0]=0x00;  																	//置工作方式選擇位為00
	con_word[4]=num&(0xff);
	num=num>>8;
	con_word[3]=num&(0xff);
	num=num>>8;
	con_word[2]=num&(0xff);
	num=num>>8;
	con_word[1]=num&(0xff);
}
/***計算控制字************/
/***入口:頻率數(shù)組指針***出口,控制字*****/
unsigned long jisuan(unsigned char data *fno)
{
    unsigned long dds_no ;
    dds_no=
    (*(fno+7))*FF7+
    (*(fno+6))*FF6+
    (*(fno+5))*FF5+
    (*(fno+4))*FF4+
    (*(fno+3))*FF3+
    (*(fno+2))*FF2+
    (*(fno+1))*FF1+
    (*fno)*FF0 ;
    return(dds_no);		
}
//---------------------進(jìn)位判斷-------------------
unsigned char judge(unsigned char a)		
{
	unsigned char b=0;
	if(a>=10)
	{
		b=0;
	}
	else
	{
		b=a;	
	}
	return b;

}
//-------------------步進(jìn)按鍵or模式選擇---------------
void mode(void)								
{
	if(int_flag==1)
	{
		int_flag=0;
		switch(key_value)
		{
			case 0x40:f10Mhz();break;
			case 0x41:f1Mhz();break;
		 	case 0x42:f100Khz();break;
		 	case 0x43:f10Khz();break;
		 	case 0x48:f1Khz();break;
			case 0x49:f100Hz();break;
		 	case 0x4a:f10Hz();break;
			case 0x4b:f1Hz();break;
		 	case 0x50:carry_sin();break;
			case 0x51:mod_sin();break;
			case 0x52:ma_step();break;
		 	default:break;
		}
 	}

}
/*步進(jìn)按鍵函數(shù)*/
void f10Mhz(void)																		//10Mhz步進(jìn)
{
	freq[7]=freq[7]+1;
	freq[7]=judge(freq[7]);
	display_led();
}

void f1Mhz(void)																		//1Mhz步進(jìn)
{
 	freq[6]=freq[6]+1;
	freq[6]=judge(freq[6]);
	display_led();	
}

void f100Khz(void)																		//100Khz步進(jìn)
{	
	freq[5]=freq[5]+1;
	freq[5]=judge(freq[5]);
	display_led();
}

void f10Khz(void)																		//10Khz步進(jìn)
{
	freq[4]=freq[4]+1;
	freq[4]=judge(freq[4]);
	display_led();
}

void f1Khz(void)																		//1Khz步進(jìn)
{
	freq[3]=freq[3]+1;
	freq[3]=judge(freq[3]);
	display_led();
}

void f100Hz(void)																		//100hz步進(jìn)
{
	freq[2]=freq[2]+1;
	if(freq[2]>=10)
	{
		freq[2]=0;
		freq[3]=freq[3]+1;	
	}
	display_led();

}

void f10Hz(void)																		//10hz步進(jìn)
{
	freq[1]=freq[1]+1;
	freq[1]=judge(freq[1]);
	display_led();

}

void f1Hz(void)																			//1hz步進(jìn)
{
	freq[0]=freq[0]+1;
	freq[0]=judge(freq[0]);
	display_led();

}
//-----------功能模式---------------------------
void carry_sin(void)																	//產(chǎn)生載波正弦波
{
    temp_r=jisuan(freq);
	longtoword(temp_r);
	write_ad9850();																		//發(fā)送頻率控制字
	IntToStr();
	Display_String(5,1,LCD_string);
}
void mod_sin(void)																		//產(chǎn)生調(diào)制信號正弦波
{
	temp_r=jisuan(freq);
	longtoword(temp_r);
	write_ad98501();
	IntToStr();
	Display_String(7,2,LCD_string);
}
void ma_step(void)
{
	step_i++;
	if(step_i==10)
	{
		step_i=0;
	}
	AD7524=step[step_i];
	LCD_step[0]=step_i+'0';
	Display_String(7,3,LCD_step);
	Display_String(8,3,"0");
	Display_String(9,3,"%");
}
//--------------------------------------------------------------------------------------------------
// 函數(shù)名稱: WRITE_AD9850
// 函數(shù)功能: 將控制字寫入AD9850
//--------------------------------------------------------------------------------------------------
void write_ad98501(void)
{
     unsigned char no,temp;
	 delay(0);
     for(no=0;no<5;no++)
     {
     	data_OUT1=con_word[no];      													//送控制字 
     	delay(0);
     }
     temp=data_OUT1;                 													//讀指令產(chǎn)生上升延,要求AD9850改變輸出
}
void write_ad9850(void)
{  
     unsigned char no,temp;
	 delay(0);
     for(no=0;no<5;no++)
     {
     	data_OUT=con_word[no];      													//送控制字 
     	delay(0);
     }
     temp=data_OUT;                 													//讀指令產(chǎn)生上升延,要求AD9850改變輸出
} 
void IntToStr(void) 
{
	char i,flag_top;   
    flag_top=1;
	for(i=0; i<8; i++)         															//轉(zhuǎn)成ASCII碼              	
	{	
		if((freq[7-i]==0)&(flag_top==1))
		{
			LCD_string[i]=' ';
		}
		else
		{
			LCD_string[i]=freq[7-i]+'0';
			flag_top=0;
		}
    }
}
//-----------按鍵讀取------------------------------------------
unsigned char keyin(void)
{
 	unsigned char value;
 	com=0x40;
	value=dat;value=value&0x7f; 														//取鍵盤數(shù)據(jù)低7位
 	return(value);
}
void int_int0() interrupt 0 using 0
{
  	int_flag=1;
	key_value=keyin();
}
//-------------------------延時---------------------------------
void delay(unsigned char i)
{
	while(--i);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久这里只有精品视频网| 日韩一区二区免费电影| 亚洲麻豆国产自偷在线| 欧美高清在线一区| 亚洲人成电影网站色mp4| 亚洲成年人影院| 日韩av一二三| 国产精品麻豆视频| 亚洲国产精品一区二区www在线| 亚洲欧美乱综合| 美腿丝袜亚洲色图| 欧美电影在哪看比较好| 国产成人av一区| 97久久精品人人澡人人爽| 久久这里只精品最新地址| 亚洲婷婷国产精品电影人久久| 亚洲精品高清在线观看| 国产在线视频一区二区三区| 国产精品电影院| 免费日本视频一区| 欧美在线观看视频一区二区三区| 777午夜精品免费视频| 国产精品美女久久久久久久久| 亚洲午夜免费福利视频| 欧美精品aⅴ在线视频| 久久这里只有精品视频网| 亚洲国产精品一区二区www在线 | 丁香激情综合五月| 欧美色爱综合网| 欧美妇女性影城| 1024亚洲合集| 国产成人精品aa毛片| 欧美放荡的少妇| 中文字幕一区二区三区在线播放| 国内精品第一页| 久久蜜桃一区二区| 国产麻豆午夜三级精品| 欧美喷水一区二区| 国产精品色哟哟| 久久成人av少妇免费| 一本一道久久a久久精品| 国产亚洲成年网址在线观看| 国产一区二区免费视频| 久久久美女艺术照精彩视频福利播放| 久久99久久久欧美国产| 久久久精品tv| 国产成人自拍网| 综合欧美亚洲日本| 欧美日韩一卡二卡三卡| 丝袜亚洲另类丝袜在线| 在线不卡中文字幕播放| 激情五月婷婷综合| 亚洲一区在线看| 欧美tk—视频vk| 成人综合婷婷国产精品久久蜜臀 | 五月婷婷久久丁香| 日韩精品一区二区三区中文不卡| 国产一区在线观看视频| 亚洲狠狠丁香婷婷综合久久久| 69堂成人精品免费视频| 91视频在线观看| 韩国视频一区二区| 亚洲18色成人| 久久久久久久久久电影| 在线看日韩精品电影| 天堂va蜜桃一区二区三区| 亚洲国产精品精华液ab| 欧美成人aa大片| 精品视频1区2区| 国产suv精品一区二区883| 五月天激情综合| 亚洲电影一级片| 亚洲欧美区自拍先锋| 中文字幕亚洲一区二区va在线| 国产欧美日韩一区二区三区在线观看| 欧美精品第一页| 3d成人动漫网站| 欧美疯狂做受xxxx富婆| 99re热这里只有精品免费视频| 香港成人在线视频| 五月天激情小说综合| 日韩精品免费视频人成| 日日骚欧美日韩| 美脚の诱脚舐め脚责91| 精品一区二区久久| 久久久91精品国产一区二区三区| 久久综合九色综合欧美就去吻| 日韩一区二区三区电影| 久久久久国色av免费看影院| 91精品国产高清一区二区三区| 国产美女精品在线| 99精品偷自拍| 欧美一级片在线观看| 欧美videos中文字幕| 91久久精品网| 色综合久久久久综合体桃花网| 一本久久综合亚洲鲁鲁五月天| 欧美丝袜第三区| 2021国产精品久久精品| 蜜桃视频一区二区三区| 从欧美一区二区三区| 色婷婷久久一区二区三区麻豆| 欧美一级二级在线观看| 亚洲精品一区二区三区影院| 亚洲免费视频成人| 精品亚洲porn| 在线观看中文字幕不卡| 欧美精品一区二区三区四区| 97精品超碰一区二区三区| 欧美日本视频在线| 亚洲国产精品精华液2区45| 性做久久久久久免费观看| 亚洲精品乱码久久久久久日本蜜臀| 免费成人你懂的| 欧美视频一区二区三区| 国产精品久久久久天堂| 亚洲男人的天堂网| 国产成人精品一区二| 精品久久一二三区| 日本不卡一二三区黄网| 色哟哟一区二区三区| 亚洲桃色在线一区| av不卡在线观看| 国产精品免费久久| 国产乱码精品一区二区三| 日本不卡高清视频| 制服丝袜中文字幕一区| 亚洲一卡二卡三卡四卡| 一本大道av一区二区在线播放| 2021中文字幕一区亚洲| 国产精品一二三四五| 91精品在线观看入口| 午夜婷婷国产麻豆精品| 欧美性猛交一区二区三区精品| 亚洲高清在线视频| 欧美男生操女生| 激情图区综合网| 国产精品久久免费看| 国产成人欧美日韩在线电影| 国产日韩精品一区二区三区在线| 国产精品亚洲人在线观看| 日本一区二区在线不卡| 天天做天天摸天天爽国产一区| 日本精品免费观看高清观看| 亚洲一区二区三区四区五区黄| 欧美一卡二卡在线观看| 粉嫩高潮美女一区二区三区 | www.亚洲免费av| 五月激情丁香一区二区三区| 久久精品亚洲一区二区三区浴池| a美女胸又www黄视频久久| 欧美私人免费视频| 国产老女人精品毛片久久| 亚洲国产cao| 国产精品久久久久久久久久免费看 | 国产欧美久久久精品影院| 在线观看中文字幕不卡| 亚洲男女毛片无遮挡| 日韩欧美不卡在线观看视频| 国产不卡一区视频| 日韩av电影天堂| 午夜精品视频在线观看| 久久九九99视频| 欧美电影免费观看高清完整版在线| 99国产精品99久久久久久| 成人av免费网站| 国产成人精品一区二| 福利一区二区在线| 粉嫩高潮美女一区二区三区 | 欧美精品vⅰdeose4hd| 精品在线亚洲视频| 久久精品国产一区二区| 视频一区二区中文字幕| 日韩影院精彩在线| 久久先锋影音av| 精品88久久久久88久久久| 久久亚洲春色中文字幕久久久| 久久久不卡网国产精品一区| 久久亚洲捆绑美女| 亚洲国产精华液网站w| 久久久亚洲精品石原莉奈| 精品福利视频一区二区三区| 日韩欧美不卡一区| 久久在线免费观看| 国产目拍亚洲精品99久久精品| 国产精品福利一区二区三区| 亚洲美女偷拍久久| 婷婷一区二区三区| 激情偷乱视频一区二区三区| 黄一区二区三区| 91在线观看高清| 91精品国产美女浴室洗澡无遮挡| 欧美成人欧美edvon| 中文字幕一区二区日韩精品绯色| 午夜精品在线看| 成人的网站免费观看| 666欧美在线视频| 亚洲人成伊人成综合网小说| 麻豆精品在线视频| 色综合久久久久|