标题: 单片机按键控制LED灯十种亮度显示的程序 [打印本页]

作者: 51黑z    时间: 2016-9-3 18:21
标题: 单片机按键控制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.           }
复制代码




作者: 小白帆    时间: 2018-3-22 16:59
为什么我用你的程序,在protues上仿真,没有出现你说的现象呀,一直在闪烁,没有亮度的变化
作者: angle丶皮皮虾    时间: 2018-3-23 17:18
多谢楼主的分享嗷,初学
作者: WF177123456    时间: 2019-8-10 18:33
程序变量貌似没有定义好

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

程序截图

程序截图





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1