0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

各类寄存器的计算以及中断

电子设计 来源:电子设计 作者:电子设计 2020-10-30 11:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、定时器 / 计数器简介

设置等待时间,到达等待时间之后执行指定的硬件操作。

定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集 AD 数据,如果将定时器和 IO 结合起来就可以实现非常丰富的功能,可以测量输入信号的脉冲宽度,可以产生 PWM 方波,定时器产生 PWM 控制电机状态是工业控制的普通。

二、定时器 / 计数器相关寄存器介绍

1、计数寄存器 TH 和 HL

T/C 是 16 位的,计数寄存器由 TH 高 8 位和 TL 低 8 位构成。

对应 T/C0 为 TH0 和 TL0, 对应 T/C1 为 TH1 和 TL1,定时器 / 计数器的初始值通过 TH0/TL0 和 TH1/TL1 设置。

2、定时器 / 计数器控制寄存器 TCON

3、T/C 的方式控制寄存器 TMOD


三、定时器的计数初始值计算

四、中断源及中断信号

五、参考代码

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


功能描述:LED 会循环点亮 1 秒,熄灭 1 秒。


使用单片机内部定时器可实现准确延时


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


#include "reg52.h"


// 此文件中定义了单片机的一些特殊功能寄存器


typedef unsigned int u16; // 对数据类型进行声明定义


typedef unsigned char u8;


sbit led=P2^0; // 定义 P20 口是 led

void Timer0Init()


{


TMOD|=0X01; // 选择为定时器 0 模式,工作方式 1(16 位),仅用 TR0 打开启动


TH0=0XFC; // 给定时器赋初值,定时 1ms 高 8 位


TL0=0X18; // 低 8 位(可用软件计算,公司参考上面)


ET0=1; // 允许定时器 0 中断


EA=1; // 打开总中断


TR0=1; // 打开定时器 0,启动 T/C0 运行


}


void main()


{


Timer0Init();


while(1);


}

void Timer0() interrupt 1 //1 是中断号


{


static u16 i;


TH0=0XFC; // 计数器寄存高 8 位重新载入


TL0=0X18; // 计数器寄存低 8 位重新载入


i++;


if(i==1000)


{


i=0;


led=~led;


}


}


