国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CW32數字電壓電流表軟件教程-實驗一:LED原理與驅動

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2024-05-31 15:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

2.1.LED燈基礎知識

2.1.1.LED燈結構組成

LED燈,也稱發光二極管,是一種能夠將電能轉化為可見光的固態的半導體器件,它可以直接把電轉化為光。LED的內部是一個半導體的晶片,晶片的一端附在一個支架上,一端是負極,另一端連接電源的正極,整個晶片環-氧樹脂封裝起來。常見的LED燈如圖2-1所示。

圖2-1 常見LED燈

2.1.2.LED燈發光原理

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

2.1.3.LED燈驅動原理

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

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

圖2-2 LED接法示例

  • 灌入電流指的是LED的供電電流是由外部提供電流,將電流灌入我們的MCU;風險是當外部電源出現變化時,會導致MCU的引腳燒壞。
  • 輸出電流指的是由MCU提供電壓電流,將電流輸出給LED;如果使用 MCU的GPIO 直接驅動 LED,則驅動能力較弱,可能無法提供足夠的電流驅動 LED。

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

2.2.LED燈原理圖

CW32F003小藍板關于LED燈的原理圖如圖2-3所示

圖 2-3 小藍板LED燈原理圖

2.3.LED燈驅動流程(庫函數)

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

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

圖 2-4 小藍板LED實物圖

2.3.1.配置流程

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

  • 開啟GPIO的端口時鐘
  • 配置GPIO的模式
  • 配置GPIO的輸出

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

2.3.1.1.開啟CW32F003系統內部時鐘

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

圖2-5 CW32F003內部時鐘樹

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

圖2-6 時鐘樹相關配置函數

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

2.3.1.2.開啟GPIO的端口時鐘

CW32的外時鐘默認是全部關閉,使用GPIO外設之前我們需要先開啟對應的時鐘。

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

圖2-7 GPIO配置相關函數

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

__RCC_GPIOC_CLK_ENABLE();//打開GPIOC的時鐘

2.3.1.3.配置GPIO初始化

GPIO初始化包含了模式,中斷使能,io引腳位號。CW32的GPIO初始化是先把所有初始化項寫在一個結構體里面,然后把結構體傳入帶初始化函數里,完成初始化功能。與GPIO相關的函數接口都在cw32f003_gpio.h頭文件里面,我們先看GPIO模式有哪些,如下圖所示:

圖2-8 GPIO模式

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

GPIO_Init_Struct.IT = GPIO_IT_NONE;

GPIO位號如下圖所示:

圖2-10 GPIO位腳

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

GPIO_Init_Struct.Pins = GPIO_PIN_0;

以上配置就完成了GPIO的結構體初始化,然后我們需要調用初始化函數,在cw32f003_rcc.h里找到void GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);包含了兩個參數,第一個參數是GPIO的基地址,第二個參數是初始化配置結構體。調用代碼如下:

GPIO_Init(CW_GPIOC, &GPIO_Init_Struct);

結合以上配置,完整代碼如下:

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之后,就可以進行點燈了。就是讓PC0輸出高低電平。在cw32f003_gpio.h頭文件中可以找到函數

GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pins, GPIO_PinState PinState);

傳參有三個,第一個是第一個參數是GPIO的基地址,第二個參數是引腳位號,第三個參數是輸出狀態。

GPIO_WritePin(CW_GPIOC,GPIO_PIN_0,GPIO_Pin_SET);//PC0輸出高電平
GPIO_WritePin(CW_GPIOC,GPIO_PIN_0,GPIO_Pin_RESET);//PC0輸出低電平

我們要點亮LED1根據上文的電路圖可知要將PC0置低。2.3.1.5.程序下載接線我們使用DAP-Link作為程序下載媒介,DAP-Link的接線圖如下。其中藍色(3.3V)、綠色(GND)、紫色(數據線SWD)、灰色(時鐘信號線SCK),與圖2-12一一對應。

圖2-11 DAP-Link接線圖

圖2-12 CW32F003程序下載接線

2.3.2.實驗效果

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

圖2-13 LED點亮實驗現象

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    243

    文章

    24596

    瀏覽量

    690872
  • 發光二極管
    +關注

    關注

    14

    文章

    1243

    瀏覽量

    69136
  • 電壓電流表
    +關注

    關注

    0

    文章

    25

    瀏覽量

    2279
  • CW32
    +關注

    關注

    1

    文章

    299

    瀏覽量

    1847
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問CW32中的CW是啥意思?

    CW32中的CW是啥意思?
    發表于 02-02 07:10

    CW32仿真器是什么?

    CW32仿真器是什么
    發表于 01-05 08:04

    CW32單片機如何讓生活更便捷

    單片機有著巨大的需求,例如在燃氣、水表、料位開關等設備中。此外,隨著綠色能源和節能環保理念的普及,低功耗的CW32單片機在LED調光板、BLDC無刷電機驅動器等產品中的應用也將越來越
    發表于 12-11 06:11

    CW32不是寬電壓供電嗎?為啥好多設計還是加個LDO3.3V的電源?

    CW32不是寬電壓供電么?為啥好多設計還是加個LDO3.3V的電源?
    發表于 12-08 08:11

    CW32 MCU在高頻率運行下的系統穩定性的提升方案

    問題,并提出系列應對措施,包括硬件設計改進和軟件優化策略,以確保系統在高頻工作環境中的可靠性和持續穩定運行。 具體內容包括: 高頻運行對MCU的影響分析: 探討CW32 MCU在高頻率運行時,對電源
    發表于 12-04 08:04

    基于芯源CW32 MCU的LED閃爍示例及代碼分析

    最近我在項目中使用了芯源的CW32 MCU,這是款非常適合物聯網和低功耗應用的微控制器。在初步學習和使用中,我做了個簡單的LED閃爍實驗
    發表于 12-04 06:52

    CW32 MCU溫度監測應用

    最近,我在項目中使用CW32 MCU,來實現個簡單的溫度監測系統。CW32的靈活性和性能讓我在這個應用中得心應手。以下是我的實現過程和代碼示例。 應用簡介本項目通過連接個溫度傳感器
    發表于 12-03 08:03

    基于芯源半導體MCU cw32芯片制作的USB電壓電流表

    1、項目功能介紹 基于芯源半導體MCU cw32芯片制作 USB電壓電流表 基于芯源半導體MCU cw32芯片+INA199芯片制作 USB電壓電流表,精度1%。可以檢測
    發表于 12-02 06:39

    cw32 systick怎么用?

    cw32 systick怎么用
    發表于 12-01 08:10

    CW32嵌入式軟件開發的必備知識

    嵌入式軟件開發作為計算機科學和電子工程的交叉領域,要求開發人員具備系列的專業知識和技能。 而基于CW32的嵌入式軟件開發必備知識包括以下部分: 1 、編程語言 熟練掌握C(C++
    發表于 11-28 07:48

    【活動評測】基于CW32的wegui實驗+代碼

    簡介 最近參加了cw32生態社區的體驗活動,CW32L012C8T6評估板是款非常典型的、用于展示和評估國產低功耗MCU的開發板。它的核心價值在于讓開發者能夠以極低的成本,接觸到武漢芯源半導體
    的頭像 發表于 11-19 16:37 ?831次閱讀
    【活動評測】基于<b class='flag-5'>CW32</b>的wegui<b class='flag-5'>實驗</b>+代碼

    CW32 MCU用什么IDE開發?

    推薦使用IAR Embedded Workbench for ARM、Keil μVision for ARM等IDE開發CW32 MCU應用,其中新版本IAR EWARM直接支持CW32 MCU,Keil MDK-ARM則需要安裝CW
    發表于 11-12 07:52

    CW32 MCU有哪些系列?

    目前CW32 MCU有通用高性能MCU、安全低功耗MCU、無線射頻MCU等3個系列。其中射頻MCU集成了無線收發器,主要包括CW32R031(2.4GHz BLE-Lite)系列和CW32W031(Sub-1G)系列。
    發表于 11-12 07:34

    CW32 MCU的工作電壓、工作溫度是多少?

    CW32通用型MCU工作電壓是1.65V~5.5V,射頻MCU工作電壓則是1.8V/2.2V~3.6V;通用型CW32F系列MCU,比如:CW
    發表于 11-12 06:49

    CW32 MCU用什么仿真器開發?

    理論上各主流IDE枚舉的、支持ARM Cortex內核的所有硬件仿真器,比如:J-LINK,ULINK,DAP,ST-Link等,都可以仿真、下載CW32 MCU的應用代碼。如果想實現量產或者離線下載應用代碼,則必須配套支持CW32 MCU的PC端
    發表于 11-12 06:01