• 締切済み

システムの考え方。

HITACHIのCPU H8/3040を使っています。外部割込みをして簡単な回路(フォトインタラプタで検知し、LEDを点灯させる)を動かしたいと思います。既に簡単なプログラムはアセンブラ言語で作っています。システムの考え方が分りません。割り込みに必要なのはポートの設定とレジスタの値(アドレス)だと思うのですが…いまいち説明できません。外部割込みがしたいだけなんですけど、分る人がおられたら教えて下さい。

みんなの回答

回答No.1

H8は使ったことがないのではずしてたらスマソ。 (他にレスがついてないので自信ないけど書きこんどきます) ・割り込みベクター(割り込みが発生したらどのアドレスからのプログラムを実行するか)の設定 ・割り込み許可と優先順位の設定 などが必要と思います。

sametan
質問者

お礼

割込み処理では優先順位(プライオリティイレベル)が必要なんですね。回答していただき有難う御座いました。

関連するQ&A

  • 割り込みについて

    タイマー、通信機器、I/Oアクセスなどのイベントが起きて、それを割り込みコントローラーが検知して、 CPUへ割り込みをかけるまでのレジスター操作、バスコンポーネントなどシーケンスを段階的に知りたいのですが参考サイトなどがございましたら、ご教授頂けないでしょうか? 出来ましたらブロック図や回路図などもあると、理解がしやすと思われます。 PICが搭載されたマイコンやIntelプラットフォームなど、何でも結構です。 Intelデベロッパーズマニュアルを読んでいたのですが、レジスター操作のことは記載がありましたが、 コントローラーが検知して、どのようなコンポーネントを通して、CPUへ割り込みをするかまでは理解できませんでした。 以上 宜しくお願い致します。

  • 基本情報処理技術者試験 質問

    プログラムを実行中に、スーパーバイザコールなどの割込みが入ったとき、「プログラムカウンタの値やレジスタの値が一時退避し、割り込みの処理が終わったらその値は戻ってくる」とテキストに書いてありました。 割り込み発生時のプログラムカウンタやレジスタの値の退避先ってどこになるんでしょうか?

  • クリスマスツリー

    今、学校の課題研究でクリスマスツリーを作っているんですけどなにをやったらいいのかさっぱりわかりません😭 PICを使ってLEDを点灯させるみたいな感じで作りたいんですけど何をやればいいのかわかりません😭😭😭 一応、プログラムはアセンブラ言語を使いたいと思っているんですけど誰か分かる人居ませんか❔できれば1から10まで教えてください🙇 お願いします。

  • LED並列回路 球切れ検知

    48個の白色LEDを、市販の定電流LEDドライバ(4ch)を使って駆動させようとしております。 電源DC24Vを使い、1つのLEDドライバーで48個の白色LEDを点灯させるには、どうしても並列回路になってしまいます。6直列の2並列が4ch。 市販のLEDドライバーには球切れ検知機能があるのですが、並列回路だと1回路が切れても残りの回路に電流が流れおそらく検知できないのではないかと思っております。下記の2パターンで安価ないい方法があればお教え下さい。 ?並列回路でも検知する方法 ?並列回路の一部が切れたら残りの回路も点灯しなくなる方法(検出器側で検知) ?ですが、1chの6直列2並列の一方が切れたらもう一方が切れるという意味で、残りの3chは点灯したままでも検出器で検知できます。

  • ど素人です。7セグメント表示の回路とプログラムを教えてください

    CPUがZ-80のマイクロコンピュータで7セグメントLED表示の回路とプログラムを教えてください。プログラム言語はC言語でお願いします。

  • アセンブリでのプログラム

    Z80CPUのポケコン(確かSHARP PC-G850V) でアセンブリ言語のプログラムを作成しています。ポートに接続されている基盤のスイッチの値によって、その基盤のLEDの点滅時間を変更するプログラムの課題が出たのですが、まったく分かりません。 できればプログラムそのものを書いてもらえれば嬉しいのですが、流れ図だけでも結構です。 よろしくお願いします。 ポートに接続されている基盤は、LED(4つ)、ブザー、スイッチ(4つ)などといったごく一般的な物です。

  • アセンブリ言語について。

    CPUを直接操作するうなプログラムは高水準言語では作れないので低水準言語が必要になります。 CPUをスリープ状態にするHLT命令はアセンブラにはありますがC言語などの高水準言語には無い機能ですから、アセンブラを使ってプログラムを書かないと実現できません。というのは、合っていますでしょうか?教えていただけないでしょうか?すみません。

  • 電子回の出力について。

    先日USB/IOを購入しました。 電子回路とか全くのど素人ですが、初心者にもすぐ始められると言うことで、この機会にと思い購入しました。 そこでLEDを点灯すると言う事から初めて、j1のポート分8個全て無事つけることができました。 初めての電子回路を組めたことに嬉しくて、LEDをチカチカさせて楽しんでいたら時間が経つにつれて、これって8個のポートだけでLEDをどれだけ点灯することができるのだろうか? と疑問に思い、トランジスターなどを挟んで、色々試してるのですが思うように行きません。 単純に8ポートを4で割りそれぞれスイッチで点灯していけば16個はいけるのでは?と、思うのですが、実質いくつ点灯させることができるのでしょうか? ご教授よろしくお願いします。

  • PICの点灯移動回路

    こんにちは。 PIC初心者です。 今学校でアセンブラを用いたPICプログラミングを学んでいます。 ついこの間、出力が8の点灯移動回路を作りました。 タイマも点灯移動もなんとかできたのですが。。 次の課題が出力10の点灯移動回路なんです。 PORTBだけでは足りないのでPORTAも使うのだと思うのですが、 2つのPORTでシフトしていくときに、どうやってプログラムを組んだらよいのか分かりません。 PORTBだけのシフトなら分かるのですが、どうやってB→A、A→Bにシフトすればよいのでしょうか。 何かアドバイスをいただけたらお願いします。

  • PICのプログラミングについて

    現在、PICのプログラミングについてアセンブラがいいかC言語がいいか迷っています。 基本的にLEDを使った物をつくりたいと思っており PWM制御でのLEDの調光、LEDの点滅の周期の変化などをつけた 物を作ろうと考えております。 アセンブラとC言語のPICにおいての違いを教えてください。 加えて、上のPWM制御についてはどちらでもできるのでしょうか? 2つのプログラム言語についての良い点、悪い点など教えてください よろしくお願いいたします。