波形触发器:
做了一个波形触发器,可以三角波,方波、正弦波。可以通过按键调解频率占空比,通过外部ad输入幅值,通过lcd显示波形。通过按键切换。
包括代码工程和仿真工程 在附件的压缩包里。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include "wave.h"
- #include "PCF8591.h"
- #include "delay.h"
- int time1=5; // 这个time1控制的是频率
- int a,range=100; // 这个range控制的是幅值
- float zhanfubi=50 ;
- void triangular(void) //三角波
- {
- write_add(0x40,a);
- delay_1ms(time1);
- a++;
- if(a>range)
- while(a>0)
- {
- a--;
- write_add(0x40,a);
- delay_1ms(time1);
- }
-
-
- }
- void triangular1(void)//锯齿波
- {
- write_add(0x40,a);
- delay_1ms(time1);
- a++;
- if(a>range)
- a=0;
- }
-
-
- float timeH ;
- float timeL;
- void square(void) //方波
- {
- timeH = zhanfubi*0.01*time1;
- timeL = time1-timeH;
-
- a=range;
- write_add(0x40,a);
- delay_1ms(timeH);
- a=0;
- write_add(0x40,a);
- delay_1ms(timeL);
- }
复制代码 波形显示好像不正常,求大神指导,下面是程序和仿真
波形发生器protues仿真_keil工程.zip
(237.14 KB, 下载次数: 115)
|