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

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

QQ登錄

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

搜索
查看: 36722|回復(fù): 43
收起左側(cè)

單片機(jī)+DAC0832信號(hào)發(fā)生器的仿真設(shè)計(jì)(方波、三角波、梯形波、鋸齒波)

  [復(fù)制鏈接]
ID:430253 發(fā)表于 2018-12-16 22:02 | 顯示全部樓層 |閱讀模式
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
YXET8491D``DG04T8}3BH40.png
一、設(shè)計(jì)要求
設(shè)計(jì)一個(gè)能產(chǎn)生方波、三角波、梯形波、鋸齒波的波形發(fā)生器。
二、方案論證
方案 :利用單片機(jī)AT89C51編寫(xiě)程序,然后將產(chǎn)生信號(hào)通過(guò)DAC0832(數(shù)模轉(zhuǎn)換器)轉(zhuǎn)化成模擬信號(hào),輸入信號(hào)經(jīng)運(yùn)放電路后信號(hào)放大,低通濾波是輸出的信號(hào)穩(wěn)定不失真,通過(guò)四個(gè)按鍵來(lái)選擇輸出的波形。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。
方案二:集成運(yùn)算放大器應(yīng)用于波形發(fā)生器。正弦波和非正弦波產(chǎn)生電路常常作為信號(hào)源,利用正弦波振蕩電路(RC橋式正弦波振蕩器)產(chǎn)生正弦波,用集成運(yùn)放構(gòu)成方波發(fā)生器和三角波發(fā)生器一般包括比較器和RC積分器。此方案實(shí)現(xiàn)起來(lái)比較復(fù)雜,對(duì)運(yùn)算電路要有嚴(yán)格的分析,所需要的東西較多。
方案比較:采用方案一,該信號(hào)發(fā)生器具有體積小,價(jià)格低,性能穩(wěn)定優(yōu)點(diǎn)。

三、理論設(shè)計(jì)
3.1原理分析
利用單片機(jī)AT89C51編寫(xiě)程序,然后將產(chǎn)生信號(hào)通過(guò)DAC0832(數(shù)模轉(zhuǎn)換器)轉(zhuǎn)化成模擬信號(hào),輸入信號(hào)經(jīng)運(yùn)放電路后信號(hào)放大,低通濾波是輸出的信號(hào)穩(wěn)定不失真,通過(guò)四個(gè)按鍵來(lái)選擇輸出的波形。



圖3-3  DAC0832的引腳圖

3.4電流/電壓轉(zhuǎn)換放大電路
由于從DAC0832轉(zhuǎn)換出來(lái)的模擬信號(hào)為電流信號(hào),將DAC0832輸出的信號(hào)經(jīng)過(guò)電流/電壓轉(zhuǎn)換放大電路轉(zhuǎn)變?yōu)殡妷盒盘?hào)。本設(shè)計(jì)中使用的運(yùn)放為L(zhǎng)M324,LM324運(yùn)算放大器是價(jià)格便宜的帶差動(dòng)輸入功能的四運(yùn)算放大器
圖3-4 電流/電壓轉(zhuǎn)換放大電路
3.5按鍵輸入電路
按鍵使由一組按壓式或觸摸式開(kāi)關(guān)構(gòu)成的陣列,是一種常用的輸入設(shè)備。鍵盤(pán)可分為編碼式鍵盤(pán)和非編碼式鍵盤(pán)兩種。


3.6系統(tǒng)總體結(jié)構(gòu)圖
0.png

四、電路仿真及仿真結(jié)果分析
4.1電路圖
四個(gè)按鍵,每按一次按鍵后輸出對(duì)應(yīng)的波形。雙極性電壓輸出,電壓幅值可調(diào)。
4.2方波仿真結(jié)果
4.3三角波仿真結(jié)果
4.4梯形波仿真結(jié)果
4.5鋸齒波仿真結(jié)果
五、心得體會(huì)

