找回密码
 立即注册
查看: 972|回复: 18

AI8051U IO口速度 初测

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-05-01 11:24:23

13

主题

95

回帖

294

积分

中级会员

积分
294
发表于 2024-8-17 14:08:50 | 显示全部楼层 |阅读模式
使用单片机:AI8051U

想测试IO速度,最先想到的方法是在while循环中,一直改变IO电平。
不严谨测试代码如下:
  1. while(1)
  2.     {
  3.         P10 = 0;
  4.         P10 = 1;
  5.         P10 = 0;
  6.         P10 = 1;
  7.         P10 = 0;
  8.         P10 = 1;
  9.         P10 = 0;
  10.         P10 = 1;
  11.         P10 = 0;
  12.         P10 = 1;
  13.         P10 = 0;
  14.         P10 = 1;
  15.         P10 = 0;
  16.         P10 = 1;
  17.         P10 = 0;
  18.         P10 = 1;
  19. }
复制代码
复制粘贴多次是为了减小循环跳转的损失。
下载的时候,选择时钟为24MHz,然后使用示波器观察波形。
实验结果显示:输出的频率为12MHz
为啥不是24MHz
手册中发现 2个CPU时钟延时
是不是与这个相关

截图202408171357465720.jpg

IO口结构

IO口结构
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-8-17 14:13:35 来自手机 | 显示全部楼层
io转换也不是实时的要时间。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:425
  • 最近打卡:2025-05-03 00:09:43
已绑定手机

77

主题

4850

回帖

8388

积分

超级版主

DebugLab

积分
8388
发表于 2024-8-17 15:32:23 | 显示全部楼层
先:
        WTST=0;                                        //设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
        EAXFR=1;                                //扩展寄存器(XFR)访问使能
        CKCON=0;                                //提高访问XRAM速度
再试
看看频率是多少,如果和预期不符,进调试模式看看生成的汇编是怎么执行的

DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6843

积分

论坛元老

积分
6843
发表于 2024-8-17 17:24:15 | 显示全部楼层
IO口设置推挽输出模式,并提高电平转换速度
截图202408171724043547.jpg
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:454
  • 最近打卡:2025-05-03 00:18:42
已绑定手机

13

主题

1257

回帖

2979

积分

金牌会员

积分
2979
发表于 2024-8-17 18:32:53 | 显示全部楼层
IO口写1、IO口写0各需要一个时钟周期,所以系统时钟24MHz时,IO口输出波形就是12MHz了。应该这样计算吧
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-02 16:43:36
已绑定手机

6

主题

285

回帖

885

积分

荣誉版主

积分
885
发表于 2024-8-17 20:40:20 | 显示全部楼层
用汇编试。
(仅供参考,欢迎探讨)
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2025-04-01 23:18:33

15

主题

139

回帖

979

积分

高级会员

积分
979
发表于 2024-8-17 20:55:18 | 显示全部楼层
时钟24MHz,清零一个时钟,置1一个时钟,输出12MHz是应该的啊。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:210
  • 最近打卡:2025-04-12 18:36:29

1

主题

47

回帖

98

积分

注册会员

积分
98
发表于 2024-8-17 21:15:21 | 显示全部楼层
佬的示波器是什么牌子的,想入手一个
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-05-01 11:24:23

13

主题

95

回帖

294

积分

中级会员

积分
294
发表于 2024-8-17 23:29:27 | 显示全部楼层
hy*** 发表于 2024-8-17 21:15
佬的示波器是什么牌子的,想入手一个

搜        ZEEWEII DSO154Pro
带宽     18MHz
采样率  40MSa/s
价格     168
评价     主打便携小巧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:369
  • 最近打卡:2025-05-02 13:01:49

1

主题

80

回帖

1552

积分

金牌会员

积分
1552
发表于 2024-8-18 01:46:57 | 显示全部楼层
12M没毛病, 24M下, 高电平花1时钟,低电平花1时钟, 一组高低电平用时2周期, 24MHZ/2=12MHZ
回复 支持 1 反对 0

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 14:58 , Processed in 0.202884 second(s), 122 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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