标题:
有没有老哥帮忙加个无操作停止的程序
[打印本页]
作者:
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.51hei.com/bbs/)
Powered by Discuz! X3.1