找回密码
 立即注册
查看: 68|回复: 10

请教前辈,用AI8051替代5A60的问题

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2026-03-26 07:28:52
已绑定手机

45

主题

174

回帖

1815

积分

金牌会员

积分
1815
发表于 3 天前 | 显示全部楼层 |阅读模式
那个26脚已经改了PCB,然后代码对应的保留字都改了,编译也过了,但是没有任何反应,芯片有少许温升。

在T1里面有矩阵按键的扫描代码,在脚上应该有拉低的脉冲出来,但是啥也没有。
供电是用的工具提供的5V.
还有啥要注意的问题吗?
记得上次的PCB上面的26脚没改的时候还能运行的。而且还是直接用的5A60的HEX文件。当时有12864连接,从现实上看应该是有跑的,虽然当时没有测量按键扫描。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:648
  • 最近打卡:2026-03-26 08:54:18
已绑定手机

52

主题

2506

回帖

8840

积分

论坛元老

积分
8840
发表于 3 天前 | 显示全部楼层
可参考AI8051U规格书里面介绍:https://www.stcai.com/cp_ai8051uxl
截图202603241818196039.jpg

此外还可以下载AI8051U实验箱例程包:
里面有定时器,矩阵按键等例子
截图202603241820053190.jpg
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:841
  • 最近打卡:2026-03-26 07:36:26

12

主题

1331

回帖

7160

积分

论坛元老

积分
7160
发表于 3 天前 | 显示全部楼层
附录E Ai8051U 系列单片机取代 STC12C5A60S2 系
列的注意事项
 单片机指令
Ai8051U-8Bit 系列的指令码与 STC12C5A60S2 系列是完全一致的,所以 STC12C5A60S2 系列
的代码移植到 Ai8051U 上,运行依然正确,但 Ai8051U-8Bit 系列的指令速度比 STC12C5A60S2 系
列要快, Ai8051U-8Bit 系列的大部分指令执行都只需要一个 CPU 时钟。如果用户代码中有指令延
时的代码,则需要进行调整。有个每条指令的对比可参考 STC 下载软件的指令表,如下图:
 I/O 口
Ai8051U-8Bit 系列单片机上电后, I/O 的模式与 STC12C5A60S2 系列不一样。 STC12C5A60S2
系列单片机所有 I/O 口上电后都是 8051 的准双向口模式,而 Ai8051U-8Bit 系列单片机的 I/O 中,
除了 ISP 下载脚 P3.0/P3.1 为准双向口模式外,其余的所有 I/O 口在上电后都是高阻输入模式。传统
的 8051 和 STC12C5A60S2 系列单片机上电后即为准双向口模式并输出高电平,经常有客户的系统
中使用 I/O 驱动马达或者 LED 灯,因此会出现单片机上电的瞬间马达会动一下或者 LED 会闪一下。
Ai8051U-8Bit 系列的 I/O 上电后为高阻输入模式,就可避免马达和 LED 的这种误动作。
由于 Ai8051U-8Bit 系列单片机的 I/O 中,除了 ISP 下载脚 P3.0/P3.1 为准双向口模式外,其余
的所有 I/O 口在上电后都是高阻输入模式,所以当用户需要 Ai8051U-8Bit 系列的 I/O 口向外输出信
号前,必须先使用 PxM0 和 PxM1 两个寄存器对 I/O 的工作模式进行设置。
 复位脚
Ai8051U-8Bit 系列的复位脚一般情况下是当作普通 I/O 口 P4.7 使用的,当用户在 ISP 下载时关
闭了复位脚当作 I/O 口使用时, P4.7 口则为单片机的复位脚( RESET 脚)。而 STC12C5A60S2 系
列的复位脚则固定为复位脚。复位脚配置方式如下图:
关于复位脚的复位电平, Ai8051U-8Bit 系列和 STC12C5A60S2 系列也不一样。 STC12C5A60S2
系列复位脚为高电平时单片机处于复位状态,低电平时单片机解除复位状态。而 Ai8051U-8Bit 系列
与 STC89 系列的复位电平是向反的, 即对于 Ai8051U-8Bit 系列,复位脚为低电平时,单片机处于
复位状态,高电平时单片机解除复位状态。
所以当用户使能 P4.7 口的复位脚功能是需要注意复位电平的问题。
 ADC
Ai8051U-8Bit 系列和 STC15 系列的 ADC_CONTR 寄存器定义、 ADC_RES、 ADC_RESL3 个寄
存器地址相同的。但 STC8H 系列另外新增加了两个寄存器: ADCCFG 和 ADCTIM。
STC15 系列开始 ADC 转换位 ADC_START 位于寄存器 ADC_CONTR 的 BIT3,而 STC8H 系
列的位于 ADC_CONTR 的 BIT6
STC15 系列 ADC 转换完成标志位 ADC_FLAG 位于寄存器 ADC_CONTR 的 BIT4,而 STC8H
系列的位于 ADC_CONTR 的 BIT5
STC15 系列 ADC 速度控制为 ADC_SPEED 位于寄存器 ADC_CONTR 的 BIT6-BIT5,而 STC8H
系列的位于 ADCCFG 的 BIT3-BIT0
STC15 系列 ADC 转换结果的对齐控制位 ADRJ 位于寄存器 CLK_DIV 的 BIT5,而 STC8H 系
列的对齐控制位 RESFMT 位于 ADCCFG 的 BIT5
STC8H 系列新增了更为精准的 ADC 转换时序控制机制,通过寄存器 ADCTIM 进行设置
 EEPROM
