色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

LED裸機驅動電路圖設計及編寫匯編代碼

454398 ? 來源:博客園 ? 作者:Suzkfly ? 2020-09-27 16:35 ? 次閱讀

1. 確定硬件連接

打開OK6410底板電路圖,找到LED,可以發現NLEDx為0時LED點亮。

找到LED的控制引腳,發現LED控制引腳通過連接器連到了核心板:

打開核心板電路圖,找到對應的連接器中相同位置下的引腳,發現核心板上的命名與底板相同。

注意:設計者為了方便會將核心板與底板連接處的端口命名為相同的名字,但判斷兩者的連接位置與端口名其實是沒有關系的。從底板上可以看出4個LED所在的連接器引腳編號分別為47,49,46和39,因此在核心板上應該找連接器上這幾個編號的引腳,核心板連接器上47,49,46和39號引腳才是與底板LED相連的引腳,只不過設計者為了方便,將核心板上這幾個引腳也命名為NLED1~4。

繼續在核心板上尋找,能找到NLEDx控制的引腳為GPM0~3

2. 確定GPM相關寄存器的地址和要寫入的值

打開6410的芯片手冊,找到GPM相關寄存器

可以發現有3個寄存器與GPM相關,三個寄存器的地址分別為0x7F008820、0x7F008824、0x7F008828,其中GPMCON用于配置引腳功能

我們要控制LED需要把GPM0~3都配置成輸出模式,因此GPMCON的位[15:0]應為0x1111。GPMDAT用于控制引腳輸出電平

如果要控制LED全亮,則GPMDAT位[3:0]應為0x0,全滅則為0xF。GPMPUD用于使能引腳的上下拉,一般會將LED控制引腳配置為上拉模式(注意區分信號的輸入輸出和電流的流入流出,GPMCON配置輸出指的是信號從6410輸出到外部,當輸出信號為0的時候電流會流入6410芯片)。因此GPMPUD的位[7:0]應為0xAA。

3. 編寫匯編代碼

編寫led.s

 1 .section .text
 2 .global _start
 3 _start:
 4     LDR R0, =0x7F008820        @GPMCON,也可以認為是GPM寄存器基地值
 5 
 6     LDR R1, [R0]            @取出GPMCON的值
 7     LDR R2, =0xFFFF
 8     BIC R1, R1, R2
 9     LDR R2, =0x1111
