产品

如何自己制作一个具有成本效益的信号发生器?

时间:2024-04-19

对于DIY,必须有一个信号源。

但是,购买商用仪器非常昂贵,因此有必要构建具有高性价比的信号发生器。

可发出-2.5V〜+ 2.5V,可调偏置输出0.6-5V。

信号为1HZ-10MHZ,但3M后波形发生变形,实际范围仅为1hz-3Mhz。

通过将6个完全相同的零件合在一起形成一个立方体,可以将木板直接用作外壳。

省略该过程,以下是示意图和源代码,希望您喜欢它〜示意图的主要源代码部分#include“ anjian.h” #include“ intrins.h”; bitzisuo; u8chufa; u8zijia; u8anjian19(void)//按钮0-9 {unsignedchara = 0; P3& = 0xe3; //键盘首字母:行值= 0,列值= 1P3 | = 0xe0; // P3.234 = 0p3.567 = 1_nop _(); //缓冲,等待IO端口电势稳定= P3& 0xe0; //获取行标记以获取P3.567电势P3&= 0x1f; //翻转键盘接口输出P3 | = 0x1c; // p3.234 = 1p3.567 = 0_nop _(); a | =(P3& 0x1c); //列标志+行标志returna 2; //返回键值返回P3.234567} u8anjian1015(void)//键10-15 {unsignedchara = 0; P1& = 0xe7; //键盘初始值:行值= 0,列值= 1P1 | = 0xe0 ; // P1.34 = 0p1.567 = 1_nop _(); //缓冲,等待IO端口电势稳定a = P1& 0xe0; //获取行标志以获取P1.567电势P1& = 0x1f ; / /翻转键盘接口输出P1 | = 0x18; // p1.34 = 1p1.567 = 0_nop _(); a | =(P1& 0x18); //列标志+行标志returna》》 3; //返回键值返回到P1。

34567} u8anjian1617(void){returnP2& 3;} voidanjian(void){u8a = anjian19(); u8b = anjian1015(); u8c = anjian1617(); if(a == 0x3f& & b == 0x1f& c == 3){zijia = 0; zisuo = 0;} elseif(zisuo == 0){zijia ++; if(zijia} duananjishi){zijia = 0; zisuo = 1;开关(a){case0x36:chufa = 1; break; case0x35:chufa = 2; break; case0x33:chufa = 3; break; case0x2e:chufa = 4; break; case0x2d:chufa = 5; break; case0x2b:chufa = 6;休息; case0x1e:chufa = 7;休息; case0x1d:chufa = 8;休息; case0x1b:chufa = 9; break; default:break;} switch(c){case1:chufa = 17; break; case2:chufa = 10; break; default:break;} switch(b)原始标题:纽伦自己的DIY信号发生器: 1Hz〜10MHz,高性价比文章来源:[微信公众号:嵌入式ARM]欢迎大家关注!请指出转载文章的来源。