资源简介
程控滤波器的驱动程序,高通低通带通都可以实现,并且通带DB等参数可调
代码片段和文件信息
/***************************程控滤波函数***********************************************/
/* 使用程控滤波芯片Max262
用IO口方式
MCU --- MAX262
P0.3~P0.0--- A3~A0
P0.5~P0.4--- D1~D0
P1.0 --- WR
*/
#include
#include
#include
#define nop _nop_()
#define uchar unsigned char
#define uint unsigned int
#define fclk 2 //2Mhz 即2000khz,和后面0.637恰好抵消小数部分
sbit WrMax262=P1^0;
void Filter(uchar wayfloat ffloat quchar whichone);
void TransFilter(uchar ContrData);
uchar Fn(float f);
uchar Qn(float q);
/*---------控制方式way,中心频率f,品质因数q,滤波器选择whichone 0表示A,1表示B--------*/
void Filter(uchar wayfloat ffloat quchar whichone)
{
uchar i;
uchar fn0;
uchar qn0;
uchar fn[3];
uchar qn[4];
fn0=Fn(f);
fn[0]=fn0&0x03;
fn[1]=(fn0&0x0c)>>2;
fn[2]=(fn0&0x30)>>4;
qn0=Qn(q);
qn[0]=qn0&0x03;
qn[1]=(qn0&0x0c)>>2;
qn[2]=(qn0&0x30)>>4;
qn[3]=(qn0&0x40)>>6;
way=way&0x03;
whichone=whichone&0x01;
TransFilter((way<<4)+(whichone<<3));
for(i=0;i<3;i++)
{
TransFilter((fn[i]<<4)+i+1+(whichone<<3));
}
for(i=0;i<4;i++)
{
TransFilter((qn[i]<<4)+i+4+(whichone<<3));
}
}
uchar Fn(float f) //频率关键字
{
uchar temp;
temp=fclk*637/f-64; //原本是*2/pi;即*0.637 fclk用M单位,f单位khz
return temp;
}
uchar Qn(float q) //品质因数关键字
{
uchar temp;
temp=128-64/q;
return temp;
}
void TransFilter(uchar ContrData) //送关键字函数
{
WrMax262=0;
P0=ContrData;
nop;
nop;
WrMax262=1;
}
void main()
{
Filter(111.9320);
while(1);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4455 2007-09-06 11:44 MAX262程序\max262\max262.c
文件 1320 2007-09-06 05:06 MAX262程序\mm\max262.c
文件 611 2007-08-24 19:53 MAX262程序\max262-1\新建文件夹\max262.h
文件 2199 2007-08-24 19:53 MAX262程序\max262-1\新建文件夹\测试max262.c
文件 5573 2009-08-06 13:37 MAX262程序\测试\MAX262.plg
文件 1320 2009-08-06 13:36 MAX262程序\测试\MAX262.c
文件 44 2009-08-06 13:29 MAX262程序\测试\MAX262.lnp
文件 7083 2009-08-06 13:29 MAX262程序\测试\MAX262.M51
文件 611 2007-08-24 19:53 MAX262程序\测试\max262.h
文件 2949 2009-08-06 13:29 MAX262程序\测试\MAX262.hex
文件 3757 2009-08-06 13:36 MAX262程序\测试\MAX262.LST
....... 0 2009-08-06 12:54 MAX262程序\测试\MAX262_Uv2.Bak
文件 2131 2009-08-06 13:37 MAX262程序\测试\MAX262.Uv2
文件 1344 2009-08-06 13:37 MAX262程序\测试\MAX262.Opt
文件 7086 2007-10-31 13:17 MAX262程序\Filter\Filter.M51
文件 1630 2007-11-01 22:21 MAX262程序\Filter\Filter.mpj
文件 2391 2007-10-31 13:17 MAX262程序\Filter\Filter.OBJ
文件 2413 2007-10-31 13:17 MAX262程序\Filter\Filter
文件 1892 2009-08-06 13:19 MAX262程序\Filter\filter.c
文件 167 2007-11-01 22:21 MAX262程序\Filter\Filter.cfg
文件 2513 2007-10-31 13:17 MAX262程序\Filter\Filter.hex
文件 41 2007-10-31 13:17 MAX262程序\Filter\Filter.lnp
文件 257246 2008-12-31 18:23 MAX262程序\CH451\CH451DS1.PDF
文件 58937 2008-12-31 18:27 MAX262程序\CH451\CH451驱动.pdf
文件 88875 2008-12-31 18:36 MAX262程序\CH451\CH451驱动数码管程序.mht
文件 330279 2009-01-03 00:48 MAX262程序\CH451\CH452DS1.PDF
文件 257246 2008-12-10 00:41 MAX262程序\CH451\CH451(按键显示芯片).pdf
文件 238293 2009-08-06 13:02 MAX262程序\CH451\CH451DS.pdf
文件 4923 2009-08-06 13:07 MAX262程序\CH451\CH451的LED驱动及88键盘驱动程序.txt
文件 7135 2009-08-06 13:05 MAX262程序\CH451\单片机C51的触发开关和CH451按键中断程序问题.txt
............此处省略17个文件信息
评论
共有 条评论