娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

【51單片機】DAC0832制作信號發生器(方波,三角波,鋸齒波)

發布者:CaptivatingGaze最新更新時間:2024-04-07 來源: elecfans關鍵字:51單片機  DAC0832  信號發生器 手機看文章 掃描二維碼
隨時隨地手機看文章

1 A/D與D/A

將模擬量轉換為數字量稱為模數轉換(A/D轉換),模擬量是連續的,比如電壓、電流等,可以連續變化的量;數字量是離散的,對應于計算機中的位,每一個位只能是0或1,是不存在中間狀態的。通過模數轉換原件將模擬量轉化為數字量輸入計算機,以便計算機進行計算、存儲等(這里說的計算機指具有cpu芯片的計算系統)。

模數轉換中運用到了微分思想。如下圖所示:
請添加圖片描述

將連續的信號轉換成一系列接近的離散的值,分割的越窄,就能表現得越精確。

數模轉換(D/A轉換)與模數轉換的效果相反,是輸入控制的數字量,經過D/A轉換器輸出模擬量。

2 電路與元器件

  1. 80C51芯片是intel公司開發的MCS-51系列單片機中的經典的一種。

  2. DAC0832是D/A轉換芯片,是專門用于數模轉換的的芯片。

  3. 電路圖如圖:

請添加圖片描述

3 源代碼

3.1 程序開始

org   0000h

      jmp   Start

;====================================================================

; CODE SEGMENT

;====================================================================

      org   0100h

3.2 監視按鈕操作

watchKey:;//監控按鈕的操作

      jnb p1.0,squareWave;//p1.0口,方波

      jnb p1.1,sawtoothWave;//p1.1口,鋸齒波

      jnb p1.2,triangleWave;//p1.2口,三角波

      ret

根據電路圖,三個按鈕接地,即按鈕按下會產生低電平,所以檢測三個口接受到的信號,出現低電平時跳轉到波形的發生函數部分。


3.3 按鈕控制顯示波形

Start:

      mov A,#0FFh

      mov p1,A;//給p1口送高電平,按鍵按下為低電平

      call watchKey

      jmp start;

先給p1端口送高電平,然后調用按鈕監控函數,沒有鍵按下則一直在Start部分循環。


3.4 方波產生的方法

方波信號是有一段時間輸出穩定的高電平,一段時間輸出穩定的低電平。要實現這個功能,需要保持端口的輸出值穩定,并啟用延時或循環。


squareWave:

      mov R0,#0FFh;//存電位初值

      mov R1,#0F0h;//存高電平循環次數

      mov R2,#40h;//存低電平循環次數。調整R1和R2可以調整占空比

positive:

      mov A,R0;//取電位值

      mov p3,A;//輸出數據電位,DA輸出模擬電位

      call watchKey;//監控按鈕的動作(可以用開中斷代替),下同

      djnz R1,positive;//剩余的循環次數不為零,繼續輸出高電平,剩余循環次數為零則進入低電平

      mov R0,#00h;//存低電平

negative:

      mov A,R0;

      mov p3,A;

      call watchKey;

      djnz R2,negative;//循判斷循環結束,往下執行。

      jmp squareWave;//進行下一周期

這里沒有用延時,而是用循環代替,二者的區別在于延時中不會監控按鈕動作,循環時每一次循環都會監控按鈕。當延時短時二者效果沒有太大區別,所以這里用那種都可以。


3.5 鋸齒波產生的方法

鋸齒波是在一個周期內逐漸增大,在下一周期開始時又會跳回零點。代碼實現如下:


sawtoothWave:

      mov R0,#00h;//初值

      mov R1,#80h;//上升沿循環次數

sawup:

      mov A,R0;

      mov p3,A;

      inc A;//每次增加1,在下一次循環輸出,出現逐漸增大的效果。

      mov R0,A;

      call watchKey;

      cjne R0,#0FFh,sawup;//循環未結束則繼續增加,結束則跳回低電平

      jmp sawtoothWave;//下一周期

3.6 三角波產生的方法

三角波的一個周期分為上升沿和下降沿,都是線性變化的,可以利用鋸齒波的方法做一個上升沿和一個下降沿。


triangleWave:

      mov R0,#00h;//初值

      mov R1,#80h;//上升沿循環次數,反映為上升沿寬度

      mov R2,#80h;//下降沿循環次數,反映為下降沿寬度

