国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2

這篇具有很好參考價值的文章主要介紹了華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

作業(yè)要求:

現(xiàn)象:

代碼:

思維導(dǎo)圖:

模擬面試題:


作業(yè)要求:

GPIO實驗——3顆LED燈的流水燈實現(xiàn)

現(xiàn)象:

華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2,學(xué)習(xí)

代碼:



.text 
.global _start
_start: 
    
    @設(shè)置GPIOEF時鐘使能    0X50000A28
    LDR R0,=0X50000A28         @指定寄存器地址
    LDR R1,[R0]                @將寄存器數(shù)值取出來放在R1中
    ORR R1,R1,#(0x3<<4)        @將第4位設(shè)置為1
    STR R1,[R0]                @將修改后的值寫回去
 
    /************對led1的設(shè)置************/
    @設(shè)置PE10為輸出  GPIOE_MODER[21:20]->01   0X50006000
    ldr r0,=0x50006000         @指定寄存器地址
    ldr r1,[r0]                @將寄存器數(shù)值取出來放在r1中
    bic r1,r1,#(0x3<<20)      @將第20位和21位清零
    orr r1,r1,#(0x1<<20)      @將第20位和21位設(shè)置為01
    STR r1,[r0]

 
    @設(shè)置PE10為推挽輸出 GPIOE_OTYPER[10]->0  0X50006004
    ldr r0,=0x50006004
    ldr r1,[r0]
    bic r1,r1,#(0x1<<10)
    STR r1,[r0]
 
    @設(shè)置PE10為低速輸出 GPIOE_OSPEEDR[21:20]->00  0x50006008
    ldr r0,=0x50006008
    ldr r1,[r0]
    bic r1,r1,#(0x3<<20)
    STR r1,[r0]
 
    @設(shè)置PE10輸出時無上拉下拉電阻  GPIOE_PUPDR[21:20]->00  0X5000600C
    ldr r0,=0x5000600c
    ldr r1,[r0]
    bic r1,r1,#(0x3<<20)
    STR r1,[r0]

    /************對led2的設(shè)置************/
    @設(shè)置PF10為輸出  GPIOF_MODER[21:20]->01   0X50007000
    ldr r0,=0x50007000         @指定寄存器地址
    ldr r1,[r0]                @將寄存器數(shù)值取出來放在r1中
    bic r1,r1,#(0x3<<20)      @將第20位和21位清零
    orr r1,r1,#(0x1<<20)      @將第20位和21位設(shè)置為01
    STR r1,[r0]

 
    @設(shè)置PF10為推挽輸出 GPIOF_OTYPER[10]->0  0X50007004
    ldr r0,=0x50007004
    ldr r1,[r0]
    bic r1,r1,#(0x1<<10)
    STR r1,[r0]
 
    @設(shè)置PF10為低速輸出 GPIOF_OSPEEDR[21:20]->00  0x50007008
    ldr r0,=0x50006008
    ldr r1,[r0]
    bic r1,r1,#(0x3<<20)
    STR r1,[r0]
 
    @設(shè)置PF10輸出時無上拉下拉電阻  GPIOF_PUPDR[21:20]->00  0X5000700C
    ldr r0,=0x5000700c
    ldr r1,[r0]
    bic r1,r1,#(0x3<<20)
    STR r1,[r0]


    /************對led3的設(shè)置************/ 
    @設(shè)置PE8為輸出  GPIOE_MODER[17:16]->01   0X50006000
    ldr r0,=0x50006000         @指定寄存器地址
    ldr r1,[r0]                @將寄存器數(shù)值取出來放在r1中
    bic r1,r1,#(0x3<<16)      @將第20位和21位清零
    orr r1,r1,#(0x1<<16)      @將第20位和21位設(shè)置為01
    STR r1,[r0]

 
    @設(shè)置PE8為推挽輸出 GPIOE_OTYPER[8]->0  0X50006004
    ldr r0,=0x50006004
    ldr r1,[r0]
    bic r1,r1,#(0x1<<8)
    STR r1,[r0]
 
    @設(shè)置PE8為低速輸出 GPIOE_OSPEEDR[21:20]->00  0x50006008
    ldr r0,=0x50006008
    ldr r1,[r0]
    bic r1,r1,#(0x3<<20)
    STR r1,[r0]
 
    @設(shè)置PE8輸出時無上拉下拉電阻  GPIOE_PUPDR[17:16]->00  0X5000600C
    ldr r0,=0x5000600c
    ldr r1,[r0]
    bic r1,r1,#(0x3<<16)
    STR r1,[r0]

 
