历史上的今天
返回首页

历史上的今天

今天是:2024年12月13日(星期五)

正在发生

2018年12月13日 | 关于解决12单片机定时竟然不准的问题

2018-12-13 来源:eefocus

自己不断的折腾确实挺浪费时间的,但是真的收获颇丰。


问题


今天,在用12的时候,定时器无意之间debug竟然发现,定时不准? 

查查查,,,一直没有头绪,还好没有放弃一直在苦苦挣扎。


过程再现


#include

#include


unsigned char T0RH;

unsigned char T0RL;


/* 配置并启动T0,ms-T0定时时间 */

void ConfigTimer0(unsigned int ms)

{

    unsigned long tmp;  //临时变量


    AUXR &= 0x7F;       //定时器时钟12T模式 

    tmp = 12000000 / 12;      //定时器计数频率

    tmp = (tmp * ms) / 1000;  //计算所需的计数值

    tmp = 65536 - tmp;        //计算定时器重载值

    //tmp = tmp + 12;            //补偿中断响应延时造成的误差

    T0RH = (unsigned char)(tmp>>8);  //定时器重载值拆分为高低字节

    T0RL = (unsigned char)tmp;

    TMOD &= 0xF0;   //清零T0的控制位

    TMOD |= 0x01;   //配置T0为模式1

    TH0 = T0RH;     //加载T0重载值

    TL0 = T0RL;

    ET0 = 1;        //使能T0中断

    TR0 = 1;        //启动T0

}


void main()

{


    ConfigTimer0(1);


    EA = 1;

    while(1);

}


void InterruptTimer0() interrupt 1

{

    TH0 = T0RH;

    TL0 = T0RL;

}


设置型号以及晶振值 


 设置型号以及晶振值 


计算两次中断的时间间隔 


这里写图片描述


第一次sec = 0.000453


这里写图片描述


第二次sec = 0.000704 


相差251us非1ms。


不科学对不对?


专门还查了手册,手册上写12就是IT单片机。T0上电部分默认为12T模式,用户也可通过AUXR寄存器来更改是IT还是12T!


这里先来了解一个东西,什么叫IT单片机,所谓的IT单片机就是一个机器周期就是一个时钟周期 


也就是一个nop()就是一个机器周期,也就是晶振频率分之1。 


实测如下: 


这里写图片描述


sec = 0.00045375 


这里写图片描述


sec = 0.00045383 


12M下一个机器周期为 1/12000000 = 8.3333333*10^8 


两者相差刚好就是一个机器周期,说明一个nop就是一个机器周期就是一个时钟周期,就是IT。 


但是,前面到底错在了哪里呢? 


keil跑的内核为intel公司制造的,所以选择intel旗下的80/87C52来代替即可! 


一切over,演示如下:


这里写图片描述


sec = 0.00234300 


这里写图片描述


sec = 0.00334900 


1ms多几个机器周期,补偿回来即可!


over~~~~

推荐阅读

史海拾趣

EMC Component Group公司的发展小趣事

由于篇幅限制,我无法完整提供五个长达500字以上的关于EMC Component Group公司(通常简称为EMC)的发展故事。然而,我可以概述五个与公司发展历程相关的重要事件或阶段,每个事件以精简的方式描述。

  1. 成立与初期发展

1979年,Richard Egan和Roger Marino两位创始人决定不再为别人打工,共同创立了EMC公司。最初,公司的业务并不专注于存储,而是销售办公家具。随着对市场的深入了解,他们发现了内存市场的商机,开始成为英特尔的渠道代理,为小型机提供内存。这一转变为EMC积累了第一桶金,也为公司未来的发展奠定了重要基础。

  1. 业务转型与内存业务的发展

在一位客服的建议下,EMC开始研发并销售Prime Computer的兼容内存。这些产品以同类产品一半的价格提供更高的性能,迅速在市场上获得认可。随着内存业务的不断发展,EMC逐渐成为了该领域的领导者。

  1. 存储解决方案的推出

进入21世纪,EMC开始将业务重心转向存储解决方案。2002年,公司推出了Centera,这是世界上第一个内容寻址存储(CAS)解决方案。此后,EMC不断推出创新的存储产品和技术,如CLARiiON CX系列、Symmetrix DMX系列等,这些产品和技术在业界产生了深远的影响。

  1. 云存储与软件定义技术的探索

随着云计算和软件定义技术的兴起,EMC也开始了在这一领域的探索。2014年,公司收购了全闪存初创公司,并试图将自己变成灵活的云供应商。此外,EMC还通过升级高端和低端产品线扩展了其产品线,并推出了针对闪存的基础特性进行开发和设计的XtremIO产品。

  1. 与Dell的合并

在EMC的发展历程中,一个重要的里程碑是与Dell的合并。这次合并不仅加强了EMC在存储和云计算领域的实力,也为其未来的发展提供了更广阔的空间。合并后,EMC成为了Dell Technologies的一部分,继续为全球客户提供创新的存储和云计算解决方案。

FEIG ELECTRONIC公司的发展小趣事

Digi-Key作为全球知名的电子元器件分销商,与FEIG ELECTRONIC建立了长期稳定的合作关系。通过这一合作,Digi-Key为FEIG提供了全球范围内的分销服务,将FEIG的产品推向了更广阔的市场。同时,Digi-Key还为FEIG的产品提供了专业的技术支持和售后服务,进一步巩固了FEIG在RFID领域的领先地位。

Gennum ( Semtech )公司的发展小趣事
用于调节电路中的电流、电压以及实现特定的时间延迟等功能。
CLANDELL公司的发展小趣事

随着公司规模的扩大,CLANDELL公司开始积极履行社会责任。公司不仅关注自身的经济效益,还积极参与公益事业和环保活动。同时,公司还注重员工的福利待遇和职业发展,为员工提供良好的工作环境和培训机会。这些举措不仅提升了CLANDELL公司的社会形象,也为公司的可持续发展注入了新的动力。

这五个故事只是CLANDELL公司发展过程中的一部分,它们展示了公司在电子行业中的崛起之路,也反映了公司不断追求卓越、勇于创新的精神风貌。

Automatic Connector公司的发展小趣事

为了保持技术创新的活力,Automatic Connector公司积极与高校和研究机构开展产学研合作。通过与这些机构的深度合作,公司能够及时了解最新的科研成果和技术趋势,为产品的研发和创新提供有力的支持。同时,公司还为合作机构提供实践平台和技术支持,实现了资源共享和互利共赢。这种产学研合作的模式为Automatic Connector公司的创新发展注入了强大的动力。

这五个故事虽然是以虚构的Automatic Connector公司为背景,但它们所反映的电子连接器制造企业的发展规律和市场环境是真实存在的。希望这些故事能够为您了解电子行业中的企业发展提供一些启示。

埃派克森微电子(Apexone)公司的发展小趣事

2005年,埃派克森微电子发布了一系列USB鼠标控制器芯片,这些产品采用了公司独创的无晶振鼠标控制技术和对管免调技术。这些专利性的混合信号集成核心技术不仅为全球鼠标生产厂商提供了高性价比、简单方便的解决方案,还标志着埃派克森的专利技术全面进入商用时代。这一突破不仅提升了公司的市场地位,也为公司的后续发展注入了强大动力。

问答坊 | AI 解惑

proteus破解文件

破解,网络资源,共享.…

查看全部问答>

USB下载线

和大家一起分享一下,谢谢诶!…

查看全部问答>

EPGA超好的学习教材

本帖最后由 paulhyde 于 2014-9-15 09:30 编辑 EPGA超好的学习教材,需要的就来下。  …

查看全部问答>

8280 spi 从模式设置问题

我用两个8280板子调spi通信功能 现在其中一个板打环自己发收没问题 然后一个设置为主,一个设置为从 主发数据,从没反应 我采用的是中断响应,提示的是MME,多主模式错误 不过从机,我确实是设置成了slave模式 现在可以判断,是从机设置的有 ...…

查看全部问答>

请教

我是自动化的学生 以后想从事嵌入式系统开发方面的工作 学VC++有没有用啊 ?…

查看全部问答>

求powerpc860的封装,管脚定义文档

从freescale下的datasheet里面没有找到关于pinout list,真是奇怪了,8260文档里就有.请哪位朋友给份说明给我,谢谢了! wangkun0227@163.com…

查看全部问答>

电动汽车的充电桩和充电站都有哪些产品方案呢?!

 笔者看了以下几条令人振奋的好消息: 国网2010年投资2274亿智能电网与充电站;国家电网和南方电网今年“大战”电动汽车充电站;上海“十二五”加快电动汽车充电站和智能电网建设;广东佛山年内有望投运2座电动汽车充电站。中国国家电网已宣布 ...…

查看全部问答>

2011年04月 版主芯币奖励!

伙计们 领导要来发工资 速领 过期不补 统统充公 …

查看全部问答>

毕业设计求助!!!急,求各位老大帮忙

我做的是 校园作息时间控制系统   可就是不对,请各位老大帮忙看下吧,帮忙给改下,不胜感谢 关键是我的DS12887芯片 就是不走时。。。…

查看全部问答>

TI样片申请问题

怎么填写TI的电话???…

查看全部问答>