如果是模擬出來的話,頻率是1Mhz,首先你要有一個(gè)1Mx2的定時(shí),這個(gè)2Mhz的定時(shí)每次計(jì)數(shù)到達(dá)的時(shí)候?qū)?duì)應(yīng)的io口翻轉(zhuǎn),頻率為1M周期為1us的方波就出來了。大部分單片機(jī)都有pwm功能直接配置寄存器使能就可以輸出對(duì)應(yīng)的頻率方波。
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的汝陽網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
100K的方波對(duì)51來說要求太高了,盡量不要用,這個(gè)程序如果頻率不對(duì),對(duì) “TH0=0XF6;//初始值246”這句里的0xf6調(diào)整下,向上增加數(shù)值會(huì)提高精度。
診斷服務(wù)程序可以用來讀取這個(gè)計(jì)數(shù)值并進(jìn)行計(jì)算。
1);} void T0() interrupt 1 { if(++ms==600){ms=0;P2_0=~P2_0;} } 以上按占空比50%計(jì)算。
測(cè)量T1輸入方波周期的程序如下:TMOD = 0x50 //令T1方式1計(jì)數(shù) while(T1);while(!T1);TR1 = 1;while(T1);while(!T1);TR1 = 0;完畢,方波周期在THTL1中。
用C語言編寫一段程序,使用查表的方式使單片機(jī)控制DAC0832產(chǎn)生一個(gè)電壓值在0~5V之間的方波。
f=38KHz 那么周期T約等于26uS,如果這個(gè)載波是方波的話,那么輸出高電平13uS,另外13uS輸出低電平。你的晶振是10592MHz,那么機(jī)器周期是近似為1uS。所以隔13uS,對(duì)輸出口取反即可。
單片機(jī)的調(diào)制一般都是數(shù)字調(diào)制,一般就是2FSK??梢杂卸N方法。第一:把待調(diào)制信數(shù)字信號(hào)和載波接到一個(gè)二輸入與門上。當(dāng)調(diào)制信號(hào)是一時(shí),與門開啟,載波可以發(fā)送出去。當(dāng)調(diào)制信號(hào)是0時(shí),與門關(guān)閉,載波不發(fā)送。
10592M,產(chǎn)生38kHz脈沖將有誤差。
用于紅外線發(fā)射載頻。建議用定時(shí)器中斷取反相關(guān)端口,單片機(jī)其他時(shí)間用來處理其它事情,我用AVR成功完成串行紅外線無線化。
1、假設(shè)1ms發(fā)送一個(gè)點(diǎn)(即單片機(jī)向DA寫一個(gè)該SIN值所對(duì)應(yīng)的電壓大小), 那么寫完一個(gè)正弦波,要180ms。如果2ms寫一個(gè)點(diǎn),這就改變了正弦波的頻率了。
2、你可用單片機(jī)快速的按一定時(shí)間段用查表方式給它送相應(yīng)的權(quán)碼值,失真要求越小你這送的速度要求就要越快。
3、正弦波發(fā)生器,c語言編制的DSP實(shí)驗(yàn)測(cè)試程序。
4、使用單電源+5V―+15V 供電。參考電壓為-10V-+10V。在此我們直接選擇+5V 作為參考電壓。DAC0832 有三種工作方式:直通方式,單緩沖方式,雙緩沖方式;在此我們選擇直通的工作方式,將XFER WR2 CS 管腳全部接數(shù)字地。
5、用定時(shí)器來實(shí)現(xiàn)吧,三角波其實(shí)也可以用積分器實(shí)現(xiàn)。
6、這個(gè)簡單,定義一個(gè)梯形波數(shù)組,然后用定時(shí)器定時(shí)去輸出數(shù)組的數(shù)據(jù)就可以了。