代码
#include "reg51.h"
#include <intrins.h>
#define uchar unsigned char
//
// 主函数
//
void main()
{
uchar ret;
TimerInit(); // 定时器初始化
LED=0; // 指示灯点亮(自动模式指示灯)
ret=Get_ADC0832(); // 获取AD采集结果(环境光照强度)
AutoControl(ret); // 上电先进行一次自动亮度控制
AutoControl(ret+7);
while(1)
{
/* 模式切换控制 */
if(Key1==0) // 如果按键1被按下去
{
LED=~LED; // 切换LED灯状态
DelayMs(10); // 延时消除按键按下的抖动
while(!Key1); // 等待按键释放
DelayMs(10); // 延时消除按键松开的抖动
}
/* 亮度控制 */
if(LED==1) // 如果LED是灭的
{
ManualControl(); // 则进行手动控制
}
else // 如果LED是亮的
{
if(gTime<60000)
{
ret=Get_ADC0832(); // 获取AD采集结果(环境光照强度)
AutoControl(ret); // 进行自动控制
DelayMs(200);
}
}
/*检测是否有人*/
if(Module==1)
{
gTime=0; // 检测到有人,则把60秒计时清零
}
if(gTime>60000) // 如果gTime的值超过了60000
{
gTime=60000; // 则把gTime的值重新赋值为60000,避免过大溢出
gIndex=0; // 如果1分钟检测不到有人,则把台灯熄灭
}
}
}
意思是你主函数调用的子函数有的没有在前边声明,检查一下。
……