通過(guò)本次課程設(shè)計(jì),使我對(duì)課程所學(xué)理論知識(shí)的深化和提高,我了解和掌握了單片機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過(guò)程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)和實(shí)現(xiàn)更難得應(yīng)用打下了良好的基礎(chǔ)。

   在本次設(shè)計(jì)工程中,遇到了很多得問(wèn)題,對(duì)硬件方面的各種知識(shí)并不是非常理解。對(duì)于單片機(jī)設(shè)計(jì),硬件電路還是比較簡(jiǎn)單,但是在程序設(shè)計(jì)上,費(fèi)了很大的功夫,對(duì)于程序不是那么容易上手,查找書(shū)籍并參考了網(wǎng)上的例子,才得以把實(shí)驗(yàn)完成。要設(shè)計(jì)一個(gè)成功的電路,必須要有耐心,要有堅(jiān)持的毅力,因此在整個(gè)設(shè)計(jì)過(guò)程中大部分時(shí)間都是用在程序上面的,很多子程序事可以借鑒書(shū)本上的,但怎樣銜接各個(gè)子程序比較重要。完成這次設(shè)計(jì)后,我在書(shū)本理論知識(shí)的基礎(chǔ)上又有了更深層次的理解。



  1. #include "reg52.h"
  2. #include <math.h>

  3. #define DAC_PORT P2 //DAC0832連接端口
  4. #define K_SQU 1        // 方波標(biāo)志
  5. #define K_TRI 2        //三角波標(biāo)志
  6. #define K_TRA 3        //梯形波標(biāo)志
  7. #define K_SAW 4        //鋸齒波標(biāo)志
  8. sbit DAC_CS_WR=P3^0; //ADC0832使能口
  9. sbit K1=P1^0;
  10. sbit K2=P1^1;
  11. sbit K3=P1^2;
  12. sbit K4=P1^3;

  13. typedef unsigned char u8;
  14. typedef unsigned int u16;
  15. typedef unsigned long u32;

  16. //全局變量
  17. u8 mode;//模式:
  18. u16 freq;//頻率
  19. u8 time;//計(jì)次參數(shù)
  20. u8 AM;//調(diào)幅


  21. void Timer0Int(void);
  22. void scanKey(void);
  23. void sys_int(void);
  24. void squ_wave(u8 location);
  25. void tri_wave(u8 location);
  26. void tra_wave(u8 location);
  27. void saw_wave(u8 location);

  28. void Timer0Int(void)               
  29. {
  30.         
  31.         TMOD &= 0xF0;                //設(shè)置定時(shí)器模式
  32.         TMOD |= 0x02;        //設(shè)置定時(shí)器模式
  33.         TL0 = 0x9C;                //設(shè)置定時(shí)初值
  34.         TH0 = 0x9C;               
  35.         TF0 = 0;                //清除TF0標(biāo)志
  36.         TR0 = 1;                //定時(shí)器0開(kāi)始計(jì)時(shí)
  37.         EA = 1;         //開(kāi)總中斷
  38.         ET0 = 1;        //開(kāi)定時(shí)器0中斷
  39. }

  40. void scanKey(void)
  41. {
  42.         
  43.         if(K1==0)
  44.         {
  45.                 mode=1;
  46.         }
  47.         
  48.         if(K2==0)
  49.         {
  50.                 mode=2;
  51.         }
  52.         
  53.         if(K3==0)
  54.         {
  55.                 mode=3;
  56.         }
  57.         
  58.         if(K4==0)
  59.         {
  60.                 mode=4;
  61.         }
  62. }
  63. void sys_int(void)
  64. {
  65.         time=0;
  66.         DAC_CS_WR=0;
  67.         DAC_PORT=0;
  68.         mode=0;
  69.         freq=100;//默認(rèn)頻率100Hz
  70.         AM=255;//最大幅度
  71. }


  72. void squ_wave(u8 location)//方波函數(shù)
  73. {
  74.         if(location<50)
  75.                 DAC_PORT=AM;
  76.         else
  77.                 DAC_PORT=0x00;
  78. }

  79. void tri_wave(u8 location)//三角波函數(shù)
  80. {
  81.         u8 y;
  82.         if(location<50)
  83.                 y=(50-location)*AM/50;
  84.         else
  85.                 y=(location-50)*AM/50;
  86.         DAC_PORT=y;
  87. }
  88. void tra_wave(u8 location)//梯形波函數(shù)
  89. {
  90.         u8 y;
  91.         if(location<25)
  92.                 y=0xFF;
  93.         else if(location<50)
  94.                 y=(50-location)*AM/25;
  95.         else if(location<75)
  96.                 y=0;
  97.         else
  98.                 y=(location-75)*AM/25;
  99.         DAC_PORT=y;
  100. }
  101. void saw_wave(u8 location)//鋸形波函數(shù)
  102. {
  103.         DAC_PORT=location*AM/100;
  104. }

  105. void Timer0Work() interrupt 1 //中斷服務(wù)函數(shù)
  106. {
  107.         switch(mode)
  108.         {
  109.             case K_SQU:squ_wave((u8)((time*freq/100)%100));break;  //計(jì)算出波的位置
  110.                 case K_TRI:tri_wave((u8)((time*freq/100)%100));break;
  111.                 case K_TRA:tra_wave((u8)((time*freq/100)%100));break;
  112.                 case K_SAW:saw_wave((u8)((time*freq/100)%100));break;
  113.         }
  114.         time++;
  115.         if(time>=100)//計(jì)數(shù)100次
  116.                 time=0;
  117. }

  118. int main(void)
  119. {
  120.         sys_int();
  121.         Timer0Int();
  122.         while(1)
  123.         {
  124.                 scanKey();
  125.         }
  126. }
