欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 有沒有老哥幫忙加個無操作停止的程序 [打印本頁]

作者: grglove    時間: 2017-5-17 14:46
標題: 有沒有老哥幫忙加個無操作停止的程序
#include <reg52.h>                 //調用單片機頭文件
#define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
#define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535


sbit hw=P1^7;             //人體紅外
sbit relay=P2^1;         //繼電器控制燈
sbit yellow = P0^7;  //黃色指示燈
sbit green = P0^4;   //綠色指示燈

sbit kaiguan = P2^7;  //選擇開關


void delay_1ms(uint x)//延時函數
{
        uint i,j;
        for(i=0;i<x;i++)
        for(j=0;j<120;j++);
}

void work()//工作函數
{
        static uchar value,miao;  
        if(hw==0)//感應到人
        {               
                delay_1ms(20);//延時20ms
                if(hw==0)//確定感應到人
                {                       
                        relay=0;//繼電器吸合
                        miao = 0;
                        value = 0;
                }
        }
        if(relay == 0)    //繼電器吸合 計時3秒
        {
                value ++;
                if(value >= 10)
                {
                        value = 0;
                        miao ++;
                        if(miao >= 3)          //3秒的時間
                        {
                                miao = 0;
                                relay = 1;    //關閉繼電器
                        }
                }       
        }
}

void main()//主函數
{
        P0 = P1 = P2 = P3 = 0XFF;
        while(1)//循環
        {
                work();//調用工作函數
                if(kaiguan == 0)  //冷風
                {
                        yellow = 0;   //黃燈亮
                        green  = 1;   //綠燈滅
                }else                           //熱風
                {
                        yellow = 1;   //黃燈滅
                        green  = 0;   //綠燈亮
                }
                delay_1ms(100);   //100ms
        }
}




作者: yzwzfyz    時間: 2017-5-17 17:44
一條命令即可:讓CPU處于休眠模式。
作者: grglove    時間: 2017-5-17 18:40
#include <reg52.h>                 //調用單片機頭文件
#define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
#define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535
uchar a=100,num=0;

sbit hw=P1^7;             //人體紅外
sbit relay=P2^1;         //繼電器控制燈
sbit yellow = P0^7;  //黃色指示燈
sbit green = P0^4;   //綠色指示燈

sbit kaiguan = P2^7;  //選擇開關


void delay_1ms(uint x)//延時函數
{
        uint i,j;
        for(i=0;i<x;i++)
        for(j=0;j<120;j++);
}

void work()//工作函數
{
        static uchar value,miao;  
        if(hw==0)//感應到人
        {               
                delay_1ms(20);//延時20ms
                if(hw==0)//確定感應到人
                {                       
                        relay=0;//繼電器吸合
                        miao = 0;
                        value = 0;
                }
        }               
//            if(num==10000)
//                                {
//                                 num=0;
//                                 relay=1;
//                                }
        if(relay == 0)    //繼電器吸合 計時3秒
        {
                value ++;
                if(value >= 10)
                {
                        value = 0;
                        miao ++;
                        if(miao >= 3)          //3秒的時間
                        {
                                miao = 0;
                                relay = 1;    //關閉繼電器
                        }
                }       
        }
}

void main()//主函數
{
        P0 = P1 = P2 = P3 = 0XFF;
//        TMOD=0x00;
//        TH0=(8192-4607)/32;
//        TL0=(8192-4607)%32;
//        ET0=1;
//        EA=1;
//        TR0=1;
        while(1)//循環
        {
                        work();//調用工作函數
                if(kaiguan == 0)  //冷風
                {
                        yellow = 0;   //黃燈亮
                        green  = 1;   //綠燈滅
                }else                           //熱風
                {
                        yellow = 1;   //黃燈滅
                        green  = 0;   //綠燈亮
                }
                delay_1ms(100);   //100ms
                       
        }
}                                                         
// void int1() interrupt 1
// {
//           TH0=(8192-4607)/32;
//        TL0=(8192-4607)%32;
//        num++;
// }
作者: grglove    時間: 2017-5-17 18:40
想加個定時器,有什么錯誤求解
作者: grglove    時間: 2017-5-17 18:57
yzwzfyz 發表于 2017-5-17 17:44
一條命令即可:讓CPU處于休眠模式。

定時器應該可以解決吧,老哥幫忙看看那下面問題出在哪里




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1