用单片机定时器T1中断控制两个LED以不同周期闪烁程序

发布者:science56最新更新时间:2020-02-21 来源: 51hei关键字:单片机  定时器  中断控  周期闪烁 手机看文章 扫描二维码
随时随地手机看文章

此程序为51单片机用定时器T1中断控制两个LED以不同周期闪烁,可以通过它直观了解如何使用51单片机定时器,对学习串口通讯等有一定帮助。文件内包括仿真。


单片机源程序如下:


#include  //  包含51单片机寄存器定义的头文件

sbit D1=P2^0;  //将D1位定义为P2.0引脚

sbit D2=P2^1;  //将D2位定义为P2.1引脚

unsigned char Countor1; //设置全局变量,储存定时器T1中断次数

unsigned char Countor2; //设置全局变量,储存定时器T1中断次数

/**************************************************************

函数功能:主函数

**************************************************************/

void main(void)

{

   EA=1;                  //开总中断

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

        TMOD=0x10;             //使用定时器T1的模式1

        TH1=(65536-46083)/256; //定时器T1的高8位赋初值

        TL1=(65536-46083)%256; //定时器T1的高8位赋初值

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

        Countor1=0;            //从0开始累计中断次数

        Countor2=0;            //从0开始累计中断次数 

        while(1)//无限循环等待中断

       ;

}


/**************************************************************

函数功能:定时器T1的中断服务程序

**************************************************************/

void Time1(void) interrupt 3 using 0 //“interrupt”声明函数为中断服务函数

                 //其后的3为定时器T1的中断编号;0表示使用第0组工作寄存器 

{

   Countor1++;   //Countor1自加1

        Countor2++;   //Countor2自加1

        if(Countor1==2)  //若累计满2次,即计时满100ms

                {

                   D1=~D1;     //按位取反操作,将P2.0引脚输出电平取反

                        Countor1=0;  //将Countor1清0,重新从0开始计数

                }

        if(Countor2==8)  //若累计满8次,即计时满400ms

                {

                   D2=~D2;     //按位取反操作,将P2.1引脚输出电平取反

                        Countor2=0;  //将Countor1清0,重新从0开始计数

                }                

          TH1=(65536-46083)/256; //定时器T1的高8位重新赋初值

        TL1=(65536-46083)%256; //定时器T1的高8位重新赋初值

}

关键字:单片机  定时器  中断控  周期闪烁 引用地址:用单片机定时器T1中断控制两个LED以不同周期闪烁程序

上一篇:注释非常详细的51单片机IIC源程序
下一篇:16位adc AD7705单片机例程(串口打印采集数据)

推荐阅读最新更新时间:2024-11-06 15:33

单片机控制多普勒血流计系统的设计和实现
多普勒血流计的出现标志着在微血管灌流方面取得重大进步。本设计采取双通道装置拾取多普勒信号,有效地抑制噪声信号,采用单片机来对信号进行控制及处理,既简化了电路,又有助于信号的处理及读取。运用12位的AD574A不但提高了信号精度,利用其双极性,也省去了以往信号处理中复杂的乘方、开方电路或绝对值电路。通过四位LED显示,直观、准确地读取血细胞灌流量的瞬时相对定量值,可精确到小数点后两位。并同时配有扬声器来形象表示信号的强弱和变化。还可通过绘图仪,对信号进行长时间检测、记录,以便研究和分析。 1 系统总体方案 系统组成框图如图1所示。系统工作时,从激光探头发射出一束激光照射到组织上,并穿透组织形成一个半径为1mm的半球,半球
[单片机]
基于单片机与CPLD的混合式步进电机PWM驱动技术
  步进电动机是一种将数字信号转换为位移(或直线位移)的机电执行元件,每当输入一个脉冲时,转轴便转过一个固定的机械角度,他具有快速起停、精确步进、没有积累误差且能直接接收数字信号的特点,在数字控制系统中得到了广泛的应用。步进电机的运动性能和他的驱动器有密切的关系,驱动器的性能的优劣直接影响到步进电机运行的好坏。细分驱动方式可以减小步进电机的步矩角,提高分辨率,使电机运行更加平稳均匀,可以减小或消除低频振动。利用恒流和细分驱动技术可以大大提高步进电机的步矩分辨率,减小转矩波动,避免低频共振及降低运行噪声。通常的步进电机控制方法是采用CPU配合专用的步进电机驱动控制器来实现,存在成本高、不同种类的电动机必须要有相应的驱动控制器与之配对
