久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5298|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)+DAC0832的信號(hào)發(fā)生器Proteus仿真設(shè)計(jì)(附仿真文件+Word文檔+C程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
設(shè)計(jì)要求:
1.輸出4種波形:方波、鋸齒波、三角波、正弦波;
2.幅值可調(diào)節(jié)范圍為2V~10V;
3.頻率可調(diào)節(jié)范圍為20Hz~80Hz;
設(shè)計(jì)思路:
通過(guò)Keil平臺(tái)下的C語(yǔ)言編程,單片機(jī)控制輸出的數(shù)字信號(hào)經(jīng)工作在直通方式下的DAC0832數(shù)模轉(zhuǎn)換,輸出方波、正弦波、鋸齒波、三角波4種電壓波形,且波形幅值、頻率可調(diào)。波形的切換、頻率和幅值的增減可通過(guò)按鍵模塊實(shí)現(xiàn),同時(shí)當(dāng)前的波形信息可實(shí)時(shí)更新在LCD12864顯示模塊上,波形形象可通過(guò)示波器測(cè)量模塊展現(xiàn)。整個(gè)設(shè)計(jì)由Proteus仿真實(shí)現(xiàn),并能滿足設(shè)計(jì)內(nèi)容及要求。
程序思路:



仿真結(jié)果:
1.幅值為4V,頻率為20Hz的方波輸出信號(hào)


2.幅值為5V,頻率為50Hz的鋸齒波輸出信號(hào)


3.幅值為6V,頻率為60Hz的三角波輸出信號(hào)


4.幅值為10V,頻率為80Hz的正弦波輸出信號(hào)



由以上四圖看出,信號(hào)發(fā)生器仿真設(shè)計(jì)結(jié)果滿足設(shè)計(jì)要求,LCD液晶顯示的波形信息與示波器上的波形一一對(duì)應(yīng)。

程序代碼:
  1. intmain(void)
  2. {
  3. uchar data i=0;
  4. uchar idata strtemp[35];
  5. SP=0xA0;
  6. for(i=0; i<7; i++)
  7. {
  8.   //從20Hz開(kāi)始,到80Hz,步長(zhǎng)為10Hz,共7個(gè)頻率數(shù)據(jù),最高只能做到80Hz,同時(shí)由于啟動(dòng)中斷會(huì)占用一定時(shí)間,所以補(bǔ)償25us。
  9.   freq=65535-(1000000/(20+i*10)/256)+25;
  10. }
  11. TMOD=0x11;
  12. ET0=1;
  13. ET1=0;
  14. EA=1;
  15. TL0=freq[index_freq]%256;
  16. TH0=freq[index_freq]/256;
  17. TR0=1;
  18. IT0=0;
  19. EX0=1;
  20. LE1=0;
  21. P2=amplitude[index_amp];
  22. EA=0;
  23. LE1=1;
  24. LCDinit12864();
  25. LCD_DispStrWide(0x00,"波形:1方波");
  26. LCD_DispStrWide(0x10,"頻率:20Hz");
  27. LCD_DispStrWide(0x08,"幅值:2.0V");
  28. LCD_DispStrWide(0x18,"波形 頻率 +-");
  29. LE1=0;   
  30. EA=1;
  31. while(1)
  32. {
  33.   if(K_WAVE==1)
  34.   {   
  35.     K_WAVE=0;
  36. C_WAVE++;
  37. if(C_WAVE>=4) C_WAVE=0;  //0:方波1:鋸齒波 2:三角波3:正弦波
  38.     sprintf(strtemp,"%s%s","波形:",disp_wave[C_WAVE]);
  39.     LE1=1;
  40.     EA=0;
  41.     LCD_DispStrWide(0x00,strtemp);
  42.     EA=1;
  43.     LE1=0;
  44.    }   
  45.   else if(K_FREQ_AMP==1)
  46.   {   
  47.      K_FREQ_AMP=0;
  48.      C_FREQ_AMP++;
  49.      if(C_FREQ_AMP >= 2) C_FREQ_AMP=0;
  50.      LE1=1;
  51.      EA=0;
  52.      if(C_FREQ_AMP == 0)
  53.       LCD_DispStrWide(0x18,"波形 頻率 +-");  //0:頻率
  54.      else
  55.       LCD_DispStrWide(0x18,"波形 幅值 +-");  //1:幅值
  56.      EA=1;
  57.      LE1=0;
  58.   }
  59.   else if(K_ADD == 1)
  60.   {        
  61.      K_ADD=0;
  62.      if(C_FREQ_AMP == 0)
  63.      {//在7種頻率之間切換 20Hz,30Hz,40Hz,50Hz,60Hz,70Hz,80Hz   
  64.      index_freq++;
  65.      if(index_freq>=7) index_freq=0;
  66.      sprintf(strtemp,"%s%d%s","頻率:",(int)(20+index_freq*10),"Hz");
  67.      LE1=1;
  68.      EA=0;
  69.       LCD_DispStrWide(0x10,strtemp);
  70.      EA=1;
  71.      LE1=0;
  72.      }
  73.      else
  74.      {
  75.       //在9種幅值之間切換  1V,2V,3V,4V,5V,6V,7V,8V,9V,10V
  76.      index_amp++;
  77.    if(index_amp > 8) index_amp=0;   
  78. sprintf(strtemp,"%s%.1f%s","幅值:",(float)(1+index_amp*0.5)*2,"V ");
  79.      LE1=1;
  80.      EA=0;
  81.       LCD_DispStrWide(0x08,strtemp);
  82.       LCD_DispStrWide(0x10,"頻");
  83.      EA=1;
  84.       LE1=0;
  85.      P2=amplitude[index_amp];
  86.      }
  87.   }
  88.   else if(K_REDUCE==1)
  89.   {        
  90.      K_REDUCE=0;
  91.      if(C_FREQ_AMP == 0)
  92.      {   
  93.       if(index_freq > 0)
  94.       index_freq--;
  95.       sprintf(strtemp,"%s%d%s","頻率:",(int)(20+index_freq*10),"Hz");
  96.       LE1=1;
  97.       EA=0;
  98.      LCD_DispStrWide(0x10,strtemp);
  99.      EA=1;
  100.      LE1=0;
  101.      }
  102.      else
  103.      {
  104.      if(index_amp > 0)
  105.      index_amp--;
  106.      sprintf(strtemp,"%s%.1f%s","幅值:",(float)(1+index_amp*0.5)*2,"V ");
  107.       LE1=1;
  108.      EA=0;
  109.      LCD_DispStrWide(0x08,strtemp);
  110.      LCD_DispStrWide(0x10,"頻");
  111.      EA=1;
  112.      LE1=0;
  113.      P2=amplitude[index_amp];
  114.      }
  115.   }
  116. } return 0;

  117. }
復(fù)制代碼

word資源如下:內(nèi)容不全已經(jīng)刪除

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:316613 發(fā)表于 2023-5-20 14:11 | 只看該作者
沒(méi)有附件啊
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美国产精品一区二区三区 | 欧美老妇交乱视频 | 国产精品视频一二三区 | 中文字幕一区二区三区日韩精品 | 日韩专区中文字幕 | 91精品国产麻豆 | 亚洲成人精品一区 | 国产精品一区在线 | 天堂va在线 | 成人福利网 | 国产精品乱码一二三区的特点 | 秋霞国产 | 嫩草研究影院 | 国产99在线 | 欧美 | 国产欧美日韩在线播放 | 日韩中字幕 | 成人激情视频免费观看 | 国产一区二区精品在线观看 | 99视频免费在线观看 | 最新毛片网站 | 一区二区三区视频免费看 | 日韩av免费看 | www.操.com| 日韩免费高清视频 | 日韩中文一区二区三区 | 国产精品夜夜夜一区二区三区尤 | 在线视频成人 | 国产情侣啪啪 | 免费看大片bbbb欧美 | 日韩一 | 天啪 | 亚洲综合无码一区二区 | 久久伦理中文字幕 | 亚洲综合无码一区二区 | 国产乱码精品1区2区3区 | 台湾佬久久 | 亚洲一区二区三 | 一区二区小视频 | 国产精品免费视频一区 | 亚洲精品成人 | 欧美国产日韩成人 |