找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9842|回复: 16
打印 上一主题 下一主题
收起左侧

按键PWM控制led亮度单片机源程序

  [复制链接]
跳转到指定楼层
楼主
ID:268053 发表于 2018-4-30 17:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机源程序如下:
  1. //程序名:单片机实验仪配套程序--pwm控制led亮度
  2. //电路简介:1、P0接J1的led共阳端;
  3. //          2、P2.6接J14单键键盘的6,作为增加亮度按钮
  4. //          3、P2.7接J14单键键盘的7,作为减小亮度按钮
  5. //saxmcu  20080518  

  6. #include <reg51.h>

  7. #define out P0
  8. sbit INC=P2^6;     //SW1
  9. sbit DEC=P2^7;     //sw2
  10. //-----------------------------------------------------------------
  11. void Init(void)
  12. {        
  13.         //定时器设置
  14.         TMOD=0x22;  //T1=T0=定时方式2自动重装
  15.         TH1=0;     //脉宽宽度
  16.         TL1=80;
  17.         TH0=55;      //频率调节=0频率最低
  18.         TL0=0;   
  19.       TR0=1;        //先启动T0定时
  20.         ET1=1;
  21.         ET0=1;   
  22.         EA=1;       //总中断开
  23. }
  24. //定时器0中断
  25. //频率********************************************
  26. void Timer0(void) interrupt 1
  27. {
  28.         out=0xff;      //关led
  29.         TL0=0;
  30.         TR1=1;         //打开脉宽定时
  31. }
  32. //定时器1中断
  33. //脉宽********************************************
  34. void Timer1(void) interrupt 3
  35. {
  36.         out=~out;      //开led
  37.         TR1=0;         //脉宽调节结束
  38. }   
  39. //消抖延时
  40. delay()
  41. {
  42.   unsigned int i;
  43.   for(i=0;i<2000;i++);
  44. }
  45. //**********************************
  46. main()
  47. {
  48.     Init();
  49.     while(1)
  50.      {
  51.        INC=1;DEC=1;
  52.        if (INC==0)
  53.           {delay();
  54.            if (INC==0)  
  55.                {
  56.                 if (TH1<200) TH1++;
  57.                }
  58.           }
  59.        else if (DEC==0)
  60.           {delay();
  61.            if (DEC==0)  
  62.                {
  63.                 if (TH1>0) TH1--;
  64.                }
  65.           }
  66.      }
  67.    
  68. }
复制代码

所有资料51hei提供下载:
按键PWM控制led亮度-c.rar (15.43 KB, 下载次数: 211)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏13 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:135735 发表于 2018-8-10 14:34 | 只看该作者
很好,正好要用到,学习学习
回复

使用道具 举报

板凳
ID:290306 发表于 2019-1-13 22:35 | 只看该作者
有帮助!谢谢辣~
回复

使用道具 举报

地板
ID:470528 发表于 2019-1-19 13:50 来自手机 | 只看该作者
非常实用的资料多谢楼主
回复

使用道具 举报

5#
ID:451559 发表于 2019-3-20 21:37 | 只看该作者
老师你好请教一下,我用了这个程序为什么LED不能全灭呢
回复

使用道具 举报

6#
ID:308951 发表于 2019-3-21 08:30 | 只看该作者
这个例程很简单的 ,也可以控制延时函数的时间进行PWM的占空比变化 如果去用单片机做一个遥控车你就会更深刻明白占空比了
回复

使用道具 举报

7#
ID:451559 发表于 2019-3-21 21:11 | 只看该作者
看来是要好好学习,很简单的也变通不了,加油
回复

使用道具 举报

8#
ID:511994 发表于 2019-4-14 21:09 | 只看该作者
请问有没有仿真图
回复

使用道具 举报

9#
ID:525654 发表于 2019-5-1 17:44 来自手机 | 只看该作者
我为什么看不了资料
回复

使用道具 举报

10#
ID:540682 发表于 2019-5-17 15:35 来自手机 | 只看该作者
借来看看,多谢
回复

使用道具 举报

11#
ID:63317 发表于 2019-7-15 05:19 | 只看该作者

非常实用的资料多谢楼主
回复

使用道具 举报

12#
ID:584449 发表于 2019-7-15 15:04 | 只看该作者
跟着大家后面慢慢学起来,感谢分享
回复

使用道具 举报

13#
ID:585365 发表于 2019-8-20 21:05 | 只看该作者
没有看明白,没有看到按键程序,是怎么判断的
回复

使用道具 举报

14#
ID:495949 发表于 2019-9-9 18:15 | 只看该作者
楼主,您好。师傅您知道怎么样才能实现单独按键单独变化,连续按键持续变化吗?希望能给点思路,最近被这个问题搞得有点焦头烂额。万分感谢
回复

使用道具 举报

15#
ID:611625 发表于 2019-9-21 20:49 | 只看该作者
谢谢!!
回复

使用道具 举报

16#
ID:648706 发表于 2019-11-24 23:20 | 只看该作者
这个是用到占空比的原理吗?
回复

使用道具 举报

17#
ID:468294 发表于 2020-3-5 17:27 | 只看该作者
非常不错,感谢楼主分享!
最近初学PIC单片机,能改成适配PIC单处机吗?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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