机电之家资源网
单片机首页|单片机基础|单片机应用|单片机开发|单片机文案|软件资料下载|音响制作|电路图下载 |嵌入式开发
培训信息
赞助商
pic16f54可调LED亮度程序
pic16f54可调LED亮度程序
 更新时间:2009-12-10 13:37:15  点击数:0
【字体: 字体颜色
按钮控制LED亮度 芯片PIC16F54 晶振4M
设计 何中华 2009.6 .30

*/
#include<pic.h>

#define uchar  unsigned char
#define uint   unsigned int

__CONFIG (XT&WDTEN&CP) ;

#define LED  RB1
 
#define  K1    RB3
#define  K2    RB2
 
#define  KEY   PORTB 
#define  keyi  0B1100

 uchar LED_pc,h,l,LEDH,LEDL;
 
static  bit  HL_bit;

static volatile  bit TM_RBit @ ((unsigned)&TMR0*8)+5;

void TMR0_interrupt(void);
 
void TMR0_interrupt()
{  if(TM_RBit)
    { TM_RBit=0;
      if(HL_bit){if(h>0)h--; }
      else      {if(l>0)l--; }
    }
   else return ;  
}

 

void main()
  { uchar i;
    OPTION=0B00000000; // 预分频器分配给定时器0
    TRISB=0B1101;
    LEDH= h=0;
    LEDL=l=255;
      while(1){ CLRWDT();
                TMR0_interrupt();
                if(HL_bit){if(h>0)LED=1;else {l=LEDL;HL_bit=0;}}
                else      {if(l>0)LED=0;else {h=LEDH;HL_bit=1;}}

              if((KEY&keyi)!=keyi)//按健扫描
                {i--;
                 if((i==0) )
                    {
                     if(!K1&&LEDH<255){ LEDH++;LEDL--;}
                     if(!K2&&LEDL<255){ LEDH--;LEDL++;}
                    }
                }
              else i=0;//按健扫描计数器清0
         }
  
  }
网友在写这个功能的程序遇到的一些问题,所以写了这个小程序,而且在板子上运行通过。

  • 上一篇: PIC单片机的bank和PC的出错问题
  • 下一篇: 没有了
  • 发表评论   告诉好友   打印此文  收藏此页  关闭窗口  返回顶部
    热点文章
     
    推荐文章
     
    相关文章
    网友评论:(只显示最新5条。)
    关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 机电之家 | 会员助手 | 免费链接

    点击这里给我发消息66821730(技术支持)点击这里给我发消息66821730(广告投放) 点击这里给我发消息41031197(编辑) 点击这里给我发消息58733127(审核)
    本站提供的机电设备,机电供求等信息由机电企业自行提供,该企业负责信息内容的真实性、准确性和合法性。
    机电之家对此不承担任何保证责任,有侵犯您利益的地方请联系机电之家,机电之家将及时作出处理。
    Copyright 2007 机电之家 Inc All Rights Reserved.机电之家-由机电一体化网更名-声明
    电话:0571-87774297 传真:0571-87774298
    杭州滨兴科技有限公司提供技术支持

    主办:杭州市高新区(滨江)机电一体化学会
    中国行业电子商务100强网站

    网站经营许可证:浙B2-20080178-1