审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5619

    浏览量

    130419
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    74AHC594:8位移位寄存器的详细解析与应用

    74AHC594:8位移位寄存器的详细解析与应用 在电子设计领域,移位寄存器是一种常见且重要的数字电路元件,它能够实现数据的串行输入、串行输出或并行输出。今天,我们就来深入了解一下SGMICRO公司
    的头像 发表于 03-26 09:10 463次阅读

    74HC595 8位移位寄存器:设计与应用全解析

    74HC595 8位移位寄存器:设计与应用全解析 在电子工程师的工具箱中,移位寄存器是一个非常实用的组件。今天,我们就来深入了解一下SG Micro Corp的74HC595 8位串行输入/串行输出
    的头像 发表于 03-16 10:35 362次阅读

    LAT1170+如何理解 RAMECC FAR 寄存器的值

    电子发烧友网站提供《LAT1170+如何理解 RAMECC FAR 寄存器的值.pdf》资料免费下载
    发表于 01-09 16:12 0次下载

    【NCS随笔】nRF54L15使用UICR寄存器保存数据

    nRF54L15使用UICR寄存器保存数据 本文章主要是讲解如何使用nRF54L15的UICR寄存器保存一些基础数据 一、UICR寄存器的说明 UICR(用户信息配置寄存器)**是非易
    的头像 发表于 11-27 17:09 1734次阅读

    芯源MCU中断相关寄存器

    5.5.1 NVIC 中断使能和禁止使能 ARM® Cortex-M0+ 处理支持最多32 个外部中断源,分别对应中断使能设置寄存器NIV
    发表于 11-27 07:23

    嵌入式系统必懂的 20 个寄存器

    了嵌入式系统中开发者必懂的20个寄存器,让你快速掌握MCU的核心操作方法。01寄存器基础寄存器是CPU内部用于高速存取数据的小容量存储单元,是计算机执行指令、处理
    的头像 发表于 11-14 10:28 1361次阅读
    嵌入式系统必懂的 20 个<b class='flag-5'>寄存器</b>

    NVMe高速传输之摆脱XDMA设计32:寄存器功能验证与分析2

    寄存器最大值为 64’hFFFFFFFFFFFFFFFF,到达最大值后一个时钟周期后翻转回 0, 在随机时刻使用 force 将寄存器赋值临近最大值, 当寄存器达到最大值后, 翻转回到 0, 读取数值为 0, 仿真行为符合设计预
    的头像 发表于 10-14 17:06 885次阅读
    NVMe高速传输之摆脱XDMA设计32:<b class='flag-5'>寄存器</b>功能验证与分析2

    ‌SN74LVC595A 8位移位寄存器技术文档总结

    SN74LVC595A器件包含一个8位串行输入、并联输出移位寄存器,该寄存器为8位D型存储寄存器供电。存储寄存器具有并行的 3 态输出。为移位寄存器
    的头像 发表于 09-28 15:09 1640次阅读
    ‌SN74LVC595A 8位移位<b class='flag-5'>寄存器</b>技术文档总结

    瑞萨RA系列MCU的中断过程介绍

    中断来临的时候会最先经过IRQ寄存器,IRQ寄存器检测到中断的时候,会向中央处理嵌套向量中断控制器NVIC发送
    的头像 发表于 09-23 09:45 1515次阅读
    瑞萨RA系列MCU的<b class='flag-5'>中断</b>过程介绍

    ‌SN74HCT595 8位移位寄存器技术解析与应用指南

    移位寄存器和存储寄存器提供时钟。移位寄存器具有一个直接覆盖清零 (SRCLR) 输入以及用于级联结构的串行 (SER) 输入和串行输出 (QH’)。当输出使能 (OE) 输入置为高电平
    的头像 发表于 09-19 14:31 1217次阅读
    ‌SN74HCT595 8位移位<b class='flag-5'>寄存器</b>技术解析与应用指南

    TPIC6595 8位功率移位寄存器技术文档摘要

    该TPIC6595是一款单片、高压、大电流功率的8位移位寄存器,设计用于需要相对较高负载功率的系统。该器件在输出端包含一个内置电压钳位,用于电感瞬态保护。功率驱动应用包括继电器、螺线管和其他中电流
    的头像 发表于 09-09 11:10 1044次阅读
    TPIC6595 8位功率移位<b class='flag-5'>寄存器</b>技术文档摘要

    ‌TPIC6B595 8位功率移位寄存器技术文档总结

    TPIC6B595器件是一款单片、高压、中电流功率8位移位寄存器,设计用于需要相对高负载功率的系统。该器件在输出端包含一个内置电压钳位,用于电感瞬态保护。功率驱动应用包括继电器、螺线管和其他中电流
    的头像 发表于 09-09 10:16 1166次阅读
    ‌TPIC6B595 8位功率移位<b class='flag-5'>寄存器</b>技术文档总结

    ‌TLC6C5912 12通道移位寄存器LED驱动技术文档总结

    该TLC6C5912是一款单片、中压、低电流功率 12 位移位寄存器 设计用于需要相对中等负载功率的系统,例如 LED。 该器件包含一个 12 位串行输入并行输出移位寄存器,可为 12 位馈电
    的头像 发表于 08-26 14:16 1156次阅读
    ‌TLC6C5912 12通道移位<b class='flag-5'>寄存器</b>LED驱动<b class='flag-5'>器</b>技术文档总结

    使用寄存器点亮LED灯

    学习本章时,配合以上芯片手册中的“19. I/O Ports”章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。本章内容涉及到较多寄存器方面的深入内容,对于初学者而言这些内容丰富也较难理解,但非常有必要细读研究、夯实基础。
    的头像 发表于 05-28 17:37 1466次阅读
    使用<b class='flag-5'>寄存器</b>点亮LED灯

    第四章 什么是寄存器

    本篇文章我们讲解了寄存器的概念、地址映射和寄存器操作等内容,内容比较干,大家有个概念即可,不要求全部熟记掌握,有需要时可重复查阅观看。下一篇我们将开始进行实操内容,通过控制单片机的GPIO来点亮一颗LED,敬请期待!
    的头像 发表于 05-21 14:23 1672次阅读
    第四章 什么是<b class='flag-5'>寄存器</b>