当前位置:网站首页>按键控制流水灯(计时器)
按键控制流水灯(计时器)
2022-08-02 07:39:00 【缘聚654】
今天我们来了解并学会使用单片机的内部定时器

定时器最基本的功能就是计时,本次也是基于这个功能来实现流水灯,当然不同型号的单片机其内部计时器也是有些许差异的,基于本人的单片机型号的定时器配置如下

下面是定时器内部结构框图,从中可以很直观的看出定时器的工作原理

再使用定时器时我们首先要通过编程来对定时器的模式来进行配置,在STC中也为我们提供了十分方便的配置定时器模式的方法

要注意的是在设置参数时一定要选择与单片机类型对应的,否则将会出现错误。
学会使用定时器后进行流水灯的编程就十分容易了,在模块化编程中加入定时器模块并对定时器进行配置,然后再主函数中加入定时器中断函数。
#include <REGX52.H>
#include "TIMER0.h"
#include "Key.h"
#include <INTRINS.H>
unsigned char KeyNum,LEDMode;
void main()
{
P2=0xFE;
Timer0_Init();
while(1)
{
KeyNum=Key();
if(KeyNum)
{
if(KeyNum==1)
{
LEDMode++;
if(LEDMode>=2)
LEDMode=0;
}
}
}
}
unsigned int T0Count;
void Timer0_Poutine() interrupt 1
{
TL0=0x18;
TH0=0xFC;
T0Count++;
if(T0Count>=500)
{
T0Count=0;
if(LEDMode==0)
P2=_crol_(P2,1);
if(LEDMode==1)
P2=_cror_(P2,1);
}
}定时器
#include <REGX52.H>
void Timer0_Init()
{
TMOD=TMOD&0xF0;
TMOD=TMOD|0x01;
TF0=0;
TR0=1;
TH0=0xFC;
TL0=0x18;
ET0=1;
EA=1;
PT0=0;
}运行结果
f3dc52bab67a4b8bc4e19f791f1224
边栏推荐
猜你喜欢

有点奇怪!访问目的网址,主机能容器却不行

18、优化网站性能

Compact格式下MySQL的数据如何存储到磁盘

Mysql error 2003 solution Can 't connect to Mysql server on' localhost '(10061).

Conditional constructor ~wapper

MySQL - index explanation

MySQL-执行流程+缓存+存储引擎

Azure Synapse Analytics上创建用户并赋予权限

WebForm DropDownList bind year and month respectively

论文理解:“Cross-Scale Residual Network: A GeneralFramework for Image Super-Resolution,Denoising, and “
随机推荐
论文理解:“Cross-Scale Residual Network: A GeneralFramework for Image Super-Resolution,Denoising, and “
Fatal error compiling: 无效的目标发行版: 11
Thesis understanding: "Cross-Scale Residual Network: A GeneralFramework for Image Super-Resolution, Denoising, and "
@PostConstruct注解详解
MySQL压缩包方式安装,傻瓜式教学
Database Plus 的云上之旅:SphereEx 正式开源 ShardingSphere on Cloud 解决方案
redis的安装与应用
优炫数据库的逻辑复制怎么样?
研发创新编码器霍尔板,引领企业高质量发展
mysql如何从某一行检索到最后
数据表格化打印输出
基于PyTorch的flappy bird游戏
Metasploit (MSF) Basic Super Detailed Edition
停止精神内耗 每日分享
MGRE环境下的OSPF
Conditional constructor ~wapper
redis-高级篇
Xilinx Constraint Study Notes - Timing Constraints
RIP综合实验
基本SQL语句(一篇就够了)