找回密码
 立即注册
查看: 210|回复: 1

简单写几行代码 开天斧试试频率计原理

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:386
  • 最近打卡:2025-05-03 13:06:07

25

主题

113

回帖

729

积分

高级会员

积分
729
发表于 2024-5-20 15:51:50 | 显示全部楼层 |阅读模式
本帖最后由 zhang32568 于 2024-5-20 16:06 编辑

unsigned int cont,fos;


void Timer0_Init(void)                //1000微秒@35MHz
{
        AUXR |= 0x80;                        //定时器时钟1T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0x48;                                //设置定时初始值
        TH0 = 0x77;                                //设置定时初始值
        TF0 = 0;                                //清除TF0标志
        TR0 = 1;                                //定时器0开始计时
        ET0 = 1;                                //使能定时器0中断
        EA = 1 ;
}
void Timer0_Isr(void) interrupt 1
{unsigned int d;
        d++;
        if(d>=1000)
        {
        d=0;
    INTCLKO &= 0xbf; //关闭
   fos = cont; //fos用LED显示出来
   cont = 0;
  INTCLKO |= 0x40;  //重新打开INT4  端口P30
        }

void Int4Isr()interrupt 16//采用外部中断4  P30端口测试。
        
{
cont++;
}



实际测试  1KHZ  显示1001,500HZ  显示505   5KHZ  显示4080
显示不准 估计是1毫秒基准不准确 。但是原理应该就是这样。
如果要求很稳定 该采取什么措施?
回复

使用道具 举报 送花

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

19

主题

3191

回帖

4876

积分

论坛元老

积分
4876
发表于 2024-5-20 16:19:07 来自手机 | 显示全部楼层
使用精准度更高的有源温补晶振
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-3 15:07 , Processed in 0.109955 second(s), 53 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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