定时器这家伙在哪里都会用到,实际工程开发中没有能离开定时器的。所以掌握定时器就尤为重要了,这里主要提到的是最基本的使用了--用于定时。
LED原理图见《51单片机--流水灯演示》,定时器没有原理图,属于单片机内部资源。
代码如下:
#include //头文件
#include
#define uint unsigned int //宏定义
uint jishuNumber,aa; //定义jishuNumber为计数器计满次数(本程序20次为1S) aa代表流水号
void main() //主函数入口
{
aa=0xfe; //初始化为点亮第一个LED灯
P1=aa;
//定时器T0方式1初始化(其它通用)
TMOD=0x01; //①TMOD赋值,以确定T0/T1的工作方式
TH0=(65536-46080)/256; //②计算初值,并将初始化值写入TH0/TL0
TL0=(65536-46080)%6;
EA=1; //③开放相应中断
ET0=1; //④TR0/TR1置位,启动相应定时器/计数器
TR0=1;
while(1)
{
if(jishuNumber==20) //如果1S
{
jishuNumber=0;
aa=_crol_(aa,1); //把aa左旋之后赋值给aa
P1=aa; //流水灯点亮
}
}
}
void T0_time_no1() interrupt 1 //中断服务程序
{
TH0=(65536-46080)/256;
TL0=(65536-46080)%6;
jishuNumber++; //计满一次加1
}
以上,结束。
关键字:51单片机 定时器 流水灯
引用地址:
51单片机 定时器T0方式1 控制流水灯
推荐阅读最新更新时间:2024-03-16 14:38
关于51单片机外部中断的触发方式
51单片机有两个外部中断申请输入端:INT0 和 INT1。 51单片机的外部中断,分为低电平触发和下降沿触发。在单片机内部,分别由控制位 IT0 和 IT1 来控制。 复位时,IT0/1 都为 0,即默认为低电平触发。 一般来说,外设第一次向单片机申请外部中断时,单片机使用那种触发方式,并无什么差别。 但是,返回主程序后,如果外部申请信号仍然是低电平,就有区别了。 在采用低电平触发时,单片机执行了一条主程序的指令后,就会又重新进入中断程序。 而采用下降沿触发时,即使 INT0/1 引脚仍然是低电平,单片机也不会重新进入中断程序。 如果外设想要申请第二次中断,必须是先恢复高电平,重新再送来一次下降沿才行。 那么,为了避免仅仅来了一
[单片机]
STM32基础8--通用定时器(PWM控制LED)
从STM32基础7--通用定时器,STM32通用定时器可以产生PWM波形,从而控制LED亮度。下面我们更加详细的了解一下,PWM对LED的控制。 PWM控制LED硬件电路 在下面的原理图中,可以看到LED0与LED1连接到STMF407的PF9与PF10引脚上。在电路中,当PF9,PF10分别为低电平的时候,LED0与LED分别导通,也就是这个电路中,PWM周期的低电平周期,LED会被导通。 PWM周期与LED闪烁 在STM32F407中,当我们使用PWM1模式时,进行如下的设置。 当我们使用逻辑分析仪(LA)抓取,可以得到如波形,也就是说Pulse设置的为低电平的时间长度。当我们下载程序进开发板时,发现LED
[单片机]
【STM32】HAL库 STM32CubeMX教程八---定时器输入捕获
前言: 本系列教程将 对应外设原理,HAL库与STM32CubeMX结合在一起讲解,使您可以更快速的学会各个模块的使用 所用工具: 1、芯片: STM32F407ZET6/ STM32F103ZET6 2、STM32CubeMx软件 3、IDE: MDK-Keil软件 4、STM32F1xx/STM32F4xxHAL库 知识概括: 通过本篇博客您将学到: PWM工作原理 STM32CubeMX创建PWM例程 HAL库定时器PWM函数库 PWM创建呼吸灯 什么是PWM 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非
[单片机]
基于51单片机和FPGA的频率特性测试仪的设计
1 引言 频率特性是网络的性能最直观反映。频率特性测试仪是测量网络的幅频特性和相频特性,并显示相应曲线的一种快速、方便、动态、直观的测量仪器,可广泛应用于电子工程领域。 该测试仪以扫频外差为基本原理,并以单片机和FPGA构成的最小系统为控制核心,很好地完成对有源双T网络进行频率在100 Hz~100 kHz范围内的幅频响应和相频响应特性的测试,并实现在通用数字示波器上同时显示幅频和相频响应特性曲线。 2 系统设计方案 2.1 总体方案 该设计采用单片机和FPGA结合的方式。将输出频率可步进的正弦信号的扫描信号源作为被测网络的输入信号Vi,则被测网络的输出信号Vo为频率可步进的信号。通过测量各频率点的幅度就可得到Vo和
[单片机]
s3c6410 定时器中断的实现
6410手册中的相关内容 five 32-bit timers Timers 0 and 1 include a PWM function Each timer has its own 32-bit down-counter which is driven by the timer clock. The down-counter is initially loaded from the Timer Count Buffer register (TCNTBn). When the down-counter reaches zero, the timer interrupt request is generated to infor
[单片机]
流水灯电路图及其程序实例
#include reg52.h
#include instrins.h
#define uchar unsigned char
#define uint unsigned int
uchar code led ={0xfe,0xfb,0xfd ,0xf7,0xef,0xbf,0xdf,0x 7f};
delay(uint z)
{
uint x,y;
for(x=z;x 0;x--)
for(y=110;y 0;y--);
}
[电源管理]
基于AT89C51单片机实现剪毛刀架高度自动控制系统的设计
概述 人造毛皮后整理联合烫剪机中剪毛刀架的定位调节,原是人工用按钮控制异步电动机正、反转,通过机械减速器(齿轮装置)后带动剪毛刀架蜗杆,使剪毛刀架做上、下运动至要求的位置。操作烦琐,需反复测量、调整,很难恰好到位,误差大。为此,我们用AT89C51单片机构成剪毛高度控制器,对剪毛刀架高度进行自动控制。 使用该控制器,只需由触摸开关设定工艺要求的剪毛高度(毫米数),控制器则发出相应的控制信号使剪毛刀架达到希望的高度,并可由工艺人员设置相对的机械零位。对运行状态和参数设置进行数码显示,相应地还有剪毛刀架高度减少及增大指示,控制趋势一目了然。 一.硬件设计 根据用户要求,为不增加成本,驱动电动机仍保持原异步电动机,原机械减速器及
[单片机]
51单片机系列连载1——单片机概述
从今天开始,我会简单地对51单片机相关知识及一些模块进行总结,主要是从市场应用导入,然后分析一下用到的技术编程,最后说一下自己的想法,基本都是这个流程。这仅仅是一个开始,之后还会有STM32、安卓系统等系列,先从最简单的单片机开始。 我们先看看市场上有哪些产品会用到单片机,想想看,基本上周围所有的电子产品都会用到,确切的说,最基本的嵌入芯片都会有单片机的影子,它涉及到各个领域,所以单片机的应用非常广泛。先看看单片机的实物图: 实际上就是一个芯片,焊接嵌套到一些仪器里,通过c语言编程,通过stc-isp等仿真器的仿真,进而操作芯片实现
[单片机]