计算机键盘自动背景灯

上传人:壹****1 文档编号:493476794 上传时间:2023-02-18 格式:DOC 页数:9 大小:1.23MB
返回 下载 相关 举报
计算机键盘自动背景灯_第1页
第1页 / 共9页
计算机键盘自动背景灯_第2页
第2页 / 共9页
计算机键盘自动背景灯_第3页
第3页 / 共9页
计算机键盘自动背景灯_第4页
第4页 / 共9页
计算机键盘自动背景灯_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《计算机键盘自动背景灯》由会员分享,可在线阅读,更多相关《计算机键盘自动背景灯(9页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! 2011电子设计竞赛技术报告项目名称:计算机键盘自动背景灯目录一 概述1,问题的提出2,作品简介二 方案设计 1,硬件设计2,算法设计三 方案实现及模块说明1,控制模块2,照明电路3,光控电路4,键盘信号采集四 调试与应用效果五 C程序代码清单一、 概述1 问题的提出目前的电脑键盘大部分没有背景照明的功能,在一些特殊的环境下使用者需要键盘有背景照明,如光线不足的网吧,在此环境下对键盘键位不熟悉的使用者来说找键盘的键位实在不便,即使对键位熟悉的人,面对黑暗的键盘使用起来也很不麻烦。解决这个问题的办法通常是把灯打开。但是,在很多场合下并不适合打开光亮

2、过大的灯,比如在昏暗工作环境使用的电脑,另外对于集体宿舍里上网的“夜猫子“也不适合打开照明灯。那面对这个问题一个较好的解决思路就是为电脑键盘加装背景照明灯,像手机的键盘那样。2 作品简介本作电子设计作品采用STC89C52作为控制芯片,整合光线明暗检测电路和键盘使用情况查询电路,再配以照明用的LED阵列,使之成为自动识别环境要素的背景照明灯。控制器件及LED灯本身具有低功耗的特点,加上算法的优化,使得本作品有很好的实际使用效果,同时符合节能环保的理念。在实际的应用中,应该使用更少管脚的控制芯片并嵌入到键盘里边,考虑到制作条件,本作品只构建了一个模型并进行全功能模拟。二、 方案设计1 硬件设计

3、本作品采用STC89C52芯片作为控制芯片对检测到的环境信号进行判断处理,使用一光敏电路把光信号转换为单片机能识别的开关量,使用高亮照明LED来提高背景照明,制作一个USB转换接口来检测USB口的使用状态。2 算法设计控制模块(MCU)USB键盘信号输入光控信号USB供电点亮LED组合光控信号是点亮LED的第一条件,当光控不允许时灯灭,当光控允许时,再进一步判断键盘信号输入。当键盘一段时间没动作就灭灯,灭灯前做闪烁提示,灭灯后一旦键盘有动作马上点亮LED. LED根据不同的状态作不同的显示。电脑开机USB键盘工作判断光照灭灯亮灯键盘动作否无动作时间到设定值否提示,灭灯亮暗无有否是三、 方案实现

4、及模块说明1 控制模块基于STC89C52的最小系统板,用计数器检测键盘动作状态,计数器的数值变化说明有动作,通过检测光控信号的高低判断光强是否到达设定值。2 照明电路 7个LED阵列共阳极3 光控电路当光强到达设定值(灵敏度可通过变阻器调节)Vout 输出低电平,同时板上的指示灯亮起,该模块还可输出5V电压驱动继电器。4 键盘信号采集USB转换口,加运放把USB脉冲信号输出,同时提供5V电源。当键盘或USB设备有动作USB信号线就会有脉冲输入到计算机。如果直接将USB的差分信号输入单片机处理,那么单片机电路将对差分信号造成一定的影响导致计算机不能识别键盘或鼠标。为解决这一问题,本模块引入“电

5、压跟随器”。“ 电压跟随器”是一运放电路,能起到隔离作用,达到了采集信号而又不影响信号的目的四、 调试与应用效果整体效果图试验效果在Proteus里仿真五、 C程序代码清单#include sbit light=P37;/*子函数声明*/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(

6、lightmode);while(1)if(light=0) /判断光条件 if(flag=1) /判断键盘使用情况 flag=0;LEDdisplay(lightmode);elseDelay(100); /无动作等待时间if(flag=0&sign=1) /键盘无动作是否到时间到时间熄灯int i; for(i=5;i1;i-) /逐个熄灭if(flag=0) LEDdisplay(i);Delay(20);for(i=10;i1;i-) /红灯闪if(flag=0) LEDdisplay(1);Delay(10);LEDdisplay(0);Delay(6);if(flag=0)LEDd

7、isplay(0); /灭灯sign=0; /保持灭灯标志 else LEDdisplay(0);/*子函数*/void Delay(int n) /.0s 时间延时int x,y;for(x=100*n;x0;x-)for(y=123;y0;y-);void LEDdisplay(char tag)/LED显示输出含多种模式switch(tag)case 0: P0=0XFF; break; /全灭case 1: P0=0XF7; break; /只亮红case 2: P0=0XDD; break; /只亮绿case 3: P0=0XD5; break; /亮红绿case 4: P0=0XA

8、A; break; /亮白case 5: P0=0X00; break; /全亮void Init_Interrupt(void)EA=1; /全局中断开EX0=1; /外部中断0开IT0=1; /边沿触发,IT1=0表示电平触发EX1=1; IT1=1; /*中断函数*/void USBsourse(void) interrupt 0 using 0 /USB中断检测键盘动作if(light=0) LEDdisplay(lightmode);flag=1;sign=1;void Key(void) interrupt 2 using 1 /按键中断切换亮灯模式if(lightmode=1) lightmode=6;lightmode-;LEDdisplay(lightmode);flag=1;sign=1; /

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号