| 
 
| 利用人体红外感应模块控制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();
 
 }
 }
 | 
 |