0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CW32數(shù)字電壓電流表軟件教程(一):LED原理與驅(qū)動基礎(chǔ)知識詳解

武漢芯源半導(dǎo)體 ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-05-06 15:33 ? 次閱讀

2.1.LED燈基礎(chǔ)知識

2.1.1.LED燈結(jié)構(gòu)組成

LED燈,也稱發(fā)光二極管,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光。LED的內(nèi)部是一個半導(dǎo)體的晶片,晶片的一端附在一個支架上,一端是負(fù)極,另一端連接電源的正極,整個晶片環(huán)-氧樹脂封裝起來。常見的LED燈如圖2-1所示。

a2fba748-0b7a-11ef-a297-92fbcf53809c.jpg

圖2-1 常見LED燈

2.1.2.LED燈發(fā)光原理

半導(dǎo)體晶片由兩部分組成,一部分是P型半導(dǎo)體,另一端是N型半導(dǎo)體。這兩種半導(dǎo)體連接起來的時候,它們之間就形成了一個P-N結(jié)。當(dāng)電流通過導(dǎo)線作用于這個晶片的時候,電子就會被推向P區(qū),在P區(qū)里電子跟空穴復(fù)合,然后就會以光子的形式發(fā)出能量,這就是LED燈發(fā)光的原理。

2.1.3.LED燈驅(qū)動原理

LED 驅(qū)動指的是通過穩(wěn)定的電源為 LED 提供合適的電流和電壓,使其正常工作點亮。LED 驅(qū)動方式主要有恒流和恒壓兩種。限定電流的恒流驅(qū)動是最常見的方式,因為 LED 燈對電流敏感,電流大于其額定值可能導(dǎo)致?lián)p壞。恒流驅(qū)動保證了穩(wěn)定的電流,從而確保了 LED 安全。

LED 燈的驅(qū)動比較簡單,只需要給將對應(yīng)的正負(fù)極接到單片機(jī)的正負(fù)極即可驅(qū)動。LED的接法也分有兩種,灌入電流和輸出電流。

a30f926c-0b7a-11ef-a297-92fbcf53809c.png

圖2-2 LED接法示例

灌入電流指的是LED的供電電流是由外部提供電流,將電流灌入我們的MCU;風(fēng)險是當(dāng)外部電源出現(xiàn)變化時,會導(dǎo)致MCU的引腳燒壞。

輸出電流指的是由MCU提供電壓電流,將電流輸出給LED;如果使用 MCU的GPIO 直接驅(qū)動 LED,則驅(qū)動能力較弱,可能無法提供足夠的電流驅(qū)動 LED。

需要注意的 是 LED 燈的顏色不同,對應(yīng)的電壓也不同。電流不可過大,通常需要接入220歐姆到10K歐姆左右的限流電阻,限流電阻的阻值越大,LED的亮度越暗。

2.2.LED燈原理圖

CW32F003小藍(lán)板關(guān)于LED燈的原理圖如圖2-3所示

a32927c2-0b7a-11ef-a297-92fbcf53809c.png

a3413fc4-0b7a-11ef-a297-92fbcf53809c.png

圖 2-3 小藍(lán)板LED燈原理圖

2.3.LED燈驅(qū)動流程(庫函數(shù))

通過上面的原理圖可以了解到,LED2中負(fù)極接到了電源地,LED2的正極經(jīng)限流電阻R3連接到電源正。當(dāng)核心板上電時,使LED2導(dǎo)通,這時便有電流流過發(fā)光二極管LED2,使LED2發(fā)光指示電源接入;

LED1的正極經(jīng)限流電阻R5接到電源正極,LED1的負(fù)極連接到單片機(jī)的GPIO口上,通過LED燈的驅(qū)動原理,只需要將相應(yīng)GPIO(PC0)配置為低電平即可點亮LED1。CW32F003小藍(lán)板的LED部分實物圖如圖2-4所示

a35eaba4-0b7a-11ef-a297-92fbcf53809c.png

圖 2-4 小藍(lán)板LED實物圖

2.3.1.配置流程

一般我們使用GPIO的端口,都需要有以下幾個步驟。

開啟GPIO的端口時鐘

配置GPIO的模式

配置GPIO的輸出

從開發(fā)板原理圖了解到LED2接的是單片機(jī)的PC0。我們要使能LED就需要配置GPIOC端口。下面我們就以LED1接的PC0進(jìn)行介紹。

2.3.1.1.開啟CW32F003系統(tǒng)內(nèi)部時鐘

CW32的系統(tǒng)內(nèi)部時鐘默認(rèn)并不是我們想要的運(yùn)行頻率,在使用CW32之前我們需要先配置內(nèi)部時鐘樹。查找CW32F003的用戶手冊可以找到系統(tǒng)內(nèi)部時鐘樹如下圖:

a38421fe-0b7a-11ef-a297-92fbcf53809c.png

圖2-5 CW32F003內(nèi)部時鐘樹

在CW32的庫函數(shù)中找到cw32f003_rcc.h,頭文件中有時鐘樹相關(guān)配置的函數(shù),如下圖:

a3930e62-0b7a-11ef-a297-92fbcf53809c.png

圖2-6 時鐘樹相關(guān)配置函數(shù)

void RCC_Configuration(void)
{
  FLASH_SetLatency(FLASH_Latency_2); // 設(shè)置主頻為48MHZ需要注意,F(xiàn)lah的訪問周期需要更改為FLASH_Latency_2。
  RCC_HSI_Enable(RCC_HSIOSC_DIV1);   // 設(shè)置頻率為48M
  RCC_SYSCLKSRC_Config(RCC_SYSCLKSRC_HSI);  //選擇SYSCLK時鐘源  48MHz
  RCC_HCLKPRS_Config(RCC_HCLK_DIV1);  //配置SYSTICK到HCLK分頻系數(shù)  48MHz
  RCC_PCLKPRS_Config(RCC_PCLK_DIV8); //配置HCLK 到 PCLK的分頻系數(shù)  6MHz
}

2.3.1.2.開啟GPIO的端口時鐘

CW32的外時鐘默認(rèn)是全部關(guān)閉,使用GPIO外設(shè)之前我們需要先開啟對應(yīng)的時鐘。

在CW32提供的庫函數(shù)中找到cw32f003_rcc.h,這個頭文件包含了所有時鐘相關(guān)的函數(shù)接口。外設(shè)時鐘的接口如下圖所示:

a3ab8f6e-0b7a-11ef-a297-92fbcf53809c.png

圖2-7 GPIO配置相關(guān)函數(shù)

LED1的控制IO是PC0,因此需要打開GPIOC對應(yīng)的時鐘,代碼如下:

__RCC_GPIOC_CLK_ENABLE();//打開GPIOC的時鐘
2.3.1.3.配置GPIO初始化

GPIO初始化包含了模式,中斷使能,io引腳位號。CW32的GPIO初始化是先把所有初始化項寫在一個結(jié)構(gòu)體里面,然后把結(jié)構(gòu)體傳入帶初始化函數(shù)里,完成初始化功能。

與GPIO相關(guān)的函數(shù)接口都在cw32f003_gpio.h頭文件里面,我們先看GPIO模式有哪些,如下圖所示:

a3c85180-0b7a-11ef-a297-92fbcf53809c.png

圖2-8 GPIO模式 GPIO模式包含了模擬輸入,數(shù)字輸入,數(shù)字上拉輸入,數(shù)字下拉輸入,數(shù)字推挽輸出,數(shù)字開漏輸出模式。

根據(jù)發(fā)光二極管控制原理,PC0接在LED的反向端,因此PC0為低電平時,LED點亮。我們需要PC0輸出高低電平,模式需要選擇數(shù)字輸出模式,由于開漏模式需要外部有上拉或者下拉電阻才可輸出高低電平,所以我們選擇推挽模式。代碼如下:

 GPIO_Init_Struct.Mode = GPIO_MODE_OUTPUT_PP;
中斷使能包含了:無中斷,上升沿,下降沿,低電平,高電平中斷使能。

a3dd5b34-0b7a-11ef-a297-92fbcf53809c.png

圖2-9 GPIO中斷 因為我們需要的是GPIO輸出,因此不需要中斷使能,代碼如下:

 GPIO_Init_Struct.IT = GPIO_IT_NONE;
GPIO位號如下圖所示:

a3f61700-0b7a-11ef-a297-92fbcf53809c.png

圖2-10 GPIO位腳 LED的控制端為PC0,最后的這個0就是位號,配置代碼如下:

 GPIO_Init_Struct.Pins = GPIO_PIN_0;
引腳輸出還需要配置GPIO的輸出速度,有高低速兩種速度設(shè)置,我們設(shè)置高速:
GPIO_Init_Struct.Speed = GPIO_SPEED_HIGH;
以上配置就完成了GPIO的結(jié)構(gòu)體初始化,然后我們需要調(diào)用初始化函數(shù),在cw32f003_rcc.h里找到void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);包含了兩個參數(shù),第一個參數(shù)是GPIO的基地址,第二個參數(shù)是初始化配置結(jié)構(gòu)體。調(diào)用代碼如下:
GPIO_Init(CW_GPIOC, &GPIO_Init_Struct);
結(jié)合以上配置,完整代碼如下:
 GPIO_InitTypeDef GPIO_Init_Struct;
  __RCC_GPIOC_CLK_ENABLE();
  GPIO_Init_Struct.IT   = GPIO_IT_NONE;
  GPIO_Init_Struct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_Init_Struct.Pins = GPIO_PIN_0;
  GPIO_Init(CW_GPIOC, &GPIO_Init_Struct);
