看看這個,單片機用的是ADUC848,AD轉換輸出正弦波,和PWM原理類似。
2、源程序清單
DACCONEQU0xfD;定義模數轉換控制器
DACHEQU0xfc;定義模數轉換數據寄存器高8位
DACLEQU0xfb;定義模數轉換數據寄存器低8位
ORG0000H
LJMPMAIN
ORG0200H
MAIN:MOVDACCON,#0fH;DACoperation
CLRA;
MOVDACH,A;模數轉換高八位清零
PRG3:MOVR0,#09H;正弦波
MOVR4,#40H
LP11:MOVA,R0
MOVCA,@A+PC
MOVDACL,A;2
ACALLDELAY;2
INCR0;1
DJNZR4,LP11;2
SJMPPRG3;2
DATA0:
DB80H,8CH,98H,0A5H,0B0H,0BCH,0C7H,0D1H,0DAH,0E2H,0EAH
DB0F0H,0F6H,0FAH,0FDH,0FFH,0FFH,0FDH,0FAH,0F6H,0F0H
DB0EAH,0E2H,0DAH,0D1H,0C7H,0BCH,0B0H,0A5H,98H,8CH
DB80H,7FH,73H,67H,5AH,4FH,43H,38H,2EH,25H,1DH,15H
DB0FH,09H,05H,02H,00H,00H,02H,05H,09H,0FH,15H
DB1DH,25H,2EH,38H,43H,4FH,5AH,67H,73H,7FH
RET
DELAY:MOVR6,#10H
MOVR7,#0A1H
DELAYLOOP:;延時程序
DJNZR6,DELAYLOOP
DJNZR7,DELAYLOOP
RET
四、實驗板插針配置:
無需插針配置,注意DAC是從CONDACOUT1端子輸出,可用示波器觀察DAC輸出波形。若產生失真情況,請檢查開發板DA輸出端LM358運算放大器的放大倍數,適當更改所查函數表的范圍。
五、思考題
1、改變程序,使能添加輸出鋸齒波;
2、改變程序,使輸出添加三角波;
3、改變程序,使輸出添加方波;
4、改變程序,並製作一個簡單的函數發生器
㈡ c++編程用什麼軟體好
c++編程用以下幾個軟體好:
1、Ccache:Ccache是為了減輕一些編譯負擔,它是一個緩存,可以保存編譯代碼以便重用。不支持編譯器的某些命令行命令,當Ccache無法知曉下一步該做什麼時,它將返回原始編譯器。
2、TCC:「T」代表「小」,「CC」代表「C編譯器」。簡單的C應用程序在一分鍾之內就可以編譯並運行,足夠快以致可以使用C應用程序作為腳本。
3、Cpi:一個超級C++編譯器,允許適度的C++程序像腳本一樣執行。
4、Kcgi:對於習慣在Web應用程序中使用C編程語言,並對速度有所要求的程序員,可以考慮使用kcgi庫。它提供了一組用於接收HTTP請求,解析,返回標頭和正文以及獲取和設置Cookie的原語。
5、Pycparser:Python的解釋器是用C編寫的,可以接受C擴展。為此,一些項目可以彌合兩者之間的差距,Pycparser就是其中之一,但不能運行C本身。相反,它提供了C語言解析器的純Python實現。感興趣的話點擊此處,免費學習一下
想了解更多有關c++的相關信息,推薦咨詢達內教育。達內教育已從事19年IT技術培訓,累計培養100萬學員,並且獨創TTS8.0教學系統,1v1督學,跟蹤式學習,有疑問隨時溝通。該機構26大課程體系緊跟企業需求,企業級項目,課程穿插大廠真實項目講解,對標企業人才標准,制定專業學習計劃,囊括主流熱點技術,助力學員更好的學習。