一種基于單片機的RGB LED背光源的設計
2 軟件設計
NCP 5623是接受單片機的命令而產生動作,單片機給NCP 5623芯片發送指令是通過I2C總線,兩者之間通過I2C協議進行通信。I2C總線的實現可以有多種方法,而對于:本文的情況,速率不是問題的重點,所以采取一般的單片機用某兩個普通I/O口模擬I2C總線。對于單片機模擬I2C總線已經非常成熟,只要根據以往的程序根據自己的需要略加修改即可。對于背光光源來說,主要調整三原色之間的亮度比例和根據自己的需要進行總體亮度調節,這些都可以通過NCP 5623所提供的命令實現,所以只要掌握了這些指令傳輸的程序實現,可以自己根據需要組合實現自己想要的功能,下面就給出NCP 5623各個命令的子程序實現。
NCP 5623能實現的功能如表1。本文引用地址:http://www.104case.com/article/171347.htm
該表的$70代表NCP 5623的I2C器件寫地址。對于NCP 5623來講沒有讀操作。該器件的命令為1個字節,它可以被認為是I2C傳輸的內容部分。該字節最高3位用來表征命令,后面5位用來表征命令的參數,比如001表示對3個LED亮度同時進行控制,而后面5位則表示亮度。下面是每個命令的子程序實現,I2C_Start()是啟動I2C總線讀寫函數,I2C_Stop()是停止I2C傳輸函數,writeByte()是傳輸數據函數,每個命令的實現開頭都應該有I2C_Start()啟動傳輸,最后應該有I2C_Stop()停止I2C總線活動。
燈滅命令實現:
為了節約篇幅,下面的程序省略I2C_Start();I2C_Stop()和每個writeByte()函數后面的tempbit=checkAck()。
評論