復(fù)制代碼



0.png


全部資料51hei下載地址:

信號(hào)發(fā)生器的設(shè)計(jì).zip (1.51 MB, 下載次數(shù): 871)

評(píng)分

參與人數(shù) 2黑幣 +65 收起 理由
tieq1952 + 15 贊一個(gè)!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:449332 發(fā)表于 2018-12-18 21:47 | 顯示全部樓層
用哪個(gè)版本的Proteus打開(kāi)呢?
回復(fù)

使用道具 舉報(bào)

ID:253767 發(fā)表于 2018-12-19 08:18 | 顯示全部樓層
謝謝分享!!!好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:430253 發(fā)表于 2018-12-19 22:02 | 顯示全部樓層
xiayan666 發(fā)表于 2018-12-18 21:47
用哪個(gè)版本的Proteus打開(kāi)?

Proteus7.5
51hei.gif
回復(fù)

使用道具 舉報(bào)

ID:453293 發(fā)表于 2018-12-24 19:02 | 顯示全部樓層
這個(gè)很給力,必須支持
回復(fù)

使用道具 舉報(bào)

ID:453180 發(fā)表于 2018-12-24 21:10 | 顯示全部樓層
大神,我弄成功了,不勝感激
回復(fù)

使用道具 舉報(bào)

ID:478772 發(fā)表于 2019-3-18 17:54 | 顯示全部樓層
感謝, 下了這么多個(gè),這套資料總算仿真成功,感謝樓主的貢獻(xiàn)
回復(fù)

使用道具 舉報(bào)

ID:508300 發(fā)表于 2019-4-13 16:11 | 顯示全部樓層
樓主 我是小萌新  就是問(wèn)一下如果說(shuō)要輸出其他的波形例如正弦波是不是可以繼續(xù)用這個(gè)電路然后只是在單片機(jī)編程方面修改就可以啦
回復(fù)

使用道具 舉報(bào)

ID:511084 發(fā)表于 2019-4-13 18:28 | 顯示全部樓層
可以,傾向于方案二
回復(fù)

使用道具 舉報(bào)

ID:512814 發(fā)表于 2019-4-23 22:59 | 顯示全部樓層
我想問(wèn)一下,有沒(méi)有proteus的仿真電路圖文件

