RM新时代网站-首页

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

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

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

寄存器是什么?怎么操作寄存器點(diǎn)亮LED燈?

冬至子 ? 來源:紛紜雜談 ? 作者:CY_CHEN ? 2023-07-21 16:59 ? 次閱讀

首先,寄存器是什么?

寄存器,是集成電路中非常重要的一種存儲(chǔ)單元,通常由觸發(fā)器組成。在集成電路設(shè)計(jì)中,寄存器可分為電路內(nèi)部使用的寄存器和充當(dāng)內(nèi)外部接口的寄存器這兩類。內(nèi)部寄存器不能被外部電路或軟件訪問,只是為內(nèi)部電路的實(shí)現(xiàn)存儲(chǔ)功能或滿足電路的時(shí)序要求。而接口寄存器可以同時(shí)被內(nèi)部電路和外部電路或軟件訪問,CPU中的寄存器就是其中一種,作為軟硬件的接口,為廣泛的通用編程用戶所熟知。

今天在昨天建好的工程基礎(chǔ)上,簡(jiǎn)單介紹下怎么操作寄存器點(diǎn)亮LED燈。

新建兩個(gè)文件文件,分別命名為led.h和led.c并添加到工程項(xiàng)目中。

圖片

圖片

圖片

進(jìn)行操作的板子中LED1和LED2分別對(duì)應(yīng)PF9和PF10,想控制LED,就要先初始化對(duì)應(yīng)的端口。要初始化就要配置相應(yīng)的寄存器。配置寄存器需要一個(gè)STM32F4xx的參考手冊(cè),我比較菜,只能看中文文檔,看得懂英文的可以直接用英文版,畢竟英文版的是第一手資料。

圖片

圖片

以第一個(gè)GPIOx_MODER端口模式寄存器為例,要操作的端口分別為9、10,對(duì)應(yīng)18、20位。從電路圖可以知道只要控制輸出的高低電平就可以實(shí)現(xiàn)LED燈的亮滅。所以這里選擇通用輸出模式10。

圖片

在輸出類型中中,輸出使能,推挽模式時(shí)雙 MOS 管以方式工作,輸出數(shù)據(jù)寄存器GPIOx_ODR 可控制 I/O輸出高低電平。開漏模式時(shí),只有 N-MOS 管工作,輸出數(shù)據(jù)寄存器可控制 I/O輸出高阻態(tài)或低電平。所以輸出類型應(yīng)選推挽輸出。

圖片

圖片

端口的輸出速度是端口支持高低電平切換的最高頻率,控制LED燈可以隨便設(shè)置。

圖片

端口用于輸入時(shí),端口的上/下拉模式可以控制端口的默認(rèn)狀態(tài)。但現(xiàn)在端口用于輸出,端口受 ODR寄存器影響,ODR寄存器對(duì)應(yīng)端口位初始初始化后默認(rèn)值為 0,端口輸出低電平,所以這時(shí)我們配置無上/下拉模式。

圖片

圖片

在輸出模式時(shí),操作BSRR和ODR寄存器即可控制端口的電平。這里用ODR寄存器控制。輸入為0時(shí),LED燈亮;輸入為1時(shí),LED燈滅。

圖片

圖片

這時(shí),GPIO端口的寄存器已經(jīng)配置完成,但是還是點(diǎn)不亮燈。這是為什么捏?

STM32為了降低功耗,每個(gè)外設(shè)都對(duì)應(yīng)一個(gè)時(shí)鐘,這些時(shí)鐘的初始狀態(tài)都是關(guān)閉的,如果外設(shè)想要工作,必須打開相應(yīng)的時(shí)鐘。所有外設(shè)的時(shí)鐘由一個(gè)專門的外設(shè)來管理,叫 RCC。所以最后還要通過RCC_AHB1ENR開啟時(shí)鐘。

圖片

圖片

主程序

圖片

LED源文件

圖片

LED頭文件

圖片

編譯文件,將程序燒入開發(fā)板,LED燈亮,實(shí)驗(yàn)成功。

