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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ss_sweep.c

?? DDS-320-func: 在采用 320x240 屏的設計實驗箱上運行
?? C
?? 第 1 頁 / 共 2 頁
字號:
#define Start	 	0
#define Screen		1
#define Setup		2
#define FreqScan	3
#define TiaoFu      4

#define enter_num	0
#define wait_key	1
#define exit_setup	2
#define scan_start	3
#define scan_select 4

unsigned long int Freq,FreqS,step,minF,maxF;
unsigned long int Freq_temp;
unsigned char MainSM=0;
unsigned char SetupSM=0;
//unsigned char SetFSM=4;//掃頻狀態的子狀態
unsigned long int SetFSM=0;
unsigned long int aa=0;//aa是掃頻狀態中表示子狀態的一個參數,記錄按下setup的次數
unsigned long int bb=1;//bb is freq scan mod select

void main(void)
{
	unsigned char mod,value_index;
        init_port();
        init_interrupt();
        _nop_();
        _nop_();
        _nop_();
        display_init();
        
        huanying1();
        huanying1();
        //huanying2();
        
        cls();
        while(1){
           switch(MainSM)
        {
        case Start:	MainSM=Screen;
        		SetPhase(0);
        		SetCMD(mod&0x01);
        		refresh_led();
		break;
        case Screen:	
		        Set_Display_Add(128);
                printf("Please press enter key to set Frequency");
		        if(key_pressed==ON)
        		{
        		switch(key_no)
        		{
        			case key_enter: MainSM=Setup;
        					break;
        			case key_clr:	MainSM=FreqScan;
        					FreqS=Freq;
        					break;
        			case key_mod: SetCMD((++mod)&0x01);
        				      display_mod((mod)&0x01);
        				      refresh_led();
        					break;
					case key_tiao: MainSM=TiaoFu;
					        break;
        			default:  break;      	        		
        		}
        	       	key_pressed=OFF;
        		}
        	break;
        case FreqScan:	//掃頻輸出狀態
                Set_Display_Add(384);
        		printf("Scan Frequence");
        	    switch(SetFSM)//進入掃頻狀態的設置
        			{
					   case  enter_num://掃頻初始狀態,并LCD顯示不同的內容
                                    if(aa==0){//設置掃頻頻率的最小值
									   cls();
                                       Set_Display_Add(512);
        		                       printf("min:");         
                                    }
                                    if(aa==1){//設置掃頻頻率的最大值
                                       Set_Display_Add(640);
        		                       printf("max:");         
                                    }
                                    if(aa==2){//設置掃頻頻率的步長或者對數增長的系數
                                       Set_Display_Add(768);
									   if(bb==0){
        		                       printf("step:");}
         							   if(bb==1){
									   printf("xishu:");}
                                    }
        							value_index=0;
        							SetFSM=wait_key;
        							break;
        				case  wait_key:		//處理鍵盤輸入
                                    if(key_pressed==ON)
        							{  
        							switch(key_no)
        								{
        								case key0:
        								case key1: 
        								case key2: 
        								case key3: 
        								case key4: 
        								case key5:
        								case key6:
        								case key7:
        								case key8:
        								case key9:
        									if(value_index<5)
        									{
        									value[value_index]=key_no;
        									value_index++;
        									}	
        									break;
        								case key_enter://每按一下setup,aa加1,以進行不同的處理
                                             aa=(aa+1)%4;         
                                             SetFSM=exit_setup;
        									break;
										case key_xuan1://選擇模式2,對數模式
										     bb=1;
                                             Set_Display_Add(480);
											 printf("mod 2");
											 delayMs(100);
											 SetFSM=enter_num;
											 break;
										case key_xuan2://選擇模式1,線性模式
										     bb=0;
											 Set_Display_Add(480);
											 printf("mod 1");
											 delayMs(100);
											 SetFSM=enter_num;
											 break;
        							
        								default:  break;      	        		
        								}
                                    refresh_led();
        	       					key_pressed=OFF;
									}      							
        							break;
        				case  exit_setup:	Freq_temp=value[0];
        							Freq=Freq_temp*10000;
        							Freq_temp=value[1];
        							Freq=Freq+Freq_temp*1000;
        							Freq_temp=value[2];
        							Freq=Freq+Freq_temp*100;
        							Freq_temp=value[3];
        							Freq=Freq+Freq_temp*10;
        							Freq=Freq+value[4];
                                    if(aa==1) {//設置并顯示最小頻率
                                               minF=Freq;
                                               Set_Display_Add(576);
        							           putchar(value[0]+0x30);
        						    	       putchar(value[1]+0x30);
        							           putchar(value[2]+0x30);
        							           putchar(value[3]+0x30);
        							           putchar(value[4]+0x30);
        							           refresh_led();
                                               SetFSM=enter_num;
                                    }
                                    if(aa==2) {//設置并顯示最大頻率
                                               maxF=Freq;
                                               Set_Display_Add(704);
        							           putchar(value[0]+0x30);
        						    	       putchar(value[1]+0x30);
        							           putchar(value[2]+0x30);
        							           putchar(value[3]+0x30);
        							           putchar(value[4]+0x30);
        							           refresh_led();
                                               SetFSM=enter_num;
                                    }
                                    if(aa==3) {//設置并顯示步長或者系數
                                              step=Freq;
                                              Set_Display_Add(832);
        							           putchar(value[0]+0x30);
        						    	       putchar(value[1]+0x30);
        							           putchar(value[2]+0x30);
        							           putchar(value[3]+0x30);
        							           putchar(value[4]+0x30);
        							           refresh_led();
                                              SetFSM=scan_start;
                                    }
        							break;
                       case scan_start: 
                                  delayMs(10);//延時函數,每隔100ms頻率改變一次
                                  if(FreqS>maxF) FreqS=minF;//設置掃頻的最小值	
        		                  SetPhase(FreqS&0x7fff);	//設置頻率,以模32k循環
								  if(bb==0){
        		                  FreqS+=step;
								  Set_Display_Add(480);
								  printf("mod 1");
								  }		//頻率步進step,linear freq change
								  if(bb==1){
								  FreqS=(FreqS+1)*step/100;
								  Set_Display_Add(480);
								  printf("mod 2");
								  }//頻率對數變化
        	 	                  if(key_pressed==ON){
        		                      switch(key_no){
        			                    case key_enter: MainSM=Setup;//進入掃頻設置狀態
        			                                    cls();
        					            break;
        			                    case key_mod: SetCMD((++mod)&0x03);//模波形式設置,在本實驗中實際上沒有用處
        				                              display_mod((mod)&0x03);
        				                              refresh_led();
        					            break;
										
        			                    default:  SetFSM=scan_start;      	        		
        		                      }
        	       	                  key_pressed=OFF;
        		                  }
              	                  break;
                     }
            break;
        ////////////////////////////////////////////////////////////////////////
        case Setup:	 
		       // cls();
		        Set_Display_Add(428);
        		printf("SETUP");
				SetFSM=0;
				aa=0;
        			switch(SetupSM)
        			{
        				case  enter_num:	value[0]=0;
        							value[1]=0;
        							value[2]=0;
        							value[3]=0;
        							value[4]=0;
        							Set_Display_Add(560);
        							putchar(value[0]+0x30);
        							putchar(value[1]+0x30);
        							putchar(value[2]+0x30);
        							putchar(value[3]+0x30);
        							putchar(value[4]+0x30);
        							value_index=0;
        							SetupSM=wait_key;
        							break;
        				case  wait_key:		if(key_pressed==ON)
        							{
        							switch(key_no)
        								{
        								case key0:
        								case key1: 
        								case key2: 
        								case key3: 
        								case key4: 
        								case key5:
        								case key6:
        								case key7:
        								case key8:
        								case key9:
        									if(value_index<5)
        									{
        									value[value_index]=key_no;
        									value_index++;
        									}
        									
        									break;
        								case key_enter:SetupSM=exit_setup;
        									break;
        								case key_mod: SetCMD((++mod)&0x03);
        									      display_mod((mod)&0x03);
        									      refresh_led();
        									break;
        								default:  break;      	        		
        								}
        							Set_Display_Add(560);
        							putchar(value[0]+0x30);
        							putchar(value[1]+0x30);
        							putchar(value[2]+0x30);
        							putchar(value[3]+0x30);
        							putchar(value[4]+0x30);
        							refresh_led();
        	       						key_pressed=OFF;
        							}
        							       							
        							break;
        				case  exit_setup:	Freq_temp=value[0];
        							Freq=Freq_temp*10000;
        							Freq_temp=value[1];
        							Freq=Freq+Freq_temp*1000;
        							Freq_temp=value[2];
        							Freq=Freq+Freq_temp*100;
        							Freq_temp=value[3];
        							Freq=Freq+Freq_temp*10;
        							Freq=Freq+value[4];
        							SetPhase(Freq);
        							Set_Display_Add(560);
        							putchar(value[0]+0x30);
        							putchar(value[1]+0x30);
        							putchar(value[2]+0x30);
        							putchar(value[3]+0x30);
        							putchar(value[4]+0x30);
        							refresh_led();
        							Set_Display_Add(428);
        							printf("     ");
        							refresh_led();
        							SetupSM=enter_num;
        							MainSM=Screen;
        							break;
        			}
              	break;
////////////////////////////////////////////////////////////
       case TiaoFu:	 //調幅狀態
				SetCMD(2);
        	    display_mod(2);
				aa=0;
				SetFSM=0;
        			switch(SetupSM)
        			{
        				case  enter_num:	value[0]=0;//調制波頻率初始值為前一個狀態所設置的值
        							value[1]=0;
        							value[2]=0;
        							value[3]=0;
        							value[4]=0;
        							Set_Display_Add(560);
        							putchar(value[0]+0x30);
        							putchar(value[1]+0x30);
        							putchar(value[2]+0x30);
        							putchar(value[3]+0x30);
        							putchar(value[4]+0x30);
        							value_index=0;
        							SetupSM=wait_key;
        							break;
        				case  wait_key:		if(key_pressed==ON)//提取按鍵值,進行狀態的處理
        							{
        							switch(key_no)
        								{
        								case key0:
        								case key1: 
        								case key2: 
        								case key3: 
        								case key4: 
        								case key5:
        								case key6:
        								case key7:
        								case key8:
        								case key9:
        									if(value_index<5)
        									{
        									value[value_index]=key_no;
        									value_index++;
        									}
        									
        									break;
        								case key_enter:SetupSM=exit_setup;//按下setup,進行載波調制波頻率的設置
        									break;
										case key_tiao: //若再按下調幅鍵,則進入DDS的最初狀態,即screen狀態,可以進行正常頻率的設置
                                               SetupSM=enter_num;
        							           MainSM=Screen;
        							           SetCMD(0);
                                               display_mod(0);
											 break;
        								default:  break;      	        		
        								}
        							Set_Display_Add(560);
        							putchar(value[0]+0x30);
        							putchar(value[1]+0x30);
        							putchar(value[2]+0x30);
        							putchar(value[3]+0x30);
        							putchar(value[4]+0x30);
        							refresh_led();
        	       						key_pressed=OFF;
        							}
        							       							
        							break;
        				case  exit_setup:	Freq_temp=value[0];
        							Freq=Freq_temp*10000;
        							Freq_temp=value[1];
        							Freq=Freq+Freq_temp*1000;
        							Freq_temp=value[2];
        							Freq=Freq+Freq_temp*100;
        							Freq_temp=value[3];
        							Freq=Freq+Freq_temp*10;
        							Freq=Freq+value[4];
        							SetPhase(Freq);//設置調制波頻率
        							Set_Display_Add(560);
        							putchar(value[0]+0x30);
        							putchar(value[1]+0x30);
        							putchar(value[2]+0x30);
        							putchar(value[3]+0x30);
        							putchar(value[4]+0x30);
        							refresh_led();
        							Set_Display_Add(428);
        							printf("     ");
        							refresh_led();
        							SetupSM=enter_num;
        							MainSM=Screen;

        							break;
        			}
              	break;
////////////////////////////////////////////////////////////
        default:
        	break;
        }
        
        
        
        }          //等待中斷
}

