新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 按鍵控制單片機改變流水燈速度

        按鍵控制單片機改變流水燈速度

        作者: 時間:2012-11-10 來源:網絡 收藏
        /*
        程序效果:有三個按鍵,按下其中任意一個流水燈的速度改變
        */
        #includereg52.h> //52系列的頭文件
        #define uchar unsigned char//宏定義
        #define uint unsigned int
        uchar count=40,flag=0; //定義剛開始的流水燈的速度,后一個為標志變量
        void main()
        {
          uchar i=0;//定義局部變量
          EA=1; //打開總中斷
          ET0=1; //打開定時器
          TR0=1; //啟動定時器
          TH0=(65536-50000)/256; //裝初值
          TL0=(65536-50000)%256;
          P2=0xfe; //點亮第一個數碼管,為下次循環做準備
          while(1)
          {
            if(flag) //flag被置位
            {
              flag=0;//清零,為下次做準備
               P2=~P2; //取反
              P2=1; //左移一位
              P2=~P2; //取反
               i++;
               if(i==8) //移到第八個數碼管,則從新裝初值
              {
                i=0;
                P2=0xfe;
              }
             }
            P0=0xf0; //賦初值
             if((P00xf0)!=0xf0) //判斷是否有按鍵按下
            {
              if(P0==0x70) //按下第一個按鍵
                count=60; //給count從新賦值
               if(P0==0xb0)
                count=20;
              if(P0==0xd0)
                 count=10;
             }
          }
        }
        void time0() interrupt 1 //定時器0
        {
          static uchar cnt; //定義靜態變量
          TH0=(65536-50000)/256;
          TL0=(65536-50000)%256;
          cnt++; //計數
          if(cnt==count)
           {
          cnt=0; //清零
          flag=1; //置標志位
           }
        }

        萬能遙控器相關文章:萬能遙控器代碼


        加速度計相關文章:加速度計原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 彭州市| 安宁市| 裕民县| 南投县| 长治县| 墨竹工卡县| 多伦县| 县级市| 安徽省| 乌恰县| 海兴县| 安岳县| 闸北区| 仙居县| 兴城市| 津市市| 桂阳县| 新兴县| 汨罗市| 仙居县| 娱乐| 揭阳市| 信丰县| 邯郸市| 伽师县| 汝阳县| 娱乐| 郴州市| 公主岭市| 嘉峪关市| 阳谷县| 江华| 南乐县| 贡嘎县| 明星| 齐河县| 浏阳市| 屏山县| 奎屯市| 肃南| 北京市|