<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ò) 收藏

          3.1 的初始化和退出函數(shù)
          在加載時,內(nèi)核調(diào)用初始化函數(shù)s3c_bl_pwm_init()。首先初始化亮度,設(shè)置按鍵中斷觸發(fā)方式,注冊中斷。然后初始化定時器,設(shè)置按鍵初始狀態(tài)為抬起(KEY_UP)。最后使用misc_register()向內(nèi)核注冊混雜設(shè)備,混雜設(shè)備是字符設(shè)備的抽象。中混雜設(shè)備的定義如下:
          d.JPG
          在卸載驅(qū)動時,內(nèi)核調(diào)用退出函數(shù)s3c_bl_pwm_exit(),注銷中斷和混雜設(shè)備,完成和初始化函數(shù)相反的行為。
          3.2 按鍵中斷和定時器處理程序
          當(dāng)按鍵被按下后,將發(fā)生快速中斷,觸發(fā)中斷處理程序buttons_interrupt()。在中斷處理程序中,當(dāng)按鍵初始狀態(tài)為抬起(KEY_UP)時,把按鍵狀態(tài)設(shè)置為不確定(KEY_DOWNX),然后啟動定時器延時去抖,進(jìn)入定時器處理函數(shù)。如果當(dāng)前按鍵初始狀態(tài)不是抬起則退出中斷處理程序。在定時器處理程序中,讀取按鍵GPIO端口電平,查詢按鍵是否仍然被按下。如果按鍵仍被按下且按鍵狀態(tài)是不確定(KEY_DOWNX),則標(biāo)識當(dāng)前按鍵狀態(tài)為按下(KEY_DOWN)。同時延時一個相對去抖更長的時間,啟動一個新的定時器,每次定時器到期后,查詢按鍵是否仍然被按下且按鍵狀態(tài)為按下(KEY_DOWN),如果是,則重新啟動新的定時器;若查詢到已經(jīng)沒有按下,則標(biāo)識按鍵狀態(tài)為抬起,這時候應(yīng)該等待新的按鍵中斷。每次標(biāo)識按鍵狀態(tài)為按下(KEY_DOWN)時,應(yīng)該調(diào)用背光函數(shù)bl_handler()依據(jù)傳入的按鍵編號背光亮度。按鍵中斷和定時器處理函數(shù)的流程如圖4所示。

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

          e.JPG


          3.3 PWM設(shè)置函數(shù)
          PWM定時器中有2個寄存器TCNTBn和TCMPBn,分別為定時器計數(shù)緩存寄存器和定時器比較緩存寄存器。TCNTBn用來設(shè)置PWM輸出脈沖頻率,TCMPBn的值用于設(shè)置PWM信號占空比。因此通過寫入不同的TCMPBn的數(shù)值,就可以輸出信號占空比,PWM功能,即:要減小PWM的脈寬,則要減小TCMPBn值,相反要增大PWM的脈寬,則要增大TCMPBn。如果使用了反相器,則增大和減小的結(jié)果相反,雙緩沖特性允許定時器在工作時改寫TCMPBn的值。
          PWM設(shè)置函數(shù)pwm_set_duty()根據(jù)傳入?yún)?shù)改寫TCMPBn的值,可以實時地改變輸出波形。PWM設(shè)置函數(shù)設(shè)置定耐器TOUT1端口GPB1的PWM功
          能操作步驟如下:
          (1)使能系統(tǒng)PCLK時鐘源,獲取總線時鐘頻率值。設(shè)置定時器TOUT1的時鐘預(yù)分頻值和分頻值,分別寫入定時器配置寄存器TCFG0和TCF G1;
          (2)寫入初始值到比較緩存寄存器TCMPB1和計數(shù)緩存寄存器TCNTB1;
          (3)設(shè)置定時器控制寄存器TCON。使能定時器TOUT1的自動重載位,關(guān)閉反相器,開啟手動更新位,啟動定時器TOUT1。在定時器延時等待一定時間后定時器的下降計數(shù)器開始計數(shù);
          (4)清除定時器TOUT1的手動更新位,手動更新位必須在下次寫前被清除。

          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); })();