您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子元器件>发光二极管>

系统软件设计 - 一种多功能LED台灯设计方案

2012年05月02日 10:45 本站整理 作者:秩名 用户评论(0
2 系统软件设计

  该系统控制程序主要包含系统初始化程序、实时时钟芯片处理程序、温度传感器芯片处理程序、液晶显示程序、键盘检测与处理程序、闹钟中断以及定时器产生PWM 程序构成。

  2.1 系统主程序

  系统主程序主要包括系统初始化程序(包括I/O 口初始化、DS12C887 时钟芯片初始化、液晶1602 的初始化、外部中断0 与定时器T0 设置)、按键检测和处理程序、时钟数据的读取与处理程序、温度数据的读取与处理程序、液晶显示程序、闹钟报警的判断和处理程序、PWM 调光处理程序等。程序中设置闹钟标志位Flag_ri,一旦闹钟时间到达,时钟芯片IRQ引脚触发外部中断0,进入中断程序则置Flag_ri=1,用于主程序中闹钟报警的判断与处理。

  系统主程序流程图如图10 所示。

  

图10 主程序流程图

 

  图10 主程序流程图

  2.2 按键检测和处理程序

  按键控制系统由S2~S6五个按键组成,分别为S2时间设置键、S3数值增大键、S4数值减小键、S5闹钟设置键以及S6亮度调节键。S2用于选择需要调整的时钟以及闹钟参数,根据S2按下次数,依次选择秒、分、时、星期、日、月、年,液晶屏上被选参数下方以光标闪烁状态提示,再通过按下S3或S4调整被选参数值的大小,S2按下累积8次时,则退出选择功能并保存当前数据至时钟芯片。S5用于闹钟时间的查看与设置;首次按下S5,1602液晶屏第二行显示已设置的闹钟时间;可通过S2、S3与S4重新设置闹钟时间;再次按下,则退出闹钟查看功能并保存当前设置的闹钟参数至时钟芯片。同时,S3与S4还可独立作为闹钟产生时的取消键与LED灯光的关闭键。S6实现LED灯光亮度的10级调节,每按一次,LED亮度增大一级;当达到亮度最大时,再次按下则关闭LED灯光。每次有按键按下,蜂鸣器都以短'滴'声提示。按键检测与处理流程图如图11所示。

  

图11 按键检测与处理流程图

 

  图11 按键检测与处理流程图

  2.3 闹钟中断程序

  系统到达设置的闹钟时间,DS12C887 时钟芯片IRQ 引脚输出由高电平变为低电平,作为单片机P3.2 口INT0 中断的申请输入,并可通过读取DS12C887 芯片的C 寄存器来清除IRQ 引脚输出。因此,将外部中断INT0 设置为负跳变沿触发中断,并设置闹钟标志位Flag_ri,闹钟时刻到达时设置Flag_ri=1,用于主程序中的闹钟报警处理。闹钟中断程序如图12 所示。

  

图12 闹钟中断流程图

 

  图12 闹钟中断流程图

  

非常好我支持^.^

(25) 92.6%

不好我反对

(2) 7.4%

( 发表人:diyfans )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!