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

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

?? signal_show.c

?? 使用51系列單片機實現LCD的驅動顯示
?? C
?? 第 1 頁 / 共 2 頁
字號:
*名稱:showchinese(uchar x,uchar y,int chin)
*描述:在x,y位置處,顯示字符碼為chin
*參數:坐標x,坐標y
*返回:
****************************************************************/
void showchinese(uchar x,uchar y,int chin)
{ 
	int temp1,temp2; 
	uchar hi,lo;
	uchar b,c=0,d;
	d=y;
	temp2=chin;
	outcode(0x4c);
	for(b=0;b<16;b++){
		temp1=0x5218+x/8+d*AP;//5218
		hi=temp1/256;
		lo=temp1%256;
		outcode(0x46);
		outdata(lo);
		outdata(hi);
		outcode(0x42);
		outdata(hzdot[temp2]);
		temp2++;
		outdata(hzdot[temp2]);
		temp2++;
		d=d+1;
	}
}/***************************************************************
*名稱:showchin(void)
*描述:顯示四個漢字,波,形,正,弦
*參數:
*返回:
****************************************************************/
void showchin(void)
{		
	showchinese(10,20,CB2A8);
	showchinese(27,20,CD0CE);
	showchinese(10,140,CC6B5);
	showchinese(27,140,CC6D7);
	showchinese(10,239,C0000);
}
/***************************************************************
*名稱:initall(void)
*描述:初始化液晶屏
*參數:
*返回:
****************************************************************/
void initall(void)
{
	turnoff();
	init();
	initram();
	turnon();
	DrawFrame();
	DrawGrid();
	showchin();
	showchin() ;
}
void showflag(uchar x,uchar y,int chin)
{ 
	int temp1,temp2; 
	uchar hi,lo;
	uchar b,c=0,d;
	d=y;
	temp2=chin;
	outcode(0x4c);
	for(b=0;b<16;b++){
		temp1=0x01f9+x/8+d*AP;//5218
		hi=temp1/256;
		lo=temp1%256;
		outcode(0x46);
		outdata(lo);
		outdata(hi);
		outcode(0x42);
		outdata(hzdot[temp2]);
		temp2++;
		outdata(hzdot[temp2]);
		temp2++;
		d=d+1;
	}
}
/***************************************************************
*名稱:Verline(uchar x ,uchar y)
*描述:在第一層畫垂直線
*參數:線的起始坐標(x,y)
*返回:
****************************************************************/
void Verline(uchar x ,uchar y)
{
	uchar tempx , tempy ;
    uchar i;
    tempx = x ;
    tempy = 200 - y ;
	outcode(0x4f);
	for(i=tempy;i<0xc8;i++)WriteD(x,i);
}
/***************************************************************
*名稱:pinpu(void)
*描述:在第一層畫頻譜
*參數:
*返回:
****************************************************************/
void pinpu(uchar x[],uchar N_temp,int N_start)
{
	uchar temp ,temp2,temp3;
	for(temp=0;temp<N_temp;temp++)
	{
		temp2 = temp*2+N_start ;
		temp3 = (x[temp]) ;//%200
		Verline(temp2,temp3);
	}
}
/***************************************************************
*名稱:uchar adc0804(void)
*描述:AD0804采樣一次
*參數:
*返回:采樣值
****************************************************************/
uchar adc0804(void)
{
	uchar ad_data ;
	Adc_cs = 0 ;
	lcd_a0 = 1 ;
	lcd_wr = 0 ;
	lcd_wr = 1 ;
	while(Adc_busy) ;
	lcd_a0 = 0 ;
	ad_data = P0 ;
	lcd_a0 = 1 ;
	Adc_cs = 1 ;
	return ad_data ;
}
/***************************************************************
*名稱:Adc_work(void)
*描述:AD0804采樣
*參數:
*返回:采樣值數組
****************************************************************/
void Adc_work(void)	
{
	unsigned int k=0 ,temp1,temp2 ,flag=0;
	Ram_cs = 0 ;
//	Ram_en = 0 ;

	while(!Adc_en) ;
	xr[0] = adc0804();
/*do
{
	for(k=0;k<10;k++)//
		{

			while(!Adc_en) ;
			xr[k] = adc0804();		
			while(!Adc_en) ;
		}
		temp1=xr[0];
		for(k=0;k<10;k++)
		{
			temp2=xr[k];
			if(temp2>temp1)temp1=temp2;	    

		}
	if((temp1-xr[0])<3) flag=0;
	else flag=1;
	

}while(!flag);	
*/
	for(k=0;k<Sam_N;k++)//
	{
		while(!Adc_en) ;
		xr[k] = adc0804() ;
		xr_show[k] = xr[k] ;
		while(!Adc_en) ;
	}

}
/**************************************************************
*名稱:Fft(float xr[],float xi[])
*描述:FFT,N=128,M=7
*參數:采樣的實序列和序數部分
*返回:
****************************************************************/
void Fft(void)//float xr1[],float xi1[]
{
	uchar L,B,J,P,k;
	float rPartKB,iPartKB;
 	ChangeOrder(xr,xi);

	for(L=1;L<=N;L++)
	{
 		B=1<<(L-1);
 		for(J=0;J<=B-1;J++)
 		{
 			P=J*(1<<(N-L));
 			for(k=J;k<=Sam_N-1;k+=1<<L)
  			{
  				rPartKB=xr[k+B]*rCf[P]-xi[k+B]*iCf[P];
  				iPartKB=xi[k+B]*rCf[P]+xr[k+B]*iCf[P];
  				xr[k+B]=xr[k]-rPartKB;
  				xi[k+B]=xi[k]-iPartKB;
  				xr[k]=xr[k]+rPartKB;
  				xi[k]=xi[k]+iPartKB;

  			}
 		}
	} 
}
/***************************************************************
*名稱:ChangeOrder(float xr[],float xi[],int N)
*描述:ChangeOrder
*參數:
*返回:
****************************************************************/
void ChangeOrder(float xr[],float xi[])
{
 	uchar I,J,K;
 	float T;
 	double sum_xr = 0 ;
 	Ram_cs = 0 ;
 	J=Sam_N/2;//J=Sam_N/2;
 	for(I=1;I<=Sam_N-2;I++)//for(I=1;I<=Sam_N/2-2;I++)
 	{
  		if(I<J)
  		{
   			T=xr[I];xr[I]=xr[J];xr[J]=T;
   			T=xi[I];xi[I]=xi[J];xi[J]=T;
  		}
 		K=Sam_N/2;
 		while(J>=K)
 		{
  			J=J-K;
  			K=(int)(K/2+0.5);
 		}
 		J=J+K;
	}
	for(I=0;I<Sam_N;I++)
	{
		sum_xr = sum_xr + xr[I] ;
	}
	sum_xr = sum_xr/Sam_N ;
	for(I=0;I<Sam_N;I++)
	{
		xr[I]=xr[I]-sum_xr ;
	}
}
/***************************************************************
*名稱:Fft_out (float xr[] , float xi[])
*描述:計算頻譜分析結果
*參數:fft計算結果的實虛序列
*返回:
****************************************************************/
void Fft_out (void)
{
	uchar i ;
	for(i=0;i<Sam_N/2;i=i+1)
	{ 
		w[i]=sqrt(xr[i]*xr[i]+xi[i]*xi[i]);
	}
}
/***************************************************************
*名稱:showsine (void)
*描述:顯示采樣的結果,采64個點但顯示256點
*參數:xr_temp[]顯示數組,N_temp數組元素個數,
	   start_add圖形開始的x地址,last上次顯示最后一個元素
*返回:
****************************************************************/
void showsine (uchar xr_temp[],uchar N_temp,uchar start_add,uchar last)
{
	uchar i ;
	WriteD(start_add,xr_temp[1]/2);
	vector(start_add-1,last/2,xr_temp[1]/2);
	for(i=2;i<N_temp;i++)
	{
		WriteD(i-1+start_add,xr_temp[i]/2);
		vector(i-2+start_add,xr_temp[i-1]/2,xr_temp[i]/2);
	}
}

