私はマイクロプロセッシングのクラスを取っていますが、次のポートに移る前に 2 秒間ポートに値を保持するプログラムを書くのに苦労しています。
これがより理にかなっているのを助けることができる人はいますか?
NOP を使用することを考えましたが、それは少し非現実的であることに気付きました。ACALL DELAY を試しましたが、何らかの理由で未知のコマンドとしてプルアップされました。
私はこの時点で困惑しており、私が得ることができる助けをいただければ幸いです.
私は DS89C450 を 11 MHz のクロックで使用しています。教授に尋ねてみたところ、簡単なことで問題ないとのことでしたが、コードの読み取りと書き込みは私にとってまったく新しいものでした。二週間。私が本を見ると、ほとんど中国語で書かれているようで、意味を理解するのが難しいです. クラスメイトは私と同じように困惑しています.問題または私を正しい方向に導くことができるかもしれないもう少し洞察力を持っている人。
各ポートに指定された値をロードする必要があることはわかっていますが、問題はポートの切り替えにあり、2 秒の遅延が発生します。
私のプログラムは、この MOV P0、#33H MOV P1、#7FH MOV P2、B7H MOV P3、EFH のように見えるので、これらの 4 つのポートにこれらの値がロードされているので、到達するときに P1、P1-P2 などに移動するには P0 が必要です。 P3 の値は P0 に移動し、すべてをループする必要があります。プログラムが常に実行されるように、SJMPを使用して最初にループバックするつもりでした
これを行っている間、各値が各ポートに 2 秒間しか留まらない 2 秒間の遅延があります。