利用51单片机产生一个频率为10HZ的矩形波

核心提示#include?"reg51.h"#define? uchar? unsigned? charsbit? PWM?=?P2^0;uchar? pwm_zq?=?200;? //PWM周期? 10HZ是100ms,500us*200?=?1

#include?"reg51.h"

#define? uchar? unsigned? char

sbit? PWM?=?P2^0;

uchar? pwm_zq?=?200;? //PWM周期? 10HZ是100ms,500us*200?=?100ms

uchar? pwmH_i?=?0;

uchar? pwm_i?=?0;

void?initTimer(void)

{

TMOD=0x1;? //500us定时

TH0=0xfe;

TL0=0xc;

}

void?main(void)

{

initTimer();

TR0=1;

ET0=1;

EA=1;

pwmH_i?=?100;

while(1)

{

;

}

}

void?timer0(void)?interrupt?1

{

TH0=0xfe;

TL0=0xc;

if(pwm_i<pwm_zq)

{

pwm_i++;

if(pwm_i>=pwmH_i)

{

? PWM?=?0;

}

}

else

{

PWM?=?1;?

pwm_i?=?0;

}

}

//pwmH_i越大,占空比越大。你自己根据实际情况设置。

1)芯片工作原理及特点,百度百科搜“555时基电路”。

2)电路设计原理分为以下几个部分

a、产生方波,百度文库搜“555时基电路”,自己选一个

b、产生三角波,搜“积分电路”,将方波输出接到积分电路输入,积分电路输出就是三角波。自己调节一下RC参数,RC参数过大,三角波的峰值会过小,RC参数过小,三角波会削波。

c、三角波经低通滤波器滤波得到的不是标准的正弦波,标准正弦波可通过高Q值得RLC选频网络实现,不过意义不大,不标准就不标准吧,你的作业可能没有要求到这个层次。

3)原理图,有了上述的内容,自己拼也可以拼出来了。还不行,就好好学吧?这里不可能给你提供实物,实物图应与实物相符吧?怎么提供呢?

4)小结

我帮你小结一下吧?百度知道是用于交流进步的,不是无偿提供科研成果的。

 
友情链接
鄂ICP备19019357号-22