新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機在多種波形發生器中的應用

        單片機在多種波形發生器中的應用

        作者: 時間:2012-02-15 來源:網絡 收藏

        41.jpg

        2 軟件設計

        在硬件設計的基礎上進行軟件編程。由用戶通過按鍵選擇需要輸出何種。

        2.1 方波輸出

        本文通過80C51內部自帶的定時器/計數器實現方波輸出。采用定時器/計數器T1,工作方式1,計數器位數是16位;門控位GATE置0,定時器的運行只受控制寄存器TCON中運行控制位(TR)的控制;計數器初值的設定由以下公式計算得到:
        N=2n-TCfosc/12

        n為計數器位數;TC為定時時間;fosc為振蕩頻率。通過小鍵盤,由用戶鍵入需要輸出方波的周期(周期只能為正數,如1 ms,2 ms,10 ms等,最大為65 ms),在P0口將得到所需的方波

        2.2 鋸齒波、正弦波輸出

        鋸齒波中的斜線用一個個小臺階來逼近,在一個周期內從最小值開始逐步遞增,當達到最大值后又回到最小值,如此循環,當臺階間隔很小時,基本上近似于直線。適當選擇循環的時間,可以得到不同周期的鋸齒波。由圖3所示連接可知:選通MAX7534的LS寄存器地址為5FFFH;選通MS寄存器地址為: 3FFFH;選通DAC寄存器地址為:7FFFH;選通DAC轉換地址為:1FFFH。鋸齒波產生程序流程圖如圖4所示。

        42.jpg

        正弦波的產生采用查表法,的I/O輸出均為+5 V的TTL電平,因此產生的正弦波幅值為+5 V。將一個周期內的正弦波形等分為N份,那么第1點的角度為0°,對應的正弦值為5sin0°;第2點的角度為360°/N,對應的正弦值為5sin (360°/N ) ……,如此計算下去,將這些模擬量正弦值都轉換為雙極性方式下的數字量,得到一張按照點號順序排列的數字量正弦值表格。程序流程圖與鋸齒波產生子程序流程大致一致,只是每次送到MAX7534轉換的14位數字量是根據得到的表格所查得的。

        3 結語

        本文基于80C51波形產生的3種波形完全能夠滿足實驗中的使用要求。采用的高性能數模轉換芯片保證了輸出波形的精度和穩定性。通過軟件實現可以輸出更多的基本波形如:梯形波、三角波、反向鋸齒波等,具有實際的使用價值。

        參考文獻
        [1]周航慈,等.單片機程序設計基礎[M].北京:航空航天大學出版社,1999
        [2]李朝青.單片機原理及接口技術[M].北京:航空航天大學出版社, 1994


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 永济市| 洛浦县| 宿松县| 崇义县| 临夏市| 南城县| 太康县| 南开区| 新巴尔虎右旗| 普格县| 上犹县| 石楼县| 景宁| 类乌齐县| 灵川县| 桦甸市| 于田县| 福建省| 东城区| 项城市| 凤山市| 永嘉县| 延津县| 巴青县| 双鸭山市| 府谷县| 宝应县| 宜黄县| 宜都市| 浦北县| 巴中市| 邮箱| 柳河县| 香河县| 诏安县| 杭州市| 扎兰屯市| 福泉市| 栾川县| 巴彦县| 紫云|