历史上的今天
返回首页

历史上的今天

今天是:2025年06月11日(星期三)

正在发生

2021年06月11日 | 定时器/计数器T1的定时实例

2021-06-11 来源:eefocus

1、本例使用定时器1的定时中断控制2个LED实现不同的闪烁频率。


2、实现方法:通过给定时器T1设置适当的初值,实现50MS的定时中断,由于要控制两个LED以不同的频率闪烁,因而需要设置两个变量来分别计算中断次数。


3、在keil c51中新建工程ex46,编写如下程序代码,编译并生成ex46.hex文件


#include //包含头文件


sbit LED1=P1^0; //端口位定义

sbit LED2=P1^1;


unsigned char counter1,counter2; //定义全局变量,用以存储定时器的中断溢出次数


//主函数

void main(void)

{

EA = 1; //开总中断

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

TMOD = 0x10; //设置定时器的工作方式

TH0 = (65536-46083)/256; //定时器赋初值

TL0 = (65536-46083)%256;

TR1 = 1; //开启定时器

LED1 = 1; //关闭LED

LED2 = 1;

counter1 = 0; //中断次数初值为0

counter2 = 0;


while(1)

{

}

}


//定时器1的定时中断服务函数,定时时长50ms

void Time1(void) interrupt 3 using 0

{

counter1++; //中断次数加1

counter2++;


if(counter1 == 2)//如果记满2次。也即计时够100ms

{

LED1 = ~LED1;//,LED1端口取反

counter1 = 0;//计数值1清0

}


if(counter2 == 8)//如果记满2次。也即计时够400ms

{

LED2 = ~LED2; // LED2端口取反

counter2 = 0; //计数值2清0

}


TH0 = (65536-46083)/256; //定时器重新赋初值

TL0 = (65536-46083)%256;

}




4、在proteus中新建仿真文件ex46.dsn,电路原理图如下所示:





5、将ex46.hex文件载入at89c51中,启动仿真,按动按键,观察程序运行结果,下图是某一时刻程序运行结果



推荐阅读

史海拾趣

Global Communications公司的发展小趣事
通过温度传感器检测环境温度,并将检测到的温度信号转换为电信号后,送入到专门的补偿电路中。补偿电路根据温度信号调整晶体振荡器的输出频率或相位,以达到补偿的目的。这种方法相对复杂,但可以实现更精确的补偿效果。
蓝箭(BLUE ROCKET)公司的发展小趣事

为了提高产品质量和客户满意度,蓝箭电子从1997年开始通过ISO9001质量管理体系认证。随后,公司还通过了ISO14001环境管理体系认证、ISO/TS16949汽车行业质量管理体系标准认证以及OHSAS18001认证。这些认证不仅提升了公司的管理水平,也增强了客户对公司的信任。

兵字(BingZi)公司的发展小趣事

随着市场的不断变化和客户需求的日益多样化,兵字公司意识到,要想在市场中保持领先地位,就必须不断进行技术创新。于是,公司投入大量研发资源,成功研发出了小型精密互感器。这一创新产品不仅填补了市场空白,还为公司带来了可观的收益。同时,兵字公司也凭借这一技术突破,进一步巩固了在电子元器件领域的领先地位。

Deutsch公司的发展小趣事

在竞争激烈的电子行业中,品质控制和品牌建设至关重要。Deutsch公司深知这一点,因此始终将品质控制和品牌建设作为公司的重要任务。公司建立了严格的质量管理体系,确保产品的每一个细节都符合高标准。同时,通过精心策划的品牌推广活动,Deutsch公司的品牌形象逐渐深入人心。这些努力不仅提升了公司的市场地位,也增强了客户对公司的忠诚度。

APX Technologies公司的发展小趣事

APX Technologies在追求经济效益的同时,也积极履行社会责任。公司注重环保和可持续发展,致力于研发和生产低能耗、低污染的电子产品。此外,APX Technologies还积极参与社会公益活动,为社会的和谐发展贡献自己的力量。这些举措不仅提升了公司的品牌形象,也赢得了社会各界的广泛赞誉。

