<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于DDS和Qt的“所見即所得”波形發(fā)生器

          一種基于DDS和Qt的“所見即所得”波形發(fā)生器

          作者: 時(shí)間:2011-02-11 來源:網(wǎng)絡(luò) 收藏

          (3)6 B只使用了最低位,為1啟動(dòng),為0則停止。
          (4)地址7是一個(gè)虛地址,并不對(duì)應(yīng)著實(shí)際的物理寄存器,而是與相位累加器組合指向RAM的某一個(gè)單元,通過對(duì)地址7的寫操作就間接的實(shí)現(xiàn)了對(duì)整個(gè)RAM的操作,這樣大大簡化了對(duì)的控制操作。
          1.3 電平偏移及放大電路
          電平偏移及放大電路用于消除輸出信號(hào)中疊加的無效直流分量(允許有效直流量輸出)和調(diào)整信號(hào)增益,其電路圖如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/187626.htm


          根據(jù)圖2電路有:

          式中:Rv是R4兩部分的并聯(lián)電阻,當(dāng)


          2 Qt程序設(shè)計(jì)
          2.1 GUI設(shè)計(jì)

          GUI(圖形用戶界面)是人機(jī)交互的窗口,GUI的設(shè)計(jì)直接關(guān)系到產(chǎn)品的可操作性,是軟件設(shè)計(jì)中非常重要部分??紤]到觸摸屏面板的空間有限,因此控件(Widgets)的設(shè)計(jì)盡量緊湊。該系統(tǒng)的GUI設(shè)計(jì)見圖3。


          左側(cè)為工具欄,右側(cè)黃色區(qū)域?yàn)槔L圖區(qū)。繪圖區(qū)提供了滾動(dòng)條,用于繪制超出屏幕范圍的波形??梢岳L制較長的序列信號(hào)。工具欄從上到下分為繪圖模式選擇區(qū),波形輸出設(shè)定區(qū),時(shí)間設(shè)定區(qū)及清屏和退出按鈕。波形的繪制只允許從左向右進(jìn)行,一個(gè)時(shí)刻只對(duì)應(yīng)一個(gè)數(shù)據(jù)點(diǎn);已繪制波形允許修改,修改過程中自動(dòng)變成紅色,修改完畢自動(dòng)變成默認(rèn)顏色。
          2.2 Qt編程原理和方法
          Qt程序設(shè)計(jì)采用面向?qū)ο蠛褪录?qū)動(dòng)的方法,整個(gè)GUI程序劃分為兩個(gè)類,其中主窗口為一個(gè)類,類名為MainWindow,繼承自Qt的QMa-inWindow類,它提供了工具條(toolbar)和一個(gè)主窗口(mainwindow);另一個(gè)類是DrawWidget,提供了一個(gè)繪圖區(qū)域,有4種事件,分別為觸摸筆按下(mousePressEvent),移動(dòng)(mouseMoveEvent),松開(mouseReleaseEvent)和繪圖區(qū)重繪事件(paintEvent)。同時(shí)提供了處理波形的函數(shù)waveProcess和調(diào)用底層驅(qū)動(dòng)的接口。滾動(dòng)條是通過QScrollView類提供的視圖功能來實(shí)現(xiàn)的。延遲輸出功能通過Qtimer類來實(shí)現(xiàn),延遲范圍0~999 s。觸摸筆的3個(gè)事件的發(fā)生順序和處理過程見圖4。



          關(guān)鍵詞: DDS 波形發(fā)生器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();