[单片机]
基于<font color='red'>单片机</font>与CPLD的混合式步进电机PWM驱动技术
Microchip的新型通用小型PIC单片机系列又添新成员
 PIC16F88X系列成本最低的新成员兼具高性能和易于移植两大特点 全球领先的单片机和模拟半导体供应商——Microchip Technology Inc.(美国微芯科技公司)近日宣布推出全新PIC16F882器件。新器件是PIC16F88X系列28、40和44引脚单片机中成本最低的产品,适用于众多应用领域。PIC16F882有助于设计工程师在代码开发稳定以后选用成本更低的器件。 PIC16F88X系列的五款器件均可兼容其他28和40引脚PIC单片机,易于进行移植;还增了许多新的特性,可为用户节省设计阶段和设计完成后的时间和资金。这些增强特性包括具有时钟切换及故障排除时钟模式的双内置振荡器,更多(多达14个)模数转换通道
[新品]
STM32系统定时器(SysTick)笔记
一、简介 SysTick:系统定时器,由四个寄存器控制,存在于内核,嵌套在NVIC中,所有的Cortex-M3内核的单片机都具有这个定时器。 二、相应寄存器(这里介绍常用的几个寄存器) ①SysTick控制及状态寄存器(地址:0xE000_E010) 只有上面红色线框柱的位有效,其他位都是保留。 ②SysTick重装载数值寄存器(地址:0xE000_E014) ③SysTick当前数值寄存器(地址:0xE000_E018) 三、结合框图 图中STK_CLK对应的上面的CLKSOURCE,结合RCC时钟树: 当CLKSOURCE位为0时,时钟是AHB
[单片机]
STM32系统<font color='red'>定时器</font>(SysTick)笔记
单片机计算器程序设计
按键和液晶,可以组成我们最简易的计算器。下面我们来写一个简易整数计算器提供给大家学习。为了让程序不过于复杂,我们这个计算器不考虑连加,连减等连续计算,不考虑小数情况。加减乘除分别用上下左右来替代,回车表示等于,ESC 表示归0。程序共分为三部分,一部分是 1602 液晶显示,一部分是按键动作和扫描,一部分是主函数功能。 /***************************Lcd1602.c 文件程序源代码*****************************/ #include reg52.h #define LCD1602_DB P0 sbit LCD1602_RS = P1^0; sbit LCD1602_RW = P
[单片机]
C51单片机设计模拟I2C总线驱动程序
/********************************** I2C总线驱动 ************************************* 模块名:I2C总线驱动    型号:I2C 功能描述: 此模块包括发送数据及接收数据,应答位发送,并提供了几个直接面对器件的操作函数,能很 方便的与用户程序进行连接并扩展。     需要注意的是,函数是采用延时方法产生 SCL 脉冲,对高晶振频率要做一定的修改!!     在写E2PROM的时候一定要延时!!!     说明: 1us机器周期,晶振频率要小于12MHz 返回 1 则操作成功,返回 0 则操作失败。 sla 为器件从地址,suba 为器件子地址。 **
[单片机]
单片机交通灯实验汇编语言程序
经过几天的整理,终于将网络上得到交通灯仿真文件,用汇编自己编写了一个程序,实验结果完全符合本人的思路,实验成功。 程序比较长,估计还会用更好的办法重新写。 编写心得是:单片机编程,不一定要背指令,用时可以查,也不必去默写子程序,用时还是可以查,但是,很关键的就是,你的程序,你自己要清楚整个的执行过程,也就是单片机的执行流程。而在实际的应用中,要注意驱动电路的设计,特别是单片机上电复位输出高电平可能造成的影响。 程序如下:如果网页显示格式错乱可从http://www.51hei.com/f/jtda.rar处下载. ORG 0000H START: MOV R2,#30 SU0: MOV P
[单片机]
<font color='red'>单片机</font>交通灯实验汇编语言程序
单片机复位电路的可靠性设计及精典实用复位电路
一、概述 影响单片机系统运行稳定性的因素可大体分为外因和内因两部分: 1、外因 射频干扰,它是以空间电磁场的形式传递 在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰; 电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰 。 2、内因 振荡源的稳定性,主要由起振时间 频率稳定度和占空比稳定度决定 起振时间可由电路参数整定 稳定度受振荡器类型 温度和电压等参数影响复位电路的可靠性。 二、复位电路的可靠性设计 1、基本复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后
[单片机]
<font color='red'>单片机</font>复位电路的可靠性设计及精典实用复位电路
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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