如何实现定时器与中断来点亮二极管

发布者:dfdiqc最新更新时间:2016-09-12 来源: eefocus关键字:定时器  中断  点亮二极管 手机看文章 扫描二维码
随时随地手机看文章
什么是定时器,什么是中断,这些简单的概念,在此就不多说了,百度一下就有很多资料了。
下面是个人使用定时器与中断来实现 点亮二极管的
#include
 
sbit LED=P2^0; //点亮一个二极管
unsigned char i=0; 
void main()
{
   TMOD=0x01; // TMOD寄存器高4位设置T1,低4位设置T0。设置T0定时器工作模式
   EA=1; // 允许打开全局中断变量EA
   ET0=1; //允许打开定时器T0中断
   TR0=1; //设置TCON寄存器: 启动定时器T0
   TH0=(65536-50000)/256;   //50ms毫秒发生一次中断溢出,初始化TH0
   TL0=(65536-50000)%256;    
 
   LED=0; //点亮二极管
   while(1)
   {
      
      if(i==20) //20次50ms 等于1秒钟  即 1秒钟二极管就点亮或熄灭
      {
         LED=~LED; //二极管状态取反
         i=0;
      }
   }
}
 
void TimerLED() interrupt 1 using 1 // 中断源T0定时器,使用第1组寄存器工作组存储中断程序
{
   TH0=(65536-50000)/256;
   TL0=(65536-50000)%256;
   i=i+1;   
}
 
只要了解原理,就非常简单了。 记住:学习单片机,就是为了以后学习ARM更容易,更快速的学习。
关键字:定时器  中断  点亮二极管 引用地址:如何实现定时器与中断来点亮二极管

上一篇: 如何实现数码管3位计数器
下一篇:C语言如何实现循环点亮单位数码管

推荐阅读最新更新时间:2024-03-16 15:09

