#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)小结
我帮你小结一下吧?百度知道是用于交流进步的,不是无偿提供科研成果的。


