一、 硬件選擇及連接
1.硬件選擇
①AT89C51單片機(jī)(一個(gè))
選擇原因:
擁有完善的外部擴(kuò)展總線,通過(guò)這些總線可方便地?cái)U(kuò)展外圍單元、外圍接口等。單片機(jī)與工業(yè)標(biāo)準(zhǔn)的MCS-51型機(jī)的指令集和輸出引腳兼容,便于產(chǎn)品后續(xù)工業(yè)量產(chǎn)化。芯片內(nèi)自帶中斷系統(tǒng),可用于按鍵按下時(shí)觸發(fā)中斷從而可以控制波形。
②DAC0832(一個(gè))
選擇原因:
由于單片機(jī)產(chǎn)生的是數(shù)字信號(hào),要想得到所需要的波形,就要把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),所以可以選用價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器DAC0832,而且DAC0832是電流型輸出。
③LM324(一個(gè))
選擇原因:
DAC0832作為電流型輸出,在應(yīng)用時(shí)要外接運(yùn)放使之成為電壓型輸出。所以運(yùn)算放大器的作用是將DAC0832輸出的電流信號(hào)轉(zhuǎn)化為電壓信號(hào)。
④LCD1602(一個(gè))
選擇原因:
LCD1602作為字符型液晶顯示模塊,具有體積小,重量輕,功耗低和顯示內(nèi)容豐富等優(yōu)點(diǎn),而且可以顯示兩行,因此可以符合要求在第一行顯示波形形狀和頻率大小,在第二行顯示幅值大小。
⑤按鍵(四個(gè))
選擇原因:用于控制波形種類和頻率、幅值的改變。
⑥LED燈(四個(gè))
選擇原因:用于表示對(duì)應(yīng)波形的產(chǎn)生。
⑦電阻(100Ω 四個(gè))
選擇原因:由于LED燈連接在P0口,因此需要連接上拉電阻,LED燈才能夠亮。
2. 硬件連接

二、軟件流程圖
主程序流程圖
| 按鍵按下檢查函數(shù)流程圖
|
定時(shí)器0中斷函數(shù)流程圖
| |
KEY1按鍵按下流程圖
| KEY2按鍵按下流程圖
|
KEY3按鍵按下流程圖
| KEY4按鍵按下流程圖
|
三、完整C語(yǔ)言程序
主程序函數(shù)爆部分代碼


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

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


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

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


四、 仿真運(yùn)行視頻鏈接
鏈接:用51單片機(jī)實(shí)現(xiàn)函數(shù)發(fā)生器功能www.bilibili.com/video/BV15P41117s
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |