❶ 用VC編寫虛擬示波器,求參考資料
數據採集,是虛擬的數據,還是要和硬體通信(VC串口通信)
數據分析,也就是演算法咯,看《數字信號處理》(DSP)
數據輸出,雙緩沖技術,更復雜的可以參考《計算機圖形學》
其實也不是那麼的難啦
❷ 正弦波產生c語言源程序代碼
以經驗看來你是要做單片機方面波形輸出,DAC輸出,或者做模擬示波器什麼的。
有兩種辦法:
一是查表法,優點是計算量少,佔用RAM少,演算法簡單,缺點是佔用儲存內存較多,參數比較固定。
查表法的基本思路就是,通過把sin函數進行采樣,得到的值記錄成一個表,將表以數組的形式放在程序中,通過循環讀取數組的值達到查表的目的。
二是計算值法,優缺點跟查表法恰好相反。
計算值法的基本思路是通過特定演算法,將特定時間所需的特定值計算出來。
這里給你提供一個計算值法的核心代碼,作為指導建議,根據實際情況修調。
doubleSinWave(doublescale,intcycle_time)
{
inta;
doublePI=3.1416;
intresolution_ratio=100;//解析度,描述采樣量,越高的解析度計算越多
for(a=0;a<resolution_ratio;a++)
{
DAC_OUT(scale*sin(2*PI*a/resolution_ratio));
delay(cycle_time/resolution_ratio);
}
}
voiddelay(intus)
{
//......
}
voidDAC_OUT(intdata)
{
//......
}
❸ 用c語言編程++由P0.0輸出方波信號,周期200us,由定時器1控制,用示波器測試波形的周期和頻率
#include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
sbit LED=P0^0; //定義LED埠
/*------------------------------------------------ 定時器初始化子程序------------------------------------------------*/void Init_Timer1(void){ TMOD |= 0x10; //使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響 TH1=(65535 - 100)/256; //給定初值,這里使用定時器最大值從0開始計數一直到65535溢出 TL1=(65535 - 100)/256; EA=1; //總中斷打開 ET1=1; //定時器中斷打開 TR1=1; //定時器開關打開}/*------------------------------------------------ 主程序------------------------------------------------*/main(){ Init_Timer1(); while(1);}/*------------------------------------------------ 定時器中斷子程序------------------------------------------------*/void Timer1_isr(void) interrupt 3 using 1{ TH1=(65535 - 100)/256; TL1=(65535 - 100)/256; LED=~LED; //LED閃爍}
❹ 我想用C語言實現用82單片機串口通信,P0.0~P0.3按鍵,P3.1為輸出,P3.1接個示波器看波形
你串口速度多少?
快了怎麼看,都是0和1,高低電平
顯示速度太快估計懸了
❺ aglient5000示波器visa,c語言如何讀取示波器波形
使用visa協議,有個viprintf,viscan等等的介面函數。至於讀取各個參數的命令就參考具體型號儀器的說明書了。
❻ 示波器的自動控制C語言代碼如何寫
網上有相關網站可以查到
其實就是換坐標 然後根據函數進行描點畫圖
❼ C語言計算波形周期問題!現用mega128通過ad採集電壓值,並將採集的變化曲線在液晶上顯示出來!
是取樣拉,根據取樣定理,就是用大於被測信號頻率兩倍的以上的頻率對信號進行取樣,然後對每個點進行AD轉換然後把點平滑的連起來就行了。不過AD轉換的話應是慢速的,除非用專用的高速AD器件否則頻率不會太高。顯示的時候直接把兩點相連就行了,不過點要取得密一點!
❽ 泰克 tds2014c示波器怎麼設置成中文
有一個Utility系統設置鍵,進入,里邊有language,可以選中文或其它語言
❾ 求單片機51的c語言程序,要求用單片機調示波器的,要能正確顯示波形。急用。
樓主:是不是可以這樣理解,通過單片機一個IO口輸出一個時鍾信號,然後用示波器去測量。
例子:下面是一個89C51為例輸出矩形波代碼
sbit SCLK P1^0;
while(1){
unsingned int i;
SCLK=0;
for(i=0;i<20000;i++);//波形寬度
SCLK=1;
for(i=0;i<20000;i++);
}
你放到你的程序里,然後用示波器測量第一腳,肯定有波形.
如有問題,請再問,呵呵!