在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

CW32數字電壓電流表軟件教程-實驗四:數碼管動態顯示

CW32生態社區 ? 來源:CW32生態社區 ? 作者:CW32生態社區 ? 2024-05-31 15:23 ? 次閱讀

5.1.數碼管動態顯示原理

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

5.2.定時器中斷配置

在配置定時器之前需要注意是否將系統時鐘樹配置完成,定時器利用了高級外設時鐘 PCLK,在之前的時鐘配置中,我們將高級外設時鐘 PCLK的頻率配置成了6MHz,這將影響我們對定時器的預分頻和裝填計數值的配置。

在本次實驗中,我們使用定時器BTIM1進行中斷配置,代碼如下:

#include "BTIM1.h"

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

    BTIM_TimeBaseInitStruct.BTIM_Mode      = BTIM_Mode_TIMER;//將定時器配置為計時模式
    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;//配置定時器連續運行

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

5.3.數碼管動態顯示

在上一節的數碼管顯示數字的數碼管顯示模塊Seg_Dis.c文件中,我們還需要添加三個函數和定義一個數組 Seg_Reg 來完成動態顯示的功能。

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

void Close_Com(void)      //關閉所有數碼管的顯示,防止重影
{
  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;// 百位數
  uint8_t Tens;    // 十位數
  uint8_t Units;   // 個位數

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

  Seg_Reg[0] = Hundreds;       //將個十百位的數字分別存放進數組等待調用  
  Seg_Reg[1] = Tens;
  Seg_Reg[2] = Units;
}

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

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

最后在定時器中斷里不斷調用顯示刷新函數完成數碼管的刷新顯示:

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

5.4.實驗效果

最終的實驗效果如下圖所示,人眼已經看不出閃爍,但實際上數碼管是依次刷新顯示。

圖5-1 數碼管動態顯示效果圖

