亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        4位RGBLED彩燈控制器PCA9633的應(yīng)用*

        2015-09-21 01:43:32馮月芹
        關(guān)鍵詞:單片機(jī)設(shè)置信號(hào)

        馮月芹

        (南京工程學(xué)院,江蘇 南京 211167)

        0 引言

        在酒店、舞臺(tái)、娛樂(lè)場(chǎng)、咖啡廳、商場(chǎng)、生日宴會(huì)、家庭影院、節(jié)慶日等室內(nèi)外場(chǎng)所,為了展示情調(diào)裝飾,烘托氣氛,經(jīng)??吹絉GB LED燈的大量使用。LED是一種性能優(yōu)良的顯示器件,具有壽命長(zhǎng)、節(jié)電、高亮度、多種發(fā)光顏色、響應(yīng)速度快和驅(qū)動(dòng)電壓低等優(yōu)點(diǎn),在節(jié)省能源的同時(shí)還可以通過(guò)PWM器件調(diào)節(jié)LED發(fā)光強(qiáng)度,依據(jù)RGB三原色混光原理調(diào)出多種顏色,再通過(guò)MCU智能控制實(shí)現(xiàn)多種顯示效果。本文主要是介紹飛利浦公司生產(chǎn)的一款RGB LED控制器PCA9633的應(yīng)用。

        1 PCA9633芯片的原理及特點(diǎn)

        1.1 PCA9633的特點(diǎn)[2-3]

        PCA9633是I2C總線控制的可編程PWM輸出的4位 LED驅(qū)動(dòng)器件,主要應(yīng)用LED RGB紅光/藍(lán)光/綠光/琥珀色的混光,性能指標(biāo)如下:

        (1)4路LED驅(qū)動(dòng),每路驅(qū)動(dòng)可以通過(guò)軟件編程為四種狀態(tài),分別是:開(kāi)、關(guān)、可編程PWM閃爍控制輸出、可編程每路灰度級(jí)別,同時(shí)支持4路整體亮度調(diào)節(jié)的PWM混光輸出。

        (2)調(diào)光控制,PWM輸出頻率97 kHz,每路有256個(gè)灰度級(jí)別。

        (3)閃爍控制,PWM可編程頻率范圍0.093 Hz~24 Hz,占空比可編程范圍0%~99.6%。

        (4)可通過(guò) 190 Hz的PWM輸出對(duì)四路PWM輸出整體亮度256級(jí)調(diào)節(jié)。

        (5)4位輸出可編程設(shè)置為推拉輸出(在 5 V時(shí),灌電流 25 mA,拉電流 10 mA)。

        (6)7個(gè)硬件地址設(shè)定引腳,同一I2C總線最多可接126片。

        (7)每片 PCA9633有 4個(gè)可編程軟件地址:一個(gè)全部響應(yīng)地址和三個(gè)子地址。

        (8)內(nèi)置25 MHz晶振和上電復(fù)位電路,也可通過(guò)I2C總線實(shí)現(xiàn)軟件復(fù)位。

        (9)SDA/SCL內(nèi)置噪聲濾波器,支持 1 MHz的 I2C快速模式。

        (10)支持熱插入,低待機(jī)電流,支持電壓范圍:2.3~5.5 V。

        其引腳圖如圖1所示。

        圖1 PCA9633的引腳圖

        引腳描述:

        (1)A6~A0:7 個(gè)地址輸入引腳;

        (2)LED3~LED0:4 位 LED 輸出驅(qū)動(dòng)引腳;

        (3)OE:輸出使能引腳,低電平有效;

        (4)Vss,VDD:分別是地和電源;

        (5)SDA:I2C總線的數(shù)據(jù)輸入/輸出引腳;(6)SCL:I2C總線的時(shí)鐘輸入引腳。

        1.2 PCA9633電路連接圖[1-3]

        單片機(jī)與PCA9633芯片的連接采用I2C總線的方式,I2C接口引腳描述:

        (1)串行數(shù)據(jù)輸入/輸出(SDA):?jiǎn)纹瑱C(jī)與 PCA9633通信的數(shù)據(jù)輸入/輸出線。

        (2)串行時(shí)鐘輸入(SCL):?jiǎn)纹瑱C(jī)與 PCA9633通信時(shí)的同步時(shí)鐘。

        (3)片選輸入(OE):輸出使能端,當(dāng) OE有效時(shí),PCA9633的LEDn輸出有效。

        PCA9633的每一路LED驅(qū)動(dòng)輸出電流最大25 mA,當(dāng)RGB燈的工作電流不大時(shí),可以直接接輸出,如果RGB的電流大,可以在PCA9633的LED驅(qū)動(dòng)輸出端加場(chǎng)效應(yīng)管,例如AP2306,可以提高驅(qū)動(dòng)能力,輸出的連接電路如圖2所示。根據(jù)需要,LED可以串接多個(gè),多個(gè)LED串接時(shí),要考慮LED的管壓降,所以要提高LED的電源電壓。為了增加I2C總線的通信距離,增加PCA9600驅(qū)動(dòng)器。硬件電路連接圖見(jiàn)圖2。

        圖2 單片機(jī)與PCA9633的電路連接圖

        1.3 PCA9633芯片寄存器功能描述[2]

        PCA9633對(duì)RGB LED燈的控制(亮度,明暗、閃爍,燈的整體控制),是通過(guò)設(shè)置其相關(guān)的寄存器完成的,下面介紹其有關(guān)寄存器的功能與設(shè)置方法。

        1.3.1 器件地址

        PCA9633是4位I2C總線的LED驅(qū)動(dòng)器,與主機(jī)通信遵循I2C協(xié)議的格式,主機(jī)先發(fā)出啟動(dòng)信號(hào),隨后發(fā)出從機(jī)(PCA9633)的地址,封裝為 16腳的 PCA9633,有7個(gè)地址引腳分別為 A0~A6,從機(jī)地址最多有 27,即 128個(gè),在這128個(gè)地址中,其中軟件復(fù)位地址 (0x06)和LED呼叫地址(0x0C)這兩個(gè)地址不能作為從機(jī)地址。

        (1)正常的 I2C-BUS地址

        封裝為16腳的PCA9633從機(jī)地址的組成如圖3所示,最高7位是地址線,最低位是讀寫控制位,如果是讀操作最低位為“1”,若是寫操作最低位為“0”。還有一些地址是保留的,最好不要設(shè)置為從機(jī)地址,例如:(0000 011,1111 1xx,0000 000,0000 1xx)。

        圖3 從機(jī)地址的構(gòu)成

        (2)LED ALL Call IIC-bus address全呼叫地址

        全呼叫寄存器的地址是0x0C,功能是當(dāng)PCA9633芯片的控制寄存器中的某個(gè)寄存器設(shè)置為全呼叫時(shí),那么I2C總線上所有PCA9633器件都可以在同一時(shí)刻被尋址。上電時(shí),全呼叫寄存器是使能的,默認(rèn)值是0xE0h或0xE1h,當(dāng)主機(jī)發(fā)送 E0h或 E1h時(shí),PCA9633會(huì)出一個(gè)應(yīng)答信號(hào),所以全呼叫地址的值0xE0h和0xE1h不能作為從機(jī)地址。全呼地址的值是可以通過(guò)I2C總線編程的。

        (3)LED Sub Call IIC-bus address子呼叫地址

        PCA9633有3個(gè)子呼叫地址寄存器,可以通過(guò)I2C總線設(shè)置呼叫總線上的任一PCA9633器件,3個(gè)子呼叫地址為 0x09h,0x0ah,0x0bh。上電時(shí),3個(gè)子地址寄存器為默認(rèn)的值(寫操作是 0xE2h,讀操作是 0xE3h)、(寫操作是0xE4h,讀操作是 0xE5h)、(寫操作是 0xE8h,讀操作是0xE9h);初始狀態(tài)下子呼叫寄存器是禁止使能的,所以這6個(gè)值可以作為從機(jī)地址。

        (4)Software Reset IIC-bus address軟件復(fù)位地址當(dāng)PCA9633需要主機(jī)軟件編程復(fù)位時(shí),可以使用這個(gè)地址,它的地址為0x06h。

        1.3.2 PCA9633控制寄存器[2]

        PCA9633有13個(gè)控制寄存器,通過(guò)設(shè)置這些寄存器來(lái)改變4路LED輸出的狀態(tài),可以實(shí)現(xiàn)獨(dú)立控制或整體控制4路LED亮度和閃爍。每個(gè)寄存器的數(shù)據(jù)位詳細(xì)說(shuō)明可以參閱它的數(shù)據(jù)手冊(cè)。

        (1)MODE1-模式 1 寄存器(地址 0x00h):主要用來(lái)設(shè)置子呼叫地址或全呼叫地址是否使能。

        (2)MODE2-模式 2 寄存器(地址 0x01h):主要功能是設(shè)置燈的輸出邏輯是否反轉(zhuǎn)、配置4位LED是OD門還是推拉輸出結(jié)構(gòu)輸出,以及輸出禁止時(shí)4位LED輸出是高電平、低電平還是高阻狀態(tài)。

        (3)PWMx(x 可以取值 0,1,2,3)-單個(gè) LED 燈亮度控制寄存器(地址分別是 0x02h,0x03h,0x04h,0x05h):4路LED輸出控制信號(hào)是頻率為97 kHz,占空比可調(diào)的矩形波,通過(guò)設(shè)置亮度控制寄存器的值,改變占空比,調(diào)節(jié)LED燈的亮度,占空比值越大,燈越亮。

        (4)組控占空比因數(shù)寄存器(Group duty cycle control,GRPPWM,地址 0x06h):功能是同時(shí)設(shè)置 4個(gè) LED燈亮的時(shí)間,通過(guò)設(shè)置GRPPWM的值來(lái)調(diào)整占空比從0%~99.6%變化,占空比值越大,燈亮的時(shí)間越長(zhǎng)。

        (5)組頻率控制寄存器(Group frequency,GRPFREQ):其功能是同時(shí)設(shè)置4位LED輸出信號(hào)的頻率,即改變LED閃爍的頻率。

        (6)燈輸出狀態(tài)寄存器(LED driver outputstate,LEDOUT,地址為0x08h):其功能是設(shè)置LED驅(qū)動(dòng)輸出的狀態(tài),通過(guò)編程可以設(shè)置 4位LED燈滅、亮、單個(gè)燈亮、4個(gè)LED燈閃爍。

        2 C 語(yǔ)言編程軟 件設(shè)計(jì)[2、4、5]

        2.1 寫PCA9633一個(gè)控制寄存器

        PCA9633遵循I2C總線協(xié)議[3],寫一個(gè)控制寄存器的時(shí)序如圖4所示。

        圖4 寫一個(gè)控制寄存器的時(shí)序

        主機(jī)與從機(jī)通信時(shí),開(kāi)始時(shí)主機(jī)先發(fā)起始信號(hào),這個(gè)起始信號(hào)要滿足I2C協(xié)議的起始條件,然后是從機(jī)的寫地址,由圖2知從機(jī)的地址為 0xa2h(寫)、0xa3h(讀),隨后是從機(jī)發(fā)送應(yīng)答信號(hào),從機(jī)應(yīng)答后主機(jī)發(fā)送某一個(gè)控制寄存器的地址,從機(jī)再次應(yīng)答后,主機(jī)在發(fā)送控制寄存器的數(shù)據(jù),從機(jī)收到后發(fā)送主機(jī)應(yīng)答信號(hào),主機(jī)收到應(yīng)答信號(hào)后發(fā)送停止條件,這樣就結(jié)束一個(gè)控制寄存器的寫操作。

        例如:寫某個(gè)寄存器操作定義函數(shù)名定義為write9633(),函數(shù)的功能描述如下:

        void write9633 (unsigned charaddress1,unsigned char address2,unsigned char info)

        {

        start(); //起始信號(hào) writebyte(address1);

        //從機(jī)地址

        clock(); //應(yīng)答信號(hào)

        writebyte(address2); //寫 MODE1 寄存器地址

        clock();

        writebyte(info); //寫 MODE1 寄存器數(shù)據(jù)

        clock();

        stop(); //主機(jī)發(fā)停止信號(hào)

        delay1(5000); //延時(shí)

        }

        其中address1為從機(jī)地址,address2為控制寄存器地址,info為要寫入控制寄存器的數(shù)據(jù)。有關(guān)上述子函數(shù)的實(shí)現(xiàn)可以參考I2C協(xié)議的編程,由于篇幅所限,不再詳述。

        2.2 組控4位LED燈閃爍的主要程序

        PCA9633控制寄存器的宏定義:

        #define MODE1 0x00

        #define MODE2 0x01

        #define PWM0 0x02

        #define PWM1 0x03

        #define PWM2 0x04

        #define PWM3 0x05

        #define GRPPWM 0x06

        #define GRPPFREQ0x07

        #define LEDOUT 0x08

        #define SUBADR1 0x09

        #define SUBADR2 0x0A

        #define SUBADR3 0x0B

        #define ALLCALLADR 0x0C

        sbit cs=P2^5;

        write9633(0xa2,MODE1,0x00);

        //寫模式寄存器1,0xa2為從機(jī)地址

        write9633(0xa2,MODE2,0x22);

        //寫模式寄存器 2,cs=1時(shí),LEDn高阻抗,燈不亮

        write9633(oxa2,LEDOUT,0xff);

        write9633(0xa2,GRPPWM,0xa0);

        //改變占空因數(shù),值越小,亮的時(shí)間越短

        write9633(0xa2,GRPPFREQ,0xa0);

        //控制4個(gè)燈的閃爍頻率,值越小,閃爍越快

        cs=0; //輸出使能

        write9633(0xa2,PWM0,100);

        //100數(shù)值是燈的亮度,根據(jù)要求可以改變

        write9633(0xa2,PWM1,100);

        write9633(0xa2,PWM2,100);

        write9633(0xa2,PWM3,100);

        程序里對(duì)MODE2寄存器的設(shè)置是基于LED輸出配置是OD門結(jié)構(gòu),輸出配置如果是推拉輸出結(jié)構(gòu),即輸出加FET驅(qū)動(dòng)時(shí),模式2(MODE2)寄存器設(shè)置0x26h。

        如果I2C總線上連接多個(gè)PCA9633,則可以使用LED呼叫地址,即上述程序里地址0xa2改為0xe0就可以了。這樣可以節(jié)約I2C總線操作指令。0xe0是系統(tǒng)上電默認(rèn)的值,也可以通過(guò)寫LED呼叫地址改變,通過(guò)寫指令write9633(0xa2,0x0c,0xb2)即改為0xb2。

        2.3 實(shí)現(xiàn)呼吸燈的效果

        循環(huán)改變亮度控制寄存器的數(shù)值,可以實(shí)現(xiàn)呼吸燈的效果,以從機(jī)地址0xa22為例說(shuō)明,主要代碼如下:

        for(i=0;i<255;i++)

        {write9633(0xa2,PWM0,i);

        write9633 (0xa2,PWM1,i);

        write9633(0xa2,PWM2,i);

        write9633(0xa2,PWM3,i);

        delay(500);

        }

        3 結(jié)束語(yǔ)

        PCA9633在LED控制方面性能顯著,操作方便。特別是為紅/綠/藍(lán)/琥珀 (RGBA)色的混合應(yīng)用進(jìn)行了優(yōu)化。另外,它還有3個(gè)子呼地址可以實(shí)現(xiàn)特定的組響應(yīng)I2C總線。例如,可以允許所有的紅色LED燈亮或滅或?qū)崿F(xiàn)跑馬燈的效果,從而減少I2C指令。通過(guò)改變紅、黃、綠LED的輸出狀態(tài),依據(jù)RGB混光原理來(lái)實(shí)現(xiàn)任意顏色的顯示。

        [1]倪曉軍,章韻.單片機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,2009.

        [2]恩智浦.PCA9633 data sheet[EB/OL].(2006)[2014-11-14].http://www.cn.nxp.com/documents/data_sheet/PCA9633.pdf.

        [3]何立民.I2C總線應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1995.

        [4]馬忠梅.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.

        [5]徐愛(ài)鈞,彭秀華.單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,1998.

        猜你喜歡
        單片機(jī)設(shè)置信號(hào)
        中隊(duì)崗位該如何設(shè)置
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        基于FPGA的多功能信號(hào)發(fā)生器的設(shè)計(jì)
        電子制作(2018年11期)2018-08-04 03:25:42
        基于LabVIEW的力加載信號(hào)采集與PID控制
        本刊欄目設(shè)置說(shuō)明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        日本另类αv欧美另类aⅴ| 国产亚洲成av人片在线观黄桃| 亚洲国产精品第一区二区三区| 国产真实乱人偷精品人妻| 久久精品中文字幕无码绿巨人| 国产精品黄色在线观看| 亚洲色成人WWW永久在线观看| 大肉大捧一进一出视频| 久久精品女人av一区二区| 人妻少妇喷水意淫诱惑| 狠干狠爱无码区| 无码av一区二区大桥久未| 亚洲国产精品中文字幕久久| 99热国产在线| 国产青青草在线观看视频| aⅴ精品无码无卡在线观看| 国产成人综合久久三区北岛玲| 国产精品美女久久久久| 91在线视频在线视频| 最近亚洲精品中文字幕| 老熟妇仑乱视频一区二区 | 日本高清中文字幕二区在线| 欧美成人一区二区三区在线观看 | 国模少妇无码一区二区三区| 2021久久精品国产99国产精品| 丰满又紧又爽又丰满视频| 国内精品久久久久国产盗摄| 国产在视频线精品视频| 国产99一区二区三区四区| 激情五月天俺也去综合网| 品色堂永远的免费论坛| 色五月丁香五月综合五月| 国产视频一区二区三区久久亚洲| 最新国产精品亚洲二区| 东京无码熟妇人妻av在线网址| 国产三区三区三区看三区| 国产亚洲精品性爱视频| 成人aaa片一区国产精品| 国产精品伦理久久一区| 亚洲AV无码久久精品成人| 男女啪啪免费体验区|