色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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

    文章

    23312

    瀏覽量

    661657
  • 寄存器
    +關注

    關注

    31

    文章

    5357

    瀏覽量

    120690
  • 連接器
    +關注

    關注

    98

    文章

    14585

    瀏覽量

    136789
收藏 人收藏

    評論

    相關推薦

    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 ?4184次閱讀
    <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.5w次閱讀
    簡單實用的3種<b class='flag-5'>led</b>恒流<b class='flag-5'>驅動</b><b class='flag-5'>電路圖</b>
    主站蜘蛛池模板: 色列少女漫画| 女性露出奶头流出精子| 嫩草在线播放| 亚洲欧美日韩高清专区| 丰满艳妇亲伦| 欧美日韩视频一区二区三区| 在线播放一区| 精品一二三区久久AAA片| 亚洲福利电影一区二区?| 国产乱国产乱老熟300部视频| 肉多的小说腐小说| 第七色男人天堂| 日韩AV成人无码久久精品老人| japanese色系free日本| 欧美一区二区三区久久综| china年轻小帅脸直播飞机| 欧美xxxxxbb| XXOO麻豆国产在线九九爱| 欧美日韩北条麻妃一区二区| a在线观看视频| 秋霞网韩国理伦片免费看| 成人毛片100部免费看| 色婷婷国产精品视频一区二区| 国产成A人片在线观看| 神马影院在线eecss伦理片| 国产精品女上位在线观看| 小莹的性荡生活45章| 韩国电影real在线观看完整版| 亚洲无碼网站观看| 久久亚洲精品中文字幕| 88蜜桃人妻无码精品系列| 欧美性暴力变态xxxx| 国产成人久久精品AV| 亚洲精品国产熟女久久久| 久久综合久久伊人| YY600800新视觉理论私人| 午夜视频在线观看国产| 久久99这里只有精品| 99久久99久久精品国产片果冻| 入禽太深免费高清在线观看5| 国产原创剧情麻豆在线|