【问题标题】:Assembly Language on 8051 , using interrupts to move to label8051 上的汇编语言,使用中断移动到标签
【发布时间】:2014-04-06 02:33:14
【问题描述】:

我在连接开发板的 8051FX120 芯片组上使用汇编语言。此开发板有 8 个 LED 和 8 个按钮。

按钮连接到端口 P1。
LED 连接到端口 P2

-

我希望尝试利用中断,以便当按钮 P1.0 变高时运行中断。

  • 在中断代码内部,代码需要等待 P1.0 再次被推送(并通过 RETI 返回到中断前的最后一个程序计数)

  • 如果 P1.1 被推送,那么程序应该跳转到一个标签,然后从那里运行代码。

其他方式

  • 中断代码将继续循环,直到其中一个 P1 引脚变为高电平。

【问题讨论】:

    标签: assembly interrupt 8051


    【解决方案1】:

    ISR(中断服务程序)等待其他事情发生是糟糕的设计(也是一个坏主意)。通常,ISR 服务于中断并更改任何相关结构的状态,例如将接收到的字符移动到读取缓冲区,或解除阻塞等待事件的任务。

    通常最好在应用程序级别等待执行您描述的那种逻辑。

    但是,在您可以通过中断对按钮按下做出反应之前,该按钮必须以某种方式连接到 CPU 中的 IRQ(中断请求输入)。由于您没有链接到该板的规范,因此我不知道是否链接。当然,可以从主任务定期轮询按钮,并且所有逻辑都可以从它找到的内容中得出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多