欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機模擬低頻DDS信號發生器系統仿真加源程序 DAC0832實現
[打印本頁]
作者:
51hei學習技術中
時間:
2017-3-17 23:06
標題:
單片機模擬低頻DDS信號發生器系統仿真加源程序 DAC0832實現
給51黑電子論壇的朋友們分享一個用51單片機做的模擬低頻DDS信號發生器系統,帶proteus仿真工程文件加單片機源程序.
下面是仿真原理圖:
0.png
(29.45 KB, 下載次數: 57)
下載附件
2017-3-17 23:00 上傳
DDS信號發生器的部分單片機源程序:
#include "sin_dds.h"
uchar i,j;
uint counter,step;
/**************定時器0初始化**********************************/
void Init_Timer0(void)
{
TMOD = (TMOD & 0XF0) | 0X01; //定時器0,方式1
TH0 = 0xff; //定時器初值
TL0 = 0xff;
TR0 =1; //啟動定時器0
ET0 =1; //開定時器0中斷
}
/*************************主函數*********************************/
main()
{
Init_Timer0(); //定時器0初始化
step=2; //數值采樣步數初始化
EA = 1; //CPU開中斷
while(1)
{
if(key_up == 0) if(step<4096) step++; //數值采樣步數加1,采樣頻率變高 ,正弦波周期變小
if(key_dw == 0) if(step>1) step--; //數值采樣步數減1,采樣頻率變低 ,正弦波周期變大
while((!key_up)||(!key_dw)); //若有一個鍵按下去,則正弦波周期始終保持不變
}
}
/******************系統OS定時中斷服務***************************/
void OS_Timer0(void) interrupt 1 using 2
{
TH0 = 0xff; //重裝定時器初值
TL0 = 0xff;
counter = counter + step; //counter以step的步數遞增
dac1=type[(unsigned int)counter>>8]; //當counter加滿(256/step)次時,dac1的采樣值變化一次
}
復制代碼
0.png
(45.44 KB, 下載次數: 74)
下載附件
2017-3-17 23:02 上傳
全部資料下載(含仿真工程文件和完整代碼):
單片機模擬低頻DDS信號發生器系統.rar
(16.78 KB, 下載次數: 108)
2017-3-17 23:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
QQ291078365
時間:
2019-5-17 11:51
很棒,非常棒
作者:
wxkn937
時間:
2019-5-17 14:39
非常有幫助 厲害
作者:
1627350311
時間:
2020-6-12 20:28
很好的文章
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1