2.3.1.4.配置LED輸出

配置好GPIO之后,就可以進(jìn)行點燈了。就是讓PC0輸出高低電平。 在cw32f003_gpio.h頭文件中可以找到函數(shù)
GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pins, GPIO_PinState PinState);

傳參有三個,第一個是第一個參數(shù)是GPIO的基地址,第二個參數(shù)是引腳位號,第三個參數(shù)是輸出狀態(tài)。
GPIO_WritePin(CW_GPIOC,GPIO_PIN_0,GPIO_Pin_SET);//PC0輸出高電平
GPIO_WritePin(CW_GPIOC,GPIO_PIN_0,GPIO_Pin_RESET);//PC0輸出低電平
我們要點亮LED1根據(jù)上文的電路圖可知要將PC0置低。

2.3.1.5.程序下載接線

我們使用DAP-Link作為程序下載媒介,DAP-Link的接線圖如下。其中藍(lán)色(3.3V)、綠色(GND)、 紫色(數(shù)據(jù)線SWD)、灰色(時鐘信號線SCK),與圖2-12一一對應(yīng)。

a411abdc-0b7a-11ef-a297-92fbcf53809c.png

圖2-11 DAP-Link接線圖

a438cd70-0b7a-11ef-a297-92fbcf53809c.png

圖2-12 CW32F003程序下載接線

2.3.2.實驗效果

最終的實驗效果如下圖所示:

a45d1b1c-0b7a-11ef-a297-92fbcf53809c.png

圖2-13 LED點亮實驗現(xiàn)象



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1588

    瀏覽量

    107396
  • 發(fā)光二極管
    +關(guān)注

    關(guān)注

    13

    文章

    1179

    瀏覽量

    66004
  • LED驅(qū)動
    +關(guān)注

    關(guān)注

    72

    文章

    971

    瀏覽量

    137775
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1174

    瀏覽量

    51513
  • 電壓電流表
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    2049
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    168

    瀏覽量

    502

原文標(biāo)題:CW32數(shù)字電壓電流表軟件教程-實驗一:LED原理與驅(qū)動