10     ORR R1, R1, R2
11     STR R1, [R0]            @配置GPM0~3為輸出模式
12 
13     LDR R1, [R0, #4]        @取出GPMDAT的值
14     ORR R1, R1, #0xF    
15     STR R1, [R0, #4]        @GPMDAT低4位置1,所有LED關閉
16 
17     LDR R1, [R0, #8]        @取出GPMPUD的值
18     BIC R1, R1, #0xFF
19     ORR R1, R1, #0xAA
20     STR R1, [R0, #8]        @GPM0~3使能上拉
21 loop:
22     LDR R1, [R0, #4]
23     BIC R1, R1, #0xF
24     ORR R1, R1, #0xE
25     STR R1, [R0, #4]        @點亮第一個LED
26     BL delay
27     
28     LDR R1, [R0, #4]
29     BIC R1, R1, #0xF
30     ORR R1, R1, #0xD
31     STR R1, [R0, #4]        @點亮第二個LED
32     BL delay
33 
34     LDR R1, [R0, #4]
35     BIC R1, R1, #0xF
36     ORR R1, R1, #0xB
37     STR R1, [R0, #4]        @點亮第三個LED
38     BL delay
39 
40     LDR R1, [R0, #4]
41     BIC R1, R1, #0xF
42     ORR R1, R1, #0x7
43     STR R1, [R0, #4]        @點亮第四個LED
44     BL delay
45     B loop
46 delay:
47     LDR R2, =0x1000000
48 delay_loop:
49     SUB R2, R2, #1
50     CMP R2, #0
51     BNE delay_loop
52     MOV PC, LR
53 
54     .end

輸入命令:

arm-none-linux-gnueabi-gcc -c led.s -o led.o

arm-none-linux-gnueabi-ld -Ttext 0 led.o -o led.elf

arm-none-linux-gnueabi-objcopy -O binary led.elf led.bin

此時生成了可執行文件led.bin

4. 下載文件

連接minicom,重啟后進入U-boot,輸入dnw 50008000

在虛擬機中輸入:sudo dnw led.bin

下載成功后在開發板中輸入:go 50008000

此時可以看到4個LED呈流水燈效果。

注意:我是利用U-boot下載程序,此時U-boot已經運行起來了,而U-boot已經做了很多初始化工作了,如設置堆棧指針、關閉看門狗、指定外設基地址等,如果想要將程序燒寫進Nandflash的0地址,則這些初始化工作必須自己做。

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

    關注

    242

    文章

    23341

    瀏覽量

    662280
  • 寄存器
    +關注

    關注

    31

    文章

    5363

    瀏覽量

    120922
  • 連接器
    +關注

    關注

    98

    文章

    14648

    瀏覽量

    137001
收藏 人收藏

    評論

    相關推薦

    EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序

    電子發燒友網站提供《EE-134:為SHARC系列編寫C兼容匯編代碼中斷處理程序.pdf》資料免費下載
    發表于 01-07 13:58 ?0次下載
    EE-134:為SHARC系列<b class='flag-5'>編寫</b>C兼容<b class='flag-5'>匯編</b><b class='flag-5'>代碼</b>中斷處理程序

    基于51單片機兩路紅黃綠交通燈電路圖及程序

    :? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能學到什么:? ? ? ? ?可以通過查看電路學習電路設計原理,查看代碼學習代碼
    發表于 06-24 17:32 ?2次下載

    基于51單片機四路紅黃綠交通燈電路圖及程序

    :? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能學到什么:? ? ? ? ?可以通過查看電路學習電路設計原理,查看代碼學習代碼
    發表于 06-24 17:31 ?2次下載

    基于51單片機電子稱電路圖及程序

    :? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能學到什么:? ? ? ? ?可以通過查看電路學習電路設計原理,查看代碼學習代碼
    發表于 06-21 14:33 ?0次下載

    基于51單片機步進電機正反轉調速控制電路圖及程序

    :? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能學到什么:? ? ? ? ?可以通過查看電路學習電路設計原理,查看代碼學習代碼
    發表于 06-20 16:17 ?0次下載

    基于51單片機分立器件超聲波測距電路圖及程序元件清單

    本資源內容概要:? ? ? ?這是基于51單片機分立器件超聲波測距電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單
    發表于 06-20 16:17 ?0次下載

    基于51單片機直流電機驅動測速電路圖及程序及元件清單

    本資源內容概要:? ? ? ?這是基于51單片機直流電機驅動測速電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清
    發表于 06-20 16:16 ?1次下載

    基于51單片機8路搶答器電路圖proteus仿真及程序

    本資源內容概要:? ? ? ?這是基于51單片機8路搶答器電路圖proteus仿真及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開
    發表于 06-19 14:15 ?1次下載

    基于51單片機16路搶答器電路圖及程序元件清單

    本資源內容概要:? ? ? ?這是基于51單片機16路搶答器電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格
    發表于 06-19 11:38 ?2次下載

    基于51單片機數碼管數字鐘電路圖及程序

    :? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能學到什么:? ? ? ? ?可以通過查看電路學習電路設計原理,查看代碼學習代碼
    發表于 06-18 10:14 ?0次下載

    基于51單片機0-10V電壓表電路圖及程序

    :? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能學到什么:? ? ? ? ?可以通過查看電路學習電路設計原理,查看代碼學習代碼
    發表于 06-17 14:24 ?2次下載

    基于51單片機0-20V電壓表4094驅動數碼管顯示電路圖及程序

    本資源內容概要:? ? ? ?這是基于51單片機0-20V電壓表4094驅動數碼管顯示電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(ke
    發表于 06-17 14:22 ?0次下載

    LED驅動電路圖分享

    LED驅動電路是一種用于驅動LED發光的電子電路。LED
    的頭像 發表于 02-18 16:55 ?4241次閱讀
    <b class='flag-5'>LED</b><b class='flag-5'>驅動</b><b class='flag-5'>電路圖</b>分享

    典型LED驅動電路圖分享

    LED驅動電路是一種電源電路,用于將輸入的電源電壓轉換為適合LED的直流電壓,以驅動
    的頭像 發表于 02-07 18:29 ?1.2w次閱讀
    典型<b class='flag-5'>LED</b><b class='flag-5'>驅動</b><b class='flag-5'>電路圖</b>分享

    簡單實用的3種led恒流驅動電路圖

    簡單實用的3種led恒流驅動電路圖
    的頭像 發表于 01-24 17:51 ?1.6w次閱讀
    簡單實用的3種<b class='flag-5'>led</b>恒流<b class='flag-5'>驅動</b><b class='flag-5'>電路圖</b>
    主站蜘蛛池模板: 护士日本xx厕所| 麻豆国产精品久久人妻| 巨爆乳中文字幕爆乳区| 亚洲视频欧美视频| 国产乱对白精彩在线播放| 色www精品视频在线观看| 虫族bl文全肉高h| 色狠狠色狠狠综合天天| 国产 浪潮AV性色四虎| 视频成人app永久在线观看| 粉嫩小护士| 小p孩玩成年女性啪啪资源| 国产色综合久久无码有码| 亚洲qingse中文字幕久久| 国产一区内射最近更新| 亚洲免费黄色片| 玖玖爱精品视频| 99精品久久| 日本xxx在线观看免费播放| videossex性暴力| 色迷迷电影| 国产亚洲精品久久孕妇呦呦你懂| 亚洲欧美在无码片一区二区| 久久99热在线观看7| 18禁无遮遮挡羞漫画免费阅读| 男女啪啪久久精品亚洲A| 扒开老师粉嫩的泬10P| 无码国产成人777爽死| 精品久久久久久无码人妻国产馆 | 久久五月综合婷婷中文云霸高清 | 欧美freesex黑人又粗又| 成人毛片免费播放| 亚洲 欧美 清纯 校园 另类 | 94vvv男人的天堂| 日本亚洲精品无码区国产电影| 国产成人久久精品激情| 妖精视频免费看| 欧洲-级毛片内射八十老太婆| 国产h视频在线观看免费| 亚洲青青草原| 秋霞网站一级一片|