void interrupt_handle() interrupt 0	
{ 						
        //uchar disdata;
        DISABLE;                //CPU關中斷
        wait();			//鍵盤消抖延時
	if (Int_wire==0)
	{
	key_pressed=ON;
	P2=0xFF;
        key_no=P2&0x0F;        //讀取P2口的低四位顯示數據編碼	
        }          
        ENABLE;                   //CPU開中斷
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产一区二区三区| 国产麻豆午夜三级精品| 国产一二精品视频| 欧美视频自拍偷拍| 中国av一区二区三区| 亚洲成av人**亚洲成av**| 国产成人aaaa| 日韩欧美www| 亚洲成人在线观看视频| 丁香婷婷综合五月| 日韩欧美专区在线| 亚洲动漫第一页| jizz一区二区| 国产日韩欧美a| 麻豆91精品视频| 欧美精品xxxxbbbb| 亚洲综合免费观看高清完整版在线| 国产麻豆成人精品| 精品国精品国产| 日韩中文字幕亚洲一区二区va在线| 色综合激情五月| 亚洲欧洲精品天堂一级| 成人一区二区三区视频| 久久午夜羞羞影院免费观看| 免费成人在线影院| 日韩三级视频在线看| 免费在线看成人av| 欧美一区二区视频在线观看 | 日韩国产欧美三级| 欧美三级韩国三级日本三斤| 亚洲免费观看高清完整版在线| 高清不卡一区二区| 国产精品视频一二三区| 福利一区二区在线观看| 国产精品免费视频一区| proumb性欧美在线观看| 亚洲男同1069视频| 欧美日韩一区二区三区视频| 亚洲成人av一区二区| 91精品久久久久久久91蜜桃| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩一区二区三区电影在线观看| 麻豆精品一二三| 久久久久久久久久电影| 高清beeg欧美| 亚洲人成人一区二区在线观看| 一本到高清视频免费精品| 亚洲国产综合91精品麻豆| 欧美精品1区2区| 国精产品一区一区三区mba视频| 久久久777精品电影网影网| 成人h精品动漫一区二区三区| 亚洲欧美一区二区三区极速播放| 欧美日韩一区二区三区视频| 蜜桃av噜噜一区二区三区小说| 久久影院视频免费| 97久久超碰国产精品| 婷婷国产v国产偷v亚洲高清| 久久综合av免费| 色吊一区二区三区| 精品亚洲免费视频| 亚洲日本在线视频观看| 欧美成人午夜电影| 一本到三区不卡视频| 久久机这里只有精品| 亚洲视频在线观看一区| 日韩视频在线一区二区| 白白色 亚洲乱淫| 日本欧美一区二区三区| 国产欧美日本一区二区三区| 欧美性生活一区| 国产精品综合二区| 亚洲一区免费观看| 国产色产综合色产在线视频| 精品视频在线免费观看| 国产精品一区二区在线播放| 亚洲成人先锋电影| **欧美大码日韩| 精品福利在线导航| 欧美日韩第一区日日骚| av在线不卡免费看| 国产一区二区三区不卡在线观看 | 精品日本一线二线三线不卡| 91视视频在线观看入口直接观看www | 蜜臀久久久久久久| 中文字幕在线一区二区三区| 日韩欧美国产综合| 欧美日韩激情一区| 色综合久久久久网| 国产成人免费高清| 久久97超碰色| 日韩中文字幕一区二区三区| 亚洲精品成人在线| 中文字幕欧美激情一区| 欧美大度的电影原声| 欧美日韩国产乱码电影| 在线一区二区三区四区五区| 大胆亚洲人体视频| 国产一区久久久| 久久国产视频网| 奇米色777欧美一区二区| 亚洲国产另类av| 一区二区三区在线播放| 日韩一区中文字幕| 中文字幕视频一区二区三区久| 精品成人一区二区| wwwwxxxxx欧美| 欧美tk—视频vk| 欧美大片日本大片免费观看| 欧美一二区视频| 精品伦理精品一区| 国产午夜精品久久久久久久| 久久亚洲欧美国产精品乐播| 精品国精品国产尤物美女| 欧美精品一区二区在线播放| 精品国产电影一区二区| 精品黑人一区二区三区久久| 欧美精品一区二区三区蜜桃视频| 欧美成人一区二区三区片免费| 欧美videos中文字幕| 久久亚洲综合色| 欧美韩日一区二区三区| 中文字幕一区不卡| 亚洲一区精品在线| 免费的国产精品| 国产大陆亚洲精品国产| 播五月开心婷婷综合| 日本道色综合久久| 欧美精品日韩综合在线| 欧美xxxxxxxxx| 国产目拍亚洲精品99久久精品| 中文字幕中文字幕中文字幕亚洲无线 | 91蝌蚪porny| 欧美日韩在线一区二区| 欧美电影免费观看高清完整版在线观看| 欧美电视剧免费观看| 欧美激情一区二区在线| 一区二区三区日韩欧美| 麻豆91精品视频| heyzo一本久久综合| 欧美高清激情brazzers| 久久精品一区二区三区av| 亚洲三级在线免费| 99国内精品久久| 欧美这里有精品| 精品福利二区三区| 一区二区欧美在线观看| 精东粉嫩av免费一区二区三区| 丰满白嫩尤物一区二区| 欧美色图天堂网| 国产日韩成人精品| 五月综合激情婷婷六月色窝| 国产成人av电影在线观看| 欧美色综合网站| 欧美国产日韩在线观看| 五月综合激情婷婷六月色窝| 成人av影视在线观看| 欧美一区二区三区性视频| 中文字幕一区二区三区在线不卡 | 国产精品国产a级| 午夜精品久久久久久不卡8050| 国产毛片精品国产一区二区三区| 91国在线观看| 欧美国产精品v| 日韩av电影免费观看高清完整版 | 午夜精品视频一区| 国产xxx精品视频大全| 欧美丰满嫩嫩电影| 中文字幕一区二区三区在线播放| 麻豆视频一区二区| 欧美网站一区二区| 亚洲人吸女人奶水| 成人午夜大片免费观看| 精品91自产拍在线观看一区| 午夜精品一区二区三区电影天堂| 91蜜桃网址入口| 国产精品天干天干在线综合| 男女性色大片免费观看一区二区| 欧美在线看片a免费观看| 国产精品白丝在线| 成人午夜短视频| 国产精品丝袜一区| 国产精品一区免费视频| 精品sm捆绑视频| 毛片不卡一区二区| 9191国产精品| 午夜久久久久久久久久一区二区| 色拍拍在线精品视频8848| 国产精品蜜臀在线观看| 国产精品一区二区视频| 精品国产乱码久久久久久1区2区| 日韩av一二三| 91精品国产91热久久久做人人| 亚洲第一综合色| 欧美欧美欧美欧美| 视频一区二区中文字幕| 日韩一区二区三区免费看| 久久精品国产网站| 精品少妇一区二区三区视频免付费| 免费精品视频在线|