当前的时间,日期。当需要设置闹钟或调整时间时,又检测按键是否按下,以便对时间进行修正、设置闹钟时间。最后进入循环。3.2按键模块程序设计按键用来调整时间和设置闹钟,调光亮度,各键功能在介绍硬件部分已描述。因为有年月日,时分秒几个参数要调,所以设置这几个参数的计数。当按下一个键时,单片机进行相应的操作。当调光亮度时,按下K5键变暗,按下K6键变亮,这是通过调PWM实现的。3.3台灯模块程序设计该模块只需给P00到P03口送低电平即可,再通过按键调光亮。3.4温度模块程序设计设计初始化函数,设计读DS18B20数据和对DS118B20写数据的函数,再写出从DS18B20读温度并转换为十进制的函数,最后写显示温度的函数。3.5时钟模块程序设计分别出写时间、日期的函数,再写出时间、日期的显示函数。设计时、分、秒,年、月、日几个变量分别表示时分秒,年月日。3.6闹铃模块程序设计对蜂鸣器,在其所接的I/O口写1即可实现它的蜂鸣,写程序时给它加了个延时,以形成闹铃声。用数组来存储闹铃的值,闹铃声我们采用普通的嘀嘀嘀闹铃声。3.7显示模块程序设计设计1602的初始化函数,编写对1602写命令指令和对其写数据的子函数。让所有的日期,时间,温度都在液晶上显示出来。3.8红外热释传感模块程序设计编写一个从红外传感读数据的函数,检测有人与否,若有人,传感器发给单片机一个高电平,单片机控制去LED,使得单片机的P00到P03口为低电平,LED亮,否则给低电平,LED灭。这就实现了检测屋内有人与否并自动开启或关闭的功能。该传感器检测距离通过编写程序控制。以上的程序见附录三。4总结该设计实现了自动检测屋内是否有人并自动开启/关闭功能;台灯具有光亮度调节功能;具有时间显示功能;具有温度显示功能;具有闹铃功能。但在细节方面还有不足之处。LED亮度达不到很亮的程度,只能在一个很小的范围变化,以致于光亮度不够。