需要物闹利用下载器和下载软件才能将keil程序输出的hex文件烧录到单片机中。具体 *** 作请参照以下步骤,演示单片机为51单片机。
1、首先准备好51单片机最小系统板和烧录器。
2、打开stc-isp烧录软件选择好单片机型号,这里的所选的单片机型号为STC89C/LE52RC。在此可以观察到“串口号”显示没有可用的接口。
3、接着把烧录器与51单片机最小系统连线,插入电脑。
4、电脑已经识别到串口号(COM10)后,选择点击“打开程序文件”,将目标hex文件导入。
5、然后点击“下载”选项,可以看到软件界面右下角显示框显示“正在检测目标单拍蚂掘片机...”袭核。
6、然后对单片机重新上电,不久后,软件界面右下角显示框显示“正在重新握手...成功”。完成以上设置后,即可完成给单片机烧录程序。
拿STM32F103C8T6这个型号来说,碰镇总共有5个接电源正极和4个接地引脚,分别给内部不用的模块供电。VDD:就是单片机的供电电压。
VDDA:VDD后面有个A,A=Analog,表示模拟的意思,就是芯片内部模拟器件的工作电压。
VSSA:表示模拟器件的公共端地。
VBAT:给后备区域供电,维持RTC/BKP寄存器这些数据掉电保存,一般是接纽扣电池,如果不需要可以直接接电源。
.
.
.
.
根据数据手册的说明,这几个引脚的供电电压最大不能超过3.6V。
说到数据手册,作为一个英语渣,这里多说一句,不要怕全是英文,不用全看懂,抓关键的地方看,其实来来去去就那几个英文。
.
.
2.复位电路
.
.
复位电路的作用就是,板子上电的瞬间给单片机复位引脚(NRST)一个短暂的低电平,让单片机程序复位,把除了备份区域寄存器以外所有寄存器状态恢复原始状态。
简单来说就是让程序重头开始跑。
复位电路的原理是利用RC电路的充放电原理,在上电瞬间为NRST引脚产生一个短暂的低电平。
刚上电的时候电流会通过R19和C20到地,为C20充电,此时NRST的引脚为低电平。
当C20充满电以后,C20就处于”断路”的状态,此时NRST由低变高电平。
.
.
3.系统时钟
.
.
.
.
系统时钟一般是加外部晶振电路,相当于给单片机一个心跳。
就跟人的心跳一样,没心跳肯定就GG了。
同样,单片机没心跳也跑不起程序。
这个心跳也是一个时机基准,为单片机系统时钟、定时器之类的提供时间的基准。
我们最终计算定时器的时间,都跟这个晶振息息相关。
.
.
4.烧录口
.
.
烧录口的作用就是给单片机烧录程序,注入灵魂。
STM32的烧录方式有几种,实际产品开发一般用SWD接口烧录,占用尺寸空间少,一般只需要5根线,也有些用4根线的,就是vdd不接,不接vdd烧录要单独给板子供电。
.
.
5.Boot0和Boot1
Boot0和Boot1是用来选择STM32单片机的启动方式的。
.
.
.
如果上图你看不懂什么意思,不要慌,正常的。
简单来说,大家要想正常跑程序就要把Boot0和Boot1都接到地,就是正常工作模式。
如果我们要使用串口烧录,也就是ISP,就需要把BOOT0接到电源,BOOT1接到地,烧录完以后再全部接到地,相对麻烦很多。
这也就是为什么我只用SWD烧录的笑洞粗原因,直接全部接地就行了。
.
.
电路图中Boot0和Boot1加一个10K电阻颤陪,然后接到地
.
.
.
通过上面这些电路的组合,单片机就能正常跑程序了。
.
如何验证你程序有没有正常在跑?
我一般在开发产品的时候,首先会把LED的驱动调出来获取安全感,让它每秒闪一次,安全感就来了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)