回復(fù)

使用道具 舉報(bào)

ID:537232 發(fā)表于 2019-5-22 09:30 | 顯示全部樓層
為什么我的不出結(jié)果呀
回復(fù)

使用道具 舉報(bào)

ID:537232 發(fā)表于 2019-5-22 10:25 | 顯示全部樓層
好啦,是我自己的問(wèn)題,謝謝樓主~~
回復(fù)

使用道具 舉報(bào)

ID:545554 發(fā)表于 2019-5-23 16:24 | 顯示全部樓層
我想問(wèn)一下樓主如何改變?nèi)遣ǖ念l率
回復(fù)

使用道具 舉報(bào)

ID:553761 發(fā)表于 2019-6-3 15:06 來(lái)自手機(jī) | 顯示全部樓層
請(qǐng)問(wèn)樓主這是雙極性輸出嗎?我看電路圖好像單極性電壓輸出啊?
回復(fù)

使用道具 舉報(bào)

ID:553778 發(fā)表于 2019-6-3 15:45 | 顯示全部樓層
您好,如果要在同一個(gè)圖中顯示方波正弦波等該怎么改
回復(fù)

使用道具 舉報(bào)

ID:556686 發(fā)表于 2019-6-18 18:14 | 顯示全部樓層
樓主,這個(gè)梯形波怎改了頻率為130HZ 之后,波形就不對(duì)了,應(yīng)該怎么修改啊
回復(fù)

使用道具 舉報(bào)

ID:328014 發(fā)表于 2019-7-3 23:35 | 顯示全部樓層

貌似我下載了能打開(kāi),我用的是winrar新版解壓的
回復(fù)

使用道具 舉報(bào)

ID:606403 發(fā)表于 2019-9-2 15:42 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:617403 發(fā)表于 2019-10-1 09:18 來(lái)自手機(jī) | 顯示全部樓層
誰(shuí)能告訴下這個(gè)lm324怎么接+-10v電壓
回復(fù)

使用道具 舉報(bào)

ID:624141 發(fā)表于 2019-10-22 18:12 | 顯示全部樓層
為啥我的波形顯示不對(duì)?
回復(fù)

使用道具 舉報(bào)

ID:278565 發(fā)表于 2019-12-12 16:25 | 顯示全部樓層
謝謝樓主666
回復(fù)

使用道具 舉報(bào)

ID:662861 發(fā)表于 2019-12-13 08:32 | 顯示全部樓層
肖蠢蠢 發(fā)表于 2019-5-22 10:25
好啦,是我自己的問(wèn)題,謝謝樓主~~

我的也不出結(jié)果呀 什么情況
回復(fù)

使用道具 舉報(bào)

ID:672777 發(fā)表于 2019-12-24 19:25 | 顯示全部樓層
做的真好,按鍵設(shè)計(jì)很合理
回復(fù)

使用道具 舉報(bào)

ID:697960 發(fā)表于 2020-2-25 14:13 | 顯示全部樓層
樓主 我的為什么不顯示結(jié)果呢
回復(fù)

使用道具 舉報(bào)

ID:697960 發(fā)表于 2020-2-25 14:15 | 顯示全部樓層
肖蠢蠢 發(fā)表于 2019-5-22 10:25
好啦,是我自己的問(wèn)題,謝謝樓主~~

你好  問(wèn)一下 結(jié)果怎樣出來(lái)的呢?
回復(fù)

使用道具 舉報(bào)

ID:712500 發(fā)表于 2020-3-20 21:08 | 顯示全部樓層
肖蠢蠢 發(fā)表于 2019-5-22 10:25
好啦,是我自己的問(wèn)題,謝謝樓主~~

怎么搞,我的也不出
回復(fù)

使用道具 舉報(bào)

ID:724710 發(fā)表于 2020-4-8 16:16 | 顯示全部樓層
那正弦波呢
回復(fù)

使用道具 舉報(bào)

