日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

嵌入式开发板02---点亮LED升级版

發布時間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 嵌入式开发板02---点亮LED升级版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LED匯編的復雜編寫

首先,每次地址的輸入都需要自己輸入,非常容易輸入錯誤,所以使用宏定義:

#define GPJ0CON 0xE0200040

同時在編寫的匯編程序進行make時會有警告,找不到_start。因此使用全局,將_start的鏈接屬性改為外部

.global _start

_start為匯編程序的入口

在對流水燈等單個位操作時使用位操作:位與(&)、位或(|)、左移<<、右移>>
例對于0x28
(1<<3)|(1<<5) 1<<3=1000 1<<5=100000
(1<<3)|(1<<5)=101000=0x28
利用位取反很容易得到單顆LED的點亮效果~(1<<3)=11110111

延時函數的編寫:

delay:ldr r2, =10000ldr r3, =0x0 delay_loop:sub r2, r2, #1cmp r2, r3 //當r2=r3時bne不成立不執行,當r2不等于r3時執行bne delay_loopmov pc, lr //函數的返回

在主程序中bl delay調用函數,在調用函數時將程序指針寫入lr中,因此在函數返回時使用mov pc,lr

對于流水燈來說,主要使用循環和延時來實現的。

總結

以上是生活随笔為你收集整理的嵌入式开发板02---点亮LED升级版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。