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

AI8051U IO口速度 初测

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:119
  • 最近打卡:2026-03-19 13:55:39

15

主题

97

回帖

309

积分

中级会员

积分
309
发表于 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口结构
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:747
  • 最近打卡:2026-03-25 00:01:08
已绑定手机

19

主题

3340

回帖

6935

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:724
  • 最近打卡:2026-03-18 07:56:47
已绑定手机

97

主题

7244

回帖

1万

积分

超级版主

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:646
  • 最近打卡:2026-03-24 08:59:20
已绑定手机

52

主题

2499

回帖

8822

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:778
  • 最近打卡:2026-03-24 09:02:14
已绑定手机

16

主题

1401

回帖

4925

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:796
  • 最近打卡:2026-03-25 00:01:41
已绑定手机

5

主题

310

回帖

1411

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:181
  • 最近打卡:2026-03-25 00:15:01

25

主题

231

回帖

2075

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:284
  • 最近打卡:2026-03-06 12:47:24
已绑定手机

1

主题

48

回帖

56

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:119
  • 最近打卡:2026-03-19 13:55:39

15

主题

97

回帖

309

积分

中级会员

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

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:638
  • 最近打卡:2026-03-25 02:33:25

1

主题

85

回帖

2446

积分

金牌会员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-3-25 07:16 , Processed in 0.117358 second(s), 100 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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