历史上的今天
返回首页

历史上的今天

今天是:2025年03月11日(星期二)

正在发生

2020年03月11日 | PIC18f2580下TMR0定时器初值设置方法

2020-03-11 来源:eefocus

机器频率Fosc:单片机的振荡频率,如果用外置的晶振电路,晶振上会有频率标志,常用的有4MHz、8MHz、20MHz等,本例使用的是4MHz。


机器周期Tosc:机器频率的倒数,本例中Fosc=4MHz,Tosc=1/4=0.25us


指令周期:运行一条指令所需的时间,等于4个机器周期,本例中机器周期为0.25us,则指令周期为1us。


【注】PIC系列大部分为单指令周期,就是说一条指令运行只需要一个指令周期的时间。但有有几条指令,允许需要两个指令周期的时间;如RETURN、GOTO等;而有些指令需要1~2个指令周期,需要具体分析,如DECFSZ,如果无调整只需1指令周期,如果有跳转则需要2个指令周期。


定时时间的计算.假设Timer0用的时钟源是内部的4MHZ,那么每条指令的执行时间就是 1us,设Timer0的预分频系数是1:256,TMR0的初值是6,那么定时时间为: 

256×(256-6)×1us=64ms


256×(256-6)×(1/4M*4)=64ms


即 (4M/4)/256/250=16HZ。    


参见: bit 5 T0CS:Timer0 Clock Source Select bit


1 = Transition on T0CKI pin input edge

0 = Internal clock (F OSC /4)


源程序:

#include

 

void initPORTB(void);

void initTMR0(void);

void interrupt TMR0INT(void);

int coun=0;

bit abc=0b0;

 

void main(){

initPORTB();

initTMR0();

while(1){}

}

 

void initPORTB(){

TRISB=0x00;

PORTB=0x00;

}

 

void initTMR0(){

//T0CON=0x89; //10001001 89

T0CON=0xc7; //11000111 c7  8位定时器方式 256分频

TMR0IF=0;

TMR0IE=1;

GIE=1;

// TMR0H=0x00;

TMR0L=0x06;

}

 

void interrupt TMR0INT(void){

//if(TMR0IF==1)

//{

GIE=0;

 

// TMR0H=0x00;

TMR0L=0x06;

TMR0IF=0;

// PORTB=coun&0x0f;

// if(coun==10)

// {

coun=0;

RB0=abc;

abc=!abc;

// }

coun++;

GIE=1;

//}

}

 

例如:10ms延时


#include   

  

void initPORTB(void);  

void initTMR0(void);  

void interrupt TMR0INT(void);  

int coun=0;  

bit abc=0b0;  

  

void main(){  

    initPORTB();  

    initTMR0();  

    while(1){}  

}  

  

void initPORTB(){  

    TRISB=0x00;  

    PORTB=0x00;  

}  

  

void initTMR0(){      

    T0CON=0x89; //10001001 89 使能TMR0,工作于16位定时器方式,使用内部时钟,不分频  

    TMR0IF=0;  

    TMR0IE=1;  

    GIE=1;  

    TMR0H=0xd9;  

    TMR0L=0x00;  

}  

  

void interrupt TMR0INT(void){  

//if(TMR0IF==1)  

//{  

    GIE=0;  

  

        TMR0H=0xd9;//FFFF-D900=9983 采用4M晶振。指令周期1us,  

        TMR0L=0x00;//故对TMR0写入10ms(即9983*1us)定时调整值9983  

      

        TMR0IF=0;  

//  PORTB=coun&0x0f;  

//  if(coun==10)  

//  {  

        coun=0;  

        RB0=abc;  

        abc=!abc;  

//  }  

    coun++;       

    GIE=1;  

//}  

}

推荐阅读

史海拾趣

Greenray Industries Inc公司的发展小趣事

GreenTech还致力于绿色照明技术的研发和推广。公司推出了一系列高效节能的LED照明产品,包括智能路灯、室内照明系统等。这些产品不仅具有长寿命、低能耗等优点,还通过智能控制实现了按需照明,进一步降低了能耗。GreenTech积极与各地政府和企业合作,推动绿色照明技术在城市照明、工业照明等领域的广泛应用,为节能减排和环境保护做出了积极贡献。

Euroquartz公司的发展小趣事

面对不断变化的市场环境和客户需求,Euroquartz始终保持敏锐的洞察力和快速的反应能力。公司不断投入研发力量,推动产品创新和技术升级。同时,Euroquartz也注重与客户的沟通和合作,深入了解市场需求,为客户提供更加专业和贴心的服务。这种持续发展的动力,使Euroquartz在电子行业始终保持领先地位,并为公司的未来发展奠定了坚实的基础。

