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

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

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

3天內不再提示

CW32L083段碼屏驅動

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-06-18 09:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【目的】

CW32L083開發板上有8個段碼LCD顯示,使其顯示為0-9數字。

實現步驟

  1. 初始化LCD
void LCD_Configuration(void)
{
    LCD_InitTypeDef LCD_InitStruct = {0};

    LCD_InitStruct.LCD_Bias = LCD_Bias_1_3;
    LCD_InitStruct.LCD_ClockSource = LCD_CLOCK_SOURCE_LSI;
    LCD_InitStruct.LCD_Duty = LCD_Duty_1_4;
    LCD_InitStruct.LCD_ScanFreq = LCD_SCAN_FREQ_256HZ;
    LCD_InitStruct.LCD_VoltageSource = LCD_VoltageSource_Internal;

    __RCC_LCD_CLK_ENABLE();
    RCC_LSI_Enable();
    LCD_Init(&LCD_InitStruct);     //基本配置
    // BTL004 LCD 對應的連接
    //PA12 COM3
    //PA11 COM2
    //PA10 COM1
    //PA09 COM0
    //PA08 SEG0
    //PC09 SEG1
    //PC08 SEG2
    //PC07 SEG3
    //PC06 SEG4
    //PD15 SEG32
    //PD14 SEG33
    //PD13 SEG34
    //PD12 SEG35
    //PD11 SEG36
    //PD10 SEG37
    //PD09 SEG38
    //PD08 SEG39
    //PB15 SEG5
    //PB14 SEG6
    //PB13 SEG7
    // 分配引腳
    LCD_COMConfig(LCD_COM0 | LCD_COM1 | LCD_COM2 | LCD_COM3, ENABLE);
    LCD_SEG0to23Config(0x0000FF, ENABLE);
    LCD_SEG32to55Config(0x0000FF,ENABLE);



    CW_LCD- >RAM[0] = 0;
    CW_LCD- >RAM[1] = 0;
    CW_LCD- >RAM2 = 0;
    CW_LCD- >RAM3 = 0;
    CW_LCD- >RAM4 = 0;
    CW_LCD- >RAM5 = 0;
    CW_LCD- >RAM6 = 0;
    CW_LCD- >RAM7 = 0;
    CW_LCD- >RAM8 = 0;
    CW_LCD- >RAM9 = 0;
    CW_LCD- >RAM10 = 0;
    CW_LCD- >RAM11 = 0;
    CW_LCD- >RAM12 = 0;
    CW_LCD- >RAM13 = 0;

    LCD_Cmd(ENABLE);
    CW_LCD- >RAM0 = 0x0f0f;
    LCD_ContrastConfig(LCD_Contrast_Level_2);
    LCD_DriveVoltageConfig(LCD_INRS_LEVEL_0);
}
  1. 段碼LCD一個8位數據由高、低兩個顯示位來組成,定義函數如下:
/*  段碼低8(左) */
static uint8_t num_L[10] = {
	0x0d, //0
	0x00, //1
	0x0e, //2
	0x0a, //3
	0x03, //4
	0x0b,  //5
	0x0f,  //6
	0x00,  //7
	0x0f,  //8
	0x0b,  //9
};
/*  段碼高8(右) */
static uint8_t num_H[10] = {
	0x07,
	0x06,
	0x03,
	0x07,//3
	0x06,//4
	0x05, //5
	0x05, //
	0x07, //7
	0x07, //8
	0x07, //9
};
  1. 定義顯示7-0位數碼LCD如下:
void show_num(int8_t num)
{
				//顯示第7個數碼管
			CW_LCD- >RAM0 = num_H[num]< < 8 | num_L[num];
			//顯示第6個數碼管
			CW_LCD- >RAM0 |= (num_H[num]< < 8 | num_L[num]) < < 16;
			
			//顯示第5個數碼管
			CW_LCD- >RAM1 = num_L[num];
			CW_LCD- >RAM8 = num_H[num];
			
			//顯示第4個數碼管
			CW_LCD- >RAM8 |= num_H[num]< < 16 | num_L[num]< < 8;
			
			//顯示第3個數碼管
			CW_LCD- >RAM8 |= num_L[num]< < 24;
                       CW_LCD- >RAM9 = num_H[num];

			//顯示第2個數碼管
			CW_LCD- >RAM9 |= num_H[num]< < 16 | num_L[num]< < 8;
			
			//顯示第1個數碼管
			CW_LCD- >RAM1 |= num_H[num]< < 8;
			CW_LCD- >RAM9 |= num_L[num]< < 24;
			//顯示第0個數碼管
			CW_LCD- >RAM1 |= num_H[num]< < 24 | num_L[num]< < 16;
	
}
  1. main主函數程序如下:
#include "main.h"
void RCC_Configuration(void);

int32_t main(void)
{
    uint8_t i=0;
    CW_SYSCTRL- >AHBEN_f.GPIOC = 1U;    //Open GPIOA Clk

    CW_GPIOC- >ANALOG_f.PIN2 = 0U;      //Digital
    CW_GPIOC- >BRR_f.BRR2 = 1U;         //Reset PA00
    CW_GPIOC- >DIR_f.PIN2 = 0U;         //Output
		RCC_Configuration();
		LCD_Configuration();
    while(1)
    {
        CW_GPIOC- >TOG = bv2;
        FirmwareDelay( 8000000 );

			//從零顯示到8
			show_num(i);
			
			i++;
			if(i==10)
			i=0;

    }

}

void RCC_Configuration(void)
{
    /* 0. HSI使能并校準 */
//  RCC_HSI_OUT();
    RCC_HSI_Enable(RCC_HSIOSC_DIV6);

    /* 1. 設置HCLK和PCLK的分頻系數*/
    RCC_HCLKPRS_Config(RCC_HCLK_DIV1);
    RCC_PCLKPRS_Config(RCC_PCLK_DIV1);

//  RCC_HCLK_OUT();

//   __breakpoint(0);

    /* 2. 使能PLL,通過HSI倍頻到64MHz */
    RCC_PLL_Enable(RCC_PLLSOURCE_HSI, 8000000, RCC_PLL_MUL_8); // HSI 默認輸出頻率8MHz
//  RCC_PLL_OUT();

    ///< 當使用的時鐘源HCLK大于24M,小于等于48MHz:設置FLASH 讀等待周期為2 cycle
    ///< 當使用的時鐘源HCLK大于48M,小于等于72MHz:設置FLASH 讀等待周期為3 cycle
    __RCC_FLASH_CLK_ENABLE();
    FLASH_SetLatency(FLASH_Latency_3);

    /* 3. 時鐘切換到PLL */
    RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);
    RCC_SystemCoreClockUpdate(64000000);

    /* 4. 配置外設時鐘 */
//  __RCC_GPIOF_CLK_ENABLE();
//  __RCC_GPIOE_CLK_ENABLE();
//  __RCC_GPIOD_CLK_ENABLE();
//  __RCC_GPIOC_CLK_ENABLE();
//  __RCC_GPIOB_CLK_ENABLE();
//  __RCC_GPIOA_CLK_ENABLE();
//  __RCC_LCD_CLK_ENABLE();

}

下載到開發板后就可以周期的全屏顯示0-9的數字了。

3160d7a86448d3fc9d7915bcd5342b6.jpg

0a82a771d57b8108f7760b50e3fa755.jpg

3ebcef9836081bcff78bbd67d117755.jpg

f85e1f2031f1dfb256d730d2635f51a.jpg

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

    關注

    10

    文章

    1747

    瀏覽量

    155503
  • 數碼管
    +關注

    關注

    32

    文章

    1894

    瀏覽量

    94129
  • LCD顯示
    +關注

    關注

    0

    文章

    136

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于CW32L083的線控器方案設計

    基于武漢芯源推出的CW32L083設計的空調線控器產品.
    的頭像 發表于 06-25 14:23 ?48.5w次閱讀
    基于<b class='flag-5'>CW32L083</b>的線控器方案設計

    CW32L083 RTC初始化設置

    介紹CW32L083的RTC初始化設置
    的頭像 發表于 06-24 10:16 ?3027次閱讀
    <b class='flag-5'>CW32L083</b> RTC初始化設置

    基于CW32L083設計的超低功耗溫濕度計

    基于CW32L083設計的超低功耗溫濕度計,可以用電池供電,實現數年超長工作時間。
    的頭像 發表于 06-25 12:08 ?2.8w次閱讀
    基于<b class='flag-5'>CW32L083</b>設計的超低功耗溫濕度計

    基于CW32L083的空調遙控器方案設計

    基于武漢芯源半導體推出的CW32L083而設計的的空調遙控器方案
    的頭像 發表于 06-21 16:03 ?2511次閱讀
    基于<b class='flag-5'>CW32L083</b>的空調遙控器方案設計

    移植RT-Thread nano到CW32L083

    移植RT-Thread Nano到CW32L083開發板上,并成功運行。
    的頭像 發表于 07-03 09:04 ?2.4w次閱讀
    移植RT-Thread nano到<b class='flag-5'>CW32L083</b>

    CW32L083移植驅動st7735 TFT

    CW32L083驅動ST7735
    的頭像 發表于 07-04 19:16 ?3094次閱讀
    <b class='flag-5'>CW32L083</b>移植<b class='flag-5'>驅動</b>st7735 TFT<b class='flag-5'>屏</b>

    CW32L083有哪些應用場景?

    CW32L083有哪些應用場景
    發表于 11-24 07:37

    [技術手冊] CW32L083用戶手冊

    CW32L083用戶手冊
    發表于 06-02 15:41

    武漢芯源Cortex-M0+ 32位低功耗MCU CW32L083系列產品介紹

    、有線和無線傳感器模塊、表計等產品。武漢芯源官方網站已經發布了CW32L083系列MCU的數據手冊、用戶手冊、應用筆記等技術文檔,以及配套的StartKit開發板資料、底層外設驅動軟件庫和應用例程等
    發表于 08-24 09:12

    CW32L083產品介紹

    CW32L083是一款基于eFlash的單芯片低功耗微控制器,集成了ARM?Cortex?-M0+ 核心,主頻高達64MHz,高速嵌入式存儲器(高達256K字節的FLASH和 高達24K字節
    發表于 09-14 06:41

    CW32L083 I2C主板發送編程示例

    CW32L083的I2C主機發送示例。
    的頭像 發表于 06-09 16:54 ?18.1w次閱讀

    CW32L083實現SHT30驅動

    CW32L083驅動SHT30,并顯示到LCD上。
    的頭像 發表于 06-22 09:57 ?4930次閱讀
    <b class='flag-5'>CW32L083</b>實現SHT30<b class='flag-5'>驅動</b>

    基于CW32L083評估板的簡易低功耗功能測試

    使用CW32L083的評估板完成簡易低功耗例程實驗。
    的頭像 發表于 08-28 14:16 ?1955次閱讀
    基于<b class='flag-5'>CW32L083</b>評估板的簡易低功耗功能測試

    CW32L083的UART單線半雙工模式介紹

    CW32L083的UART單線半雙工模式介紹
    的頭像 發表于 10-24 17:49 ?2060次閱讀
    <b class='flag-5'>CW32L083</b>的UART單線半雙工模式介紹

    CW32L083如何實現AUTOTRIM時鐘校準?

    CW32L083如何實現AUTOTRIM時鐘校準?
    的頭像 發表于 11-07 17:17 ?1385次閱讀
    <b class='flag-5'>CW32L083</b>如何實現AUTOTRIM時鐘校準?