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

📄 data_process.c.bak

📁 国内某测温系统信号处理处理板的代码
💻 BAK
字号:
#include "config.h"

extern unsigned char dp2rass[5];
extern unsigned char work_mode;
extern unsigned char work_grade;
extern unsigned char Ns;//频率点的个数
extern unsigned int Fh,Fl;
extern unsigned int seed;
extern unsigned char TCNT1_L;
extern unsigned char TCNT1_H;
extern unsigned int D15_0;//为2315控制字

const unsigned int Freq_scale[]={	2020,2026,2032,2037,2043,2049,2054,2060,2065,2071,2077,2082,
																	2088,2093,2099,2104,2110,2115,2121,2126,2132,2137,2143,2148,
																	2153,2159,2164,2169,2175,2180,2185,2191,2196,2201,2207,2212,
																	2217,2222,2228,2233,2238,2243,2248,2253,2259,2264,2269,2274,
																	2279,2284,2289,2294,2299,2304,2309,2314,2319,2324,2329,2334,
																	2339,2344,2349,2354,2359,2364,2369,2374,2379,2383,2388,2393,
																	2398,2403,2408,2412,2417,2422,2427,2432,2436,2441,2446,2451,
																	2455,2460,2465,2469,2474,2479,2483,2488,2493,2497,2502,2507,
																	2511,2516,2520,2525,2530,2534,2539,2543,2548,2552,2557,2562,
																	2566,2571,2575,2580,2584,2589,2593,2598,2602,2606,2611,2615,
																	2620,2624,2629,2633,2637,2642,2646,2651,2655,2659,2664,2668,
																	2672,2677,2681,2685,2690,2694,2698,2703,2707,2711,2715,2720,
																	2724,2728,2732,2737,2741,2745,2749,2753,2758,2762,2766,2770,
																	2774,2779,2783,2787,2791,2795,2799,2804,2808,2812,2816
																}

void delay_us(unsigned char us)
{
	do{
	 asm("nop\n nop\n");
	 us--;
	}while(us>0);
}


void data_process(void)      
{
	unsigned int work_T,work_Ns,work_Ts,T;
	unsigned int time_count;
	
	work_mode=(dp2rass[0]&0x04)>>2;  
	work_grade=(dp2rass[0]&0x18)>>3;
	
	work_Ts=dp2rass[2]>>1;
	Fl=Freq_scale[work_Ts];       //低频
	Fh=Freq_scale[work_Ts+40];    //高频
	
	work_Ns=(dp2rass[0]&0xe0)>>5;
	if(work_Ns==7)
		Ns=Fh-Fl;           //为7的时候采用全部频率点
	else
		Ns=24*(work_Ns+1);
		
	work_T=(dp2rass[1]&0x1e)>>1;
	T=(work_T+1)*Ns;  //循环周期为这么多毫秒
	                  //1024分频情况下,每毫秒7.2计数周期
	time_count=65535-(T*72)/10;
	TCNT1_L=time_count&0xff;
	TCNT1_H=time_count>>8;	
}



unsigned int rand(unsigned int randseed)
{
	unsigned int rand_num;
	rand_num= (randseed * rand_x + rand_y) % 251 + Fl; //求出来的是那个随机的频率
	seed = rand_num;
	D15_0=(rand_num*256)/100;            //把这个频率换算成为控制字
	return D15_0;
}


//线性递增函数采用先放大再缩小的办法产生频率
unsigned int line(unsigned int i)   
{
	seed=(Fh-Fl)*i/Ns+Fl;
	D15_0=(mid*256)/100;
	return D15_0;
}	

⌨️ 快捷键说明

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