聲明:本文內(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)投訴
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1592

    瀏覽量

    107950
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • MOS管
    +關(guān)注

    關(guān)注

    108

    文章

    2410

    瀏覽量

    66758
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355729
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2000

    瀏覽量

    61132
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    寄存器點(diǎn)亮led

    本篇文章介紹了STM32的基本知識(shí),以及寄存器編程,映射等有關(guān)知識(shí),最后實(shí)例為用寄存器點(diǎn)亮led
    發(fā)表于 08-24 06:57

    如何操作寄存器

    學(xué)習(xí)單片機(jī)實(shí)際上就是學(xué)習(xí)如何操作寄存器。51單片機(jī)使用sfr來定義具有特殊功能的寄存器。如:sfr P1 = 0x90;如果你想使用P1口的第1位來點(diǎn)亮
    發(fā)表于 11-23 09:01

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定義  寄存器是中央處理內(nèi)的組成部分。寄存器是有限存貯容量
    發(fā)表于 03-08 14:26 ?2.2w次閱讀

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思

    數(shù)據(jù)寄存器,數(shù)據(jù)寄存器是什么意思 數(shù)據(jù)寄存器數(shù)據(jù)寄存器包括累加AX、基址寄存器BX、計(jì)數(shù)
    發(fā)表于 03-08 14:38 ?1.3w次閱讀

    寄存器與移位寄存器

    寄存器與移位寄存器:介紹寄存器原理和移位寄存器的原理及實(shí)現(xiàn)。
    發(fā)表于 05-20 11:47 ?0次下載

    使用寄存器點(diǎn)亮LED

    stm32是我們會(huì)寄存器點(diǎn)亮LED
    發(fā)表于 12-01 15:30 ?0次下載

    寄存器操作方法_對(duì)寄存器操作的通用方法總結(jié)

    本文主要詳解寄存器操作方法以及對(duì)寄存器操作的通用方法總結(jié),具體的跟隨小編來了解一下。
    的頭像 發(fā)表于 05-22 15:53 ?2.3w次閱讀

    如何使用寄存器點(diǎn)亮LED

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用寄存器點(diǎn)亮LED。
    發(fā)表于 04-15 17:00 ?10次下載
    如何使用<b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    STM8 寄存器點(diǎn)亮LED

    STM8 寄存器點(diǎn)亮LED庫函數(shù):方便,但效率低,調(diào)用文件多寄存器:高效,芯片資源最大化運(yùn)用,但繁瑣//使用寄存器方式控制最小系統(tǒng)板上 PB
    發(fā)表于 12-05 12:36 ?3次下載
    STM8 <b class='flag-5'>寄存器</b><b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b>

    2021年10月21日 STM32F103寄存器方式點(diǎn)亮LED流水燈

    某些功能的時(shí)候,就要操作某個(gè)寄存器??梢园?b class='flag-5'>寄存器類比為,有特殊功能的地方,既然是個(gè)地方當(dāng)然就有地址了,所以,可以把寄存器想象為特殊的地址。二、點(diǎn)燈點(diǎn)
    發(fā)表于 12-07 09:51 ?7次下載
    2021年10月21日 STM32F103<b class='flag-5'>寄存器</b>方式<b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b>流水燈

    STM32寄存器點(diǎn)燈

    配置寄存器使STM32最小系統(tǒng)板上的LED點(diǎn)亮根據(jù)原理圖,要使D2點(diǎn)亮,需要將PC13拉低,分為以下步驟:使能GPIO的時(shí)鐘配置GPIO1
    發(fā)表于 12-08 17:21 ?3次下載
    STM32<b class='flag-5'>寄存器</b>點(diǎn)燈

    STM32F03寄存器方式點(diǎn)亮LED流水燈

    STM32F03寄存器方式點(diǎn)亮LED流水燈文章目錄STM32F03寄存器方式點(diǎn)亮LED流水燈一、
    發(fā)表于 01-13 14:47 ?9次下載
    STM32F03<b class='flag-5'>寄存器</b>方式<b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b>流水燈

    STM32的寄存器操作

    STM32的寄存器操作在使用STM32單片機(jī)編程時(shí)一般都用ST給的庫函數(shù)編程,庫函數(shù)編程的底層就是對(duì)單片機(jī)寄存器操作,庫函數(shù)就是一系列寄存器
    發(fā)表于 01-13 15:43 ?19次下載
    STM32的<b class='flag-5'>寄存器</b><b class='flag-5'>操作</b>

    配置STM32寄存器控制GPIO點(diǎn)亮LED

    STM32點(diǎn)亮LED 寄存器方式IO簡(jiǎn)介1、每個(gè)IO可以自由編程,但是IO口寄存器必須按照32位字被訪問。2、每個(gè)IO端口都有7個(gè)寄存器來控
    發(fā)表于 01-13 16:15 ?3次下載
    配置STM32<b class='flag-5'>寄存器</b>控制GPIO<b class='flag-5'>點(diǎn)亮</b><b class='flag-5'>LED</b>

    RAL寄存器模型操作指南

    寄存器模型操作,指的是通過寄存器模型對(duì)RTL中寄存器進(jìn)行讀寫訪問,或者同步寄存器模型與RTL中寄存器
    的頭像 發(fā)表于 07-12 09:37 ?1075次閱讀
    RAL<b class='flag-5'>寄存器</b>模型<b class='flag-5'>操作</b>指南
    RM新时代网站-首页