C - U-netSURF

C - U-netSURF C - U-netSURF

www2.u.netsurf.ne.jp
from www2.u.netsurf.ne.jp More from this publisher
24.01.2015 Views

練 習 問 題 (1) ( 次 のように LED が 点 灯 するプログラムを 作 りなさい。( 解 答 例 は「IoPort_led_rotate_c」) 練 習 問 題 (2) ( スイッチが 押 されるたびに, 練 習 問 題 (1)の LED の 点 灯 方 向 が 逆 になるプログラムを 作 りなさい。 ( 解 答 例 は「IoPort_sw_led_rotate_c」) 57 TK-3687mini ユーザーズマニュアル C 言 語 版

2. . 外 部 割 込 み 基 本曓 的 にマイコンはプログラムに 従 って 一 連 の 作 業 を 順 番 に 実 行 していきます。しかし,マイコ ンにセンサやスイッチをつないで,「センサから 入 力 があったらこの 処 理 を 行 なう」とか,「スイッチが 押 されたらあの 処 理 を 行 なう」というようにプログラムする 場 合 ,いつ 入 力 があるかわからないため,セン サやスイッチの 状 態 をいつも 監 視 していなければなりません。マイコンが 普晘 段 ひまだったり, 多 少 反 応 が 遅 くなってもよかったりするのであれば,そういう 方 法沵 でもよいのですが,いろいろな 処 理 を 行 ない ながら,いざ 入 力 があったときは 優 先 して 処 理 しなければならないとなると, 別 の 方 法沵 を 考 えなえれば なりません。 このようなときに 使 うのが 外 部 割 込 みです。H8/3687 には IRQ0,IRQ1,IRQ2,IRQ3 という 4 つ の 端 子 が 用 意 されていて,それぞれの 端 子 の 信 号 の 変 化 によって 割 込 みをかけ, 特 定 の 処 理 を 実 行 することができます。 割 込 みとはハードウェア 的 にサブルーチンを 実 行 する 方 法沵 ,とも 言 えるでしょ う。 割 込 み 処 理 の 概 要 割 込 み 要 求 は H8/3687 に 内 蔵 さ れている 割 込 みコントローラによって 制 御 されます。 外 部 割 込 みの 割 込 み 動 作 は 下 記 のとおりです。 1. IRQ0~3 端 子 に 入 力 エッジが あると 割 込 みコントローラに 割 込 み 要 求 信 号 を 送 ります。(エッジの 方 向 は 個 別 に 選 択 可 能 ) 2. 割 込 みコントローラは CPU に 対 して 割 込 み 処 理 を 要 求 します。 3. CPU は 割 込 みを 受 け 付 けると, 実 行 中 の 命 令 を 実 行 したあと,プロ グラムカウンタと CCR(コンディショ ンコードレジスタ)をスタックにプッ シュします。 4. CPU は CCR の I ビットを 1 にセ ットして 他 の 割 込 みを 受 け 付 けない ようにします。 5. CPU は 外 部 割 込 み 要 求 に 対 するベクタアドレス(IRQ0 のとき 0x001C , IRQ1 の と き 0x001E , IRQ2 のとき 0x0020,IRQ3 のとき 0x0022)を 生 成 し,そのベクタアドレスにセットされているデータ( 割 込 み 処 理 のスタートアドレス) をプログラムカウンタにセットします。 6. 割 込 み 処 理 がスタートします。 58 TK-3687mini ユーザーズマニュアル C 言 語 版

練 習 問 題 (1)<br />

(<br />

次 のように LED が 点 灯 するプログラムを 作 りなさい。( 解 答 例 は「IoPort_led_rotate_c」)<br />

練 習 問 題 (2)<br />

(<br />

スイッチが 押 されるたびに, 練 習 問 題 (1)の LED の 点 灯 方 向 が 逆 になるプログラムを 作 りなさい。<br />

( 解 答 例 は「IoPort_sw_led_rotate_c」)<br />

57<br />

TK-3687mini ユーザーズマニュアル C 言 語 版

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!