審核編輯 黃宇

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

    關注

    32

    文章

    1889

    瀏覽量

    92324
  • 電壓電流表
    +關注

    關注

    0

    文章

    25

    瀏覽量

    2175
  • CW32
    +關注

    關注

    1

    文章

    242

    瀏覽量

    1142
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    數碼管的結構與原理

    數碼管,也被稱作輝光或LED數碼管,是一種能夠顯示數字、字母、符號等信息的電子設備。它廣泛應用于各種電子設備中,如計算器、電子鐘表、電子秤
    的頭像 發表于 02-05 17:32 ?1694次閱讀

    四位數碼管12個引腳怎么分配

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

    簡述led數碼管的類型和顯示原理

    LED數碼管 :這是最常見的LED數碼管類型,由七個LED發光體組成,可以顯示0-9的數字。 十四段LED數碼管 :在七段LED
    的頭像 發表于 08-29 09:11 ?2271次閱讀

    數碼管顯示屏的靜態顯示編程是什么

    數碼管顯示屏的靜態顯示編程是一種簡單的顯示方式,它指的是在任意時刻,數碼管上的所有段(a, b, c, d, e, f, g, dp等,具體
    的頭像 發表于 08-28 17:14 ?1052次閱讀

    數碼管顯示屏的作用和功能是什么

    )組成的數字顯示設備。每個LED可以獨立控制,通過不同的組合方式來顯示數字、字母和一些特殊符號。 1.2 數碼管的分類
    的頭像 發表于 08-28 17:11 ?2601次閱讀

    數碼管顯示屏在仿真軟件中叫什么

    數碼管顯示屏,又稱為七段顯示器或七段LED顯示器,是一種常見的數字顯示設備,廣泛應用于電子設備中
    的頭像 發表于 08-28 17:08 ?2815次閱讀

    數碼管在仿真軟件里面怎么找

    數碼管,又稱為七段顯示器或七段顯示器,是一種常用的數字顯示設備,廣泛應用于電子設備中,如電子鐘、計算器、
    的頭像 發表于 08-28 17:06 ?3310次閱讀

    數碼管在仿真軟件中叫什么

    數碼管是一種用于顯示數字和字符的電子設備,廣泛應用于各種電子設備中,如計算器、電子鐘表、溫度計等。在仿真軟件中,數碼管通常被稱為“七段
    的頭像 發表于 08-28 16:40 ?2442次閱讀

    驅動器數碼管顯示不良原因

    驅動器數碼管顯示不良的原因可能有很多,涉及到硬件、軟件、環境等多個方面。 一、引言 驅動器數碼管是一種廣泛應用于工業自動化、電子設備等領域的顯示
    的頭像 發表于 08-28 16:38 ?1682次閱讀

    8位數碼管怎么不顯示數字

    8位數碼管是一種常見的電子顯示設備,用于顯示數字或字符。然而,有時8位數碼管可能無法正常顯示
    的頭像 發表于 08-28 16:34 ?1771次閱讀

    總結七段數碼管的分類和工作原理

    七段數碼管是一種常見的電子顯示設備,廣泛應用于各種電子設備中,如計算器、電子鐘、數字儀表等。 一、七段數碼管的分類 按顯示方式分類 七段
    的頭像 發表于 08-28 16:27 ?3734次閱讀

    7段數碼管共陰共陽如何顯示數字

    7段數碼管是一種常見的顯示設備,用于顯示數字和部分字母。它由7個LED發光二極組成,每個LED可以獨立控制,從而實現
    的頭像 發表于 08-28 16:19 ?4863次閱讀

    數碼管驅動芯片引腳功能

    數碼管驅動芯片是一種用于驅動數碼管顯示數字或字符的集成電路。數碼管驅動芯片的引腳功能是實現數碼管
    的頭像 發表于 08-28 16:08 ?1942次閱讀

    數碼管驅動芯片原理是什么

    數碼管驅動芯片是一種廣泛應用于數字顯示領域的電子元件,它能夠將數字信號轉換為可視的數字顯示。 一
    的頭像 發表于 08-28 16:07 ?1844次閱讀

    基于CW32F003E4P7的數字電壓電流表產品方案

    產品實物: 一、產品概述 數字電壓電流表,又稱為數顯電流電壓表,是以數字形式顯示,能夠同時檢測電流
    的頭像 發表于 06-25 11:55 ?1372次閱讀
    基于<b class='flag-5'>CW</b>32F003E4P7的<b class='flag-5'>數字</b><b class='flag-5'>電壓電流表</b>產品方案
    主站蜘蛛池模板: 日本在线黄色网址 | 三级黄网站 | 天天操女人 | 国产色婷婷精品综合在线 | 天天干天天射天天舔 | 免费看一级片 | 欧美极品xxxxⅹ另类 | 美女全黄网站免费观看 | 国产三级日本三级韩国三级在线观看 | 91aaa免费观看在线观看资源 | 四虎.com| 天天摸夜班摸天天碰 | 亚洲三级视频在线观看 | 2021国内精品久久久久影院 | 欧美日韩在线成人看片a | 亚洲欧美色鬼久久综合 | 操农村妇女 | 一区二区三区在线观看免费 | 亚洲一区二区三区免费视频 | 日本黄色网址大全 | 免费视频亚洲 | www国产永久免费视频看看 | 呦交小u女国产秘密入口 | 91久久福利国产成人精品 | 成人a毛片高清视频 | 午夜国产精品久久影院 | 欧美8888 | 亚洲国产高清人在线 | 日本黄色一区 | 伊人久久大香线蕉综合影 | 亚洲伊人网站 | 手机看片久久青草福利盒子 | 免费观看欧美一级高清 | 四虎sihu新版影院亚洲精品 | 日日操夜夜操狠狠操 | 午夜特级毛片 | 天堂免费视频 | 成人a大片高清在线观看 | 国产三片高清在线观看 | 免费人成网站永久 | 免费视频久久看 |