<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于嵌入式Linux的LCD背光調(diào)節(jié)及驅(qū)動的實現(xiàn)

          基于嵌入式Linux的LCD背光調(diào)節(jié)及驅(qū)動的實現(xiàn)

          作者: 時間:2012-04-24 來源:網(wǎng)絡(luò) 收藏

          電路如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/149184.htm

          b.JPG


          圖2中ZXLD1100是一個電感式的PFM(Pulse Frequency Modulation)升壓轉(zhuǎn)換器,用于白光LED。當正常工作時,ZXLD1100的EN端被置高電平時,輸出端將得到源所需的工作電壓。將S3C2440的端口GPB1與ZXLD1100的使能端相連,通過PWM信號使能ZXLD1100,可以使LCD工作在較低的功率下。
          圖2中按鍵S1_KEY用于調(diào)高背光亮度,S2_KEY用于調(diào)低背光亮度。S1_KEY和S2_KEY所用到的外部中斷分別是EINT0和EINT13。當按鍵按下時,系統(tǒng)根據(jù)傳入的按鍵編號控制GPB1輸出PWM信號占空比,由此完成了對設(shè)備背光的軟件控制,背光亮度的

          3 背光的軟件設(shè)計
          背光調(diào)節(jié)的軟件部分主要是程序的設(shè)計,設(shè)備驅(qū)動程序是連接硬件和操作系統(tǒng)內(nèi)核的橋梁,它為應(yīng)用程序屏蔽了硬件的細節(jié),應(yīng)用程序?qū)⑹褂媒y(tǒng)一的系統(tǒng)調(diào)用接口來訪問設(shè)備。系統(tǒng)將設(shè)備分為3種基本類型,即字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。本文涉及的背光驅(qū)動屬于字符設(shè)備驅(qū)動程序。采用作為操作系統(tǒng),內(nèi)核版本為 2.6.32,根文件系統(tǒng)采用Yaffs2,應(yīng)用程序采用了Busybox。背光驅(qū)動程序的工作流程框圖如圖3所示。

          c.JPG


          (1)當加載驅(qū)動時,調(diào)用初始化函數(shù)s3c_bl_pwm_init()。該函數(shù)會調(diào)用request_irq()函數(shù)來注冊中斷。request_irq()會操作中斷描述符數(shù)組button_irqs。中斷描述符數(shù)組的主要功能是記錄中斷號對應(yīng)的按鍵編號和GPIO端口。
          (2)當中斷到來時,會到中斷描述符數(shù)組button_irqs中查詢中斷號對應(yīng)的按鍵編號。然后調(diào)用中斷處理函數(shù)等操作調(diào)節(jié)設(shè)備背光。
          (3)當卸載驅(qū)動時,調(diào)用退出函數(shù)s3c_bl_pwm_exit()。該函數(shù)中會調(diào)用free_irq(),操作中斷描述符數(shù)組button_irqs,釋放設(shè)備所使用的中斷號并刪除對應(yīng)中斷處理函數(shù)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          LCD顯示屏相關(guān)文章:lcd顯示屏原理


          lcd相關(guān)文章:lcd原理


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();