搞DIY,有一臺(tái)信號(hào)源是很有必要的。奈何買商品化的儀器,價(jià)格不菲,所以很有必要自己做一個(gè)性價(jià)比很高的信號(hào)發(fā)生器。
能發(fā)出-2.5V~+2.5V,可調(diào)偏置輸出0.6-5V。1HZ-10MHZ的信號(hào),但是3M以后波形變形了,實(shí)際范圍只有1hz-3Mhz。板子直接拿6塊一模一樣的拼成一個(gè)正方體就當(dāng)殼子了。
過程省略,下面是原理圖和源碼,希望大家喜歡~
原理圖
主要源碼段
#include "anjian.h"#include "intrins.h" bit zisuo;u8 chufa;u8 zijia; u8 anjian19(void) //按鍵0-9{ unsigned char a=0; P3 &= 0xe3; //鍵盤初始:行值=0,列值=1 P3 |= 0xe0; //P3.234=0 p3.567=1 _nop_(); //緩沖,待IO端口電位穩(wěn)定 a = P3&0xe0; //得到行標(biāo)志 得到P3.567電位 P3 &= 0x1f; //翻轉(zhuǎn)鍵盤接口輸出 P3 |= 0x1c; //p3.234=1 p3.567=0 _nop_(); a |= (P3&0x1c); //列標(biāo)志 + 行標(biāo)志 return a>>2; //返回鍵值 返回 P3.234567} u8 anjian1015(void) //按鍵10-15{ unsigned char a=0; P1 &= 0xe7; //鍵盤初始:行值=0,列值=1 P1 |= 0xe0; //P1.34=0 p1.567=1 _nop_(); //緩沖,待IO端口電位穩(wěn)定 a = P1&0xe0; //得到行標(biāo)志 得到P1.567電位 P1 &= 0x1f; //翻轉(zhuǎn)鍵盤接口輸出 P1 |= 0x18; //p1.34=1 p1.567=0 _nop_(); a |= (P1&0x18); //列標(biāo)志 + 行標(biāo)志 return a>>3; //返回鍵值 返回 P1.34567} u8 anjian1617(void){ return P2&3;} void anjian(void){ u8 a=anjian19(); u8 b=anjian1015(); u8 c=anjian1617(); if(a==0x3f&&b==0x1f&&c==3) { zijia=0; zisuo=0; } else if(zisuo==0) { zijia++; if(zijia>duananjishi) { zijia=0; zisuo=1; switch(a) { case 0x36:chufa=1;break; case 0x35:chufa=2;break; case 0x33:chufa=3;break; case 0x2e:chufa=4;break; case 0x2d:chufa=5;break; case 0x2b:chufa=6;break; case 0x1e:chufa=7;break; case 0x1d:chufa=8;break; case 0x1b:chufa=9;break; default:break; } switch(c) { case 1:chufa=17;break; case 2:chufa=10;break; default:break; } switch(b).....................篇幅限制,僅展示部分代碼..........
效果展示
1)方波的顯示效果:
2)三角波的顯示效果:
3)正弦波sin的顯示效果:
編輯:jq
-
pcb
+關(guān)注
關(guān)注
4368文章
23492瀏覽量
409782 -
信號(hào)發(fā)生器
+關(guān)注
關(guān)注
28文章
1574瀏覽量
110655
原文標(biāo)題:牛人自己DIY信號(hào)發(fā)生器:1Hz~10MHz,高性價(jià)比
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄

看看我們維修工程師新修了哪些信號(hào)發(fā)生器#信號(hào)發(fā)生器#修理儀器

33600A信號(hào)發(fā)生器的自白,維修之路歷經(jīng)坎坷。電測(cè)儀器維修,不僅要找專業(yè)的,還要找對(duì)專業(yè)的!#信號(hào)發(fā)生器

你知道嗎?信號(hào)源≠信號(hào)發(fā)生器!#信號(hào)源 #信號(hào)發(fā)生器 #任意波形發(fā)生器 #電子工程師

開機(jī)報(bào)錯(cuò)失鎖?怎么回事?今天就帶大家沉浸式體驗(yàn)N5171B信號(hào)發(fā)生器維修過程 #信號(hào)發(fā)生器維修 #電工維修

DG535脈沖信號(hào)發(fā)生器出現(xiàn)偏置故障,福爾摩斯&外科醫(yī)生工程師就要上場(chǎng)了!#維修 #信號(hào)發(fā)生器
信號(hào)發(fā)生器PM調(diào)制信號(hào)設(shè)置

信號(hào)發(fā)生器的組成元件

DDS信號(hào)發(fā)生器支持單通道50個(gè)正弦載波!#信號(hào)發(fā)生器 #AWG #DDS

DDS信號(hào)發(fā)生器在量子研究中的應(yīng)用——控制聲光偏轉(zhuǎn)器/調(diào)制器 #DDS #信號(hào)發(fā)生器 #量子 #聲光偏轉(zhuǎn)器
泰克信號(hào)發(fā)生器的半導(dǎo)體測(cè)試應(yīng)用

文氏橋信號(hào)發(fā)生器的工作原理和結(jié)構(gòu)


新手入門教程|信號(hào)發(fā)生器也能輸出高壓大電流信號(hào)!#信號(hào)發(fā)生器 #信號(hào)源 #高壓信號(hào) #電子工程師 #電子基礎(chǔ)

評(píng)論