标题: 单片机+PCF8591波形触发器 源程序+Proteus仿真 [打印本页]

作者: jone1992    时间: 2020-6-15 15:50
标题: 单片机+PCF8591波形触发器 源程序+Proteus仿真
波形触发器:
      做了一个波形触发器,可以三角波,方波、正弦波。可以通过按键调解频率占空比,通过外部ad输入幅值,通过lcd显示波形。通过按键切换。

包括代码工程和仿真工程 在附件的压缩包里。

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


单片机源程序如下:
  1. #include "wave.h"  
  2. #include "PCF8591.h"
  3. #include "delay.h"


  4. int time1=5;   // 这个time1控制的是频率
  5. int a,range=100;    //  这个range控制的是幅值
  6. float zhanfubi=50 ;
  7. void  triangular(void)        //三角波
  8.    {
  9.         write_add(0x40,a);  
  10.         delay_1ms(time1);  
  11.         a++;  
  12.         if(a>range)
  13.                 while(a>0)  
  14.         {       
  15.                         a--;
  16.                         write_add(0x40,a);  
  17.                         delay_1ms(time1);
  18.                 }
  19.        
  20.                          
  21.   }

  22.   void  triangular1(void)//锯齿波
  23.    {
  24.         write_add(0x40,a);  
  25.         delay_1ms(time1);  
  26.         a++;  
  27.         if(a>range)  
  28.             a=0;
  29.   }
  30.    
  31.   
  32.          float timeH ;
  33.         float timeL;
  34.   void square(void)           //方波
  35. {
  36.     timeH = zhanfubi*0.01*time1;
  37.     timeL = time1-timeH;     
  38.          
  39.         a=range;
  40.                   write_add(0x40,a);
  41.         delay_1ms(timeH);
  42.                 a=0;
  43.                   write_add(0x40,a);
  44.         delay_1ms(timeL);
  45. }
复制代码
波形显示好像不正常,求大神指导,下面是程序和仿真
波形发生器protues仿真_keil工程.zip (237.14 KB, 下载次数: 115)



作者: jone1992    时间: 2020-6-16 22:33
波形正常啊,先按切换波形按键为三角波,然后事矩形波,然后是正选波,调节示波器就行,
作者: 青花鱼121    时间: 2020-12-27 11:46
没问题啊

作者: plb1213    时间: 2021-11-29 15:26
用proteus 7.8是正常的,但proteus 8.9会变成杂波
作者: 常乐天君    时间: 2023-11-29 15:53
plb1213 发表于 2021-11-29 15:26
用proteus 7.8是正常的,但proteus 8.9会变成杂波

为什么?怎么改啊?大佬
作者: 常乐天君    时间: 2023-12-6 16:46
常乐天君 发表于 2023-11-29 15:53
为什么?怎么改啊?大佬

三角波不对称,建议调整编码。
方波频率调大点。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1