- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计
自适应屏幕亮度调节
班级:自动化
摘要:
本设计是基于单片机的的液晶屏幕亮度自动调节系统,如今市场上大多数电子设备的显示屏都是液晶的,虽然相比于传统电子设备的屏幕,它具有功耗小,辐射小(几乎没有辐射)等优点,但是由于它的亮度过高,反而更容易是我们的眼睛变得疲劳,造成视力下降,甚至产生头痛等症状。基于此原因,我设计出了一个比较简易的液晶屏幕亮度自动调节装置,它通过根据所处环境中的光的亮度,来自动调节屏幕的背光的亮度,而不是使屏幕一直保持在同一个亮度,通过自动调节,在一定程度上可以使得它的功耗进一步减少,此外最重要的是通过自适应亮度调节,可以使我们(观察者)在浏览屏幕内容的时候,眼睛更加舒服,减少了亮度不适带来的眼睛疲劳,保护了我们的视力。
关键词:单片机技术、自动调节
实验设计目的
学习并掌握单片机I/O口的基本输入输出功能;
学习信号处理中比较常用的A/D和D/A的过程处理;
学习单片机内部定时器的操作;
学习并掌握液晶屏1602的显示操作;
学习并掌握光敏电阻的使用方法;
设计任务及要求
以单片机为核心处理部件,根据液晶屏设备所处的环境来自动调节屏幕背光亮度;
除了自动调节功能外,出于特殊情况,自动调节后的屏幕亮度可能不能满足我们的要求,这时就需要手动调节屏幕亮度,所以设计中还需要一个开关来负责切换自动调节功能和手动调节功能,在自动调节功能中,有两个按钮负责控制亮度增大或亮度减小。
硬件设计
光敏部分和A/D处理
此部分是根据当前所处环境的光的强度,转化成一个8位的数字量,其中这个数字量是自己定义的,然后送到89C52芯片中进行处理。
原理框图如下:
电路原理图(用proteus仿真):
1)光强的处理部分,出于经济方面的原因,我采用的最原始的光敏电阻,根据光敏电阻的物理特性:随着外界光照强度的变大,光敏电阻的阻值减小。如上图所示,让它和一个电阻串联,根据分压关系,通过采集定值电阻两端的电压,来大致判断光线强度的变化。我采用的是光敏电阻5516,它的特性参数如下:
2)A/D模块这里采用的是ADC0809,下面是它的特性参数:
ADC0809的转化时间极快,需要极高频率的时钟脉冲,在这里我是通过89C52的定时器中断来产生一个500KHz的时钟脉冲,然后通过P1.0口输出给ADC0809的cp接口,此外ADC0809的START接口和EOC接口直接相连,这样就可以满足当一个信号转化完后,就会自动进行下一个模拟信号的转化。
3)输出部分通过74LS373锁存器实现,功能表如下:
电路中让OE接地,让LE接ADC0809的EOC接口,根据ADC0809资料可知,每次转化一个模拟信号,EOC会输出一个高电平,而在转化过程中保持低电平,根据此特性,正好可以触发74LS373,使它的工作方式发生变化,由保持工作方式转化为直通工作方式,正好达到了数据输出的目的。
89C52单片机进行内部信息处理
此部分的作用是根据前面部分输出的数字信号,进行分析,来确定输出8位数字输出量(自定义的),用于后面电压大小的控制。
电路原理图如下(proteus仿真):
如图所示,P2口作为数据输入的端口,P3口作为数据输出的端口,此部分关键是对数字量的处理,如何根据光强来确定屏幕光的强度,这里我的处理比较粗糙,我是将屏幕的亮度分成了1~5共5个等级,亮度逐级递增,据此将外界的光强划分成了5个阶段,然后根据光强所处的阶段,来确定屏幕的亮度,大体思想是外界的光线强度越大,屏幕的亮度越暗。因为没有科学的数据,只能通过自己的大致测量来确定,这里是比较粗糙的,如果有足够的时间来统计相关信息,并总结出较为科学的数据,这里可以将程序改的更加精确一些。
D/A部分数据处理
此部分用于将89C52芯片输出的数字量转化为电压,来用于控制LCD1602的背光亮度。
结构框图如下:
电路原理图如下:(proteus仿真)
给DAC0832的参考电压输入5v,然后将8位2进制数据输入进行D/A转化,通过Iout1和Iout2输出,这里是电流量,我们需要把它转化为电压来处理,这里结合使用了运算放大器,但使用一个运算放大器输出电压的范围是-5v~0v,所以这里在电路的后面又接了一个反向运算放大器,通过控制电阻的阻值,调整放大系数为-1,这样就能保证最后的输出电压量为正值,然后输出到LCD1602的控制端口,控制屏幕亮度。
显示电路部分
这里让89C52的P0口作为显示部分的数据输出端口
电路原理图如下:(proteus仿真)
89C52的P0口不同于P1~P3,它内部本身没有加上拉电阻,常态是处于高阻态,若想让它作为输入输出使用,必须自己给它外接上拉电阻,否则它的状态是不稳定的,这里接的是10K的上拉电阻,然后将LCD1602的其他管教根据要求连接好,其中15和16
文档评论(0)