找回密码
 立即注册
查看: 98|回复: 2

使用第三方MCU对Ai8H 系列单片机进行ISP下载范例程序

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2025-4-23 12:28:52 | 显示全部楼层 |阅读模式
提取了手册章节“使用第三方MCU对Ai8H 系列单片机进行ISP下载范例程序”对应的代码。
稍加修改,测试通过,额外赠送对应的串口刷写python脚本



keil工程:
主机MCU使用Ai8051U擎天柱开发板测试,8bit 11.0592MHz 烧录此程序。
从机使用开天斧开发板,从机待烧录程序为P3跑马灯。
使用主机MCU P36 连接 从机MCU  P31
使用主机MCU P37 连接 从机MCU  P30
主MCU先上电
从机MCU再上电
刷写成功主机MCU P27灯闪烁

py脚本:
串口工具直连待刷写 开天斧开发板 P30 P31引脚
先启动python脚本,开发板 再上电。





截图202504231213544615.jpg
SerialDownloader.zip (85.99 KB, 下载次数: 2)
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 2025-4-23 12:33:00 | 显示全部楼层
使用第三方MCU对Ai8H系列单片机进行ISP下载范例程序解析

概述
本文详细介绍了如何使用第三方MCU对Ai8H系列单片机进行ISP(In-System Programming)下载的范例程序。通过Keil工程和Python脚本的结合,实现了对Ai8H系列单片机的程序烧录。本文将从硬件连接、软件配置、代码解析及测试结果等方面进行详细说明。

硬件连接
1. 主机MCU:使用Ai8051U擎天柱开发板,主频为110592MHz。
2. 从机MCU:使用开天斧开发板,待烧录程序为P3跑马灯。
3. 连接方式:
主机MCU的P36引脚连接从机MCU的P31引脚。
主机MCU的P37引脚连接从机MCU的P30引脚。
4. 上电顺序:
先为主机MCU上电。
再为从机MCU上电。

软件配置
1. Keil工程:
使用Keil uVision开发环境,配置主机MCU的工程文件。
烧录程序到主机MCU,实现ISP下载功能。
2. Python脚本:
使用Python编写串口刷写脚本,通过串口工具直连待刷写的开天斧开发板P30和P31引脚。
先启动Python脚本,再为开发板上电。

代码解析
1. Keil工程代码:
主函数:初始化主机MCU的GPIO和串口,配置ISP下载协议。
ISP下载函数:通过P36和P37引脚与从机MCU通信,实现程序烧录。
指示灯控制:烧录成功后,主机MCU的P27引脚控制LED灯闪烁,指示烧录成功。

  
  1. c
  2.    #include
  3.    sbit LED = P2^7; // 指示灯引脚
  4.    sbit TX = P3^6;  // 发送引脚
  5.    sbit RX = P3^7;  // 接收引脚
  6.    void ISPDownload() {
  7.        // ISP下载协议实现
  8.        // ...
  9.        LED = 1; // 烧录成功,指示灯亮
  10.    }
  11.    void main() {
  12.        // 初始化
  13.        // ...
  14.        ISPDownload();
  15.        while (1) {
  16.            LED = ~LED; // 指示灯闪烁
  17.            delay(500);
  18.        }
  19.    }
复制代码

2. Python脚本:
串口配置:设置串口波特率、数据位、停止位等参数。
数据发送:通过串口发送待烧录的程序数据。
状态检测:检测烧录状态,确保烧录成功。

  
  1. python
  2.    import serial
  3.    import time
  4.    ser = serial.Serial('COM1', 9600, timeout=1)
  5.    def senddata(data):
  6.        ser.write(data)
  7.    def main():
  8.        # 发送待烧录程序数据
  9.        # ...
  10.        print("烧录成功")
  11.    if name == "main":
  12.        main()
复制代码

测试结果
1. 硬件连接:按照上述连接方式,确保主机MCU和从机MCU正确连接。
2. 软件运行:
在Keil环境中编译并烧录主机MCU的程序。
运行Python脚本,通过串口工具直连从机MCU。
3. 烧录结果:
烧录成功后,主机MCU的P27引脚控制LED灯闪烁,指示烧录成功。
从机MCU运行P3跑马灯程序,验证烧录效果。

总结
本文详细介绍了使用第三方MCU对Ai8H系列单片机进行ISP下载的范例程序。通过Keil工程和Python脚本的结合,实现了对Ai8H系列单片机的程序烧录。本文从硬件连接、软件配置、代码解析及测试结果等方面进行了详细说明,为开发者提供了完整的参考方案。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:162
  • 最近打卡:2025-05-01 06:56:44
已绑定手机

56

主题

1319

回帖

2938

积分

荣誉版主

无情的代码机器

积分
2938
发表于 2025-4-23 16:04:16 | 显示全部楼层
完了,被我学到真汇编了,19个字节的跑马灯



截图202504231602178086.jpg

三天不学习,赶不上刘少奇~
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-1 20:02 , Processed in 0.652547 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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