新聞中心

        EEPW首頁 > 光電顯示 > 設計應用 > 基于觸摸屏的LED彩色臺燈控制系統設計

        基于觸摸屏的LED彩色臺燈控制系統設計

        作者: 時間:2012-06-20 來源:網絡 收藏

        本系統是利用控制的可調顏色的照明燈具。燈源為大功率超高亮三基色發光二極管組成。本最大的亮點是上所指示的顏色與實際燈照出的顏色一致。到通過c 語言程序對單片機的PWM 功能進行控制實現相應的坐標變換使燈具實現調色調亮的效果,為使用者提供一個隨心調節室內氣氛的良好工具。

        本文引用地址:http://www.104case.com/article/167896.htm

        一、控制硬件總體

        系統的總體框圖如圖1 所示。系統可有輸入,輸出,控制三部分組成,當被按下觸摸屏芯片讀取觸摸屏上X 軸與Y 軸的值,然后通過SPI 協議傳送到控制器,控制器負責信號的處理,把處理完畢的信號以PWM 方式輸出驅動.

        圖1 系統總體框圖

        圖1 系統總體框圖

        二、觸摸屏的使用

        本系統選擇電阻式觸摸屏,它將矩形區域中觸摸點(X,Y) 的物理位置轉換為代表X 坐標和Y 坐標的電壓其觸摸屏結構如圖2 所示。圖3 顯示了四線觸摸屏在兩層相接觸時的簡化模型。對于四線觸摸屏,最理想的連接方法是將偏置為VREF 的總線接ADC 的正參考輸入端,并將設置為0V 的總線接ADC 的負參考輸入端。

        圖2 電阻觸摸屏結構。

        圖2 電阻觸摸屏結構。

        圖3 電阻觸摸屏簡化模型

        圖3 電阻觸摸屏簡化模型。

        三、接口電路

        1. 控制器與觸摸屏連接

        本系統采用美國TI 公司生產的ADS7843,該芯片內置12 位AD 轉換、低導通電阻模擬開關的SPI 總線接口觸摸屏控制。供電電壓為2.7 ~ 5.25V,參考電壓VREF 為1V~+VCC,轉換電壓范圍為0 ~ VREF,控制器可通過內置的SPI 輸出口MOSI、MISO、SCK 與觸摸屏芯片進行連接,如圖4 所示。

        圖4 單片機與觸摸屏接口電路圖。

        圖4 單片機與觸摸屏接口電路圖。

        2. 驅動電路

        控制器輸出PWM 波形作為驅動電路的驅動信號,三極管Q1 作為斬波器件。當驅動信號為高電平時三極管處于截止狀態, 不亮;當輸入信號為低電平三極管處于導通狀態,LED 點亮。紅色LED 的驅動電路如圖5 所示,綠色與藍色LED 的驅動電路的結構與紅色的相同,單片機的PB7 端為綠色LED 的驅動信號,PD4 為藍色LED 的驅動信號。

        圖5 紅色LED的驅動電路圖。

        四、系統的程序設計

        1.系統總流程圖

        系統硬件可以分為輸入、控制、輸出部分,其中控制部分是連接輸入、輸出。單片機程序決定輸入如何影響輸出,輸出如何響應輸入,其具體框圖如圖6 所示。單片機對ADS7843 進行讀取后對數據進行坐標變換,最后把處理的值輸出驅動LED.

        圖6 系統軟件流程圖

        圖6 系統軟件流程圖。

        2.觸摸屏坐標讀取

        所謂的觸摸點坐標是指當觸摸屏被按下時觸摸芯片讀出的X 軸與Y 軸的數值。觸摸坐標的讀取時非常關鍵的,它是觸摸屏使用過程中最重要的環節,若觸摸點坐標有誤,將導致單片機錯誤處理。首先使能ADS7843,然后向ADS7843 寫入測量X 坐標的控制字,延時若干毫秒后,讀取ADS7843 的轉換數據。讀取的數據即X 的坐標值;再把測量Y 坐標控制字寫入ADS7843,延時若干毫秒后,讀取ADS7843 的轉換數據,就得到了Y 坐標的值,然后禁止ADS7843.這樣既完成了一次讀取坐標值的過程。其具體流程如圖7所示。

        圖7 ADS7843讀取框圖

        圖7 ADS7843讀取框圖

        3.系統坐標校準處理

        由于任意兩個觸摸屏上的點密度都不可能完全一致,所以要求在使用觸摸屏之前,必須進行校準。校準方式有兩點校準,三點校準,四點校準等。其中,校準的點數越多,觸摸屏數據越精確,校準也越繁瑣。本系統使用兩點校準的方法對觸摸屏進行校準。

        (1) 先分別測試觸摸屏左下角及右上角的坐標(ads7843_xmin,ads7843_ymin);(ads7843_xmax,ads7843_ymax);

        (2) 計算水平方向的比率(ads7843_xts)和垂直方向的比率(ads7843_yts);

        (3)假設液晶屏中的當前點是液晶屏坐標(X,Y):

        當前點的觸摸屏的X 坐標=X× ads7843_xts+ ads7843_xmin ;

        當前點的觸摸屏的Y 坐標=Y× ads7843_yts+ ads7843_ymin ;

        系統執行校準程序后把觸摸屏左下角, 右下角的坐標值與水平方向的比率存放如單片機EEPROM 中,每當系統重新啟動時調用對應的數值有于對觸摸位置的判別。

        4.控制器SPI通訊

        控制器ATmega48內部集成SPI通訊所需的軟硬件功能,主機和從機之間的SPI 連接如圖8所示。系統包括兩個移位寄存器和一個主機時鐘發生器,通過將從機的 SS引腳拉低,主機啟動一次通訊過程。主機和從機將需要發送的數據放入相應的移位寄存器。主機在SCK引腳上產生時鐘脈沖以交換數據。主機的數據從主機的MOSI移出,從從機的MOSI移入;從機的數據從從機的MISO移出,從主機的MISO移入。主機通過將從機的SS拉高實現與從機的同步。

        圖8 控制器SPI通訊框圖
        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鄯善县| 德昌县| 浪卡子县| 木兰县| 孟州市| 黄山市| 泗水县| 上虞市| 台江县| 遂昌县| 龙山县| 井研县| 古交市| 乐安县| 普宁市| 噶尔县| 宝山区| 贵溪市| 兰西县| 原阳县| 新宁县| 蒙自县| 乃东县| 合阳县| 永福县| 右玉县| 小金县| 常德市| 陈巴尔虎旗| 茌平县| 曲阳县| 施甸县| 百色市| 朝阳县| 惠州市| 河间市| 丽水市| 孟津县| 温泉县| 图片| 武陟县|