flash:
    @ led1亮
    bl led1_on
    bl delay

    @ led1滅且led2亮
    bl led1_off
    bl led2_on
    bl delay

    @ led2滅且led3亮
    bl led2_off
    bl led3_on
    bl delay

    @ led3滅 再 三燈同時亮
    bl led3_off
    bl led1_on
    bl led2_on
    bl led3_on
    bl delay

    @ 三燈同時滅
    bl led1_off
    bl led2_off
    bl led3_off
    bl delay

    b flash

led1_on:
    @設(shè)置PE10輸出高電平     GPIOE_ODR[10]->1    0X50006014
    ldr r0,=0x50006014
    ldr r1,[r0]
    orr r1,r1,#(0x1<<10)
    STR r1,[r0]
    mov pc,lr

led1_off:
    @設(shè)置PE10輸出低電平     GPIOE_ODR[10]->0    0X50006014
    ldr r0,=0x50006014
    ldr r1,[r0]
    bic r1,r1,#(0x1<<10)
    STR r1,[r0]
    mov pc,lr

led2_on:
    @設(shè)置PF10輸出高電平     GPIOF_ODR[10]->1    0X50007014
    ldr r0,=0x50007014
    ldr r1,[r0]
    orr r1,r1,#(0x1<<10)
    STR r1,[r0]
    mov pc,lr

led2_off:
    @設(shè)置PF10輸出低電平     GPIOF_ODR[10]->0    0X50007014
    ldr r0,=0x50007014
    ldr r1,[r0]
    bic r1,r1,#(0x1<<10)
    STR r1,[r0]
    mov pc,lr

led3_on:
    @設(shè)置PE8輸出高電平     GPIOE_ODR[8]->1    0X50006014
    ldr r0,=0x50006014
    ldr r1,[r0]
    orr r1,r1,#(0x1<<8)
    STR r1,[r0]
    mov pc,lr

led3_off:
    @設(shè)置PE8輸出低電平     GPIOE_ODR[8]->0    0X50006014
    ldr r0,=0x50006014
    ldr r1,[r0]
    bic r1,r1,#(0x1<<8)
    STR r1,[r0]
    mov pc,lr

delay:
    @延時函數(shù)
    ldr r2,=0x10000000
dd:
    cmp r2,#0
    subne r2,#1
    bne dd
    mov pc,lr	

.end

思維導(dǎo)圖:

華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2,學(xué)習(xí)

模擬面試題:

華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2,學(xué)習(xí)文章來源地址http://www.zghlxwxcb.cn/news/detail-771368.html

