A. 單片機匯編語言編程 求方波、三角波和鋸齒波匯編程序怎麼編寫一段一段分開,不需要按按鈕的那種
你抄人家的,也應該過下腦啊,電路圖都是畫錯了啊;
8位DAC,採用直通方式,其他讀寫線都接低電平就好了;
基準電壓=5V,那麼 8位DAC=ffh,對應輸出= -5V,8位DAC=00h,對應輸出=0V;
1)所以你要得到矩形波時,就是控制單片機輸出P0=0xff的時間,以及P0=0x0的時間;
2)要輸出三角波時,P0 輸出:最小值為 0,最大值為 0xff,那麼必須先假設一個波形周期均勻輸出20個采樣值,則三角波上升期為10個采樣值,下降期也為10個采樣值;
然後反過來求出量化值;
因為: 5V/10=0.5V,那麼 N0/256 = 0.5/5;N1/256 = 1.0/5;N2/256 = 1.5/5;
....
N9/256 = 5/5;從而得到10個量化值,這是上升期的量化值,下降期的量化值則是前面量化值的反序排列,然後做成一個有20個數的數組;
那麼程序就是按一定的時間間隔循環輸出這20個的數組,即可得到三角波了;
3)鋸齒波,操作上類似三角波,只是上升期的采樣個數與下降期的采樣個數不等;
如一個波形周期仍然均勻輸出20個采樣值,只是上升期為6個采樣值,下降期也為14個采樣值;