娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

STM32匯編程序閃爍LED燈1

發布者:HarmoniousCharm最新更新時間:2025-02-06 來源: jianshu關鍵字:STM32  匯編程序 手機看文章 掃描二維碼
隨時隨地手機看文章

在main函數中添加如下代碼

AREA    |.text|, CODE, READONLY

GPIOB_CRL              EQU    0X40010C00

GPIOB_CRL_OUT          EQU    1<<21        ;1<<21 

GPIOB_ODR              EQU    0X40010C0C

GPIOB_ODR_OUT          EQU     1<<5        ;1<<5


GPIOB_BSRR              EQU    0X40010C10

GPIOB_BSRR_OFF          EQU    1<<5        ;1<<5

GPIOB_BSRR_ON           EQU    1<<21    ;1<<21

RCC_APB2ENR            EQU    0x40021018

RCC_APB2ENR_DATA        EQU    1<<3          ;1<<3

main  PROC

    EXPORT  main

    LDR R1, =RCC_APB2ENR            ; 將寄存器基地址載入R1

    LDR R2, [R1]                    ; 將R1的數據讀取到R2

    ORR R2,R2,#RCC_APB2ENR_DATA      ; 將R2的值改為目標值

    STR R2, [R1]                    ; 將R0的值寫入目標寄存器


    LDR R1, =GPIOB_CRL            ; 將寄存器基地址載入R1

    LDR R2, [R1]                    ; 將R1的數據讀取到R2

    ORR R2,R2,#GPIOB_CRL_OUT      ; 將R2的值改為目標值

    STR R2, [R1]                    ; 將R0的值寫入目標寄存器

label   

    LDR R1, =GPIOB_BSRR            ; 將寄存器基地址載入R1

    MOV R2,#GPIOB_BSRR_ON

    STR R2, [R1]                    ; 將R0的值寫入目標寄存器


    LDR  R4, =1000000  ; R4被加載為延時計數的初值,這個值依據時鐘頻率和需要的延時進行調整

Delay_Loop

    SUBS R4, R4, #1    ; 每個循環遞減計數器

    BNE  Delay_Loop    ; 如果R4不為零則繼續循環


    LDR R1, =GPIOB_BSRR            ; 將寄存器基地址載入R1

    MOV R2,#GPIOB_BSRR_OFF

    STR R2, [R1]                    ; 將R0的值寫入目標寄存器

    LDR  R4, =1000000  ; R4被加載為延時計數的初值,這個值依據時鐘頻率和需要的延時進行調整

Delay_Loop2

    SUBS R4, R4, #1    ; 每個循環遞減計數器

    BNE  Delay_Loop2    ; 如果R4不為零則繼續循環

    B      label

    ENDP

    ALIGN

    END

即可編譯下載實現PB5不斷翻轉電平,可以看到LED燈在閃爍

注意,編譯的時候,需要帶上use microlib,否則可能會有導致代碼卡住。


關鍵字:STM32  匯編程序 引用地址:STM32匯編程序閃爍LED燈1

上一篇:《嵌入式-STM32開發指南》第一部分 入門篇 - 第3章 搭建開發環境
下一篇:STM32項目:USART1配置與中斷接收

推薦閱讀最新更新時間:2025-05-21 12:26

