問題タブ [8051]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
965 参照

c - 8051マイクロコントローラーのポート1を入力として構成します

温度を変えることができる非常にシンプルなアプリケーションを書いています。温度はLED(BCD形式)を使用して表示されます

私はKeilC51で次のコードを書きました。

次に、これに準拠してIntel hexファイルを取得し、Edsimを使用してシミュレートしようとしました。

Cコードによると、prog = 1のとき、およびup(p1.0)またはdown(p1.1)のいずれかが押されたときに温度が変化するはずですが、シミュレーションでは、select(p1.7)とup/の両方の場合にのみ変化します。ダウンが押されました!

なぜこうなった?

0 投票する
1 に答える
439 参照

c - 8051の外部割り込みの素数ルーチン

次のように、KeilC51を使用して8051の割り込みルーチンを作成しました。

シミュレートしようとすると、128までは正しい素数が表示され、その後8ビットカウンターになり、その後素数が表示されます。つまり、127(最後に予想される素数)の後、出力は128,129,130​​でした。 ... 255、127,128,129までの素数...。

また、4ビットカウンターである外部割り込み0のルーチンも作成しました(正しく機能します)が、上記には影響しないと思います。

0 投票する
2 に答える
1835 参照

c - 8051F340 マイクロコントローラのフラッシュ メモリが消去される

この質問が Stackoverflow に当てはまることを願っています (そうでない場合は、既に謝罪したいと思います)。

私はSilabsのC8051F340マイクロコントローラを持っています。uC から不揮発性フラッシュ メモリに情報を格納する小さなインターフェイスを作成しました。説明したデータ シートのように、アドレス 0x0200 ~ 0x0300 の間のすべてのデータを保存します。そこにデータをコピーするには、memcpy を使用します。

コピー自体はうまく機能します(フラッシュメモリを調べたところ、データが正しく保存されていました)-uCを取り外して5秒ほどで再度接続しても、データはまだそこにあります。しかし、切断したままにしておくと、データは多かれ少なかれ「リセット」されます。つまり、毎回ほぼ同じ「リセット値」になります。それで、私は何を間違っていますか?フラッシュデータが不揮発性ではないということですか、それとも何か問題がありましたか?

0 投票する
1 に答える
1481 参照

assembly - アセンブリ コードのエラー

この特定のコードをアセンブルできるように、ASEM51 アセンブラーを使用しました。私はアセンブリ言語についてまったく知識がありませんが、プロジェクト モデルのマイクロ コントローラーでこのコードを書き込む必要があります。超音波距離計のコードです。コードのシミュレーションには「M-IDE Studio for MCS-51」を使用しました。行 (51) で「シンボルが定義されていません」というエラーが 1 つ発生しました。このエラーが発生した行は次のとおりです。

このプログラムを正常に書き込むには、このエラーを削除する必要があります。「走り始める前に歩いてください」というようなコメントは控えてください。なぜなら、私は言語の知識がまったくないこと、またコーディングがコーディングが調整されていないため、40個のエラーがあったリファレンスを自分で整理しました。邪魔しているのはたった1つのエラーです。以下は、ASM ファイルのそれぞれのリンクと、コードを取得したリファレンスです。

http://www.mediafire.com/file/kp738c4gr32bgy4/ULTRSND.asm http://kitsnspares.com/admin/pdffiles/Ultrasonic%20Distance%20Meter.pdf (最後の 2 ページ)

0 投票する
1 に答える
2129 参照

assembly - アセンブラで 2 つのレジスタを移動 (シフト) する

8 つの LED と 2 つのボタンがあり、最初は最初と最後の LED が点灯し、最初のボタンを押すと最初の LED が右にシフトし、2 番目のボタンを押すと最後の LED が左にシフトします。2 つのライトが互いにシフトすることによって「出会う」と、スイッチがオフになります。

ボタンを押した後に 1 行の LED を更新する方法がわからなかったので、ボタンごとに P1 と P2 の 2 行を作成しました。1列目はちゃんとシフトしているように見えますが、2列目はめちゃくちゃです。私は何を間違っていますか?

以下は私のコードです:

0 投票する
1 に答える
1558 参照

c - 8051/C: ボタンを押すと点滅モードに入り、もう一度押すか 30 秒後に終了します

だから私はLEDとボタンを持っています。

ボタンを押すと、LED が点滅し始めます。30 秒後に点滅を停止するか、ボタンを再度押すと点滅が止まります。

点滅状態に入って30秒後に出る機能は実装したのですが、ボタンを押すだけでいつでも抜ける方法がわかりません。どんな助けでも大歓迎です!

0 投票する
2 に答える
1885 参照

serial-port - マイクロコントローラ 8051 での非同期 UART 転送

こんにちは、89c52 と sim548c モジュールを通信しようとしています。AT コマンドを送信してから、マイクロコントローラーにすべての応答を配列に格納させ、検索機能を実行して、適切な応答が送信されたかどうかを確認し、次の AT コマンドに移動できるようにします。これには、双方向のシリアル転送が必要です。最初に AT コマンドをシリアルに送信し、次に受信を有効にし、モジュールからのすべての応答を配列に格納する必要があります。私はこのプログラムを使用していますが、マイクロコントローラーに着信データを受け入れて配列に保存させることができません。正常に転送されますが、受信されません。何が問題なのか特定できますか?

0 投票する
1 に答える
795 参照

md5 - 8051 MCU の SHA1 実装?

8051 マイクロコントローラー用の SHA1 または同様の暗号化ハッシュのスペース効率の高い実装を探しています。C またはアセンブリ。Google 検索では、これまでのところ何もヒットしませんでした。ガイダンスはありますか?

0 投票する
2 に答える
654 参照

c - このfor()ループは何回繰り返されますか?

このforループに何かが欠けているかどうかはわかりません。ループ内のコードを8回実行すると、LCDに8文字が出力されると思いますが、7回ループし、7文字しか表示されません。これにはKeilコンパイラを使用しています。私が間違っているところを誰かが見つけられますか?

0 投票する
6 に答える
12990 参照

c - C で 1 ビットをアドレス指定する方法はありますか?

ビットアドレス指定可能なマイクロコントローラーについていくつか調査しました。私のパスで出くわした唯一のものは、今日でも非常に一般的に使用されているIntel MCS-51(wikiページ)です...たとえば、SFR地域のwiki 8051で、Cで少し対処できるかどうか疑問に思っていましたメモリ アーキテクチャ

SFR でアドレス指定するビットは、直接ビット アドレス指定されますか、それともバイト アドレス指定されるビットフィールドでのビット単位の操作ですか、それとも完全に別のものですか?

具体的には、ここから: Check if a single bit is set , ビットが MOV で直接操作されているように見える.背景には、バイトのみを使用するコンパイラーのものがありますか?

フォローアップの質問として、ビットアドレス指定可能な最新のプロセッサはありますか?