单片机定时器0、1演示程序

发布时间:2022-12-26  

//实验例程 大虾(DX-51)学习板 定时器0、1使用例程

#include

#include

//MCU51嵌入式专业仿真器占用3个字节程序空间0x003b,0x003c,0c003d,

//使用code数组声明防止编译器将函数定位于此三字节所在程序空间上

unsigned char code DX58[3] _at_ 0x003b;

unsigned char count;

unsigned char direction;

unsigned char delay1;

unsigned char delay2;

void timer0(void) interrupt 1 using 0

{

TL0=0x06;

TH0=delay2;

/* 定时器0中断 */

if (++delay1 > 4){

delay1 = 0;

if (++count > 7) count = 0;

P1 |= 0x0ff;

P1 &= ~(0x01 << count);

}

/* 定时器0中断 */

}

void timer1(void) interrupt 3 using 0

{

TL1=0x06;

TH1=0x00;

/* 定时器1中断 */

if (direction){

if (++delay2 == 128)direction = 0;

}

else {

if (--delay2 == 0)direction = 1;

}

/* 定时器1中断 */

}

// 定时器功能演示程序

// P01、P02、P03、P04脚接发光二极管led1、led2、led3、led4

// 每个发光二极管串上电阻接到5V电源上, 运行本演示程序

// 将会看到发光二极管被依次点亮和熄灭, 比街上的彩灯好看

// 多了,不信你试试看。

void main(void){

ET0 = 1; /* 允许定时器0中断 */

ET1 = 1; /* 允许定时器1中断 */

TMOD = 0x11; /* 定时器工作方式选择 */

TL0 = 0x06;

TH0 = 0x00; /* 定时器赋予初值 */

TL1 = 0x06;

TH1 = 0x00; /* 定时器赋予初值 */

TR0 = 1; /* 启动定时器 */

TR1 = 1; /* 启动定时器 */

EA = 1; /* 开总中断 */

delay2 = 0;

direction = 1;

while(1){

_nop_ (); /* delay for hardware */

}

}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    零基础:学51单片机定时器;   我们学单片机是首先学的就是 led 闪烁,那是用延时程序做的,现在回想起来,这样做不很恰当,为什么呢?我们的主程序做了灯的闪烁,就不能再干其它的事了,难道单片机......
    篇_chenwenjie666的博客-CSDN博客_单片机定时器; (3)(81条消息) 51单片机——定时器_LiuRenyou的博客-CSDN博客_51单片机定时器程序; ......
    性和可扩展性那些就更不用提了。 二、解决需求的思路 然后我就在想,我能不能设计一个定时器的程序架构,让它能够适应所有的精准定时需求。 我的思维雏形大概是这样的。 图左边是定时器时间源,类似于我们的时钟源,一般我是用单片机定时器......
    出水的功能,且实时地显示当前剩余时间。程序流程图如图4所示。 图4 程序流程图 3.1、定时器/计数器程序控制 本设计的程序软件主要是依靠单片机的定时器/计数器的功能去实现功能的要求。单片机定时器......
    器的最高频率一般是时钟振荡频率的1/24; 由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序。所以说,定时器/计数器是单片机......
    )被视为十进制。 二、使用8051单片机定时器产生1mS延迟的程序 下面的程序可用于产生1mS延迟,已被编写为子程序,以便可以在程序的任何地方调用它。也可以将其置于循环中以创建更长的时间延迟(1mS......
    52单片机有几个定时器?52单片机定时器1和52单片机定时器2程序对比;  52单片机有几个定时器?   STC89C52RC是有三个定时器的单片机,STC89C52RC共有3个定时器,分别是T0......
    记数器 /***************************************************************功能:实现单片机定时记数器 ***************************************************************/#include "reg51.h......
    80C51单片机定时器/计数器详解(含工作方式);80C51单片机要实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。下面我们将对80C51单片机定时器/计数器详解,并对定时/计数......
    us   最小定时时间T=1/1MHz=1us   51单片机定时器:   方式0 13位最大定时时间间隔2^13=8.192ms   方式1 16位最大定时时间间隔2^16=65.536ms   方式......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>