void main()
{
	uchar flag=0,temp[32] ,temp_1,temp_2;
	uchar i,j ;

	Ram_cs = 1 ;//轉向對液晶操作
	lcd_a0 = 0 ;
	lcd_wr = 1 ;
	initall() ;
	do{
	initram_1();

	Adc_work() ;
	
	for(i=0;i<32;i++)temp[i]=xr[i];
	temp_1=temp[31];
	
	WriteD(10,temp[0]/2);
	showsine(temp,32,11,temp[0]);
	
	lcd_a0 = 1 ;//轉向對ram操作
	lcd_wr = 1 ;
	Ram_cs = 0 ;
	for(i=32;i<64;i++)
		temp[i-32]=xr[i];
	temp_2=temp[31];
	
	Ram_cs = 1 ;//轉向對液晶操作
	lcd_a0 = 0 ;
	lcd_wr = 1 ;
	showsine(temp,32,42,temp_1);
	
	lcd_a0 = 1 ;//轉向對ram操作
	lcd_wr = 1 ;
	Ram_cs = 0 ;
	for(i=64;i<96;i++)
		temp[i-64]=xr[i];
	temp_1=temp[31];
	
	Ram_cs = 1 ;//轉向對液晶操作
	lcd_a0 = 0 ;
	lcd_wr = 1 ;
	showsine(temp,32,73,temp_2);
	
	lcd_a0 = 1 ;//轉向對ram操作
	lcd_wr = 1 ;
	Ram_cs = 0 ;
	for(i=96;i<128;i++)
		temp[i-96]=xr[i];
	
	Ram_cs = 1 ;//轉向對液晶操作
	lcd_a0 = 0 ;
	lcd_wr = 1 ;
	showsine(temp,32,104,temp_1);
	
	lcd_a0 = 1 ;//轉向對ram操作
	lcd_wr = 1 ;
	Ram_cs = 0 ;
	Fft() ;
	Fft_out() ;
	for(i=0;i<32;i++)temp[i]=w[i]/160;
	Ram_cs = 1 ;
	lcd_a0 = 0 ;
	lcd_wr = 1 ;
	pinpu(temp,32,25) ;
	for(i=0;i<Sam_N;i++)
				xi[i] = 0 ;
	}while(1) ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色偷偷成人一区二区三区91 | 青青草视频一区| 国产精品国产精品国产专区不片| 欧美videossexotv100| 欧美一区二区三区精品| 欧美一区二区三区在线看| 欧美精品日韩综合在线| 日韩天堂在线观看| 欧美精品一区视频| 国产日韩欧美精品一区| 亚洲婷婷综合久久一本伊一区 | 欧美日韩一区二区三区高清| 91精品91久久久中77777| 欧美日韩国产乱码电影| 欧美日韩国产片| 欧美成人三级电影在线| 中文字幕国产精品一区二区| 亚洲激情欧美激情| 丝袜诱惑制服诱惑色一区在线观看 | 国产精品1024| a在线播放不卡| 欧美怡红院视频| 日韩女优毛片在线| 国产精品成人在线观看| 亚洲国产成人tv| 国产999精品久久| 欧洲日韩一区二区三区| 精品久久久久香蕉网| 国产精品久久久久一区| 亚洲成人777| 国产精品1区2区| 欧美日韩在线直播| 国产亚洲欧美在线| 五月激情丁香一区二区三区| 国内精品久久久久影院薰衣草 | 天堂av在线一区| 丁香激情综合国产| 欧美精品久久99久久在免费线 | 欧美成人精精品一区二区频| 国产精品久久久久9999吃药| 日韩精品一卡二卡三卡四卡无卡| 国产精品91一区二区| 欧美性极品少妇| 国产精品家庭影院| 久久精品国产在热久久| 欧美亚洲一区二区在线| 国产欧美日韩三区| 老司机一区二区| 欧美日韩黄色影视| 亚洲裸体在线观看| 国产91在线|亚洲| 精品国产乱码久久久久久免费| 亚洲欧美另类小说视频| 国产成人免费av在线| 日韩一区二区免费电影| 亚洲伊人伊色伊影伊综合网| 成人性生交大合| 久久网这里都是精品| 视频一区二区国产| 欧美日韩午夜影院| 亚洲自拍偷拍av| 欧洲精品视频在线观看| 日韩码欧中文字| 99精品视频中文字幕| 国产午夜三级一区二区三| 免费成人在线视频观看| 欧美日本一区二区| 亚洲精品综合在线| 成人激情小说网站| 欧美韩国日本综合| 国产成人高清在线| 欧美一区二区三区系列电影| 亚洲电影你懂得| 欧美卡1卡2卡| 免费精品99久久国产综合精品| 欧美午夜精品电影| 亚洲成精国产精品女| 色系网站成人免费| 亚洲综合在线观看视频| 欧美亚一区二区| 亚洲成av人片在线| 色就色 综合激情| 亚洲成在线观看| 欧美一区二区免费| 国产乱子伦视频一区二区三区| 国产色爱av资源综合区| 成人深夜视频在线观看| 亚洲欧美另类图片小说| 欧美喷潮久久久xxxxx| 人人狠狠综合久久亚洲| 久久夜色精品一区| kk眼镜猥琐国模调教系列一区二区| 国产精品美女久久久久高潮| 91视频在线观看| 亚洲v精品v日韩v欧美v专区| 精品国产乱码久久久久久夜甘婷婷| 国产精品自拍一区| 亚洲欧美二区三区| 777xxx欧美| 成人性生交大片免费看中文| 亚洲一区二区欧美| 精品久久久三级丝袜| 91免费观看国产| 日本美女一区二区| 中文字幕一区二区三区四区| 欧美日韩精品电影| 国产成人精品免费视频网站| 亚洲欧美日韩系列| 精品日韩一区二区三区免费视频| 丰满亚洲少妇av| 日本特黄久久久高潮| 国产女人aaa级久久久级 | 欧美一区二区三区四区高清| 国产精品亚洲а∨天堂免在线| 亚洲三级电影网站| 欧美精品一区二区三区蜜臀 | 美女一区二区视频| 亚洲欧美日本韩国| 久久一区二区三区四区| 欧美日韩亚洲不卡| 91在线国内视频| 国产精品一区二区在线看| 亚洲电影一区二区三区| 国产精品的网站| 久久综合999| 日韩一区二区影院| 欧美性色黄大片| 99re热这里只有精品视频| 精品一区二区三区免费播放| 亚洲最大成人综合| 成人欧美一区二区三区白人| 精品国产自在久精品国产| 日韩欧美一级在线播放| 欧美三级日韩在线| 色综合久久88色综合天天免费| 国产伦精品一区二区三区视频青涩| 午夜天堂影视香蕉久久| 一区二区三区欧美视频| 亚洲欧洲色图综合| 欧美性色综合网| 亚洲欧洲av在线| 国产三级欧美三级| 午夜av区久久| 国产精品久久久久7777按摩| 欧美成人激情免费网| 欧美高清性hdvideosex| 欧美三级蜜桃2在线观看| 色婷婷综合久色| 一本大道久久a久久精品综合| 成人国产精品免费观看动漫| 国产成人精品在线看| 国产精品影视网| 国产一区二区成人久久免费影院| 久久99这里只有精品| 精品制服美女久久| 美腿丝袜亚洲三区| 国产伦精一区二区三区| 成人伦理片在线| 91视频免费播放| 在线亚洲人成电影网站色www| 在线欧美一区二区| 欧美日本一道本在线视频| 欧美一区二区啪啪| 精品成人免费观看| 国产精品久久午夜| 亚洲精品乱码久久久久久久久 | 免费人成在线不卡| 99这里只有精品| 色婷婷久久久久swag精品| 欧美色国产精品| 精品欧美一区二区在线观看| 国产视频亚洲色图| 亚洲综合成人在线| 九九精品一区二区| 91老师片黄在线观看| 欧美日韩精品一区二区三区| 日韩午夜小视频| 日韩伦理电影网| 免费成人在线影院| 99精品国产99久久久久久白柏| 欧美色电影在线| 久久这里只精品最新地址| ...av二区三区久久精品| 亚洲第一综合色| 国产白丝网站精品污在线入口| 色综合天天综合网天天看片| 欧美一区二区性放荡片| 中文字幕一区二区三中文字幕| 亚洲h动漫在线| 成人性色生活片| 欧美一区二区三区白人| 综合中文字幕亚洲| 激情综合网av| 欧美日韩一区二区在线观看| 亚洲理论在线观看| 韩国精品主播一区二区在线观看 | 亚洲精品一二三区| 国产精品一区二区无线| 欧美女孩性生活视频| 国产精品电影一区二区|