Ai8051U-8Bit 系列的 EEPROM 操作寄存器与 STC12C5A60S2 系列的 EEPROM 操作寄存器地
址不一样。 EEPROM 擦除和编程操作的等待时间设置也不一样。 STC12C5A60S2 系列的 EEPROM
擦除和编程的等待时间用寄存器 IAP_CONTR 的 Bit2-Bit0 设置,设置的只是一个大概的频率范围值,
Ai8051U-8Bit 系列新增了一个寄存器 IAP_TPS( SFR 地址: 0F5H),专用于设置 EEPROM 擦除和
编程的等待时间,且用户不需要去计算,只需要根据当前 CPU 的工作频率,直接填入 IAP_TPS 即
可,硬件会自动计算等待时间。(比如:当前 CPU 的工作频率为 24MHz,则只需要向 IAP_TPS 填
入 24 即可)
 定时器
Ai8051U-8Bit 系列的定时器 0 的模式 0 为 16 位自动重载模式, STC12C5A60S2 系列的定时器
0 的模式 0 为 13 位模式;
Ai8051U-8Bit 系列的定时器 0 的模式 3 为 16 位自动重载模式且为不可屏蔽中断,
STC12C5A60S2 系列的定时器 0 的模式 3 为双 8 位模式;
Ai8051U-8Bit 系列的定时器 1 的模式 0 为 16 位自动重载模式, STC12C5A60S2 系列的定时器
1 的模式 0 为 13 位模式;
 串口 2
STC12C5A60S2 系列的串口 2 有专用波特率发生器, Ai8051U-8Bit 系列的无专用波特率发生器,
Ai8051U-8Bit 系列的串口 2 可以使用定时器 2 当作波特率发生器。 Ai8051U-8Bit 系列的串口 2 波特
率计算公式与 STC12C5A60S2 系列的串口 2 计算公式不一样。
 SPI
Ai8051U-8Bit 系列的 SPI 速度与 STC12C5A60S2 系列的 SPI 的速度不兼容。 Ai8051U-8Bit 系
列的 SPI 速度分别为系统时钟/4/8/16/2, STC12C5A60S2 系列的 SPI 速度分别为系统时钟
/4/16/64/128。

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2026-03-26 07:28:52
已绑定手机

45

主题

174

回帖

1815

积分

金牌会员

积分
1815
发表于 前天 09:03 | 显示全部楼层
感谢回复,相关内容都看了。目前折腾的结果是初始化和主循环都是运行的。
似乎就是T1中断无法进入。T1的初始化已经替换为工具生成的了。但是就是进不去,到底啥情况啊。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2026-03-26 07:28:52
已绑定手机

45

主题

174

回帖

1815

积分

金牌会员

积分
1815
发表于 前天 15:55 | 显示全部楼层
还有一个情况,就是写12864的DB口是P2,都正常有信号,但是位于P3.7,P4.5,P4.6的几个位选控制位都没有任何信号,哎
纠正,P4.0的E信号是正常的
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:648
  • 最近打卡:2026-03-26 08:54:18
已绑定手机

52

主题

2506

回帖

8840

积分

论坛元老

积分
8840
发表于 昨天 09:28 | 显示全部楼层
使用工具生成定时器初始化代码时注意要使能定时器中断,默认是没有打开定时器中断的:
截图202603260922507270.jpg

二楼说的实验箱例程包里面也有LCD12864的例子供参考。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2026-03-26 07:28:52
已绑定手机

45

主题

174

回帖

1815

积分

金牌会员

积分
1815
发表于 昨天 12:33 | 显示全部楼层
乘风*** 发表于 2026-3-26 09:28
使用工具生成定时器初始化代码时注意要使能定时器中断,默认是没有打开定时器中断的:

定时器使能是有的,代码在5A60上面是可以用的,12864显示正常的
换了这个芯片,那个D/I和CS1,CS2的两个脚就没有任何的输出。屏上面只有零星的显示内容。
在5A60芯片上中断也正常,这个AI8051就不行。那个P*M*的也都设置了。尝试了标准IO和推挽都没反应,拔掉显示屏,相关的那3个脚也没有任何输出。
是哪儿没设置好,还是芯片有问题?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2026-03-26 07:28:52
已绑定手机

45

主题

174

回帖

1815

积分

金牌会员

积分
1815
发表于 昨天 15:16 | 显示全部楼层
xiaob*** 发表于 2026-3-26 12:33
定时器使能是有的,代码在5A60上面是可以用的,12864显示正常的
换了这个芯片,那个D/I和CS1,CS2的两个脚 ...

26脚是悬空的,是否和这个有关系?需要接地还是接电容?不使用USB不是不用接电容吗?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:648
  • 最近打卡:2026-03-26 08:54:18
已绑定手机

52

主题

2506

回帖

8840

积分

论坛元老

积分
8840
发表于 昨天 15:25 | 显示全部楼层
如果你用的是44脚封装,第26脚是Ucap,不用USB功能的话可以悬空不接。
定时器,IO口输出,写个简单的例子就能验证,直接烧录附件里的hex文件到板子上测试。功能验证正常后再进行修改或者移植。

定时器IO口测试-AI8051U.zip

15.99 KB, 下载次数: 1

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2026-03-26 07:28:52
已绑定手机

45

主题

174

回帖

1815

积分

金牌会员

积分
1815
发表于 昨天 16:03 | 显示全部楼层
乘风*** 发表于 2026-3-26 15:25
如果你用的是44脚封装,第26脚是Ucap,不用USB功能的话可以悬空不接。
定时器,IO口输出,写个简单的例子就 ...

是44脚的
你这个文件用32位模式下载进去是正常的,P45P46是有波形的
我用8位的模式
我也没有C251
用KEIL打开后编译按钮是不能用的,怎样搞成8位的重新编译?
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-27 05:52 , Processed in 0.112933 second(s), 81 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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