计算机键盘自动景背灯.docVIP

  • 6
  • 0
  • 约3.29千字
  • 约 9页
  • 2017-03-05 发布于四川
  • 举报
计算机键盘自动景背灯

2011电子设计竞赛 技术报告 项目名称:计算机键盘自动背景灯 目录 概述 1,问题的提出 2,作品简介 方案设计 1,硬件设计 2,算法设计 方案实现及模块说明 1,控制模块 2,照明电路 3,光控电路 4,键盘信号采集 调试与应用效果 C程序代码清单 概述 1 问题的提出 目前的电脑键盘大部分没有背景照明的功能,在一些特殊的环境下使用者需要键盘有背景照明,如光线不足的网吧,在此环境下对键盘键位不熟悉的使用者来说找键盘的键位实在不便,即使对键位熟悉的人,面对黑暗的键盘使用起来也很不麻烦。解决这个问题的办法通常是把灯打开。但是,在很多场合下并不适合打开光亮过大的灯,比如在昏暗工作环境使用的电脑,另外对于集体宿舍里上网的“夜猫子“也不适合打开照明灯。那面对这个问题一个较好的解决思路就是为电脑键盘加装背景照明灯,像手机的键盘那样。 2 作品简介 本作电子设计作品采用STC89C52作为控制芯片,整合光线明暗检测电路和键盘使用情况查询电路,再配以照明用的LED阵列,使之成为自动识别环境要素的背景照明灯。控制器件及LED灯本身具有低功耗的特点,加上算法的优化,使得本作品有很好的实际使用效果,同时符合节能环保的理念。在实际的应用中,应该使用更少管脚的控制芯片并嵌入到键盘里边,考虑到制作条件,本作品只构建了一个模型并进行全功能模拟。 方案设计 1 硬件设计 本作品采用STC89C52芯片作为控制芯片对检测到的环境信号进行判断处理,使用一光敏电路把光信号转换为单片机能识别的开关量,使用高亮照明LED来提高背景照明,制作一个USB转换接口来检测USB口的使用状态。 2 算法设计 光控信号是点亮LED的第一条件,当光控不允许时灯灭,当光控允许时,再进一步判断键盘信号输入。当键盘一段时间没动作就灭灯,灭灯前做闪烁提示,灭灯后一旦键盘有动作马上点亮LED. LED根据不同的状态作不同的显示。 方案实现及模块说明 1 控制模块 基于STC89C52的最小系统板,用计数器检测键盘动作状态,计数器的数值变化说明有动作,通过检测光控信号的高低判断光强是否到达设定值。 2 照明电路 7个LED阵列共阳极 3 光控电路 当光强到达设定值(灵敏度可通过变阻器调节)Vout 输出低电平,同时板上的指示灯亮起,该模块还可输出5V电压驱动继电器。 4 键盘信号采集 USB转换口,加运放把USB脉冲信号输出,同时提供5V电源。当键盘或USB设备有动作USB信号线就会有脉冲输入到计算机。如果直接将USB的差分信号输入单片机处理,那么单片机电路将对差分信号造成一定的影响导致计算机不能识别键盘或鼠标。为解决这一问题,本模块引入“电压跟随器”。“ 电压跟随器”是一运放电路,能起到隔离作用,达到了采集信号而又不影响信号的目的 调试与应用效果 整体效果图 试验效果 在Proteus里仿真 C程序代码清单 #include reg52.h sbit light=P3^7; /*************子函数声明*************/ void Delay(int n); void LEDdisplay(char tag); void Init_Interrupt(void); /*************主函数*************/ char lightmode=5,flag=0,sign=1; //flag为判断键盘是否有动作标志 //lightmode为亮灯模式 void main() { Init_Interrupt(); LEDdisplay(lightmode); while(1) { if(light==0) //判断光条件 { if(flag==1) //判断键盘使用情况 { flag=0; LEDdisplay(lightmode); } else { Delay(100); //无动作等待时间 if(flag==0sign==1) //键盘无动作是否到时间到时间熄灯 { int i; for(i=5;i1;i--) //逐个熄灭 { if(flag==0) { LEDdisplay(i); Delay(20); } } for(i=10;i1;i--)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档