0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机端是如何实现下载程序的?电脑端(STC_ISP软件端)是如何实现程序下载的?

单片机技术宅 来源:未知 作者:李倩 2018-05-09 14:31 次阅读

这个问题我们分两部分来说,一部分是单片机端是如何实现的,另一部分是电脑端是如何实现的,下面我们慢慢BB。

一、单片机端是如何实现下载程序的?

要说清这个问题,就需要说说STC单片机的存储器,STC单片机的存储器包含数据存储器SRAM,程序存储区ROM,EEPROM和ISP程序监控区,以下以STC15w448s4为例说明:

A.数据存储器SRAM:4K大小,内部RAM256字节,内部扩展的3840字节,这部分就是用来给我定义变量,常量的区域。

B.程序存储区ROM:48K大小,今天的重点,程序下载后就是存在这部分区域里了。

C.EEPROM:13K大小,此部分就是类似于24C02这样的芯片,掉电存储区,用于保存密码等一些掉电后不能丢失的数据。

D.ISP程序监控区:STC官方在芯片出厂前就通过特殊方式固化了程序在内部,我们用户是没法操作和使用本区域的。

ISP程序监控区的作用:

在ISP监控区里,STC官方出厂芯片的时候就已经烧写进去一段特殊的代码,我们用户是没法修改和查看的,这里说的烧写也不是我们给单片机下载程序这样简单的烧写,是通过特殊的方式特殊的接口写进特殊的程序,总之不要想着去搞懂它,要懂的接下来我们慢慢说。

STC单片机在上电的很短一段时间内是不去执行我们用户的程序的,单片机是首选去执行ISP监控区域的代码,此时这里面的代码只干一件事,就是不断去检测P30引脚上的数据。

a、如果P30引脚上的数据是连续的合法的下载命令,那ISP监控区域内的程序就去擦除程序存储区ROM内的我们上一次烧写进去的代码,再把我们当前这次需要下载的程序存储到程序存储区ROM内,最后在复位PC指针,使得PC=0000H。完成这些后,CPU就不断的通过PC指针去读取我们刚才烧写进去程序存储区ROM内的代码来执行,到这里一次完整的程序下载(烧写)就完成了。

b、如果P30引脚上没有连续的合法的下载命令,那ISP监控区域的程序就去复位PC指针,使得PC=0000H,CPU就不断的通过PC指针去读取程序存储区ROM内的代码来执行。

二、电脑端(STC_ISP软件端)是如何实现程序下载的?

如上图所示,当我们点击STC_ISP软件中的下载/编程按钮(上图中红圈部分)后,电脑就不断发送下载命令到CH 340G,芯片内部转换电平后得到标准的串口信号,再发送给单片机的P30口。此时,单片机是不会执行下载程序的,需要我们给单片机断电一下,再上电实现冷启动,冷启动后,上面我们说到ISP监控区域就起作用了,上面我们说了,在单片机上电的很短一段时间里,单片机是去执行ISP监控区域的程序的。ISP识别出此时单片机P30引脚上的信号是电脑发送的下载命令,那ISP监控程序就在单片机P31引脚上返回一个信号,信号再通过CH340G转换后传输到STC_ISP软件,软件识别出返回的信号是单片机给的,此说说明电脑端STC_ISP软件和单片机之间通过“密码”连接成功,也就是下载时候STC_ISP右侧监控区域里显示的“握手成功”。接下来通信就正常化了,STC_ISP不断的发送我们要下载的程序到单片机的P30引脚,单片机从P31引脚不断返回“接收正常”,不断的这样重复下去,直到程序下载完。

程序下载完后,单片机ISP监控区域代码还在一直识别,但是STC_ISP 软件已经不再发送数据,此时单片机ISP区域代码检测不到下载命令后,直接使PC复位,使得PC=0000H,CPU就不断的从程序存储区ROM里读取程序来执行,此时我们直观看到的就是单片机程序下载成功了,而已单片机已经在执行我们的程序,只要程序没问题,那自然能看到我们想要的效果啦。

下面,简单总结下载程序的全过程:

1、电脑端点击“下载”按钮,STC_ISP 软件发送下载命令到单片机P30引脚,此时单片机需要冷启动

2、单片机冷启动后,P30引脚收到下载命令,再从P31引脚返回自身的基本信息,此时单片机和STC_ISP已经捂手成功

3、STC_ISP发送程序数据到单片机P30引脚

4,、单片机接收程序数据并保存在程序存储区ROM里,并从P31引脚返回“接收成功”信号到STC_ISP

5、STC_ISP接收到单片机返回的“接收成功”后,重复第3步,知道需要下载的程序数据发送完毕

6、程序数据发送完毕后,单片机P30引脚不再收到下载数据,过一小段时间后,ISP监控区域复位PC指针,使得PC=0000H,单片机开始从程序存储区ROM里读取程序来执行。