up:;//上升沿

      mov A,R0;

      mov p3,A;

      inc A;

      mov R0,A;

      call watchKey;

      cjne R0,#80h,up;

down:;//下降沿

      mov A,R0;

      mov p3,A;

      dec A;

      mov R0,A;

      call watchKey;

      cjne R0,#00h,down;

      jmp triangleWave;  

3.7 程序結束

Loop:

      jmp Loop

;====================================================================

      END

4 效果

4.1 方波

請添加圖片描述

4.2 鋸齒波

請添加圖片描述

4.3 三角波

請添加圖片描述

5 參考資料

[1] 80c51_百度百科 (baidu.com)

[2] DAC0832_百度百科 (baidu.com)

[3] 51單片機匯編指令集_宇宙379的博客-CSDN博客_51單片機指令集

[4] 【51單片機】矩陣鍵盤逐行掃描法仿真實驗+超詳細Proteus仿真和Keil操作步驟_cumt等等的博客-CSDN博客_矩陣鍵盤鍵碼掃描程序設計實驗


關鍵字:51單片機  DAC0832  信號發生器 引用地址:【51單片機】DAC0832制作信號發生器(方波,三角波,鋸齒波)

上一篇:【51單片機】點陣LED的顯示實驗
下一篇:【51單片機】七段數碼管和矩陣鍵盤的綜合實驗——計算器

推薦閱讀最新更新時間:2025-06-07 23:30