文章出處:【微信號:武漢芯源半導(dǎo)體,微信公眾號:武漢芯源半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    CW32數(shù)字電壓電流表-產(chǎn)品硬件設(shè)計要點

    電壓跟隨器的功能簡化外圍電路 2、使用了和市面電壓電流表的同款接口(XH2.54+CH3.96),方便通用 3、最大40V的表頭供電電壓,覆蓋大部分常用電壓范圍 4、板載低成本藍(lán)牙通
    的頭像 發(fā)表于 04-25 15:20 ?1656次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b>-產(chǎn)品硬件設(shè)計要點

    CW32數(shù)字電壓電流表軟件教程(五):ADC采樣及顯示

    模擬數(shù)字轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡稱ADC,通常是指個將模擬信號轉(zhuǎn)變?yōu)?b class='flag-5'>數(shù)字信號的電子元件。通
    的頭像 發(fā)表于 05-21 10:34 ?913次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>(五):ADC采樣及顯示

    CW32數(shù)字電壓電流表軟件教程-實驗二:按鍵檢測

    3.1.獨立按鍵基礎(chǔ)知識 3.1.1.獨立按鍵結(jié)構(gòu)組成 獨立按鍵實際上是個非自鎖的輕觸開關(guān),有左右兩個觸點,當(dāng)按下時左右兩個觸點閉合,當(dāng)松開時左右兩個觸點斷開。 3.1.2.獨立按鍵控制原理 想要
    的頭像 發(fā)表于 05-31 15:16 ?712次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實驗二:按鍵檢測

    智能電壓電流表的工作原理及功能

    電壓電流表,主要用于測量直流電壓、電流信號、傳感器輸出的電壓、電流信號等等。近年來,隨著智能電子技術(shù)的發(fā)展,
    的頭像 發(fā)表于 05-06 09:38 ?3093次閱讀

    基于STM32的USB電壓電流表

    電子發(fā)燒友網(wǎng)站提供《基于STM32的USB電壓電流表.zip》資料免費(fèi)下載
    發(fā)表于 08-10 14:47 ?40次下載
    基于STM32的USB<b class='flag-5'>電壓電流表</b>

    精密DIY電壓電流表

    電子發(fā)燒友網(wǎng)站提供《精密DIY電壓電流表.zip》資料免費(fèi)下載
    發(fā)表于 10-27 14:19 ?21次下載
    精密DIY<b class='flag-5'>電壓電流表</b>

    CW32數(shù)字電壓電流表軟件教程-實驗LED原理與驅(qū)動

    2.1.LED基礎(chǔ)知識 2.1.1.LED燈結(jié)構(gòu)組成 LED燈,也稱發(fā)光二極管,是種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,它可以直接
    的頭像 發(fā)表于 05-31 15:09 ?238次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實驗<b class='flag-5'>一</b>:<b class='flag-5'>LED</b>原理與<b class='flag-5'>驅(qū)動</b>

    CW32數(shù)字電壓電流表軟件教程-實驗四:數(shù)碼管動態(tài)顯示

    5.1.數(shù)碼管動態(tài)顯示原理 所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出段碼和位碼,利用發(fā)光管的余輝和人眼視覺暫留作用,使人眼的感覺好像各位數(shù)碼管同時都在顯示。明確了原理,我們要使電壓電流表的三個位同時
    的頭像 發(fā)表于 05-31 15:23 ?349次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實驗四:數(shù)碼管動態(tài)顯示

    CW32數(shù)字電壓電流表軟件教程-實驗五:ADC采樣及顯示

    6.1. ADC基礎(chǔ)知識 6.1.1. 什么是ADC 模擬數(shù)字轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡稱ADC,通常是指個將模擬信號轉(zhuǎn)變?yōu)?b class='flag-5'>數(shù)字信號的電子元件。通常的模數(shù)轉(zhuǎn)換器是將
    的頭像 發(fā)表于 05-31 15:28 ?383次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實驗五:ADC采樣及顯示

    CW32數(shù)字電壓電流表軟件教程-實驗六:串口藍(lán)牙發(fā)送

    7.1.串口基礎(chǔ)知識 7.1.1.串口介紹 串行接口簡稱串口,也稱串行通信接口或串行通信接口(通常指COM接口),是采用串行通信方式的擴(kuò)展接口。串行接口 (Serial Interface)是指數(shù)
    的頭像 發(fā)表于 05-31 15:45 ?218次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件教程</b>-實驗六:串口藍(lán)牙發(fā)送

    CW32數(shù)字電壓電流表軟件教程-實驗七:基本數(shù)據(jù)處理算法(均值濾波)

    有像素的均值,再把該均值賦予當(dāng)前像素點(x,y),作為處理后圖像在該點上的灰度g(x,y),即g(x,y)=∑f(x,y)/m,m為該模板中包含當(dāng)前像素在內(nèi)的像素總個數(shù)。這本是數(shù)字圖像處理的種方法,但也可以用在我們數(shù)字
    的頭像 發(fā)表于 05-31 15:47 ?247次閱讀

    CW32數(shù)字電壓電流表軟件進(jìn)階教程-1.電壓電流同時顯示

    基于[CW32數(shù)字電壓電流表軟件教程-實驗七:基本數(shù)據(jù)處理算法(均值濾波)],可以對電壓電流進(jìn)行同時采集顯示。
    的頭像 發(fā)表于 05-31 15:50 ?372次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件</b>進(jìn)階教程-1.<b class='flag-5'>電壓電流</b>同時顯示

    CW32數(shù)字電壓電流表軟件進(jìn)階教程-2.電壓電流值做均值濾波

    在實驗運(yùn)行7.1章節(jié)例程時 [CW32數(shù)字電壓電流表軟件進(jìn)階教程-1.電壓電流同時顯示] ,會發(fā)現(xiàn)實時顯示更新的數(shù)據(jù)是當(dāng)前采集值,并未做數(shù)據(jù)
    的頭像 發(fā)表于 05-31 15:57 ?320次閱讀

    CW32數(shù)字電壓電流表軟件進(jìn)階教程-3.電壓電流標(biāo)定

    標(biāo)定是通過測量標(biāo)準(zhǔn)器的偏差來補(bǔ)償儀器系統(tǒng)誤差,從而改善儀器或系統(tǒng)準(zhǔn)確度、精度的操作。為了提高電壓電流表在測量時的測量精度和準(zhǔn)確度,需要對電壓電流進(jìn)行標(biāo)定校準(zhǔn)。 常見的標(biāo)定原理如下:假設(shè)個采樣系統(tǒng)
    的頭像 發(fā)表于 05-31 16:20 ?420次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b><b class='flag-5'>軟件</b>進(jìn)階教程-3.<b class='flag-5'>電壓電流</b>標(biāo)定

    基于CW32F003E4P7的數(shù)字電壓電流表產(chǎn)品方案

    產(chǎn)品實物: 、產(chǎn)品概述 數(shù)字電壓電流表,又稱為數(shù)顯電流電壓表,是以數(shù)字形式顯示,能夠同時檢測電流
    的頭像 發(fā)表于 06-25 11:55 ?673次閱讀
    基于<b class='flag-5'>CW</b>32F003E4P7的<b class='flag-5'>數(shù)字</b><b class='flag-5'>電壓電流表</b>產(chǎn)品方案