最后我们来总结一下,STC单片机下载程序的几个关键点:

1、单片机要和电脑采用串口方式建立连接

2、电脑端串口要能正常通讯

3、单片机要能断电冷启动

4、单片机要能返回自身的一些基本信息回到电脑端。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7148

    浏览量

    161985
  • STC单片机
    +关注

    关注

    9

    文章

    222

    浏览量

    37688

原文标题:STC单片机程序是如何下载进单片机的?看完还不懂你来找我

文章出处:【微信号:chuxue_MCU,微信公众号:单片机技术宅】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STC-ISP单片机代码烧写教程/软件/u***-232驱动下载/安装

    、12C2052系列和12C5410等系列的STC单片机,使用简便,现已被广泛使用。 这里以STC单片机PC
    发表于 02-10 13:04

    STC单片机无法下载程序。。。

    引起时钟不振荡,请调整参数 6.可能要升级电脑STC-ISP.exe 软件 7.若仍然不成功,可能 MCU/单片机内无
    发表于 03-26 13:52

    51单片机程序下载ISP及串口基础知识

    下载程序时,计算机可使用ProgISP等软件下载。AT89S51系列单片机
    发表于 12-19 14:28

    STC单片机程序下载失败总结

    。 五、另外STC_ISP软件中对下载失败给出的提示1、在单片机停电状态下,点下载按钮,再给单片机
    发表于 12-19 14:33

    软件实现51单片机的免断电程序下载,真心好用。

    软件实现51单片机的免断电程序下载,虽然简单,但挺实用的,不用老按开关,以前都没想到啊,给坛友们分享一下。把
    发表于 07-22 22:17

    stc单片机自动下载程序原理和代码实现 精选资料分享

    1/stc单片机下载程序的原理首先我们要理解stc单片机下载
    发表于 07-13 07:53

    stc单片机自动下载程序原理和代码实现 精选资料推荐

    1/stc单片机下载程序的原理首先我们要理解stc单片机下载
    发表于 07-13 09:22

    stc单片机下载程序的原理

    1/stc单片机下载程序的原理 首先我们要理解stc单片机
    发表于 11-18 06:50

    STC单片机ISP下载程序

    STC单片机ISP下载程序有用的就下哦!
    发表于 03-21 15:20 2次下载

    关于stc单片机烧写软件stc_isp下载

    stc_isp软件,官方提供的stc单片机烧写下载程序用的
    发表于 07-11 10:49 1.5w次阅读
    关于<b class='flag-5'>stc</b><b class='flag-5'>单片机</b>烧写<b class='flag-5'>软件</b><b class='flag-5'>stc_isp</b>的<b class='flag-5'>下载</b>

    STC-ISP单片机下载编程烧录软件V6.86O应用程序免费下载

    本文档的主要内容详细介绍的是STC-ISP单片机下载编程烧录软件V6.86O应用程序免费下载
    发表于 04-04 16:11 36次下载
    <b class='flag-5'>STC-ISP</b><b class='flag-5'>单片机</b><b class='flag-5'>下载</b>编程烧录<b class='flag-5'>软件</b>V6.86O应用<b class='flag-5'>程序</b>免费<b class='flag-5'>下载</b>

    STC单片机ISP下载程序STCISP V4.80应用程序免费下载

    本文档的主要内容详细介绍的是STC单片机ISP下载程序STCISP V4.80应用程序免费
    发表于 06-10 08:00 27次下载
    <b class='flag-5'>STC</b><b class='flag-5'>单片机</b><b class='flag-5'>ISP</b><b class='flag-5'>下载</b><b class='flag-5'>程序</b>STCISP V4.80应用<b class='flag-5'>程序</b>免费<b class='flag-5'>下载</b>

    STC单片机程序下载原理与自动下载

    STC单片机程序下载原理和自动下载一.stc单片机
    发表于 11-10 19:50 52次下载
    <b class='flag-5'>STC</b><b class='flag-5'>单片机</b><b class='flag-5'>程序</b><b class='flag-5'>下载</b>原理与自动<b class='flag-5'>下载</b>

    stc单片机自动下载程序原理和代码实现

    1/stc单片机下载程序的原理首先我们要理解stc单片机下载
    发表于 11-10 20:21 10次下载
    <b class='flag-5'>stc</b><b class='flag-5'>单片机</b>自动<b class='flag-5'>下载</b><b class='flag-5'>程序</b>原理和代码<b class='flag-5'>实现</b>

    stc单片机自动下载程序原理和代码实现

    1/stc单片机下载程序的原理 首先我们要理解stc单片机
    发表于 11-11 11:51 52次下载
    <b class='flag-5'>stc</b><b class='flag-5'>单片机</b>自动<b class='flag-5'>下载</b><b class='flag-5'>程序</b>原理和代码<b class='flag-5'>实现</b>