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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11132|回復: 23
打印 上一主題 下一主題
收起左側

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)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:500108 發表于 2019-4-18 06:17 | 只看該作者
謝謝分享學習
回復

使用道具 舉報

板凳
ID:272767 發表于 2019-4-18 10:47 | 只看該作者
謝謝分享
回復

使用道具 舉報

地板
ID:515752 發表于 2019-4-18 19:23 | 只看該作者
優秀優秀
回復

使用道具 舉報

5#
ID:494774 發表于 2019-4-19 14:08 | 只看該作者
謝謝分享
回復

使用道具 舉報

6#
ID:555406 發表于 2019-6-5 12:17 | 只看該作者
這個是怎么操作的
回復

使用道具 舉報

7#
ID:555406 發表于 2019-6-5 12:45 | 只看該作者
怎么操作的
回復

使用道具 舉報

8#
ID:424041 發表于 2019-6-6 15:27 | 只看該作者
有沒有輸出正弦波的程序???
回復

使用道具 舉報

9#
ID:422531 發表于 2019-6-10 18:45 | 只看該作者
jjue@foxmail.co 發表于 2019-6-6 15:27
有沒有輸出正弦波的程序???

有  只輸出正弦波的話 可用單片機+PCF8591再加一些外部電路即可  外部電路就是低通濾波這類
回復

使用道具 舉報

10#
ID:422531 發表于 2019-6-10 18:46 | 只看該作者
ywdmas 發表于 2019-6-5 12:17
這個是怎么操作的

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

使用道具 舉報

11#
ID:565726 發表于 2019-6-19 09:01 來自觸屏版 | 只看該作者
這里面protues仿真沒有
回復

使用道具 舉報

12#
ID:565726 發表于 2019-6-19 11:37 來自觸屏版 | 只看該作者
xrdzxcvbnm 發表于 2019-6-19 09:01
這里面protues仿真沒有

看錯了,有仿真,謝謝了,
回復

使用道具 舉報

13#
ID:565726 發表于 2019-6-24 23:16 來自觸屏版 | 只看該作者
里面仿真沒正弦波三角波,只有一個方波
回復

使用道具 舉報

14#
ID:425175 發表于 2019-10-12 16:07 | 只看該作者
樓主厲害
請問樓主,想要產生鋸齒波,應該怎么寫代碼?
回復

使用道具 舉報

15#
ID:634666 發表于 2019-11-5 08:22 來自觸屏版 | 只看該作者
怎么沒人分享紅外密碼鎖的教程啊
回復

使用道具 舉報

16#
ID:657626 發表于 2019-12-7 14:57 來自觸屏版 | 只看該作者
謝謝分享,很有用處!
回復

使用道具 舉報

17#
ID:657626 發表于 2019-12-7 14:59 來自觸屏版 | 只看該作者
樓主可以回復下嗎,這個產生正弦波,需要外接放大電路嗎,程序該怎么寫
回復

使用道具 舉報

18#
ID:649179 發表于 2019-12-8 15:17 | 只看該作者
仿真 在哪里?
回復

使用道具 舉報

19#
ID:649179 發表于 2019-12-8 15:26 | 只看該作者
xrdzxcvbnm 發表于 2019-6-19 11:37
看錯了,有仿真,謝謝了,

在哪里呀 麻煩告知一下啊謝謝
回復

使用道具 舉報

20#
ID:787260 發表于 2020-6-23 02:00 | 只看該作者
樓主厲害,想問一下鋸齒波怎么編寫,
回復

使用道具 舉報

21#
ID:787594 發表于 2020-6-23 18:20 來自觸屏版 | 只看該作者
優秀,仿真里面函數是不是不全
回復

使用道具 舉報

22#
ID:794069 發表于 2020-7-1 15:57 | 只看該作者
里面有說明嗎,代碼的之類的
回復

使用道具 舉報

23#
ID:868488 發表于 2020-12-26 22:35 | 只看該作者
有沒有輸出正弦波的程序???
回復

使用道具 舉報

24#
ID:321836 發表于 2021-5-28 11:47 | 只看該作者
把按鍵定義去掉了,仿真不太方便,不過能用
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人高清视频 | 在线一级片 | 毛片久久久 | 国产精品一区二区在线 | 国产日韩欧美精品一区二区 | 特级做a爰片毛片免费看108 | 亚洲一区二区在线播放 | 日日夜夜免费精品 | 欧美精| 在线观看特色大片免费网站 | 美女视频一区二区三区 | 97视频在线观看免费 | 区一区二区三在线观看 | 午夜影院在线观看免费 | 中文字幕视频在线 | av毛片| 精品欧美一区二区在线观看欧美熟 | 亚洲一区二区 | 一区二区中文字幕 | 亚洲精品二区 | 99在线免费观看 | 精品一区二区三区四区五区 | 成人国产精品久久 | 欧美一级免费片 | 精品一区二区三区在线观看 | 精品国产一二三区 | 成人精品一区 | v亚洲 | 中文字幕亚洲欧美日韩在线不卡 | 中文字幕专区 | 久久国产精品一区二区三区 | 91麻豆精品国产91久久久久久 | 欧美5区| 99这里只有精品视频 | 日韩欧美一级片 | 精品欧美一区二区三区久久久 | 全部免费毛片在线播放网站 | 希岛爱理在线 | 欧美日韩一二区 | 久久成 | 日韩欧美在线视频 |