標題: 用51單片機DAC0832實現(xiàn)函數(shù)功能發(fā)生器 軟件流程圖等資料 [打印本頁]

作者: 愛學習的小菜    時間: 2023-5-15 16:44
標題: 用51單片機DAC0832實現(xiàn)函數(shù)功能發(fā)生器 軟件流程圖等資料
用單片機實現(xiàn)函數(shù)發(fā)生器功能
硬件:單片機+LCD1602+N個按鍵+4個LED燈+DAC0832。
基本要求:
按下按鍵可使DAC輸出不同波形(正弦波、三角波、鋸齒波、方波),對應LED燈亮,且在LCD1602上顯示當前波形信息。
擴展要求(可任意選做,每實現(xiàn)一項+10分):
1.LCD顯示增加當前波形的頻率;
2.有按鍵可增加or減少頻率;
3.波形幅值可設(shè)定;
提交Proteus+Keil+文檔打包


一、 硬件選擇及連接

1.硬件選擇

①AT89C51單片機(一個)

選擇原因:

擁有完善的外部擴展總線,通過這些總線可方便地擴展外圍單元、外圍接口等。單片機與工業(yè)標準的MCS-51型機的指令集和輸出引腳兼容,便于產(chǎn)品后續(xù)工業(yè)量產(chǎn)化。芯片內(nèi)自帶中斷系統(tǒng),可用于按鍵按下時觸發(fā)中斷從而可以控制波形。

②DAC0832(一個)

選擇原因:

由于單片機產(chǎn)生的是數(shù)字信號,要想得到所需要的波形,就要把數(shù)字信號轉(zhuǎn)換成模擬信號,所以可以選用價格低廉、接口簡單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器DAC0832,而且DAC0832是電流型輸出。

③LM324(一個)

選擇原因:

DAC0832作為電流型輸出,在應用時要外接運放使之成為電壓型輸出。所以運算放大器的作用是將DAC0832輸出的電流信號轉(zhuǎn)化為電壓信號。

④LCD1602(一個)

選擇原因:

LCD1602作為字符型液晶顯示模塊,具有體積小,重量輕,功耗低和顯示內(nèi)容豐富等優(yōu)點,而且可以顯示兩行,因此可以符合要求在第一行顯示波形形狀和頻率大小,在第二行顯示幅值大小。

⑤按鍵(四個)

選擇原因:用于控制波形種類和頻率、幅值的改變。

⑥LED燈(四個)

選擇原因:用于表示對應波形的產(chǎn)生。

⑦電阻(100Ω 四個)

選擇原因:由于LED燈連接在P0口,因此需要連接上拉電阻,LED燈才能夠亮。


2. 硬件連接


二、軟件流程圖





主程序流程圖

按鍵按下檢查函數(shù)流程圖

定時器0中斷函數(shù)流程圖

KEY1按鍵按下流程圖

KEY2按鍵按下流程圖

KEY3按鍵按下流程圖

KEY4按鍵按下流程圖

三、完整C語言程序

主程序函數(shù)爆部分代碼


定義四種波形64個點的位置信息和頻率參數(shù)的代碼部分

定義按鍵按下檢查函數(shù)的代碼部分

定時器初始化和中斷函數(shù)的代碼部分




定義LCD1602顯示器顯示函數(shù)的代碼部分

四、 仿真運行視頻鏈接

鏈接:用51單片機實現(xiàn)函數(shù)發(fā)生器功能www.bilibili.com/video/BV15P41117s








歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1