STM32 汇编语言,LED闪烁+时钟配置.doc

上传人:M****1 文档编号:560255616 上传时间:2023-05-30 格式:DOC 页数:6 大小:38.51KB
返回 下载 相关 举报
STM32 汇编语言,LED闪烁+时钟配置.doc_第1页
第1页 / 共6页
STM32 汇编语言,LED闪烁+时钟配置.doc_第2页
第2页 / 共6页
STM32 汇编语言,LED闪烁+时钟配置.doc_第3页
第3页 / 共6页
STM32 汇编语言,LED闪烁+时钟配置.doc_第4页
第4页 / 共6页
STM32 汇编语言,LED闪烁+时钟配置.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《STM32 汇编语言,LED闪烁+时钟配置.doc》由会员分享,可在线阅读,更多相关《STM32 汇编语言,LED闪烁+时钟配置.doc(6页珍藏版)》请在金锄头文库上搜索。

1、; LED闪烁+时钟配置;LED1闪烁频率1Hz,LED2闪烁频率2Hz,LED3闪烁频率4Hz;基于状态转换图,S1-S6六种状态 ;2011-5-4 by 追梦 ;BIT5 EQU 0X00000020BIT8 EQU 0X00000100BIT9 EQU 0X00000200BIT10 EQU 0X00000400LED1 EQU BIT8 ;LED1-PD.8LED2 EQU BIT9 ;LED2-PD.9LED3 EQU BIT10 ;LED3-PD.10GPIOD EQU 0X40011400 ;GPIOD 地址GPIOD_CRL EQU 0X40011400 ;低配置寄存器GPI

2、OD_CRH EQU 0X40011404 ;高配置寄存器GPIOD_ODR EQU 0X4001140C ;输出,偏移地址0ChGPIOD_BSRR EQU 0X40011410 ;低置位,高清除偏移地址10hGPIOD_BRR EQU 0X40011414 ;清除,偏移地址14hIOPDEN EQU BIT5 ;GPIOD使能位RCC_APB2ENR EQU 0X40021018STACK_TOP EQU 0X20002000 AREA RESET,CODE,READONLYDCD STACK_TOP ;MSP主堆栈指针DCD START ;复位,PC初始值ENTRY ;指示开始执行STA

3、RTBL.W RCC_CONFIG_72MHZLDR R1,=RCC_APB2ENRLDR R0,R1 ;读LDR R2,=IOPDENORR R0,R2;改STR R0,R1;写,使能GPIOD时钟;LED1-PD.8 推挽输出,50MHz;LED2-PD.9 推挽输出,50MHz;LED3-PD.10 推挽输出,50MHzMOV R0,#0x333LDR R1,=GPIOD_CRH ;PD.8910均在高寄存器STR R0,R1NOPNOPLDR R1,=GPIOD_ODRLDR R2,=0x00000F00MOV R3,#1LOOPSTR R2,R1MOV R0,#1125 ;1125/

4、9=125msBL.W DELAY_NMSEOR R2,#LED3 ;翻转LED3ADD R3,#1 ;计数加1CMP R3,#1BEQ STATE1CMP R3,#3BEQ STATE2CMP R3,#5BEQ STATE3CMP R3,#7BEQ STATE4CMP R3,#8BEQ STATE5B GOON STATE1 ;状态1EOR R2,#LED1EOR R2,#LED2B GOONSTATE2 ;状态2EOR R2,#LED2B GOONSTATE3 ;状态3EOR R2,#LED1EOR R2,#LED2B GOONSTATE4 ;状态4EOR R2,#LED2B GOONST

5、ATE5 ;状态5MOV R3,#0GOON B LOOP ;继续循环;RCC 时钟配置 HCLK=72MHz=HSE*9;PCLK2=HCLK PCLK1=HCLK/2;RCC_CONFIG_72MHZLDR R1,=0X40021000 ;RCC_CRLDR R0,R1LDR R2,=0X00010000 ;HSEONORR R0,R2STR R0,R1WAIT_HSE_RDYLDR R2,=0X00020000 ;HSERDYLDR R0,R1ANDS R0,R2CMP R0,#0BEQ WAIT_HSE_RDYLDR R1,=0X40022000 ;FLASH_ACRMOV R0,#0

