找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2359|回复: 3
收起左侧

为什么这个程序可以使小灯由亮变暗,只是小灯亮和灭延时不同而已啊,好像改变了小...

[复制链接]
ID:81230 发表于 2015-10-30 20:14 | 显示全部楼层 |阅读模式
  1. #include<reg52.h>
  2. #define uint unsigned int

  3. sbit pwm=P1^0;
  4. uint cycle,high,low;

  5. void delay(uint t)
  6. {
  7.   while(t--);
  8. }
  9. void main()
  10. {
  11.         cycle=800;
  12.         while(1)
  13.         {
  14.                 for(high=1;high<=cycle;high++)
  15.                 {
  16.                         pwm=1;
  17.                         delay(high);
  18.                         low=cycle-high;
  19.                         pwm=0;
  20.                         delay(low);               
  21.                 }
  22.                 high=1;
  23.                 delay(60000);
  24.         }
  25. }
复制代码
      为什么这个程序可以使小灯由亮变暗,只是小灯亮和灭延时不同而已啊,好像改变了小灯的电压一样,哪位大神知道能给讲讲,谢谢啦。
回复

使用道具 举报

ID:93478 发表于 2015-10-31 10:53 来自手机 | 显示全部楼层
这个就和数码管显示一个样子,延迟越短,它工作时间你看不到,顺间接通,瞬间用,就出现这个问题了,你在仿真上面你就可以看到,其实是一直在亮,可是你却看不到
回复

使用道具 举报

ID:79544 发表于 2015-10-31 11:13 | 显示全部楼层
就是改变输出电压的时间长和短,输出高电平时间长久亮的强
回复

使用道具 举报

ID:95434 发表于 2015-11-11 20:24 | 显示全部楼层
相当于PWM控制
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表