ID:522961 發(fā)表于 2020-5-1 01:15 | 顯示全部樓層
樓主我想問(wèn)下編寫(xiě)各個(gè)函數(shù)時(shí)的具體思想
回復(fù)

使用道具 舉報(bào)

ID:741818 發(fā)表于 2020-5-2 12:48 | 顯示全部樓層
樓主可以聯(lián)系你嗎
回復(fù)

使用道具 舉報(bào)

ID:741818 發(fā)表于 2020-5-2 13:12 | 顯示全部樓層
樓主有STM32版本的發(fā)生器設(shè)計(jì)嗎
回復(fù)

使用道具 舉報(bào)

ID:753997 發(fā)表于 2020-5-23 18:06 | 顯示全部樓層

同問(wèn)
回復(fù)

使用道具 舉報(bào)

ID:302325 發(fā)表于 2020-5-30 13:43 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:772814 發(fā)表于 2020-6-8 14:30 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:744425 發(fā)表于 2020-6-10 11:24 | 顯示全部樓層
請(qǐng)問(wèn)有沒(méi)有用DAC0832控制直流電機(jī)調(diào)速的啊?
回復(fù)

使用道具 舉報(bào)

ID:760481 發(fā)表于 2020-6-11 09:44 | 顯示全部樓層
我也出不了波形救濟(jì)孩子
回復(fù)

使用道具 舉報(bào)

ID:768328 發(fā)表于 2020-6-15 22:40 | 顯示全部樓層
請(qǐng)問(wèn)正弦波函數(shù)怎么寫(xiě)呢?
回復(fù)

使用道具 舉報(bào)

ID:785332 發(fā)表于 2020-6-24 18:59 來(lái)自手機(jī) | 顯示全部樓層
如果弄硬件的話,可以成功嗎
回復(fù)

使用道具 舉報(bào)

ID:495287 發(fā)表于 2020-6-27 13:49 | 顯示全部樓層
這個(gè)要好好學(xué)習(xí)下,謝謝分享。
回復(fù)

使用道具 舉報(bào)

ID:794301 發(fā)表于 2020-7-6 11:54 | 顯示全部樓層
咦為什么題目介紹說(shuō)用80C51圖上和程序確實(shí)80C52啊?如果要用80C51我直接把圖上的80C52換成80C51,然后把程序#include "reg52.h"改成#include "reg51.h"就可以了嗎?
回復(fù)

使用道具 舉報(bào)

ID:858779 發(fā)表于 2020-12-15 14:39 來(lái)自手機(jī) | 顯示全部樓層
鋸齒波怎么改成上升的啊?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲视频在线看 | 中文字幕亚洲欧美日韩在线不卡 | 欧美片网站免费 | 国产区在线免费观看 | 一区二区免费视频 | 国产一区二区三区在线观看免费 | 欧美日韩国产在线 | 日韩在线观看 | 激情五月综合 | 成人中文字幕在线 | 2020国产在线 | 久久久久成人精品 | 欧美中文字幕一区二区三区亚洲 | 国产高清在线精品一区二区三区 | 伊人久久一区二区 | 亚洲欧美在线观看 | 国产色| 亚洲黄色一级 | 欧美乱淫视频 | 亚洲国产精品久久久久久 | 国产偷录叫床高潮录音 | 亚洲另类视频 | 亚洲一区视频在线 | 久久久久亚洲av毛片大全 | 日本激情视频在线播放 | 丁香婷婷在线视频 | 视频一区二区在线 | 国产欧美一区二区三区久久人妖 | 99视频免费在线 | 日韩精品视频在线 | 国产成人免费视频网站高清观看视频 | 最新中文字幕在线 | 国产精品免费高清 | 99自拍视频| www.日韩在线| 国产日产欧产精品精品推荐蛮挑 | 狠狠入ady亚洲精品经典电影 | 国产一区 | 久久久精品一区二区三区四季av | 国产视频精品在线观看 | 精品电影|