6、X12STR R0,R1LDR R1,=0X40021004 ;RCC_CFGR时钟配置寄存器LDR R0,R1;PLL倍频系数,PCLK2,PCLK1分频设置;HSE 9倍频PCLK2=HCLK,PCLK1=HCLK/2;HCLK=72MHz 0x001D0400;HCLK=64MHz 0x00190400;HCLK=48MHz 0x00110400;HCLK=32MHz0x00090400;HCLK=24MHz0x00050400;HCLK=16MHz0x00010400LDR R2,=0x001D0400 ORR R0,R2STR R0,R1LDR R1,=0X40021000 ;RCC

7、_CR LDR R0,R1LDR R2,=0X01000000 ;PLLONORR R0,R2STR R0,R1WAIT_PLL_RDYLDR R2,=0X02000000 ;PLLRDYLDR R0,R1ANDS R0,R2CMP R0,#0BEQ WAIT_PLL_RDYLDR R1,=0X40021004 ;RCC_CFGRLDR R0,R1MOV R2,#0X02ORR R0,R2STR R0,R1WAIT_HCLK_USEPLLLDR R0,R1ANDS R0,#0X08CMP R0,#0X08BNE WAIT_HCLK_USEPLLBX LR ;RCC 时钟配置 HCLK=48MH

8、z=HSE*6;PCLK2=HCLK PCLK1=HCLK/2;RCC_CONFIG_48MHZLDR R1,=0X40021000 ;RCC_CRLDR R0,R1LDR R2,=0X00010000 ;HSEONORR R0,R2STR R0,R1WAIT_HSE_RDY1LDR R2,=0X00020000 ;HSERDYLDR R0,R1ANDS R0,R2CMP R0,#0BEQ WAIT_HSE_RDY1LDR R1,=0X40022000 ;FLASH_ACRMOV R0,#0X12STR R0,R1LDR R1,=0X40021004 ;RCC_CFGRLDR R0,R1;HS

9、E 6倍频 PCLK2=HCLK,PCLK1=HCLK/2LDR R2,=0X00110400 ORR R0,R2STR R0,R1LDR R1,=0X40021000 ;RCC_CR LDR R0,R1LDR R2,=0X01000000 ;PLLONORR R0,R2STR R0,R1WAIT_PLL_RDY1LDR R2,=0X02000000 ;PLLRDYLDR R0,R1ANDS R0,R2CMP R0,#0BEQ WAIT_PLL_RDY1LDR R1,=0X40021004 ;RCC_CFGRLDR R0,R1MOV R2,#0X02ORR R0,R2STR R0,R1WAIT

10、_HCLK_USEPLL1LDR R0,R1ANDS R0,#0X08CMP R0,#0X08BNE WAIT_HCLK_USEPLL1BX LR ;RCC 时钟配置 HCLK=24MHz=HSE*3;PCLK2=HCLK PCLK1=HCLK/2;RCC_CONFIG_24MHZLDR R1,=0X40021000 ;RCC_CRLDR R0,R1LDR R2,=0X00010000 ;HSEONORR R0,R2STR R0,R1WAIT_HSE_RDY2LDR R2,=0X00020000 ;HSERDYLDR R0,R1ANDS R0,R2CMP R0,#0BEQ WAIT_HSE_R

11、DY2LDR R1,=0X40022000 ;FLASH_ACRMOV R0,#0X12STR R0,R1LDR R1,=0X40021004 ;RCC_CFGRLDR R0,R1;HSE 3倍频PCLK2=HCLK,PCLK1=HCLK/2LDR R2,=0X00050400 ORR R0,R2STR R0,R1LDR R1,=0X40021000 ;RCC_CR LDR R0,R1LDR R2,=0X01000000 ;PLLONORR R0,R2STR R0,R1WAIT_PLL_RDY2LDR R2,=0X02000000 ;PLLRDYLDR R0,R1ANDS R0,R2CMP R0,#0BEQ WAIT_PLL_RDY2LDR R1,=0X4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号