短硬件nba竞猜教程

硬件nba竞猜是一种停止当前程序强制执行其他程序的信号。nba竞猜在不等待当前程序完成的情况下。它是无条件的和立即的,这就是为什么它被称为nba竞猜 - 它nba竞猜了处理器的当前动作。

另一方面,软件nba竞猜,因为它的名字表明与导致nba竞猜的硬件无关,它与使软件更容易写入时,它还有关。

您经常会发现在x86 BIOS例程中使用的软件nba竞猜,并且由于nba竞猜例程将始终位于同一位置,因此更容易更新软件。为了绘制像素,执行软件nba竞猜,并且制造商定义了绘制像素的实际代码。 

硬件nba竞猜示例:

使用nba竞猜(特别是在PIC设备上)进行读取键盘,因为Portb有一个 nba竞猜 Portb引脚的功能。将每个引脚安装到推动到的丁酮并使这些销上的内部上拉可为您提供阅读按钮的简单方法。

您可以在按下按钮按下按钮时,生成nba竞猜,从而强制nba竞猜例程去(并存储)该输入的状态。

nba竞猜发生独立于主代码操作。所以处理器可以在nba竞猜之前和之后做其他事情。在nba竞猜期间,主码操作暂停,保存所有寄存器,以便在nba竞猜主代码完全启动它的位置之后。

它好像主代码像往常一样运行,但nba竞猜运行,没有主代码注意!

轮询

当您首次开始创建程序时,使用简单的读取命令可以轻松地从输入引脚读取输入。当您开发程序时,您将想知道输入何时更改,并且要执行读取命令将读取命令放入循环并等待直到输入引脚发生变化状态。

以下伪代码说明了这个想法:

int引脚= 0;

set_input(3,portb);

PIN =读取(3,PORTB)

为了(;;) {
   if(读取(3,portb)!= pin){
      pin = read(3,PORTB);
      break;
   }
}

// PIN已更改所以采取行动

这是一个轮询的示例,您可以看到轮询的问题是处理器在等待输入引脚改变状态时可以做到任何内容。

这是nba竞猜的优势 - 程序可以完全不同,并且不会在无用的循环中浪费处理能力。

使用nba竞猜的另一个好处是,在一些处理器中,您可以使用a 唤醒 - 睡眠nba竞猜。这使得处理器进入低功耗模式,其中仅nba竞猜硬件处于活动状态,如果系统在电池上运行,则非常有用。

硬件nba竞猜共同术语

您可以听到与硬件nba竞猜相关的术语是ISR,nba竞猜掩码,非可屏蔽nba竞猜,异步事件,nba竞猜向量和上下文切换。

ISR. 打断 Service Routine.
打断 vector 这 包含ISR位置的地址。
打断 mask 控制 哪些nba竞猜是活动的。
NMI. 非 可屏蔽nba竞猜 - 始终处于活动的nba竞猜。
异步 event 一个 可能会随时发生的事件。
语境 switching 保存/恢复 data before & after the ISR.

ISR.

ISR.只是另一个程序功能。除了它对中文切换(保存/恢复处理器寄存器)以及它重新启用nba竞猜的功能结束时,它与任何其他功能没有什么不同。

在ISR完成程序执行后,返回原始程序,并从中nba竞猜的位置完全延续。原始程序将不知道这发生了这一点。

硬件nba竞猜向量

这是一个固定地址,包含ISR的位置 - 对于PIC Micro,它通常是地址4.在其他体型中,可能有每个向量的nba竞猜向量 - 您必须为您想要的每个版本进行nba竞猜例程采用。对于PIC micly,您只有一个nba竞猜,您必须通过检查nba竞猜标志寄存器来检测哪个nba竞猜触发。

您将nba竞猜地址与nba竞猜例程的地址进行编程。每当触发nba竞猜时(如果nba竞猜是未屏蔽的)程序操作跳转到nba竞猜例程的位置。

注意:高级语言编译器为您提供所有此项 - IN'C'您只需使用关键字声明该函数 打断 (随着函数返回的类型)。然后它将此例程的地址放在nba竞猜向量中。

