欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機+pcf8591的多波形發生器仿真程序(正弦波 三角波等可調) [打印本頁]

作者: yp120310    時間: 2019-4-17 19:38
標題: 51單片機+pcf8591的多波形發生器仿真程序(正弦波 三角波等可調)
里面有代碼   有仿真

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include "PCF8591.h"
  2. #include "delay.h"


  3. sbit SCL=P2^1;  //串行時鐘輸入端  
  4. sbit SDA=P2^0;  //串行數據輸入端
  5. uchar flag=0;

  6. void start()//開始信號  
  7. {  
  8.     SDA=1;  
  9.     delay();  
  10.     SCL=1;  
  11.     delay();  
  12.     SDA=0;  
  13.     delay();  
  14. }  
  15.   
  16. void stop() //停止信號  
  17. {  
  18.     SDA=0;  
  19.     delay();  
  20.     SCL=1;  
  21.     delay();  
  22.     SDA=1;  
  23.     delay();  
  24. }  
  25.   
  26.   
  27. void respons()//應答    相當于一個智能的延時函數  
  28. {  
  29.     uchar i;  
  30.     SCL=1;  
  31.     delay();  
  32.     while((SDA==1)&&(i<250))  
  33.         i++;  
  34.     SCL=0;  
  35.     delay();  
  36. }  
  37.   
  38. void init() //初始化  
  39. {  
  40.     SDA=1;  
  41.     delay();  
  42.     SCL=1;  
  43.     delay();      
  44. }  
  45.   
  46. void write_byte(uchar date) //寫一字節數據  
  47. {  
  48.     uchar i,temp;  
  49.     temp=date;  
  50.     for(i=0;i<8;i++)  
  51.     {  
  52.         temp=temp<<1; //左移一位 移出的一位在CY中  
  53.         SCL=0;          //只有在scl=0時sda能變化值  
  54.         delay();  
  55.         SDA=CY;  
  56.         delay();  
  57.         SCL=1;  
  58.         delay();         
  59.     }     
  60.     SCL=0;  
  61.     delay();  
  62.     SDA=1;  
  63.     delay();  
  64. }  
  65.   
  66.   
  67.   
  68. void write_add(uchar control,uchar date)  
  69. {  
  70.     start();  
  71.     write_byte(PCF8591);    //10010000  前四位固定 接下來三位全部被接地了 所以都是0 最后一位是寫 所以為低電平  
  72.     respons();  
  73.     write_byte(control);  
  74.     respons();  
  75.     write_byte(date);  
  76.     respons();  
  77.     stop();  
  78.   
  79. }  
復制代碼
  1. #include "wave.h"  
  2. #include "PCF8591.h"
  3. #include "delay.h"


  4. uchar time1;
  5. uchar a,range=100;  
  6. void  triangular(void)        //三角波
  7.    {
  8.         write_add(0x40,a);  
  9.         delay_1ms(time1);  
  10.         a++;  
  11.         if(a>range)
  12.                 while(a>0)  
  13.         {       
  14.                         a--;
  15.                         write_add(0x40,a);  
  16.                         delay_1ms(time1);
  17.                 }
  18.        
  19.                          
  20.   }

  21.   void  triangular1(void)//鋸齒波
  22.    {
  23.         write_add(0x40,a);  
  24.         delay_1ms(time1);  
  25.         a++;  
  26.         if(a>range)  
  27.             a=0;
  28.   }
  29.   void square(void)           //方波
  30. {
  31.         a=range;
  32.                   write_add(0x40,a);
  33.         delay_1ms(time1);
  34.                 a=0;
  35.                   write_add(0x40,a);
  36.         delay_1ms(time1);
  37. }
復制代碼


所有資料51hei提供下載:
波形發生器protues仿真 PCF8591仿真源程序 正弦波 三角波等可調.zip (123.62 KB, 下載次數: 469)



作者: songzhy    時間: 2019-4-18 06:17
謝謝分享學習
作者: chen1269365972    時間: 2019-4-18 10:47
謝謝分享
作者: 喲喲喲哈哈    時間: 2019-4-18 19:23
優秀優秀
作者: 11vs12    時間: 2019-4-19 14:08
謝謝分享
作者: ywdmas    時間: 2019-6-5 12:17
這個是怎么操作的

作者: ywdmas    時間: 2019-6-5 12:45
怎么操作的
作者: jjue@foxmail.co    時間: 2019-6-6 15:27
有沒有輸出正弦波的程序???
作者: yp120310    時間: 2019-6-10 18:45
jjue@foxmail.co 發表于 2019-6-6 15:27
有沒有輸出正弦波的程序???

有  只輸出正弦波的話 可用單片機+PCF8591再加一些外部電路即可  外部電路就是低通濾波這類
作者: yp120310    時間: 2019-6-10 18:46
ywdmas 發表于 2019-6-5 12:17
這個是怎么操作的

什么怎么操作  能問的更加有目的性一點么?

作者: xrdzxcvbnm    時間: 2019-6-19 09:01
這里面protues仿真沒有
作者: xrdzxcvbnm    時間: 2019-6-19 11:37
xrdzxcvbnm 發表于 2019-6-19 09:01
這里面protues仿真沒有

看錯了,有仿真,謝謝了,
作者: xrdzxcvbnm    時間: 2019-6-24 23:16
里面仿真沒正弦波三角波,只有一個方波
作者: 威龍1410    時間: 2019-10-12 16:07
樓主厲害
請問樓主,想要產生鋸齒波,應該怎么寫代碼?
作者: 明明如此    時間: 2019-11-5 08:22
怎么沒人分享紅外密碼鎖的教程啊
作者: chen1125    時間: 2019-12-7 14:57
謝謝分享,很有用處!
作者: chen1125    時間: 2019-12-7 14:59
樓主可以回復下嗎,這個產生正弦波,需要外接放大電路嗎,程序該怎么寫
作者: Sweet888    時間: 2019-12-8 15:17
仿真 在哪里?
作者: Sweet888    時間: 2019-12-8 15:26
xrdzxcvbnm 發表于 2019-6-19 11:37
看錯了,有仿真,謝謝了,

在哪里呀 麻煩告知一下啊謝謝
作者: huangjian123    時間: 2020-6-23 02:00
樓主厲害,想問一下鋸齒波怎么編寫,
作者: zxcvbnmqqq    時間: 2020-6-23 18:20
優秀,仿真里面函數是不是不全
作者: 905325258    時間: 2020-7-1 15:57
里面有說明嗎,代碼的之類的

作者: 青花魚121    時間: 2020-12-26 22:35
有沒有輸出正弦波的程序???
作者: 已飛的鷹    時間: 2021-5-28 11:47
把按鍵定義去掉了,仿真不太方便,不過能用




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1