在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用51單片機做的小旋磁美容儀

            用51單片機做的小旋磁美容儀

            作者: 時間:2012-12-01 來源:網(wǎng)絡(luò) 收藏

            //以下為按鍵檢測子程序
            void key(void)
            {
            uchar num,num1=0;
            uint a;
            P1=0xfc;
            num=P1;
            if(num!=0xfc)
            { fmqbit=0; //檢測按鍵有輸入鍵值時使蜂鳴器鳴叫
            if(openbit!=0)
            {

            for(a=17;a>0;a--)
            {
            display(time,hotled,xuanled);
            }
            }
            else
            {
            for(a=200;a>0;a--)
            {
            duan=0xfe; //此處隨便加入值
            shila=0;
            gela=0;
            hotla=0;
            xuanla=0;//打開四路數(shù)碼管位顯示控制
            delay(1);
            }
            hotla=1;
            shila=1;
            gela=1;
            xuanla=1;//關(guān)閉四路數(shù)碼管位顯示控制
            }
            P1=0xfc;
            num=P1;
            if(num!=0xfc)
            { P1=0xfe;
            num=P1;
            if(num!=0xfe)
            {
            switch(num)
            {
            case 0xfa: num1=7; break;//旋轉(zhuǎn)減
            case 0xf6: num1=5; break;//hot 減
            case 0xee: num1=3; break;//時間減
            case 0xde:
            if(openbit!=0)
            {
            for(a=40;a>0;a--)
            display(time,hotled,xuanled);
            }
            else
            {
            for(a=400;a>0;a--)
            {
            duan=0xfe; //此處隨便加入值
            hotla=0;
            shila=0;
            gela=0;
            xuanla=0;//打開四路數(shù)碼管位顯示控制
            delay(2);
            }
            hotla=1;
            shila=1;
            gela=1;
            xuanla=1;//關(guān)閉四路數(shù)碼管位顯示控制
            }
            openbit=~openbit;//改變開關(guān)機標(biāo)志位
            default:break;
            }

            }
            else
            {
            P1=0xfd;
            num=P1;
            switch(num)
            {
            case 0xf9: num1=6; break;
            case 0xf5: num1=4; break;
            case 0xed: num1=2; break;
            default: break;
            } }
            if(openbit!=0)
            bianlian(num1);//開機即可改變相關(guān)變量值,條件為開機后使能 }
            } P1=0xfc;
            }//以下為定時0中斷程序,定時時間為50MS
            void time0_int(void) interrupt 1
            {
            TH0=0x3c;
            TL0=0xb0; //進入裝初值
            d++;
            fmq=~fmq;
            if(d%10==0)
            xsd=~xsd;
            if(d==1200)
            {
            d=0;
            if(time!=0)
            time--; //此處停機變量處理已OK了。
            else
            openbit=0;

            }
            }//以下為定時1中斷程序,定時時間為1000US
            void time1_int(void) interrupt 3
            {
            TH1=0xff;
            TL1=0xe0;//進入裝初值if(openbit!=0)
            {

            if(hot1)
            {
            hot1--;
            if(hot1==0)
            {
            hotoff1=hotoff;
            if(biaobit0!=0)
            hotout=0;
            else hotout=1;
            }
            }
            if(hotoff1)
            {
            hotoff1--;
            if(hotoff1==0)
            {
            hot1=hot;
            if(biaobit1!=0)
            hotout=1;
            else hotout=0;
            }
            } if(xuan1)
            {
            xuan1--;
            if(xuan1==0)
            {
            xuanoff1=xuanoff;
            if(biaobit2!=0)
            xuanout=0;
            else xuanout=1;
            }
            }

            if(xuanoff1)
            {
            xuanoff1--;
            if(xuanoff1==0)
            {
            xuan1=xuan;
            if(biaobit3!=0)
            xuanout=1;
            else xuanout=0;
            }
            }



            }
            }
            void main(void)
            {
            P1=0xfc;
            openbit=0;//使起始狀態(tài)為停機等待狀態(tài)
            TMOD=0x11; //定義定時器工作模式
            IP=0x08; //定時器1設(shè)置為最高中斷級別
            TH0=0x3c;
            TL0=0xb0; //進入裝初值
            TH1=0xff;
            TL1=0xe0;//進入裝初值
            ET0=1;
            ET1=1;
            EA=1; //定時中斷至此全部打開開始運作。
            while(1)
            {
            hotout=1;
            xuanout=1;//將輸出都置為0輸出狀態(tài),待機狀態(tài) TR0=0;
            TR1=0;//將返回的定時器全部關(guān)閉,避免不必要的誤動作
            duan=0xfe; //待機時顯示的筆段控制
            hotla=0;
            shila=0;
            gela=0;
            xuanla=0;//打開四路數(shù)碼管位顯示控制
            delay(1); //顯示維持時間設(shè)定
            hotla=1;
            shila=1;
            gela=1;
            xuanla=1;//關(guān)閉四路數(shù)碼管位顯示控制

            if(P1!=0xfc)
            fmqbit=0;
            else fmqbit=1; //對按鍵掃描進行檢測,得出判斷蜂鳴器的鳴叫結(jié)果。 key(); //按鍵檢測函數(shù)調(diào)用
            if(openbit!=0)
            {

            d=0; //秒鐘計時值置0狀態(tài)
            TR0=1;
            TR1=1;
            hot=0;
            hot1=hot;
            hotoff=t-hot;
            hotoff1=hotoff; //將熱控制的初值給予設(shè)定 xuan=0;
            xuan1=xuan;
            xuanoff=t-xuan;
            xuanoff1=xuanoff; //將旋轉(zhuǎn)控制的初值給予設(shè)定 biaobit0=0;
            biaobit1=1;
            biaobit2=0;
            biaobit3=1; hotled=0; //將熱輸出顯示值及狀態(tài)設(shè)置為0狀態(tài)
            xuanled=0; //旋轉(zhuǎn),效果同上 time=30; //時間初值設(shè)置為30分鐘整
            while(openbit!=0)
            {
            key(); //按鍵檢測函數(shù)
            if((time==0)(d>=1000))
            {fmqbit=xsd;} //倒計至最后10秒時進行鳴叫
            else
            {
            if(P1==0xfc)
            fmqbit=1;
            else fmqbit=0; //對按鍵掃描進行檢測,得出判斷蜂鳴器的鳴叫結(jié)果。
            }
            display(time,hotled,xuanled);//調(diào)用顯示函數(shù)
            }
            }
            }}
            與hotandxuan10區(qū)別于bing1 和bing0兩個變量取消,同時定時中斷1的程序體全部加以代碼優(yōu)化,解決掉原程序執(zhí)行過程中中斷停留時間過長,影響數(shù)碼管顯示,閃爍的問題,同時處理掉按鍵在開至最高檔時檢測靈敏度下降問題.

            蜂鳴器相關(guān)文章:蜂鳴器原理

            上一頁 1 2 下一頁

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