NMI.

NMI.与正常nba竞猜完全相同,除了您无法控制它是否处于活动状态 - 它'总是活跃。它更常见于较旧的/较大处理器作为专用输入引脚。在这种情况下,它的可能性很可能用棕色输出探测器(BOD)电路I.ESU电压DIP探测器电路 - 用于检测不应忽略的条件!

你不'T需要它在微控制器中,因为您可以使用可编程nba竞猜实现完全相同的功能,并且许多微控制器都有内置的BOD。

异步事件

上下文切换

这意味着寄存器状态在ISR的开始时保留并在ISR的末尾恢复。它确保nba竞猜的功能不受ISR的影响。

一个基本的nba竞猜系统

这是任何nba竞猜模块的nba竞猜系统(略微偏置为PIC微型)的一般描述,这对于任何nba竞猜模块都是真的,它很有用了理解如何控制和使用nba竞猜。

硬件nba竞猜框图

nba竞猜教程块图。

输入来源

这些是启动nba竞猜的信号。它们可以是外部引脚(输入输入的上升或下降沿触发nba竞猜)或内部外围nba竞猜例如。 ADC已完成,串行RX数据,定时器溢出等(16F877有15个nba竞猜源)。

注意:您通常可以通过在另一个控制寄存器中设置位使用哪个边缘(上升或下降)。

nba竞猜标志。

每个硬件nba竞猜源都有一个相关的nba竞猜标志 - 只要触发nba竞猜,就会设置相应的nba竞猜标志。这些标志通常在nba竞猜寄存器内存储为位。

处理器可以从中读取并写入nba竞猜寄存器,从中读取,了解发生了哪些nba竞猜并写入它以清除nba竞猜标志。

nba竞猜掩码 

nba竞猜掩码具有与nba竞猜寄存器中的一组相同的位。设置任何位(或脱机)允许相应的信号源生成nba竞猜 - 导致处理器执行ISR。


注意:当掩码中的位清除(屏蔽)时,ISR不会被激活该信号源,但nba竞猜寄存器仍由信号源设置。因此,您仍然可以通过轮询nba竞猜寄存器来检测硬件正在做的事情。

硬件nba竞猜向量

nba竞猜向量是您使用nba竞猜服务例程(ISR)的地址进行编程的内存中的位置。无论何时发生揭示nba竞猜发生程序,程序执行都从nba竞猜向量中包含的地址开始。

对于PIC体积,硬件nba竞猜向量地址通常为0004。 

这只是一个与处理器时钟同步的事件。事件是处理器无法预测的事件。按钮按下。


隐私政策 | 接触 | 关于我

网站地图 | 使用条款


ezoic.报告此广告

最近的文章

  1. 如何使用ADS1115

    01年4月21日07:07

    使用ADS1115精度16位ADC进行教程进行低功耗。

    阅读更多

  2. arduino.模拟输出...易模拟输出生成

    3月20日,21日11:13 AM

    arduino.模拟输出:如何创建最精确的PWM模拟输出以及如何创建模拟PWM正弦波。

    阅读更多

  3. 数号和等效的快速宏。加快代码!

    3月8日,晚上12:24

    了解DigitalWrite()的工作原理......现在使用17倍宏宏!

    阅读更多

  4. TCS230颜色传感芯片:如何运作以及如何使用它。

    2月15日,09:26 AM

    如何使用TCS230(/ TCS3200)彩色检测器芯片并轻松将其添加到您的任何项目中。

    阅读更多

  5. 如何使用ADXL345进行运动感测等。

    1月14日,21日04:39

    使用ADXL345 Acellerometer,您可以检测到16G!您还可以了解如何使用它来点击检测等。

    阅读更多

  6. HMC5883L 3轴数字MAGENTOMTER如何运作

    1月14日,21日04:36 AM

    HMC5883L - 如何制作数字罗盘,了解HMC5883L和QMC5883L之间的差异以及它们是否兼容。

    阅读更多

订阅microzine时事通讯,

收集您的免费微控制器电子书,

下载项目代码等......