谁能帮我写一个PIC单片机 用定时器 输出PWM调光C程序!!急急急!单片机可以是PIC16F87

谁能帮我写一个PIC单片机 用定时器 输出PWM调光C程序!!急急急!单片机可以是PIC16F877A或者其他的都可以!但是只能用定时器,不要用本来自带的PWM模块,因为最终我要用没有自带PWM的单片机来调光!最好是用PIC10FXXX系列的,大神江湖救急!!!要用C语言!!一个按键调光!!

这是我使用STC89C52单片机写的PWM信号发生器程序


原理很简单,就是利用延时程序来控制端口的状态


改变H的数值,就改变了占空比


我这个使用六个按键,按下不同的按键,输出不同的占空比


/***************************************************************************/

#include <REG52.h>//通用89C52头文件


sbit D=P2^0 ; //端口定义

int H=5;

/***************************************************************************/

void YS( char s)

{

     char k; k=9+s;

     for(;k>0;k--);

}

/***************************************************************************/

void main(void)//主函数

{

     while(1)

     {

         D=0; YS(H); D=1; YS(10-H);

        

         if(P3==0x7f){H=0;}

         if(P3==0xBf){H=2;}

         if(P3==0xDf){H=4;}

         if(P3==0xEf){H=6;}

         if(P3==0xF7){H=8;}

         if(P3==0xFb){H=10;}

     }

}

/***************************************************************************/

追问

请问一下你 它周期跟频率那些怎么算呢?

追答

这个怎么算的我还真不知道,没研究理论,我是自学的


最简单的方法就是利用万用表实际测量,单片机晶振11.0592 


我这个程序输出频率约为3千赫,方波,调节的是占空比

温馨提示:答案为网友推荐,仅供参考
相似回答