MATLAB制作mif文件——正弦信號發生器2
上圖是信號發生器的原理圖。一個計數器也加地址發生器,用來改變脈沖頻率的。另一個是ROM存儲波形數據。 設計中遇到的問題: 先設計這兩個模塊,之后建立項目,鏈接完上述原理圖之后。開始把原理圖文件轉換成文本格式,即(.v)文件。和Test Bench。然后在文件里添加這兩個文件。如下圖:ly.v和ly.vt.這里是verilog HDL語言。之后一定要刪除ly.bdfly.bdf文件。 2 Error (12006): Node instance inst instantiates undefined entity romsig 解決辦法就是:使用bdf文件創建時出現這個錯誤,將romsing.qip添加進工程即可,如
[測試測量]
MATLAB制作mif文件——正弦<font color='red'>信號發生器</font>2
模電課程設計——信號發生器
1.1 設計題目及要求 設計一個供電電源為交流220V、50Hz的占空比可調的矩形波、三角波信號發生器。主要電路指標要求波形頻率為1KHz~10KHz,波形幅值小于12V,其它指標要求盡可能多的信號多樣性。本設計是設計一個完整的信號發生器,單元電路必須包括整流電路、濾波電路、穩壓電路、信號發生電路。 1.2 總體設計方案 1.2.1設計思路 本次設計主要是編寫軟件程序裝載到單片機 AT89C51中 ,輸出的數字信號再經過DAC0832轉換器轉變為模擬信號,再經過放大處理實現方波、三角波、正弦波等常用波形的發生。根據要求,對這三種波形的頻率調節和幅度調節編寫程序代碼,并將所寫程序代碼裝載到單片機的用來存放程序的程序存
[測試測量]
模電課程設計——<font color='red'>信號發生器</font>
信號發生器有哪些類型呢?
信號發生器在廣義上分成混合信號發生器( 任意波形發生器和任意波形/ 函數發生器) 和邏輯信號源( 脈沖或碼型發生器),滿足了全系列信號生成需求。每種信號發生器都有獨特的優勢,或多或少地適合某種特定應用。 混合信號發生器是為輸出具有模擬特點的波形而設計的,包括正弦波和三角波等模擬波,以及表現出每個實際環境信號都包括的圓形和不理想的“方”波。在通用混合信號發生器中,您可以控制幅度、頻率和相位及DC 偏置和上升時間和下降時間;您可以創建過沖等畸變;還可以增加邊沿抖動、調制等等。 真正的數字信號發生器必需驅動數字系統。其輸出是二進制脈沖流 - 專用數字信號發生器不能生成正弦波或三角波。數字信號發生器的功能是為滿足計算機總線需求和類
[測試測量]
<font color='red'>信號發生器</font>有哪些類型呢?
信號發生器的結構是怎樣的
信號發生器 是指產生所需參數的電 測試 信號的 儀器 。按信號波形可分為正弦信號、函數(波形)信號、脈沖信號和隨機 信號發生器 等四大類。 信號發生器 又稱信號源或振蕩器,在生產實踐和科技領域中有著廣泛的應用。各種波形曲線均可以用三角函數方程式來表示。能夠產生多種波形,如三角波、鋸齒波、矩形波(含方波)、正弦波的電路被稱為函數 信號發生器 。 結構 1、內部帶有掃頻輸出功能(全頻段掃頻時間小于5秒) 是指低頻 信號發生器 具有從低頻開始到高頻(或反之)自動變化的功能即完成100Hz——20KHZ中間所有頻率的低到高或高到低的變化過程,而這一次過程的時間為5秒。 2、帶有外部掃頻控制輸入接口(控制信號為電壓0-5V,控制電流
[測試測量]
R&S公司的DOCSIS全頻道電視信號發生器首次仿真使用DOCSIS3.1網絡信號
2014年有線電視、線纜、寬帶和衛星技術展,科隆―有線電纜數據服務接口規范(DOCSIS 3.1)能夠使現有的有線電視網絡實現高速數據傳輸。R&S CLGD是首款能夠同時產生DOCSIS 3.1,DOCSIS 3.0以及有線數字電視J.83/A/B/C信號和模擬電視信號的信號發生器。在上下行信號中,信號可以自由組合,用戶可以模擬任何可能的信道負載情況。 消費電子和專業電子制造商以及有線網絡運營商現在能夠生成符合新的傳輸標準的信號了。通過仿真有線電視全信道負載,R&S CLGD DOCSIS全頻道電視信號發生器實現了實時的數字和模擬信號生成,并允許用戶模擬任何可能的信道負載情況。 發生器的下行信號頻率范圍從47 MHz 到 1
[測試測量]
驗電器信號發生器的使用注意事項
驗電器信號發生器的使用注意   保證人身和設備的安全,確保“發生器”的完好性,“發生器”應在空氣流通,環境干燥的專用地點存放。   ▲ 使用時,先按下驗電器開關,初步判斷驗電器是否工作正常,再用驗電信號發生器進一步 檢測 驗電器是否工作正常。   ▲ 用左手握住驗電器頭與絕緣桿的連接處,右手握住發生器,大拇指按下電源開關,紅色指示燈閃亮,發生器工作正常,有驗電信號輸出,同時用發生器頂端輸出電極觸碰驗電器接收電極,驗電器有聲光報警,確認驗電器工作正常可靠,可按電業安全規程繼續進行常規驗電操作。   ▲ 若無聲光指示,則須查明原因,并換用其它合格驗電器繼續上述操作順序,直至確認合格驗電器后再進行常規驗電操作。   ▲ 如遇“
[測試測量]
基于單片機的專用信號發生器設計與應用
一 前 言 在簡易制導武器中,角位移傳感器是姿態修正系統的敏感元件,用來測量彈體的角運動參數并以電信號形式給出三個信息。其中輸出兩路幅值相等相位相差90°的正弦信號作為彈體偏轉測量的基準信號;另一路輸出測角信號,該信號相對基準信號的相位反映角偏差的方向、幅值反映角偏差量。專用信號發生器就是模擬角位移輸出信號的裝置,用來進行后續解調電路以及功放電路的檢測。它以單片機為核心,經過D/A轉換和放大電路的處理,最后輸出反應彈體姿態的基準信號和測角信號。 二 數學模型的建立 根據對輸出信號性能指標的要求,基準信號幅值:A, 基準信號頻率:f ,假設對A的精度要求為±0.01V,對f的要求為±10Hz,輸出信號為正弦信號,可以建
[單片機]
基于單片機的專用<font color='red'>信號發生器</font>設計與應用
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 舟曲县| 白城市| 东兰县| 永寿县| 兖州市| 河北区| 甘南县| 宜章县| 中宁县| 缙云县| 临夏市| 科尔| 宁强县| 崇礼县| 睢宁县| 五指山市| 手机| 塔河县| 林芝县| 延津县| 禄劝| 温州市| 崇礼县| 二连浩特市| 芒康县| 伊宁县| 富锦市| 桐柏县| 自治县| 仁化县| 化德县| 额敏县| 招远市| 秦皇岛市| 浏阳市| 黄浦区| 祁阳县| 晋城| 庆阳市| 新密市| 英超|