51单片机PWM实验

51单片机PWM实验

ID:39754360

大小:75.78 KB

页数:3页

时间:2019-07-10

51单片机PWM实验_第1页
51单片机PWM实验_第2页
51单片机PWM实验_第3页
资源描述:

《51单片机PWM实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、假如说,第一个灯肯定比第二个灯亮的话,可以直接把8个LED灯的限流电阻弄成不同阻值的。就像楼上说的那样。但如果想随便变换不同的灯都能有不同的亮度话,硬件电路可以不变,限流电阻都一样。可以在程序里这样写:首先,例如你要最亮的灯先点亮,隔几十微秒后点亮第二个灯,再相隔同样时间点亮第三个灯……依次类推间隔一定时间点亮八个灯。但间隔时间不要太大,超过十几毫秒就不行了。然后再间隔相同的时间一次性把灯全关了,再间隔几十微秒回到上面的状态依次点亮灯。……一直这样循环。这样的话因为人的视力有一定的滞回效果,只要间隔时间不大,你就能看到八个灯不是

2、闪的,而是同时亮,但亮度又不一样。这是单片机设计中,PWM控制的思路。LEDPWM调光C程序#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义sbitLED1=P2^0;sbitLED=P2^1;//定义LED灯,通过LED显示调光效果sbitLED2=P2^2;unsignedcharCYCLE;//定义周期该数字X基准定时时间如果是10则周期是10x0.1msunsignedcharPWM_ON;//定义高电平时间/******************************

3、************************************//*延时函数&nbs/******************************************************************/voiddelay(unsignedintcnt){while(--cnt);}/******************************************************************//*主函数*//************************************

4、******************************/voidmain(){bitFlag;TMOD

5、=0x01;//定时器设置0.1msin12McrystalTH0=(65536-100)/256;TL0=(65536-100)%256;//定时0.1mSIE=0x82;//打开中断TR0=1;CYCLE=50;//时间可以调整这个是10调整8位PWM就是256步while(!Flag){delay(20000);//延时时间,从一个亮度到下一个亮度的间隔时间,速度快就能看到连续效果PWM_ON++;//这个使用较长

6、延时,以便能看清楚变化过程if(PWM_ON==CYCLE){//这个里可以添加其他程序如到最亮时候控制设备Flag=1;}}while(Flag)//亮度递减同上,是个相反的过程{delay(20000);//延迟时间为20000*0.4=8000usPWM_ON--;if(PWM_ON==0){Flag=0;}}}/******************************************************************//*定时器中断函数*//***************************

7、***************************************/voidtim(void)interrupt1using1{staticunsignedcharcount;TH0=(65536-100)/256;TL0=(65536-100)%256;//定时0.1mSif(count==PWM_ON){LED1=1;LED=1;//灯灭LED2=1;}count++;if(count==CYCLE){count=0;if(PWM_ON!=0)//如果开启时间是0保持原来状态{LED1=0;LED=0;//灯亮L

8、ED2=0;}}}PWM意思是占空比调节!你上面的程序简单的讲就是通过中断系统定时控制输出!然后主函数实现高低电平的时间控制PWM_ON是亮度函数CYCLE是亮度时间控制!你如果想完全了解上面的程序的意思还是自己好好学习一下单片机编程!再说别人的程序只是参考参考就行了!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。