找回密码
 立即注册
查看: 70|回复: 5

8H8K64U 用定时4做外部计数,如何算出外部频率 | 用专业的PWM7

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-07-24 16:57:00

29

主题

49

回帖

270

积分

中级会员

积分
270
发表于 2025-7-24 16:57:00 | 显示全部楼层 |阅读模式
如题:
现在我想用定时器4   外部取比如18K的频率  ,
我用定时器4计数模式 开启中断 ,是不是默认下降沿中断,
一次我现在频率为22.1184频率,
这样定时器4可以最高取样到多少频率的范围?

我现在想取样外部信号计算出频率,单纯用定时器4的外部计数器模式是否可以做到,
是否还需要开启其他定时器配合,或者外部中断配合啥的,
求教大神们指点。

微信图片_20250724165205.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-07-24 16:57:00

29

主题

49

回帖

270

积分

中级会员

积分
270
发表于 2025-7-24 16:58:23 | 显示全部楼层
我现在系统频率为22.1184M,不知道定时器4可以取的频率范围为多少,定时器4对外部频率的宽度有要求么
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-07-31 08:58:47
已绑定手机

87

主题

5532

回帖

1万

积分

超级版主

DebugLab

积分
10123
发表于 2025-7-24 17:35:20 | 显示全部楼层
最高输入频率是主时钟频率的一半
要两个定时器,一个用来计数,另一个用来测量时间

9年前做的频率计:
截图202507241758183095.jpg

截图202507241758355719.jpg

截图202507241759009035.jpg

  1. #include"reg51.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define ulong unsigned long
  5. sbit ww=P2^0;//万位
  6. sbit qw=P2^1;//千位
  7. sbit bw=P2^2;//百位
  8. sbit sw=P2^3;//十位
  9. sbit gw=P2^4;//个位
  10. uchar wan,qian,bai,shi,ge,a;
  11. ulong count,b;
  12. uint code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极数码管不带小数点代码表
  13. void delay(uint i)//延时i*100微秒
  14. {
  15.   uint j,k;
  16.   for(j=i;j>0;j--)
  17.     for(k=9;k>0;k--);
  18. }
  19. void init()//初始化函数
  20. {
  21.         TMOD=0x01;
  22.         TH0=(65536-50000)/256;
  23.         TL0=(65536-50000)%256;
  24.         PX0=0;
  25.         PT0=1;
  26.         IT0=1;
  27.         EA=1;
  28.         ET0=1;
  29.         EX0=1;
  30.         TR0=1;
  31.         a=0;
  32.         count=0;
  33. }
  34. void display()//显示函数
  35. {
  36.         wan=count/10000;
  37.         qian=count%10000/1000;
  38.         bai=count%1000/100;
  39.         shi=count%100/10;
  40.         ge=count%10;
  41.         P0=table[wan];
  42.         ww=1;
  43.         delay(5);
  44.         ww=0;
  45.         P0=table[qian];
  46.         qw=1;
  47.         delay(5);
  48.         qw=0;
  49.         P0=table[bai];
  50.         bw=1;
  51.         delay(5);
  52.         bw=0;
  53.         P0=table[shi];
  54.         sw=1;
  55.         delay(5);
  56.         sw=0;
  57.         P0=table[ge];
  58.         gw=1;
  59.         delay(5);
  60.         gw=0;
  61. }
  62. void main()//主函数
  63. {
  64.         init();
  65.         while(1)
  66.         {
  67.                 display();
  68.                 if(a>=20)
  69.                 {
  70.                         a=0;
  71.                         count=b;
  72.                         b=0;
  73.                 }
  74.         }
  75. }
  76. void add() interrupt 0
  77. {
  78.         b++;
  79. }
  80. void time() interrupt 1
  81. {
  82.         TH0=(65536-50000)/256;
  83.         TL0=(65536-50000)%256;
  84.         a++;
  85. }
复制代码


DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:144
  • 最近打卡:2025-07-31 10:37:58

760

主题

1万

回帖

1万

积分

管理员

积分
18139
发表于 2025-7-24 22:17:14 | 显示全部楼层

这个型号的 T4管脚在 P0.2 / P0.6 可设置

截图202507242217102710.jpg


截图202507242219506877.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:144
  • 最近打卡:2025-07-31 10:37:58

760

主题

1万

回帖

1万

积分

管理员

积分
18139
发表于 2025-7-24 22:27:49 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:144
  • 最近打卡:2025-07-31 10:37:58

760

主题

1万

回帖

1万

积分

管理员

积分
18139
发表于 7 天前 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-8-1 01:54 , Processed in 0.126572 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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