到了這里,關(guān)于華清遠(yuǎn)見嵌入式學(xué)習(xí)——ARM——作業(yè)2的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 嵌入式學(xué)習(xí)---ARM時鐘體系

    嵌入式學(xué)習(xí)---ARM時鐘體系

    按 一定電壓幅度 , 一定時間間隔 連續(xù)發(fā)出的脈沖信號。它是一個周期性的信號,每個周期內(nèi)包含一個上升沿和一個下降沿。時鐘脈沖的上升沿和下降沿通常用于觸發(fā)和同步各個電子元件的操作,例如CPU的指令執(zhí)行、數(shù)據(jù)傳輸、寄存器更新等。 時鐘頻率是指時鐘脈沖的頻率

    2024年01月16日
    瀏覽(28)
  • ARM+LINUX嵌入式學(xué)習(xí)路線

    ARM+LINUX嵌入式學(xué)習(xí)路線

    嵌入式學(xué)習(xí)是一個循序漸進(jìn)的過程,如果是希望向嵌入式軟件方向發(fā)展的話,目前最常見的是嵌入式Linux方向,關(guān)注這個方向,大概分3個階段: 1、嵌入式linux上層應(yīng)用,包括QT的GUI開發(fā) 2、嵌入式linux系統(tǒng)開發(fā) 3、嵌入式linux驅(qū)動開發(fā) 嵌入式目前主要面向的幾個操作系統(tǒng)是,

    2024年02月02日
    瀏覽(27)
  • 嵌入式學(xué)習(xí)52-ARM1

    嵌入式學(xué)習(xí)52-ARM1

    知識零散: 1.flash:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?nor flash? ? 可被尋地址? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

    2024年04月14日
    瀏覽(33)
  • 嵌入式學(xué)習(xí)---ARM中斷控制系統(tǒng)

    嵌入式學(xué)習(xí)---ARM中斷控制系統(tǒng)

    硬件中斷處理是實時系統(tǒng)設(shè)計的最重要、最關(guān)鍵的問題。 程序不斷地查詢各設(shè)備的狀態(tài),并做出相應(yīng)的反應(yīng)。該方式實現(xiàn)比較簡單,常用在比較單一的系統(tǒng)中,比如一個溫控系統(tǒng)中可以使用查詢方式不斷檢測溫度的變化。 特點:實現(xiàn)簡單;但 CPU利用率很低 ,不適合多任務(wù)的

    2024年02月03日
    瀏覽(55)
  • STM32&ARM體系結(jié)構(gòu)(嵌入式學(xué)習(xí))

    STM32&ARM體系結(jié)構(gòu)(嵌入式學(xué)習(xí))

    STM32是意法半導(dǎo)體(STMicroelectronics)公司推出的一系列32位ARM Cortex-M微控制器(MCU)產(chǎn)品系列。它們基于ARM架構(gòu),并且具有廣泛的應(yīng)用領(lǐng)域,包括工業(yè)自動化、消費電子、醫(yī)療設(shè)備、通信、汽車電子等。 STM32系列提供了多個產(chǎn)品系列,以滿足不同應(yīng)用需求和性能要求。其中常見

    2024年02月08日
    瀏覽(88)
  • 嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹

    嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹

    什么是異常 ??正常工作之外的流程都叫異常 ??異常會打斷正在執(zhí)行的工作,并且一般我們希望異常處理完后繼續(xù)回來執(zhí)行原工作 ??中斷是異常的一種 異常向量表 ??所有的CPU都有異常向量表,這是CPU設(shè)計時就設(shè)定好的,是硬件決定的。 ??當(dāng)異常發(fā)生時,CPU會自動動作(

    2024年02月11日
    瀏覽(28)
  • 【ARM 嵌入式 編譯系列 2.1 -- GCC 編譯參數(shù)學(xué)習(xí)】

    請閱讀 【ARM GCC 編譯專欄導(dǎo)讀】 上篇文章:ARM 嵌入式 編譯系列 2 – GCC 編譯過程介紹 下篇文章:ARM 嵌入式 C 入門及漸進(jìn) 3 – GCC attribute ((weak)) 弱符號使用 上篇文章 ARM 嵌入式 編譯系列 2 – GCC 編譯過程介紹 已經(jīng)介紹過了具體的編譯流程,本篇文章主要介紹變過程中常見的

    2024年02月13日
    瀏覽(51)
  • 嵌入式學(xué)習(xí)筆記(1)ARM的編程模式和7種工作模式

    嵌入式學(xué)習(xí)筆記(1)ARM的編程模式和7種工作模式

    ????ARM態(tài)-ARM指令集(32-bit) ????Thumb態(tài)-Thumb指令集(16-bit) ????Thumb2態(tài)-Thumb2指令集(16 32 bit) Thumb指令集是對ARM指令集的一個子集重新編碼得到的,指令長度為16位。通常在處理器執(zhí)行ARM程式時,稱處理器處于ARM狀態(tài);當(dāng)處理器執(zhí)行Thumb程式時,稱處理器處于Thumb狀態(tài)。

    2024年02月10日
    瀏覽(23)
  • 【ARM 嵌入式 編譯系列 4.1 -- GCC 編譯屬性 likely與unlikely 學(xué)習(xí)】

    請閱讀 【ARM GCC 編譯專欄導(dǎo)讀】 上篇文章:ARM 嵌入式 編譯系列 4 – GCC 編譯屬性 __read_mostly 介紹 下篇文章: ARM 嵌入式 編譯系列 4.2 – GCC 鏈接規(guī)范 extern “C“ 介紹 likely 和 unlikely 是GCC編譯器提供的一種代碼優(yōu)化特性,這兩個宏用于告訴編譯器某個條件判斷的結(jié)果是真還是假

    2024年02月12日
    瀏覽(53)
  • 【ARM 嵌入式 編譯系列 2.5 -- GCC 編譯參數(shù)學(xué)習(xí) --specs=nano.specs選項 】

    請閱讀 【嵌入式開發(fā)學(xué)習(xí)必備專欄 之 ARM GCC 編譯專欄】 ARM 工具鏈 ( arm-none-eabi- ) 包括了一個叫作 --specs 的編譯器和鏈接器選項,這個選項允許用戶指定一個或多個 “specs” 文件,以影響編譯或鏈接階段的行為。Specs 文件包含一系列的命令行參數(shù),這些參數(shù)可以是編譯器選項

    2024年01月22日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包