STM32定时器中TIM_RepetitionCounter作用详解
在STM32中 有一个这个TIM_RepetitionCounter参数。如下,定时了0.001s,然后在中断中计数1000次,点亮熄灭LED,正常情况来说,led会亮1s,然后灭1s,不断重复。 当 TIM_RepetitionCounter 参数设置为0 时,确实是1s。 当 TIM_RepetitionCounter 参数设置为1 时,明显感觉到亮灭的时间被延长了一倍。 所以 TIM_RepetitionCounter 应该是在本次定时结束后,再重装载定时 1次,进入中断,所以 当TIM_RepetitionCounter =1时,相当于定时0.001s 2次进入中断,那么led的亮灭时间就变成了2s。 当TIM_R
[单片机]
STM32<font color='red'>定时器</font>中TIM_RepetitionCounter作用详解
S3C2440的PWM及定时器的使用
s3c2440芯片中一共有5个16位的定时器,其中有4个定时器(定时器0~定时器3)具有脉宽调制功能,即他们都有个输出引脚,可以通过定时器来控制引脚周期性的高低电平变化,定时器4没有输出引脚。上次脱机运行PWM测试程序实验的时候就用到了这块,所以这次将PWM和定时器放在一起来学习。 定时器部件的时钟源为PCLK,首先通过两个8位预分频器降低频率,定时器0和1共用第一个预分频器,2,3,4共用第二个预分频器。预分频器输出接入第二级分频器,可以生成5种分频信号(1/2,1/4,1/8,1/16,TCLK),其中8位预分频器是可编程,根据装载值来分频PCLK,值储存在TCFG0和TCFG1中。 定时器内部控制逻辑工作流
[单片机]
嵌入式实时系统中断管理技术研究
摘要:嵌入式实时系统中断管理技术直接影响到系统的实时响应性能。本文通过对嵌入式内核中断管理技术的研究,归结出“中断前-后段处理”模型;同时,针对一些处理器中多个外部中断共用一个向量的问题,提出一种单向量多中断处理映射技术,并在PowerPC MPC860处理器上实现Delta OS内核时,验证此技术的有效性。 关键词:实时性 中断 中断管理模式 嵌入式实时系统 引 言 嵌入式实时系统(Real-Time System)是一个能够在指定或者确定的时间内对外部事件作出响应的系统,其重要的特性是实时响应性。   嵌入式实时系统对外部事件的响应一般都是通过中断来处理的,其对中断的处理方式,直接影响到系统的实时性能。 1 嵌
[应用]
STM32系统滴答定时器(systick)应用
一:系统滴答定时器(systick) 1.systick介绍 Systick就是一个定时器而已,只是它放在了NVIC中,主要的目的是为了给操作系统提供一个硬件上的中断(号称滴答中断)。滴答中断?这里来简单地解释一下。操作系统进行运转的时候,也会有“心跳”。它会根据“心跳”的节拍来工作,把整个时间段分成很多小小的时间片,每个任务每次只能运行一个“时间片”的时间长度就得退出给别的任务运行,这样可以确保任何一个任务都不会霸占整个系统不放。或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维
[单片机]
STM32系统滴答<font color='red'>定时器</font>(systick)应用
STM32F429的定时器的使用方法
电子时代,硬件在突飞猛进的发展,频率不断上升,目前的STM32系列,Cortex M系列,Cortex-M4的频率已经为:180MHz了,基本上与之前的ARM7/9频率差不多了,还有Cortex-M7,频率更高,出现了BGA封装与SDRAM DDR等。看来处理器越来越大众化了,物联网上的电子设备联网,也越来越普及了,硬件成本不断降低是大势所趋,因此,作为一个电子设计人员,还是要不断的学习掌握更多的技术知识与基础,从而不会被社会很快淘汰。 最近买了一个现成的STM32F429 Discovery 的开发板,想尝试一下较大点的嵌入式操作系统如RTEMS的移植与应用。因为有了STM32F103/107的基础,熟悉了硬件与固件库,ST
[单片机]
STM32F429的<font color='red'>定时器</font>的使用方法
中断方法设计单片机秒、分脉冲发生器
以中断方法设计单片机秒、分脉冲发生器。 假定P1.0每秒产生一个机器周期的正脉冲,P1.1每分钟产生一个机器周期的正脉冲。 单片机是89C51。 ;====================================================== ;最佳答案: ;用定时器T0,工作模式1,进行50ms定时,中断。 ;中断20次,即为1秒,60秒,即为1分钟。 ;到了这些时刻,分别在P1.0、P1.1输出正脉冲即可。 ORG 0000H AJMP START ORG 000BH ;定时器0中断入口. AJMP SERVE START: MOV TMOD, #01H
[单片机]
MSP430学习小结1--看门狗的使用总结
看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。在很多单片机中都内置了看门狗,看门狗本身是一个定时器,当定时器溢出时即进行系统复位,因此需要在程序中对看门狗定时器进行清零,即常说的喂狗。 由于我用过AVR的单片机,和AVR的相比,MSP430的看门狗要灵活的多,首先默认看门狗是开着的,因此如果不使用看门狗的话要关闭,指令如下: WDTCTL = WDTPW + WDTHOLD 如果打开看门狗则需要在程序中清零,指令如下: WDTCTL=WDTPW+WDTCNTCL 这只是基本的应用,430的看门狗要稍微复杂一些,首先从IAR的头文件中看看定义了几种工作状态: view pl
[单片机]
ARM嵌入式系统中断向量表的动态配置
一般32位ARM嵌入式系统的中断向量表是程序编译前设置好的。在编写32位ARM嵌入式系统的中断服务程序、设置和修改ARM体系结构的中断向量表时,常感到相当麻烦,不得不修改汇编代码,对不喜欢使用汇编代码编程的程序员尤其如此。当需要在程序运行过程中动态修改中断向量的程序时会感到更为不便,不得不增加很多分支处理指令才能实现。为此本文提出一种简便高效的配置方法,实现了ROM固化程序在运行时动态配置ARM嵌入式系统中断向量表的功能。 1 ARM中断向量两种设置方法 在32位ARM系统中,一般都是在中断向量表中放置一条分支指令或PC寄存器加载指令,实现程序跳转到中断服务例程的功能。例如: IRQEntry B HandleIRQ
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved