chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

CW32生態(tài)社區(qū) ? 來源:CW32生態(tài)社區(qū) ? 作者:CW32生態(tài)社區(qū) ? 2024-05-31 15:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

5.1.數(shù)碼管動(dòng)態(tài)顯示原理

所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出段碼和位碼,利用發(fā)光管的余輝和人眼視覺暫留作用,使人眼的感覺好像各位數(shù)碼管同時(shí)都在顯示。明確了原理,我們要使電壓電流表的三個(gè)位同時(shí)顯示不同的值需要用到CW32的定時(shí)器功能,在定時(shí)器的中斷服務(wù)程序里面執(zhí)行顯示刷新的動(dòng)作。有關(guān)CW32的定時(shí)器和中斷的相關(guān)知識(shí)請(qǐng)查看鏈接:【CW32F003E4核心板】入門學(xué)習(xí)教程。本文只講述如何配置定時(shí)器中斷并執(zhí)行數(shù)碼管刷新函數(shù)。

5.2.定時(shí)器中斷配置

在配置定時(shí)器之前需要注意是否將系統(tǒng)時(shí)鐘樹配置完成,定時(shí)器利用了高級(jí)外設(shè)時(shí)鐘 PCLK,在之前的時(shí)鐘配置中,我們將高級(jí)外設(shè)時(shí)鐘 PCLK的頻率配置成了6MHz,這將影響我們對(duì)定時(shí)器的預(yù)分頻和裝填計(jì)數(shù)值的配置。

在本次實(shí)驗(yàn)中,我們使用定時(shí)器BTIM1進(jìn)行中斷配置,代碼如下:

#include "BTIM1.h"

void Btim1_Init(void)
{
    BTIM_TimeBaseInitTypeDef BTIM_TimeBaseInitStruct;
    __RCC_BTIM_CLK_ENABLE();          //使能BTIM的時(shí)鐘
    NVIC_EnableIRQ(BTIM1_IRQn);       //使能BTIM1的中斷

    BTIM_TimeBaseInitStruct.BTIM_Mode      = BTIM_Mode_TIMER;//將定時(shí)器配置為計(jì)時(shí)模式
    BTIM_TimeBaseInitStruct.BTIM_Period    = 6000 - 1;      // 1ms采集1次
    BTIM_TimeBaseInitStruct.BTIM_Prescaler = BTIM_PRS_DIV1; // 6MHZ÷1÷6000 = 1000Hz
    BTIM_TimeBaseInitStruct.BTIM_OPMode    = BTIM_OPMode_Repetitive;//配置定時(shí)器連續(xù)運(yùn)行

    BTIM_TimeBaseInit(CW_BTIM1, &BTIM_TimeBaseInitStruct);  //初始化BTIM1
    BTIM_ITConfig(CW_BTIM1, BTIM_IT_OV, ENABLE); //配置BTIM1的中斷,定時(shí)器溢出產(chǎn)生中斷
    BTIM_Cmd(CW_BTIM1, ENABLE);                  //使能BTIM1           
}

5.3.數(shù)碼管動(dòng)態(tài)顯示

在上一節(jié)的數(shù)碼管顯示數(shù)字的數(shù)碼管顯示模塊Seg_Dis.c文件中,我們還需要添加三個(gè)函數(shù)和定義一個(gè)數(shù)組 Seg_Reg 來完成動(dòng)態(tài)顯示的功能。

uint8_t Seg_Reg[3] = {0,0,0};   //這個(gè)數(shù)組存放數(shù)碼管顯示三位的數(shù)字,0~9

void Close_Com(void)      //關(guān)閉所有數(shù)碼管的顯示,防止重影
{
  GPIO_WritePin(CW_GPIOB,GPIO_PIN_7,GPIO_Pin_SET);    //PB07,COM1
  GPIO_WritePin(CW_GPIOC,GPIO_PIN_3,GPIO_Pin_SET);    //PC03,COM2
  GPIO_WritePin(CW_GPIOC,GPIO_PIN_2,GPIO_Pin_SET);    //PC02,COM3
}

void Display(uint32_t value)
{
  uint8_t Hundreds;// 百位數(shù)
  uint8_t Tens;    // 十位數(shù)
  uint8_t Units;   // 個(gè)位數(shù)

  Units     = value % 10;      //分別取余獲得位數(shù)的值
  Tens      = value / 10 % 10;
  Hundreds  = value / 100 % 10;

  Seg_Reg[0] = Hundreds;       //將個(gè)十百位的數(shù)字分別存放進(jìn)數(shù)組等待調(diào)用  
  Seg_Reg[1] = Tens;
  Seg_Reg[2] = Units;
}

void Dis_Refresh(void)      //函數(shù)將在定時(shí)器中斷里調(diào)用,不斷刷新數(shù)碼管
{
/*靜態(tài)變量從作用域上分屬于局部變量;從生命周期上來看,它與用戶程序的生命周期相同。*/
  static uint8_t num = 0;      //這里的靜態(tài)臨時(shí)變量num,輪詢Seg_Reg數(shù)組

  Close_Com();                 //先關(guān)閉公共端,防止重影
  Seg_Dis(num,Seg_Reg[num]);   //調(diào)用顯示函數(shù)
  num++;
  if(num > 2)
  {
    num = 0;               
  }
}

最后在定時(shí)器中斷里不斷調(diào)用顯示刷新函數(shù)完成數(shù)碼管的刷新顯示:

void BTIM1_IRQHandler(void)        //BTIM1的中斷服務(wù)程序
{
  static uint32_t Cnt=0;           //Cnt作為計(jì)數(shù)標(biāo)志位控制刷新函數(shù)是否執(zhí)行
  if (BTIM_GetITStatus(CW_BTIM1, BTIM_IT_OV))
  {
    BTIM_ClearITPendingBit(CW_BTIM1, BTIM_IT_OV);  //清除中斷標(biāo)志位
    Cnt++;
    if (Cnt > 2)                  //3ms顯示一個(gè)數(shù)碼管
    {
      Cnt = 0;
      Dis_Refresh();             //數(shù)碼管掃描顯示
    }
  }
}

5.4.實(shí)驗(yàn)效果

最終的實(shí)驗(yàn)效果如下圖所示,人眼已經(jīng)看不出閃爍,但實(shí)際上數(shù)碼管是依次刷新顯示。

圖5-1 數(shù)碼管動(dòng)態(tài)顯示效果圖

審核編輯 黃宇

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

    關(guān)注

    32

    文章

    1890

    瀏覽量

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

    關(guān)注

    0

    文章

    25

    瀏覽量

    2254
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    281

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【瑞薩RA6E2】ADC數(shù)據(jù)采集與數(shù)碼管顯示

    ); } /** * @brief 數(shù)碼管動(dòng)態(tài)掃描顯示 * @note 采用動(dòng)態(tài)掃描方式,每次顯示一位
    發(fā)表于 11-27 00:52

    原廠 FZH114C  一款LED(發(fā)光二極、數(shù)碼管、點(diǎn)陣屏)驅(qū)動(dòng)控制專用芯片

    FZH114C通過靈活的亮度調(diào)節(jié)、單線通訊和動(dòng)態(tài)掃描設(shè)計(jì),顯著簡(jiǎn)化了多位數(shù)碼管或LED點(diǎn)陣屏的驅(qū)動(dòng)電路設(shè)計(jì)。其獨(dú)特的引腳排列(如VDD位于引腳13)和SOP16封裝,使其在緊湊型設(shè)計(jì)中更具優(yōu)勢(shì)。開發(fā)時(shí)需注意共陰設(shè)計(jì)、段驅(qū)動(dòng)電流設(shè)
    發(fā)表于 11-19 14:43

    FZH114  LED(發(fā)光二極、數(shù)碼管、點(diǎn)陣屏)驅(qū)動(dòng)控制專用芯片,集成數(shù)字通訊電路、 解碼電路、數(shù)據(jù)鎖存器、震蕩器

    顯示、LED點(diǎn)陣屏、機(jī)頂盒顯示等。 工業(yè)控制設(shè)備:需要多位數(shù)碼管或LED點(diǎn)陣顯示的場(chǎng)景。 注意事項(xiàng) 段驅(qū)動(dòng)電流:建議設(shè)置為2/8及以上,以
    發(fā)表于 11-19 11:13

    CW32 MCU用什么IDE開發(fā)?

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

    CW32 MCU有哪些系列?

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

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

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

    CW32 MCU用什么仿真器開發(fā)?

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

    級(jí)聯(lián)動(dòng)態(tài)掃描顯示數(shù)碼管問題

    GD32F103C8T6 硬件SPI連接移位寄存器74HC595級(jí)聯(lián),動(dòng)態(tài)掃描顯示五位數(shù)碼管 是否需要電平轉(zhuǎn)換芯片TXB0104 數(shù)碼管選擇共陰極和共陽極區(qū)別是什么 若使用TXB010
    發(fā)表于 10-07 20:36

    【應(yīng)用】工業(yè)現(xiàn)場(chǎng)的“智能顯示管家”:億佰特EID051-1xx系列 Modbus數(shù)碼管解析

    數(shù)碼管。億佰特新推出的EID051-1xx系列Modbus數(shù)碼管,以多種核心優(yōu)勢(shì),成為工業(yè)現(xiàn)場(chǎng)的一大助力。一.什么是Modbus數(shù)碼管?Modbus數(shù)碼管是一種通過R
    的頭像 發(fā)表于 07-17 19:34 ?373次閱讀
    【應(yīng)用】工業(yè)現(xiàn)場(chǎng)的“智能<b class='flag-5'>顯示</b>管家”:億佰特EID051-1xx系列 Modbus<b class='flag-5'>數(shù)碼管</b>解析

    數(shù)碼管和單片機(jī)的連接方式

    在電子技術(shù)飛速發(fā)展的今天,數(shù)碼管和單片機(jī)作為電子系統(tǒng)中的基礎(chǔ)組件,被廣泛應(yīng)用于各種電子產(chǎn)品之中。數(shù)碼管為人們提供直觀的數(shù)字顯示,而單片機(jī)則如同電子產(chǎn)品的 “大腦”,掌控著整個(gè)系統(tǒng)的運(yùn)行
    的頭像 發(fā)表于 02-05 17:44 ?2198次閱讀

    如何利用萬用檢測(cè)數(shù)碼管

    數(shù)碼管,作為一種廣泛應(yīng)用于電子設(shè)備中的顯示器件,其穩(wěn)定性和可靠性對(duì)于設(shè)備的正常運(yùn)行至關(guān)重要。為了確保數(shù)碼管的質(zhì)量,使用萬用進(jìn)行檢測(cè)是電子工程師和維修人員的常用手段。本文將詳細(xì)介紹如何
    的頭像 發(fā)表于 02-05 17:39 ?2778次閱讀

    數(shù)碼管的結(jié)構(gòu)與原理

    數(shù)碼管,也被稱作輝光或LED數(shù)碼管,是一種能夠顯示數(shù)字、字母、符號(hào)等信息的電子設(shè)備。它廣泛應(yīng)用于各種電子設(shè)備中,如計(jì)算器、電子鐘表、電子秤
    的頭像 發(fā)表于 02-05 17:32 ?3950次閱讀

    數(shù)碼管共陰和共陽的區(qū)別

    在電子設(shè)備的眾多顯示元件中,數(shù)碼管以其簡(jiǎn)單直觀、成本低廉等特點(diǎn),廣泛應(yīng)用于各類電子儀器儀表、數(shù)碼時(shí)鐘、電子秤等設(shè)備上,承擔(dān)著數(shù)字和簡(jiǎn)單字符的顯示
    的頭像 發(fā)表于 02-05 17:29 ?7527次閱讀

    四位數(shù)碼管12個(gè)引腳怎么分配

    在電子顯示技術(shù)中,四位數(shù)碼管作為一種常見的顯示器件,廣泛應(yīng)用于各種數(shù)字顯示系統(tǒng)。其通過控制不同段(A-G)的發(fā)光二極
    的頭像 發(fā)表于 01-30 15:00 ?4.9w次閱讀

    中斷實(shí)現(xiàn)數(shù)碼管顯示930

    (P3^6 == 0); // 等待按鍵釋放 } void main() { EX0 = 1; EA = 1; IT0 = 0; while(1); { //donothing } } 不知道哪兒出問題了,單片機(jī)數(shù)碼管無法顯示930這幾個(gè)
    發(fā)表于 11-30 09:46