利用人体红外感应模块控制12864的背光程序怎么写呀?下面是我写的程序,为什么液晶屏总是亮一段时间后灭几秒,如此循环下去,按理说在一直有人的情况下液晶的背光不是一直亮的吗?
#include<reg52.h>//头文件声明
#include<intrins.h>
#include<stdio.h>
#include<stdlib.h>
#define uchar unsigned char
#define uint unsigned int
sbit beiguang = P2^7; //LCD背光对应的是P2.7口
sbit sensor = P2^6; //将P2.6口设置成传感器的输入口
uchar flag1; //定义全局变量,作为信号检测标志位
void delay(uint t)
{
while(t--);
}
void Test_Voltage(void)
{
if(sensor ==0) // 若传感器的输入口为0
{
delay(10000); //延时50毫秒信号确定
if(sensor == 0)
{
flag1 = 1; //检测到信号
}
else
{
flag1 = 0;
}
}
else
{
flag1=0;
}
}
void action(void)
{
if(flag1 ==1)
{
beiguang =0; // LCD背光亮
}
else
{
beiguang =1; // LCD背光灭
}
}
void main(void)
{
while(1)
{
Test_Voltage();
action();
}
} |