找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1456|回复: 1
收起左侧

STC单片机不断电下载头文件及使用方法

[复制链接]
ID:137736 发表于 2021-12-18 21:00 | 显示全部楼层 |阅读模式
网上下了几个STC不断电下载程序,验证通不过,于是反复调试,在普中开发板上验证通过。做成了头文件,方便使用。

普中开发板用普中自动下载软件,会自动断电然后上电,下载也很方便。为了学习STC不断电下载,从网上下了很多程序,在普中开发板上STC_ISP验证通不过,于是将网上的程序进行组合,形成了一的头文件,编译后代码大小90B原理:stcisp电脑端启动时,连续发送0x7f.串口检查下载命令到10次,单片机通过软件复位到引导区。使用普中开发板,STC90C516RD    11.059M晶体,程序加入包含头文件,主程序调用串口初始化函数。主程序中串口功能仍然可用。第一次使用要用普中自动下载软件下载,或STC_ISP_V483断电下载。以后用STC_ISP_V483最高最低都用4800波特率,可不断电下载
网上程序不可用的原因:可能ISP_contro=0Xe0;数值不是这个。        或者波特率不是4800,STC_ISP版本不对,欢迎大家实验。

单片机源程序如下:
  1. #ifndef _STCISP_
  2. #define __STCISP_H__
  3. sfr ISP_contro = 0xE7;
  4. unsigned char receiveData,n;
  5. void UsartConfiguration()
  6. {
  7.         TMOD&=0x0F;            //把TMOD高4位清0
  8.     TMOD|=0x20;            //将TMOD的M1位置1,设置成自动装入的8位定时器
  9.     PCON=0X80;                        //波特率加倍
  10.         TH1=0XF3;                    //计数器初始值设置,注意波特率是4800的
  11.         TL1=0XF3;
  12.         TR1=1;                                            //打开计数器
  13.     SCON=0x50;             //10位异步收发,波特率由定时器控制,允许串口接收
  14.     ES=1;                  //允许串口中断
  15.     //**************************

  16.     //***开全局中断设置****
  17.     //串口接口UART设置了中断允许,此处要开全局中断
  18.     EA=1;                  //开全局中断
  19. }
  20. void UART_SER (void) interrupt 4

  21. {
  22.            
  23.               if(RI == 1)                                //查看是否接收到数据
  24.                 {
  25.                         receiveData = SBUF;        //读取数据
  26.                         RI = 0;                                //清除标志位
  27.                         if(receiveData == 0x7f)
  28.                         {
  29.                         if(n++>=10)
  30.                             {
  31.                ISP_contro=0Xe0;
  32.                             //NOP(5);
  33.                            }
  34.                         }
  35.                         
  36.                 }
  37. }
  38. #endif
复制代码


  1. * 实 验 名                 : STC不断电下载
  2. * 实验说明       : STC不断电下载,串口检查下载命令10次,单片机通过软件复位到引导区。
  3. * 连接方式       :
  4. * 注    意                 : STC90C516RD        11.059M晶体,STC_ISP_V483下载最高最低都用4800波特率
  5.                         使用时包含头文件,主程序调用串口初始化函数。
  6. *******************************************************************************/

  7. #include<reg51.h>
  8. #include"stc-isp.h"

  9. /*******************************************************************************
  10. * 函 数 名         : main
  11. * 函数功能                   : 主函数
  12. * 输    入         : 无
  13. * 输    出         : 无
  14. *******************************************************************************/

  15. void main()
  16. {
  17.         UsartConfiguration();
  18.         while(1)
  19.         {
  20.          //你的代码
  21.         }
  22. }
复制代码

51hei.png

上图Keil代码工程下载: OK-STC不断电下载头文件.7z (8.45 KB, 下载次数: 9)

评分

参与人数 1黑币 +80 收起 理由
admin + 80 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:138205 发表于 2021-12-23 19:47 | 显示全部楼层
说实话,没看明白
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表