• 大小: 1.59MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-15
  • 语言: 其他
  • 标签:

资源简介

程控滤波器的驱动程序,高通低通带通都可以实现,并且通带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个文件信息

评论

共有 条评论

相关资源