51单片机定时器实现LED闪烁
要启用一个定时器,先要开启定时器,然后产生中断
系统中断:
初始化程序应完成如下工作:
对TMOD赋值,以确定T0和T1的工作方式。
计算初值,并将其写入TH0、TL0或TH1、TL1。
中断方式时,则对EA赋值,开放定时器中断。
使TR0或TR1置位,启动定时/计数器定时或计数。
#include <reg52.h> /************ 定时器+中断控制led翻转 ***********/sbit LED = P0^0;typedef unsigned int u16; typedef unsigned char u8;void timer_init(){TMOD |= 0x01; //定时器工作方式1,启用T0定时器, GATE位为0,用TCON的TR0控制T0定时器的启动//设置定时器的初始计数值//计算方法//假设定时器为1ms,一个机器周期为 1/单片机的晶振频率 即: 1/12M = 1us//而1个机器周期 = 12个时钟周期 所以: n x 机器周期 = 1ms ===> n x 1us = 1ms//所以n = 1000,也就是经过1000个机器周期,定时器要溢出(从0开始计数)//所以定时器的初始值为65535 - 1000 + 1 = 64536 ===> 0xFC18TH0 = 0xFC;TL0 = 0x18;EA = 1; //总中断开关ET0 = 1; //T0中断 TR0 = 1;//启动T0定时器 }void trigger_timer0() interrupt 1{static u16 i = 0;TH0 = 0xFC;TL0 = 0x18;i++;if( i == 1000 ) { //1秒i = 0;LED = ~LED;} }void main(){timer_init();while( 1 ); }
转载于:https://www.cnblogs.com/ghostwu/p/9163067.html
51单片机定时器实现LED闪烁相关推荐
- 51单片机学习:LED闪烁实验
实验名称:LED闪烁实验 接线说明: 实验现象:下载程序后"LED模块"的D1指示灯闪烁 注意事项: ...
- 51单片机STC89C52控制LED闪烁(将延时程序写成子函数有形参)
/*-----------------------包含头文件区域-------------------------*/ #include<reg52.h> //单片机头文件 /*----- ...
- 51单片机定时器(T0/T1)的使用与配置流程
第一步:配置工作方式寄存器-TMOD TMOD寄存器的字节地址为89H,不能位寻址.一般采用整体赋值的方式进行配置:如:TMOD=0x01 // 0000 0001 GATE=0,定时器仅受TCON寄 ...
- 51单片机定时器/计数器(定时器中断)
51单片机定时器/计数器(中断系统:定时器中断) 实现功能 通过定时器终端控制LED灯 D1 间隔一秒闪烁 单片机型号:STC89C52 定时器介绍 1.51单片机定时器原理 定时器实质上就是一个加1 ...
- 单片机学习笔记————51单片机实现用LED灯和按键来模拟工业自动化设备的运动控制
一.使用proteus绘制简单的电路图,用于后续仿真 二.编写程序 /***************************************************************** ...
- C语言课设项目-51单片机-定时器和计数器
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一.定时器的原理 1.CPU时序的有关知识 2.在学习定时器之前需要明白的 3.定时/计数器的工作原理 ...
- 51单片机点亮LED的5中方法(由简单到困难)
本文将介绍用各种不同的方法和算法点亮51单片机LED的程序,包括详细的注释和说明. 方法1:使用GPIO口点亮LED #include<reg52.h> //头文件 sbit LED=P1 ...
- STM32实现定时器控制LED闪烁
文章目录 一.定时器介绍 二.STM32C配置项目 1.新建工程 2.配置引脚 3.配置SYS 4.配置GPIO 5.配置定时器 6.配置中断 7.时钟配置 8.创建代码 三.修改keil代码 四.实 ...
- 嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号
定时器控制LED闪烁与产生PWM脉冲宽度调制信号 一.前言 二.定时器基本介绍 (一)STM32定时器 (二)通用定时器主要功能 (三)计数器模式 (四)定时器工作原理 三.实验(1)初识定时器 (一 ...
最新文章
- 1.关于逆向工程(RE、RCE)-笔记
- 利用matlab对rosbag数据,通过matlab提取rosbag数据
- ZABBIX 企业级分布式监控系统 1 监控系统简介
- [云炬创业基础笔记]第七章创业资源测试2
- 【算法】八大经典排序算法详解
- Java测试代码及原理
- 字节跳动面试题后台_字节跳动面试题
- 植物大战僵尸tv版显示无法连接服务器,创维云电视植物大战僵尸tv版总是无法连接服务器...
- 安全合规/法案--36--《个人信息保护法》原文及解读
- 关于Oracle的PARALLEL MAX SEVERS参数
- 弹出USB大容量存储设备时出问题“该设备正在使用中”
- 南京工资个税计算机,最新南京工资扣税标准
- 有关计算机和音乐论文,计算机音乐
- php pecl命令,linux 运行pecl命令报错解决办法
- Android 第三方SDK的检测与提取
- 如何在el-table中如何使用计算属性computed
- 如何写好需求分析:需求规格说明书(ISO标准版)
- 刷脸支付满足商户无人收单场景需求
- 常见数据结构的特点—收藏
- 深入Spring Boot:ClassLoader的继承关系和影响
热门文章
- 不好意思,食言而肥了
- 金属表面划痕检测Halcon
- 海康威视连续采图设置ROI局部显示_c#
- visual studio 工具箱(选项卡、无控件、灰图标)
- php按比例截图,php 按比例生成小图函数
- java中小写转大写函数_lotus 中日期小写转大写的函数及算法(lotus script) (转)...
- 使用计算机的缺点英文作文,网络与计算机的好处与坏处英文作文
- transition标签_图解直到今天也没什么人知道的原生dialog标签(非常详细)
- VMware安装Win7虚拟机
- 如何解一元一次方程视频_七年级数学教学视频-小邵课堂