以上五个故事均基于虚构的APX Technologies公司的发展情况,旨在展示一个电子行业公司可能经历的不同发展阶段和面临的挑战。这些故事并不代表任何真实情况,仅供参考和启发。

Gems Sensors & Controls公司的发展小趣事

Gems Sensors & Controls公司始终致力于技术创新和产品研发。数十年来,公司不断推出新型号的液位、流量和压力传感器、微型电磁阀及预装射流系统等产品,以满足客户日益多样化的需求。这些产品凭借其卓越的性能和稳定的质量,在行业内赢得了广泛的赞誉和认可,也推动了整个传感器行业的进步和发展。

问答坊 | AI 解惑

DSP集成开发环境CCS开发指南

《DSP集成开发环境CCS开发指南》可以让初学者快速熟悉CCS集成开发环境,强烈推荐!…

查看全部问答>

新型AB类功放设计

在AB类音频放大器设计中遇到的一十 要问题就是如何去设置偏置控制环路lbias—control Loop)。通常均使用互补井集电极输出级.且功率晶体管一般置于偏置控制环内。由于输出晶体管温差变动很^,这样做温度稳定性显然不佳使AB类控制环路中的所有二极管 ...…

查看全部问答>

北京 急招高级嵌入式系统开发者 2 个职位

北京   两个项目急招两个职位: 工作内容: 1)参与公司嵌入平台方案和构架,系统设计和开发; 2)从事嵌入式产品的软件需求分析、软件设计与开发; 3)负责需求文档、设计文档、培训文档的编写; 任职要求: 电子、通信计算机软 ...…

查看全部问答>

windows mobile build waring

warning C4530: C++ exception handler used, but unwind semantics are not enable 这个警告是在编WINDWOS MOBILE工程时出现的,我查了一下,意思是说,使用了 try/catch 的异常处理结构。但编译器默认是不支持异常处理的。 请问怎样才可以加上 ...…

查看全部问答>

★★★★★诚聘【MSP430】单片机设计工程师★★★★★

诚聘单片机设计工程师: 1,会msp430,有设计经验 2,有msp430   C语言开发经验 3,懂信号处理,会用matlab 4,最好有工作经验1年以上 电话:010-81504648 公司网站:www.safezx.com 注:工作地点北京…

查看全部问答>

STM32能跑72M是真是假?

                                 有人说,ST 的FLASH最快24M,CPU 在72M时还要等上2个周期,那就是达不到72M了,如果说在SRAM里能跑就没 ...…

查看全部问答>

CPLD编程问题

我的CPLD在编程的时候总是出现如下错误:Unrecognized device or socket is empty 我用Max plussII 10.2,Altera下载线,EPM7128SLC84-15;系统是WIN XP,下载线驱动已装好,可以在硬件管理器里看到;JTAG 接口电路检查过几遍了,没有发现错误;PRO ...…

查看全部问答>

关于RGB转YUV的问题

论坛里有谁搞过RGB24 转YUV422吗?? 在网上搜了一下,资料不是很多而且讲的不是很清楚。我看到以下公式,但是YUV的U、V分量不是只有Y的一半吗?按照公式的话U、V分量和Y一样多啊,谁能点拨下我,不胜感激。Y = 0.299 R  ...…

查看全部问答>

何为4200-SCS集成ACS软件?

直接将ACS安装至4200-SCS的嵌入式PC中能让功能强大 的ACS集成测试系统兼有两者优点。小尺寸但功能强大的 4200-SCS测量硬件结合了ACS软件的全自动化特性,能在极小的封装中实现令人印象深刻的测试功能和自动化。使用案例非常广并且包括:   ...…

查看全部问答>

Keil 公司简介

①. 1986年,Keil Elektronik GmbH成立于德国的慕尼黑市。 GmbH:Gesellschaft mit beschrankter Haftung的缩写,有限责任公司。 ②. Keil Software, Inc. 成立于美国得克萨斯州的普莱诺。 Inc. :Incorporated的缩写,股份有限公司。 ③. Ke ...…

查看全部问答>