找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机按键控制LED灯十种亮度显示的程序

[复制链接]
跳转到指定楼层
楼主



  1.     #include<stc12c2052ad.h>//定义头文件 51单片机就用#include<at89c51.h>

  2.     sbit d1=P1^7;、、  //定义LED灯1

  3.     sbit d2=P1^6;  //定义LED灯2

  4.     sbit key1=P3^0;  //定义按键灯

  5.     void delay(unsigned int a){  //延时程序

  6.     unsigned int i;

  7.     while( a-- != 0){

  8.          for(i = 0; i < 100; i++);

  9.     }

  10.     }
  11.     void main(){

  12.     while(1){

  13.     unsigned int a,b,c,d;

  14.           if(key1==0)d++;      //按键判断
  15.           switch(d)       //按键信息比较

  16.           {

  17.            case 1: b=9;;a=1;break;
  18.     case 2: b=8;;a=2;break;
  19.     case 3: b=7;;a=3;break;
  20.     case 4: b=6;;a=4;break;
  21.     case 5: b=5;;a=5;break;
  22.     case 6: b=4;;a=6;break;
  23.     case 7: b=3;;a=7;break;
  24.     case 8: b=2;;a=8;break;
  25.     case 9: b=1;;a=9;break;

  26.     }

  27.     while(key1==0);  判//判断按键是否松开

  28.     if(d==10)d=0;      //按键9种亮度判断,是否是第9种,如果是,则d=0

  29.       for(c=0;c<2;c++){  //亮度模式循环显示

  30.            d1=0;

  31.            d2=1;

  32.            delay(a);

  33.            d1=1;

  34.            d2=0;

  35.            delay(b);

  36.            }

  37.             }

  38.           }
复制代码



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

使用道具 举报

沙发
ID:288202 发表于 2018-3-22 16:59 | 只看该作者
为什么我用你的程序,在protues上仿真,没有出现你说的现象呀,一直在闪烁,没有亮度的变化
回复

使用道具 举报

板凳
ID:295779 发表于 2018-3-23 17:18 来自手机 | 只看该作者
多谢楼主的分享嗷,初学
回复

使用道具 举报

地板
ID:588229 发表于 2019-8-10 18:33 | 只看该作者
程序变量貌似没有定义好

360截图20190810183004165.jpg (52.3 KB, 下载次数: 26)

程序截图

程序截图
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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