当前位置:首页 > 单片机 > 单片机
[导读]摘要 针对单片机下载程序时需要重复机械式复位产生的一系列调试繁琐的问题,提出了一种用软件引导代替单片机硬件复位写入ROM的方法。该方法通过检测串口数据流是否合法,来判断是否执行ISP引导程序,从而利用软件方式

摘要 针对单片机下载程序时需要重复机械式复位产生的一系列调试繁琐的问题,提出了一种用软件引导代替单片机硬件复位写入ROM的方法。该方法通过检测串口数据流是否合法,来判断是否执行ISP引导程序,从而利用软件方式复位,可以让STC单片机复位后从ISP引导程序处执行,利用该特性可以模拟单片机上电复位状态,实现单片机的不断电下载。
关键词 STC单片机;ISP引导程序;不断电下载;软件设计

    随着单片机技术的发展,单片机片内存储器的容量越来越大,可以容纳越来越大的程序。由于程序越来越复杂,在程序调试过程中需要不断进行硬件复位来下载程序,虽然在线下载程序的方法已经普遍应用,但在现实调试实现中还是比较繁琐,因此人们在寻求一种用软件代替硬件的复位方法来调试下载程序,近而在工程实际中更加快捷方便地进行程序实现。因此,文中提出了一种软件复位单片机的方法,即利用STC单片机独有的ISP引导区,用特殊的指令使调试好的程序从ISP引导区执行,避免频繁地硬件复位,而且简单实用。

1 软件复位单片机的工作原理
1.1 STC单片机复位方法简介
    STC单片机的复位方法分为热启动和冷启动两种:冷启动是系统断电后再上电的硬件复位;热启动分为3种:一种是reset引脚复位,一种是内部看门狗复位,一种是ISP引导区复位。热启动中的reset复位是reset引脚接受到复位信号直接从用户区执行,内部看门狗是在外界电磁干扰致使程序跑飞时发出一个复位信号,使程序地址指针移动到00H,产生和reset复位相同的效果,ISP引导区复位是一种只有在系统上电时才执行的程序存储区,当程序执行到ISP引导区时,如果系统没有检测到合法的数据流,则直接执行用户程序区;如果系统检测到合法的数据流,则先下载程序,再执行用户程序区。单片机启动的过程为:先给断电的单片机通电,进行STCISP下载,然后执行用户程序,或者没有检测到合法的数据流,然后直接执行用户程序区。其流程图如图1所示。


1.2 软件实现不断电下载的工作原理
    STC单片机ISP_CONTR是单片机进行软复位的控制寄存器,其地址为E7H,进行ISP_CONTR定义后,再自定义串口接受的数据流。然后进行串口初始化和定时器初始化,串口初始化的波特率和具体工作方式要与下载软件一致,定时器设置初值任意,在软件中保证1 s即可。串口中断子程序设计,具体过程为:当串口接受数据后,把SBUF中的数据和用户自定义数据进行比较。如果一致,赋值给ISP_CONTR使单片机复位;如果没有接受到合法数据流,则继续执行用户程序。具体流程如图2所示。



2 在线下载接口电路
   
图3为STC89C52与RS232串口的连接电路图,RS232为负逻辑电平,所以单片机在与上位机进行通信时需要逻辑转换,图3所使用的转换芯片为MAXIM公司生产的MAX232标准RS-232接口芯片,使用+5 V供电,内部为爽组驱动器/接收器,每个接收器将RS-232电平转换为5 VTTL/CM OS电平。其中,RS-232在现代应用中由标准的25线简化为发送线、接收线、地线三线传输。串口的发送和接收线分别与RS-232的R1IN和T1OUT相连,MAX-232的R1OUT和T1IN分别与单片机的P3.0和P3.1相连,实现上位机、转换芯片、单片机的相互通信。



3 不断电下载程序设计
   
在单片机和PC机通讯并实现不断电下载,首先要设置好串口通信协议,例如串口接受与发送数据的波特率,串行口的工作方式,串行口接收与发送的数据帧格式;其次是定义自定义下载命令,并与实际发送命令一致;再次是设置串口发送命令等待时间,这可以通过单片机内部定时器来实现;最后为下位机接收发送自定义指令判断,实现软复位。
3.1 串口通讯协议初始化
   
首先设置波特率,根据STC单片机的晶振频率和STC芯片性能,设波特率为9 600 bit·s-1,波特率由定时器的溢出率控制。然后设置串行口的通信协议,如数据位位数、停止位位数以及是否奇偶校验,具体设置如图4所示。


3.2 定时器的设置
   
波特率为9 600 bit·s-1,在串口工作方式2的情况下,根据方式2的波特率=(2SMOD/32)*(T1溢出率)。假设单片机的晶振频率为11.0 59 2 MHz,经12分频后得到计数器记—个数的时间为12/11.059 2 MHz,定时器T1溢出一次的时间为(256-X)×12/11 059 200,所以T1的溢出率为11 059 200/[12×(256-X)],因为波特率不需要加倍,所以SMOD=0。根据公式得,9 600=(1/32)×11 059 200/[(256-X)×12],解得X=253,转换成16进制数为0Xfd。减少了程序的冗余性,定时器的工作方式设定为2,定时器自动重装,不必写定时器中断子程序。
3.3 初始化子程序
   