ARM7入門13,定時器控制LED燈閃爍
主程序: /******************************************************************************* *File: Main.c *功能: 使用定時器0實現1s定時,并打開IRQ中斷,控制LED閃爍 * 同時使用定時器1實現比較匹配輸出 *******************************************************************************/ #include config.h #define LEDCON 0x00002000 /*P0.13引腳控制LED,低電平點亮*/
[單片機]
ARM7入門13,定時器控制<font color='red'>LED燈</font><font color='red'>閃爍</font>
不同數據類型的延時函數控制LED燈閃爍
//實例8:用不同數據類型控制燈閃爍時間 #include reg51.h //包含單片機寄存器的頭文件 /****************************************************** 函數功能:用整形數據延時一段時間 ******************************************************/ void int_delay(void) //延時一段較長的時間 { unsigned int m; //定義無符號整形變量,雙字節數據,值域為0~65535 for(m=0;m 36000;m++) ; //空操作 } /*************
[單片機]
閃爍LED燈具驅動方案設計
傳統鹵素杯燈使用電子式變壓器并采用交流電輸入,因此目前市面上的LED燈具產品,其內部加裝整流電路可直接替代傳統鹵素杯燈。傳統電子式變壓器雖然價格便宜,但相對質量良莠不齊,由于電子式變壓器事實上是以半橋式整流控制,隨負載阻抗大小而變動輸出,因此電路穩定度較差,當電路匹配有問題時,LED-MR16燈具就容易產生閃爍或不亮的情形發生。   現行3-5WLED-MR16燈的參考設計中,多采用3顆1W的LED串聯輸出,輸入電壓為交流12V±10%。若是LED驅動電路架構采用直流降壓模式時,在正常供電情況下可以有效輸出,但由于電子式變壓器穩定度原因,使得LED驅動電路的輸入電壓可能高于或低于輸出電壓,造成直流降壓驅動電路無法工作,LED的
[電源管理]
無<font color='red'>閃爍</font><font color='red'>LED燈</font>具驅動方案設計
PIC單片機鍵盤掃描匯編程序
;本程序用于PIC單片機外接鍵盤的識別,通過匯編程序,使按下K1鍵時第一個數碼管顯示1,按下K2鍵時第一 ;個數碼管上顯示2,按下K3鍵時第一個數碼管上顯示3,按下K4鍵時第一個數碼管上顯示4, ;匯編程序對鍵盤的掃描采用查詢方式 LIST P=18F458 INCLUDE "P18F458.INC" ;所用的寄存器 JIANR EQU 0X20 FLAG EQU JIANR+1 ;標志寄存器 DEYH EQU JIANR+2 DEYL EQU JIANR+3 F0 EQU 0 ;FLAG的第0位定義為F0 ORG 0X00 GOTO MAIN ORG 0X30 ;*************以下為鍵盤碼值轉換表**********
[單片機]
PIC單片機AD轉換匯編程序
;此匯編程序實現A/D轉換功能,應用于pic單片機上,A/D采用中斷方式。該程序通過單片機的RA2模擬通道送入 ;一直流電壓,當送入的直流電壓大于2.5V時,8個LED閃動,當直流電壓恢復到2.5V以下 ;時,LED停止閃動。為了防止干擾,本程序對直流電壓采樣10次后再作判斷,中間的采樣結 ;果用間接尋址的方式存取。 LIST P=18F458 INCLUDE "P18F458.INC" TIMES EQU 0X20 DEY EQU TIMES+1 ACCALO EQU TIMES+2 ;ACCA為雙精度加數寄存器 ACCAHI EQU TIMES+3 ACCBLO EQU TIMES+4 ;ACCB為雙精度加法的結果寄存器
[單片機]
單片機控制DAC0832輸出正弦波三角波匯編程序
org 0000h LJMP MAIN ORG 0003H LJMP L0 MAIN:MOV R2,#0aH ;調幅倍數 MOV R4,#01H ;增減選擇 MOV R5,#01H pp: SETB EA SETB EX0 ;延時計數個數 MOV A,#0FFH ;讀取波形狀態 MOV P1,A MOV A,P1 JNB ACC.0,ZXB ;P1.0=0 則選擇正弦波 JNB ACC.1,SJB ;P1.1=0 則選擇三角波 JNB ACC.2,FB ;P1.2=0 則選擇方 波 A
[單片機]
STM32(4):基于構件庫的點亮LED
概述 第一、二章節中,STM32是純裸開發,通過自定義地址來進行寫寄存器;STM32其實提供了底層固件庫,定義好了通用功能,所以如果是常規功能只需要調用固件庫的API即可實現功能。所以我在番外篇說了,其實熬過了前兩章,后面的內容反而要簡單。 從本章開始,我們的絕大多數的開發內容都是基于STM32的固件庫進行的。 從main函數說起 用c編寫函數,都知道入口函數是main函數,程序跑起來一定會找main函數;所以我們的編譯器在編譯的時候還會做強制的main函數重復檢測,避免定義多個main函數執行的時候導致不可預知的結果; 但是,為什么選擇的是main呢?我們覺得理所當然,其實有人替你負重前行,如果你做gcc編譯的c代碼,然后在Li
[單片機]
《嵌入式-STM32開發指南》第一部分 入門篇 - 第5章 STM32新建工程及配置
5.1 新建文件 5.1.1 新建文件夾 在 STM32-Template 文件夾下,我們新建四個文件夾,分別為DIF、Doc、Listing、Output、User。其中DIF中包含兩個文件夾CMSIS和Fwilb, CMSIS 用來存放庫為我們自帶的啟動文件和一些 M3系列的通用文件。CMSIS文件里存放的文件適合任何M3內核的單片機,CMSIS 的 縮寫為:Cortex Microcontroller Software Interface Standard,是 ARM Cortex 微控制器 軟件接口標準,是 ARM 公司為芯片廠商提供的一套通用的且獨立于芯片廠商 的處理器軟件接口;FWlib 用來存放 STM32 庫里面的
[單片機]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 寿光市| 三原县| 永年县| 介休市| 五家渠市| 乐平市| 祁连县| 天台县| 温泉县| 泰州市| 延安市| 洪湖市| 榆林市| 丰原市| 灵寿县| 杭州市| 鄂尔多斯市| 沐川县| 和平县| 东方市| 五指山市| 方城县| 勃利县| 乌拉特后旗| 凉城县| 寿阳县| 石棉县| 衢州市| 油尖旺区| 大理市| 泸定县| 左云县| 聂拉木县| 玉山县| 论坛| 成武县| 固安县| 莆田市| 镇雄县| 鸡东县| 双桥区|