STM32怎么缠写用户程序

STM32怎么缠写用户程序,第1张

1、为你的bootloader程序选择存储器地址,因为STM32的存储器FLASH存储程序代码空间为512K,需要进行划分。2、如果需要使用JTAG在线调试,则需要配置区域:3、为您的用户程序选择合适的存储空间:同时配置在线调试区域:4、bootloader程序编写基本流程如下:)检测有无需要更新的标志,用户可自定义。比如说读取flash某位置存储的字节作为标志位。2)如需更新,则调用STM32的FLASH程序擦鞋用户代码部分。3)将新的bin文件(即2进制文件直接烧写进去,需要将keil生成的hex文件转换为bin文件,然后存储到外扩展的flash中)写入到STM32自带的FLASH中去,记住需要与上述设置的仿灶用户代码存储区一致。4)更新成功后芹衫再跳转至用户程序。5、用户程序需要注意一点,需要在程序运行前重新设置中断向量表,即:NVIC_SetVectorTable()。6、用STM32自带的烧录软件进行烧录时,需要修改项目如下:1)打开安装后目标文件中的map文件夹,我们所用的STM32为512Kflash,所以选取STM32_High-density_512K.STmap,将其分解为两个STmap文件(此文件可用记事本 打开)STmap文件中,扇区是以每2K为一page来显示的,所以boot区我们只需要到page7,用户区我们需要page8到最后。修改完成后再次打开此软件会发现多出了两个flash选项,可以根据此处来选择需要存储的代码区。然后嫌大腔还有一处需要修改

/按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2

接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)

**************************************************************/州含/

按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2

接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)//

#include<reg52.h>

sbit P0_0=P0^0//个位数字

sbit P0_1=P0^1//十位数字

void delay(int k)//Tab为数码管显示值,存入一个数组内

void key_ccan(void)//声明按键扫描函数

unsigned char code Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}unsigned char i,shi,ge,num,count=10//num为被显示的数字

void main()

{

P2=Tab[0]P0_0=0P0_1=0//显示00

num=0//被显示的数置0

while(1)

{

key_ccan()//调用按键扫描程序

for(i=0i<counti++) //显示个位、十位count次后显示的数加1

shi=num/10//取出十位数

ge=num%10//取出个位数

P0_0=1P0_1=1//关闭显示

P2=Tab[shi]//P2口送出十位数据显示代码

P0_0=0//打开十位显示

delay(10)//延时

P0_0=1//关闭显示

P2=Tab[ge]//P2口送出个位数据显示代码

P0_1=0//打开个位显示

delay(10)//延时

P0_1=1//关闭个位显示

}

}

void key_ccan(void)

{

unsigned char ii

P1=0xff

ii=P1

if(ii!=0xff)

{

P1=0xff

delay(50)

ii=P1

if(ii!=0xff)

{

switch(ii)

{

case 0xfe: num++if(num==100) num=0break

case 0xfd: if(num==0) num=99else num--break

default: break

}

}

}

}

void delay(int k) //最简单的C延时程序

{ unsigned char i

while(k--) //直至K减为0则跳出

{for(i=100i>0i--)}

}

5.9

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

单片机_两册冲笑个数码管显示00~99

/按键判高控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2

接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)

**************************************************************//

按键控制加、减显示00-99(P1接8个独立按键,P10按下为加,P11按下为减,P2

接LED数码管的A- -H并加一个560欧的上拉排阻,P0接数码管DS1- -DS8位选)//

#include<reg52.h>

sbit P0_0=P0^0//个位数字


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12472099.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存