3.4 用户自定义下载命令
   
定义语句为:#define seffdecide_download_commond0x8E。0x8E是用户任意定义的下载指令,但最多不能超过0xFF,因为ISP_CONTR寄存器只有8位。接着进行ISP_CONTR的地址定义,通过查STC89C52的用户手册,其语句为sfr ISP_CONTR=0xE7。
3.5 串口接收合法数据程序
   
单片机的工作原理是循环扫描,即使不加大循环while语句,用户程序也总是一遍一遍地执行,所以用户程序需要时时刻刻扫描是否是合法数据流的出现。
    串口中断的编号为4,首先要检验中断标志位RI,如果RI置1,说明上位机向单片机的串口发送指令;随后指令内容被传送到单片机的SBUF中,判断SBUF中的命令内容是否和用户自定义的命令一致。如果一致,直接向ISP_CONTR中赋特定的值使程序指针指到ISP引导区,实现程序的软复位;如果不一致,使TI清零,以便下一次中断申请。
3.6 延时子函数
   
串口接收数据有1 s的延时时间,所以需要加延时子函数,代码如下:
    Void delayl s()
    {
      Int p,q;
      For(p=1000;p>0;p--)
      For(q=100;q>0;q--);
    }

4 结束语
   
介绍了STC系列单片机不断电下载程序的程序设计思路及方法,运用STC单片机独有的ISP引导区对软件模拟硬件复位实现单片机的不断电下载程序,省去了编程器的频繁插拔件或者频繁的手动复位硬件开关。此方法在大的程序编写调试过程中能节省大量时间,但也降低了串行口的使用效率。本例适合运用在使用串行口较低的情况下,并且在调试的情况下可以省去手动频繁的复位操作,减少工作量。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着科技的飞速发展,虚拟现实(Virtual Reality, VR)技术逐渐走进人们的视野,并在各个领域展现出巨大的应用潜力。作为一种模拟三维环境的技术,VR能够让用户身临其境地体验虚拟世界,从而提供更为沉浸式的体验。...

关键字: 虚拟现实 应用技术

Viasat目前持有的VSTC适航认证已覆盖中国国内75%以上的机型 加利福尼亚州卡尔斯巴德2023年1月11日 /美通社/ -- 2023年1月10日,全球通信公司 Viasat Inc.(纳斯达克股票代码:VSAT...

关键字: STC VIA 飞机 互联网

高性能有机材料(有机薄膜晶体管(OTFT)、有机光电二极管(OPD)、交联仪等)的广泛专利组合 提供环保型解决方案 - 有机薄膜晶体管制造工艺的低碳排放效应 指...

关键字: 应用技术 薄膜晶体管 CE TFT

上海2022年12月1日 /美通社/ -- 全球领先的CDMO企业,Catalent康泰伦特制药公司今日宣布已完成位于中国上海外高桥自贸区的临床供应设施的扩建。 康泰伦特上海外高桥临床供应中心 康泰伦特外高桥临床供应...

关键字: TALENT FAST STC TRACE

助力职业教育云人才培养 成果初现,深圳技师学院陈新源荣获2022世界技能大赛特别赛云计算项目金牌 北京2022年11月23日 亚马逊云科技助力深圳技师学院建设职业教育特色云计算专业,共同培养高技能云计算人才。自双方合...

关键字: 云计算 亚马逊 大赛 应用技术

中国上海2022年11月6日 /美通社/ -- 霍尼韦尔(纳斯达克代码:HON)在第五届中国国际进口博览会上正式发布《未来燃料 -- 霍尼韦尔氢能工业与应用白皮书》(以下简称:白皮书)。氢能作为一种可再生清洁高效的二次能...

关键字: 霍尼韦尔 可持续发展 应用技术 微信

摘要:通过对计算机应用技术与信息管理进行概述,阐述了计算机应用技术与信息管理整合的具体优势与主要方式,以期利用智能化信息管理促进社会有序发展。

关键字: 计算机 应用技术 整合方式

摘要:介绍了沥青搅拌设备中振动筛的原理和结构组成,以某公司4000型沥青搅拌设备原配套的振动筛为例,将传统的偏心块式振动筛改造为新型环保振动电机式振动筛,提升了沥青搅拌设备的生产能力,保证了路面的施工质量。

关键字: 沥青搅拌设备 应用技术 级配

(全球TMT2022年6月15日讯)深圳国际传感器与应用技术展览会Sensor Shenzhen将在2022年7月23-25日于深圳会展中心(福田)开幕。届时,传感器全产业链的设计、制造、封测和应用端名企近300家、超...

关键字: 传感器 应用技术 SENSOR 工业互联网

在支持性的基础市场,强劲的有机增长高达16.4% 价格加速上涨,从而在第一季度产生正向的价格成本价差 在圣戈班业务遍布的所有国家,不断扩大能效和脱碳解决方案的部署 2022年前景展望得到确认 上海...

关键字: IMPACT 应用技术 指令 CK
关闭
关闭