以前有興趣然后弄的,里面有很詳細的介紹和教程,
不過需要一個kl25的板子或者芯片
1. 工程概述
(1)本工程為KL25微控制器無操作系統應用工程,GPIO樣例程序
2. 軟件環境
(1)Kinetis Design Studio IDE v3.0.0.
3. 硬件環境
(1)KL25 SD13-01 EVB板
(2)藍燈對應引腳為PTB9,紅燈對應引腳為PTB19,綠燈對應引腳為PTB18
4. 實驗現象
(1)KL25 SD13-01 EVB板板上的藍燈閃爍
單片機源程序如下:
- #======================================================================
- #文件名稱:main.s
- #功能概要:匯編編程控制小燈閃爍
- #版權所有:蘇州大學NXP嵌入式中心(sumcu.suda.edu.cn)
- #版本更新:2013-06-05 V1.0; 2016-03-03 V2.0
- #======================================================================
- #include "include.S"
- #start 主函數定義開始
- .section .text.main
- .global main @定義全局變量,在芯片初始化之后調用
- .align 2 @指令對齊
- .type main function @定義主函數類
- .align 2
- #end 主函數定義結束
- main:
- cpsid i @關閉總中斷
- #小燈初始化, r0,r3是light_init的入口參數
- ldr r0,=LIGHT_BLUE @r0指明端口和引腳(用=是因為宏常數>=256,且用ldr)
- mov r3,#LIGHT_OFF @r3指明引腳的初始狀態
- bl light_init @調用小燈初始化函數
- cpsie i @開總中斷
- #主循環開始==================================================================
- main_loop1:
- ldr r4,=RUN_COUNTER_MAX @取延時值到r4
- mov r5,#0 @從零計數
- loop:
- add r5,#1 @加1計數
- cmp r4,r5 @r4值與r5值比較
- bne loop @不相等,則跳轉loop
- bl light_change @相等,則調用小燈亮暗轉變函數
- bne main_loop1 @跳轉main_loop1
- #主循環結束==================================================================
- .end
復制代碼
所有資料51hei提供下載:
KL25_Light(asm).rar
(234.84 KB, 下載次數: 7)
2019-5-29 11:19 上傳
點擊文件名下載附件
|