【发布时间】:2011-04-16 21:10:03
【问题描述】:
我正在上一门微处理课程,但在编写一个将在一个端口中保存一个值两秒钟然后再转到下一个端口的程序时遇到了一些麻烦。
谁能帮助这更有意义?
我曾考虑过使用 NOP,但意识到这有点不切实际,我尝试了 ACALL DELAY 但由于某种原因它作为未知命令拉起。
此时我很困惑,如果我能得到任何帮助,我将不胜感激。
我正在使用时钟为 11 MHz 的 DS89C450,我曾尝试询问教授,他告诉我这是小菜一碟,你应该没问题,但读写代码对我来说是全新的,只有已经做了两个星期了。当我看这本书时,它几乎就像是用中文写的,很难理解,我的同学和我一样被难住了,我想我最后的办法是在网上问一个可能有类似情况的人问题或有更多洞察力的人可能能够将我引向正确的方向。
我知道我需要为每个端口加载指定的值我的问题在于端口的切换给了它们 2 秒的延迟。
我的程序看起来像这个 MOV P0、#33H MOV P1、#7FH MOV P2、B7H MOV P3、EFH,所以这四个端口加载了这些值,我需要 P0 去 P1、P1-P2 等等当到达 P3 时,它的值需要转到 P0 并将其全部循环。我打算使用 SJMP 将其循环回开始,以便程序始终运行
虽然这样做有两秒的延迟,每个值只在每个端口停留两秒,这仍然是模糊的,其余的听起来对吗?
【问题讨论】:
-
似乎必须提供一些方向。其他学生在做什么?你调查过你的教授吗?
-
您至少需要指定您使用的微处理器。
-
我使用的是 DS89C450 时钟频率为 11 MHz,我试过问教授,他告诉我小菜一碟,你应该没问题,但是读写代码很麻烦对我来说是新手,我只做了两个星期。当我看这本书时,它几乎就像是用中文写的,很难理解,我的同学和我一样被难住了,我想我最后的办法是在网上问一个可能有类似情况的人问题或有更多见解的人可能能够将我引向正确的方向。
-
我知道我需要用指定的值加载每个端口我的问题在于端口的切换给他们 2 秒的延迟
-
我的程序看起来像这个 MOV P0, #33H MOV P1, #7FH MOV P2, B7H MOV P3, EFH 所以用这四个端口加载这些值我需要 P0 去 P1, P1 -P2 等到 P3 时,它的值需要转到 P0 并循环它。我打算使用 SJMP 将其循环回开始,以便程序始终运行
标签: programming-languages assembly microprocessors