1. #include<reg51.h> 2. #define uint unsigned int//定义uint为无符号整形 3. #define uchar unsigned char//宏定义,同上 4. 5. sbit PWM=P2^0;// P2.0输出pwm 6. uchar time; // 定义占空比的变量 7. 8. void main() 9. { 10. TMOD=0x01;//定时器0工作方式1 11. TH0=? 这两个初值该怎样设置 12. TL0=? 13. EA=1;//开总中断 14. ET0=1;//开定时器0中断 15. TR0=1;//启动定时器0 16. while(1) 17. { 18. } 19. } 20. 21. void tim0() interrupt 1 22. { 23. TR0=0;//赋初值时,关闭定时器 24. TH0=0xff;//(65536-100)/256;//赋初值定时 25. TL0=0xf7;//(65536-100)%256;//0.01ms 26. TR0=1;//打开定时器 27. 28. time++; 29. if(time>=100) //1khz 30. time=0; 31. if(time<=30) //占空比%30,可改 32. PWM=1; 33. else PWM=0; 34. }
|