乐趣区

关于嵌入式:stm32f103zet6-hello-world

51 最小零碎板电路图???

起源

还不会做 usb- 串口一键下载电路的状况下,如何实际?

利用已有的淘宝上买的开发板(它带有串口程序一键下载电路),把单片机插在该开发板商,用 keil 将程序烧录到该单片机中。

再将该单片机拔下来插到相似上图的自制板子上,这样就能够运行程序了。

STM32F103 串口下载程序 步骤:

1. 从串口下载并启动

1.1. 设置 从零碎存储器启动, 串口下载: BOOT0: 1, BOOT1: 0
1.2. MCUISP.exe :
  • 不应用 RTS 和 DTR,
  • 勾选 ” 编程后执行 ”,
  • 再点击 “ 开始编程 ” ,

    左边窗口显示 ” 开始连贯 …” 即 MCUISP.EXE 进入期待.

1.3. 按复位键,
  • 按复位键后,单片机将按 步骤 1.1 的设定 来启动,并开始和 步骤 1.2 的期待中的 MCUISP.exe 交互

    即从串口下载程序到零碎存储器 并从零碎存储器启动 (相当于从串口启动).

2. 尔后如何再次运行 步骤 1 写入的程序?

1.4 步骤或 2.1 步骤. 留神此时 (步骤 1 之后) 程序曾经被下载到 FLASH, 然而设置仍然是 从串口启动.

所以如果此时间接按复位键,是不会失常启动的,因为还须要 MCUISP.exe 依照 步骤 1.2 那样配合才行.

步骤 1.3 之后 如果冀望运行刚刚下载到单片的程序,则步骤应该是:

  • 改设置为: BOOT0:1、BOOT1: 任意值:即从 FLASH 启动,
  • 按复位键, 即是启动刚刚写好的程序的.

BOOT0, BOOT1 参见下图红框:

51 单片机串口下载程序例子

1. stc89c52RC ok 例子

stc-isp 软件窗口中打印的日志如下:

正在检测指标单片机 ... 
  单片机型号: STC89C52RC/LE52RC
  固件版本号: 6.6.4C

以后芯片的硬件选项为:
  . 以后的时钟频率: 11.030MHz
  . 零碎频率为 12T(单倍速)模式
  . 振荡器放大增益使能
  . 当看门狗启动后, 任何复位都可进行看门狗
  . MCU 外部的扩大 RAM 可用
  . ALE 脚的性能抉择依然为 ALE 性能脚
  . P1.0 和 P1.1 与下次下载无关
  . 下次下载用户程序时, 不擦除用户 EEPROM 区

  单片机型号: STC89C52RC/LE52RC
  固件版本号: 6.6.4C


正在从新握手 ... 胜利            [0.594"]
以后的波特率: 115200
正在擦除指标区域 ... 实现 !        [0.312"]
正在下载用户代码 ... 实现 !        [0.672"]
正在设置硬件选项 ... 实现 !        [0.047"]

更新后的硬件选项为:
  . 以后的时钟频率: 11.030MHz
  . 零碎频率为 12T(单倍速)模式
  . 振荡器放大增益使能
  . 当看门狗启动后, 任何复位都可进行看门狗
  . MCU 外部的扩大 RAM 可用
  . ALE 脚的性能抉择依然为 ALE 性能脚
  . P1.0 和 P1.1 与下次下载无关
  . 下次下载用户程序时, 不擦除用户 EEPROM 区

  单片机型号: STC89C52RC/LE52RC
  固件版本号: 6.6.4C


操作胜利 !(2021-12-06 00:09:34)
1.2 例子程序及开发 ide
1.2.1 开发 ide

keil5-c51

破解工具: 百度网盘 搜寻: keil_keygen(2032).zip , 留神此文件可能带毒,要在 vm 中运行取得序列号即可。

1.2.2 例子程序
#include "reg52.h"

sbit LED1=P1^0;    

void delay_tmp(){
    int i ;
    for(i =0; i <10000; i++);
}
void main()
{
    LED1=0;
    while(1)
    {delay_tmp();// 拿 cpu 空跑当延时
        LED1=!LED1;
    }        
}

2. 本人做最小 51 单片机开发板思路

再买一个 步骤 1 中的开发板,确定其失常,对其做减法(用烙铁拆除所有无关部件),确保每一步后 其 仍然失常,直到只剩下最小零碎所需部件,即取得了最小 51 单片机开发板。

退出移动版