请注意,由于篇幅限制,以上每个故事都是基于Euroquartz公司的重要事件和事实进行概括和简化的。如果需要更详细的信息或更深入的分析,建议查阅相关报道或公司官方资料。

艾谱科(Epticore)公司的发展小趣事

艾谱科公司的创立源于其创始人对电子行业未来发展的独到见解。在21世纪初,随着数字化和智能化技术的飞速发展,创始人意识到电子行业即将迎来一场技术革命。他带领团队深入研究新兴技术,并成功开发出一款具有划时代意义的电子元件——高效能芯片。这款芯片凭借其出色的性能和稳定性,迅速获得了市场的认可,为艾谱科公司的发展奠定了坚实的基础。

Hengstler GmbH公司的发展小趣事

艾谱科公司的创立源于其创始人对电子行业未来发展的独到见解。在21世纪初,随着数字化和智能化技术的飞速发展,创始人意识到电子行业即将迎来一场技术革命。他带领团队深入研究新兴技术,并成功开发出一款具有划时代意义的电子元件——高效能芯片。这款芯片凭借其出色的性能和稳定性,迅速获得了市场的认可,为艾谱科公司的发展奠定了坚实的基础。

Advanced Photonix公司的发展小趣事

在光电技术不断发展的背景下,Advanced Photonix开始研发太赫兹传感器产品。这种传感器产品主要针对无损检测和质量控制市场,如行李和货物的安全检查等。经过长时间的努力,公司成功开发出了一系列高性能的太赫兹传感器,这些产品凭借其高可靠性和精确性,迅速赢得了市场的青睐。通过与各大航空公司和物流企业的合作,Advanced Photonix的太赫兹传感器产品在全球范围内得到了广泛应用,为公司的快速发展注入了新的动力。

European Crystal Org公司的发展小趣事

为了进一步扩大市场份额,ECO开始积极寻求国际合作。公司与国际知名电子制造商建立了战略合作关系,共同研发和推广新产品。这些合作不仅为ECO带来了更多的订单和收入,还提升了公司的国际知名度。同时,ECO还积极参加国际电子展会和论坛,展示公司的技术实力和产品优势。

问答坊 | AI 解惑

开关电源中的磁性器件制造

开关电源中的磁性器件制造.pdf 以前不想上传的,想想没有多大用,今天又发现它还是有一点价值的,还找了半天,上传到这就当存这了.…

查看全部问答>

I2C存储芯片CAT24C02读写程序代码(完整版)

这是我做一个I2C小项目时,写的存储模块单元CAT24C02的程序!代码经过调试,读写正常,拿出来供大家分享!…

查看全部问答>

门铃方面的问题

各位朋友,你们好!第一次来这里.很高兴和你们一起讨论问题,在这里我有个简单的问题向你们请教..... 是这么回事:我家和隔壁邻居2家共同在过道上安了一扇防盗门,这盗门距离家里的门有7米远左右.由于有两扇门.回家按过道上那道门,家里的人完全听不到 ...…

查看全部问答>

LM3S8962学习心得(2)

这是我的学生写的,觉得入门级别的资料,希望大家跟着我的学生一起学习。 该文档中描述的是KEIL工具中如何调试LM,简要的介绍了KEIL的各个功能!…

查看全部问答>

在线等--内存是加1G,还是2G好?

明天去电脑城买本本  看中 thinkpad R400 25C  链接:http://product.pconline.com.cn/notebook/thinkpad/400741_detail.html 这款机子自动内存1G  我想给它加根内存   但是不知道是加1G好    ...…

查看全部问答>

PXA270的PPC如何接并口JTAG?

PXA270的PPC如何接并口JTAG? PPC的主板上有JTAG,但是没有并口JTAG的连接图,不知各位高手能否提供一个并口JTAG的线路图?我试过用网上通用的 Wiggler JTAG图连接不能发现硬件。…

查看全部问答>

谁是下一个杀手?

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 事实上,所有快餐属性的事物基本上都是速朽的,包括“杀手级应用”这一早前流行的说法——由便携式设备带动起来的消费电子市场在过短的产品周期的冲击下,所谓“杀手级”的份量也迅速降低, ...…

查看全部问答>

哪位大侠知道可以输出3V的低功耗稳亚模块?

哪位大侠知道可以输出3V的低功耗稳亚模块? 多谢…

查看全部问答>

拿到 M4 开发板的朋友最近有什么进展啊?

拿到 M4 开发板的三位朋友最近有什么进展啊? 大家觉得如何体现 M4 的 FPU 的浮点运算能力,以及在浮点运算时要注意些什么呢?…

查看全部问答>

SD卡在单片机上的应用

SD卡在单片机上的应用,是用51单片机来操作SD卡…

查看全部问答>