Taro-PBP日本語説明書3.00

Size: px
Start display at page:

Download "Taro-PBP日本語説明書3.00"

Transcription

1 PBP 日 本 語 マニュアル 目 次 第 1 章 PicBasic Pro Compilerのインストール PicBasic Pro Compilerとは PicBasic Pro Compilerインストールしましょう 1 第 2 章 PicBasic Pro Compilerのアクティベートと 設 定 PBPのアクティベート PBPのデアクティベート MicroCode Studioの 基 本 的 な 設 定 ユーザー 登 録 11 [コラム]MicroCode Studioで 日 本 語 コメントを 使 用 する 場 合 の 設 定 方 法 13 第 3 章 基 本 的 な 使 い 方 とチュートリアル MicroCode Stuidoの 基 本 画 面 はじめの 一 歩 ~チュートリアル 導 入 編 ~ 15 第 4 章 いろいろなチュートリアル ポート 単 位 でのH-L 制 御 IF 文 を 使 ったプログラム IF 文 で 比 較 演 算 子 変 数 及 び 算 術 演 算 子 を 使 用 するプログラム RS-232C 経 由 で 受 信 したデータをLCDに 表 示 するプログラム TMR0の 割 込 を 用 いたプログラム ADコンバーターを 使 用 したプログラム PIC18F452で32ビット 変 数 を 使 用 するプログラム PIC12F675のプログラム 33 第 5 章 PicBasic Pro Compilerの 変 数 と 配 列 変 数 の 種 類 ビット 長 変 数 の 使 い 方 (Long 型 変 数 ) 変 数 に 値 を 代 入 する 変 数 同 士 の 算 術 演 算 変 数 の 各 ビットを 参 照 する(ビットフィールド) 変 数 のオーバーフローを 検 出 する 変 数 のスケーラー 配 列 の 使 用 定 数 の 使 用 文 字 列 にレジスタやレジスタの 各 ビットを 割 り 当 てる(アサイン) 41 第 6 章 PicBasic Pro Compilerの 演 算 機 能 各 進 法 の 表 現 算 術 演 算 子 と 論 理 演 算 子 算 術 演 算 の 方 法 ビット 演 算 と 論 理 演 算 比 較 演 算 子 46 - Ⅰ -

2 第 7 章 PicBasic Pro Compilerのその 他 の 機 能 と 使 用 上 の 設 定 動 作 周 波 数 の 設 定 とDEFINE ブートローダー 用 の 記 述 ADコンバーター 機 能 コンパレーター 機 能 を 搭 載 したPICを 使 用 する 場 合 の 注 意 内 蔵 発 振 子 搭 載 のデバイスを 使 用 する 場 合 ポートの 入 出 力 方 向 設 定 ビットコアのPIC 8ピンデバイスを 使 用 する 場 合 の 注 意 マルチステートメント ラベルとコメント 行 HEXファイルを 書 き 込 んだPICが 動 かない 場 合 のチェック! 51 [コラム]PBPのプログラム 内 にコンフィギュレーションビットの 設 定 を 記 述 する 方 法 52 第 8 章 ディレクティブ #CONFIG...#ENDCONFIG #DEFINE #ERROR #IF...#ELSE...#ENDIF #IFDEF...#ELSE...#ENDIF #MSG #WARNING 56 第 9 章 PicBasic Pro Compilerの 命 令 57 (アセンブラの 挿 入 ) ADCIN (ADコンバーターから 値 を 取 得 する) ARRAYREAD ( 配 列 からデータを 読 み 込 む) ARRATWRITE ( 配 列 にデータを 書 き 込 む) ASM ENDASM (インラインアセンブラの 指 定 ) BRANCHL ( 指 定 したラベルへ 分 岐 ) BUTTON (チャタリング 対 策 を 施 したボタン 入 力 処 理 ) CALL (アセンブラ 言 語 内 のサブルーチンをコール) CREAR (すべてのRAMレジスタをリセット) CLEARWDT (ウォッチドッグタイマーをクリアー) COUNT (パルスのカウント) DATA (EEPROMに 定 数 を 記 憶 させる) DEBUG (UARTでデータを 出 力 する) DEBUGIN (UARTからデータを 入 力 する) DO...LOOP ( 条 件 を 指 定 してルーチンをループさせる) DTMFOUT (DTMF 信 号 を 出 力 する) EEPROM (EEPROMに 値 を 記 憶 させる) END (プログラムを 終 了 する) ERACECODE (フラッシュメモリエリアのデータを 消 去 する) EXIT (ループ 構 造 から 抜 ける) For...Next ( 指 定 した 回 数 繰 り 返 し 実 行 する) FREQOUT ( 指 定 した 周 波 数 のパルスを 出 力 ) GOSUB (サブルーチンをコールします) GOTO ( 指 定 したラベルに 処 理 を 飛 ばす) HIGH ( 指 定 したピンをHighレベルにする) HPWM (ハードウエアPWMを 使 用 してPWMを 出 力 ) HSERIN(2) (ハードウエア 非 同 期 式 シリアル 通 信 受 信 ) HSEROUT(2) (ハードウエア 非 同 期 式 シリアル 通 信 送 信 ) I2CREAD (I2C 通 信 でデータを 読 み 込 み) I2CWRITE (I2C 通 信 でデータを 書 き 込 み) 80 - Ⅱ -

3 9-31 IF...THEN ( 条 件 式 による 処 理 の 分 岐 ) LCDOUT (LCDに 文 字 を 出 力 ) LOOKDOWN ( 文 字 列 から 検 索 ) LOOKUP2 ( 指 定 したインデックス 値 のデータを 取 得 ) LOW ( 指 定 したピンをLowレベルにする) NAP ( 短 時 間 の 一 時 休 止 ) ON GOSUB (インデックスの 値 に 応 じて 指 定 したサブルーチンにジャンプ) ON GOTO (インデックスの 値 に 応 じて 指 定 したルーチンにジャンプ) OWIN (ワンワイヤインターフェイスでデータを 受 信 ) OWOUT (ワンワイヤインターフェイスでデータを 送 信 ) ON INTERRUPT ( 各 種 割 込 を 有 効 にする) PAUSE ( 指 定 した 時 間 プログラムを 一 時 停 止 ) PAUSEUS ( 指 定 した 時 間 プログラムを 一 時 停 止 ) PEEKCODE ( 指 定 した 番 地 のプログラムメモリーの 値 を 取 得 ) POKECODE ( 指 定 した 番 地 のプログラムメモリーに 値 を 書 き 込 む) POT (ポテンショメーターの 値 を 取 得 ) PULSIN (パルス 幅 を 計 測 ) PULSOUT (パルスを 出 力 ) PWM (ソフトウエアPWM 出 力 ) RANDOM ( 疑 似 乱 数 の 発 生 ) READ (EEPROMからデータを 読 み 込 む) READCODE (コードスペースからデータを 読 み 込 む) REPEAT...UNTIL ( 条 件 式 に 従 い 繰 り 返 し 処 理 ) RESUME ( 割 込 先 サブルーチンからメインルーチンへ 復 帰 ) RETURN (サブルーチンからメインルーチンへ 復 帰 ) REVERSE (ピンの 入 出 力 方 向 の 反 転 ) SELECT CASE ( 条 件 式 による 複 数 の 分 岐 ) SERIN2 (ソフトウエア 非 同 期 式 シリアル 通 信 UARTでデータを 受 信 ) SEROUT2 (ソフトウエア 非 同 期 式 シリアル 通 信 UARTでデータを 送 信 ) SHIFTIN (クロック 信 号 に 同 期 してデータを 受 信 ) SHIFTOUT (クロック 信 号 に 同 期 してデータを 送 信 ) SLEEP (デバイスを 指 定 時 間 一 時 休 止 モードにする) SOUND (トーン 又 はホワイトノイズの 発 生 ) STOP (プログラムの 強 制 停 止 ) SWAP (2 変 数 間 でデータの 交 換 ) TOGGLE (ピンの 状 態 を 反 転 ) USBIN (USB2.0 機 能 内 蔵 のデバイスにおいてUSB 経 由 でデータを 受 信 ) USBINIT (USB2.0 機 能 内 蔵 のデバイスにおいてUSBモジュールの 初 期 化 ) 112 USBOUT (USB2.0 機 能 内 蔵 のデバイスにおいてUSB 経 由 でデータを 送 信 ) USBSERVICE ( 内 蔵 USB2.0ユニットをアクティブ 化 ) 9-69 ~USB2.0 通 信 機 能 の 使 用 方 法 ~ ~PBPでCDCクラスを 使 用 する~ WHILE...WEND ( 条 件 ループ) WRITE ( 内 蔵 EEPROMに 値 を 書 き 込 む) WRITECODE (コードスペースに 値 を 書 き 込 む) 118 第 10 章 製 品 のサポートについて サポート 掲 示 板 とメーカーへのサポート 依 頼 又 はFAXサポート アップグレードについて 免 責 事 項 Ⅲ -

4 (C)2015 マイクロテクニカ 不 許 複 製 ( 当 方 の 許 可 無 く 本 書 の 一 部 又 は 全 部 を 複 製 及 び 転 写 をすることはできません) 2015 年 2 月 版 第 8 版 Copyrights and Tradmarks PICBASIC PRO Compilerは 米 microengineering Labs,Inc の 商 標 です PICmicroは 米 Microchip Techbology Incの 登 録 商 標 です Microsoft Windowsは 米 国 Microsoft Corporation 及 びその 国 における 登 録 商 標 です MS-DOSは 米 国 Microsoft Corporationの 登 録 商 標 です PICBASIC PRO Compilerは 米 microengineering Labs,Incの 開 発 製 品 です - Ⅳ -

5 1.PICBASIC PRO Compilerのインストール 1-1 PICBASIC PRO Compilerとは PICBASIC PRO Compiler( 以 下 PBPと 略 して 記 載 )はPIC10F 12F 16F 18Fシリーズの8ビットPIC マイコンに 対 応 した BASICコンパイラです PBPはBASICで 書 かれたソースプログラムからPICマイコンに 書 き 込 める 形 式 であるHEXファイルを 作 ります このHEXファイルをPICマイコンライターでPICマイコンへ 書 き 込 むことで 動 作 します PBPにはPICマイコンのプログラミングをする 上 で 便 利 な 命 令 を 数 多 く 用 意 しています PICマイコンで 行 う 各 動 作 はほとんどが 命 令 化 されており ユーザーは 複 雑 なプログラムを 書 くこと 無 く 簡 単 にPICマ イコンにやらせたいプログラムを 記 述 することができます 例 えばシリアル 通 信 やADコンバーター 関 連 LCD 駆 動 関 連 などはアセンブラ 言 語 で 記 述 すると なかな か 大 変 ですが PBPに 搭 載 してある 命 令 を 使 用 すれば 数 行 でPICマイコンを 思 い 通 りに 動 作 させること ができます その 他 レジスタに 値 を 変 数 と 同 様 の 方 法 で 直 接 値 を 代 入 したり レジスタの 値 を 参 照 でき たりするのでより 高 度 なプログラミングを 行 うことができます C 言 語 よりも 簡 単 な 言 語 体 系 で より 動 作 内 容 をイメージしやすいのが 特 徴 です Windows 上 で 動 作 する 統 合 開 発 環 境 を 搭 載 していますので 操 作 性 もよく 初 めての 方 でもすぐに 開 発 を 始 めることができます PBPはアメリカのmicroEngineering Labs, Inc. 社 ( 以 下 melabs 社 )によって 開 発 されたプログラミング ツールです melabs 社 からは 3つのエディションがリリースされていますが 日 本 ではGold Edition 版 の み 当 方 で 取 り 扱 っています 1-2 PICBASIC PRO Compilerをインストールしましょう PBPをパソコンにインストールしましょう PBPでは3つのソフトウエアをインストールします 1つはPBP 本 体 2つ 目 はPBPを 動 作 させるための 統 合 開 発 環 境 MicroCode Studio( 以 下 MCSと 記 載 )のインストール 3つ 目 はPICマイコン 用 の 純 正 開 発 環 境 MPLABのインストールです 下 記 のインストールの 手 順 に 従 って 指 示 通 りにインストールしてください PBPでの 開 発 はMicroCode Studioというソフトウエア 上 で 行 います! PBPとMicroCode Studio(MCS)との 関 係 ですが PBPはコンパイラ 本 体 でプログラムを 書 くときに 使 うエディタ 画 面 などは 持 っていません そこで エディタ 画 面 や 各 種 ツールをまとめて 搭 載 する MCSとい うソフトを 使 います MCSとPBPは 連 携 して 動 きますので 開 発 はMCS 上 で 行 うことになり PBPをユー ザーが 目 にすることはほとんどありません では MPLABとは 何 でしょうか? MPLABはマイクロチップ 社 から 配 布 されているPICマイコン 用 の 開 発 環 境 です アセンブラ 言 語 やマイクロチップ 社 のリリースしているC 言 語 などを 使 うときに 使 います よって PBPを 使 う 場 合 にはほとんど 目 にしませんが 実 はPBPがコンパイルをする 時 PBPはアセンブラ ファイルまでを 作 成 します このアセンブラファイルを 最 終 的 にPICマイコンに 書 き 込 めるHEXファイルに 変 換 するのがMPLABの 役 目 です ( 実 際 にはMPLABの 中 にあるMPASMというソフトが 担 当 していま す ) MCSはPBPやMPLABをまとめて 動 かしてくれますので 開 発 をするユーザーはPBPやMPLABの 動 きを 意 識 することなく 使 うことができます しかし 仕 組 みを 知 っておくと 何 かのトラブルの 際 役 立 つので 参 考 までに 記 載 しました - 1 -

6 PICBASIC PRO Compiler 本 体 のインストール 1 CD-ROMをパソコンのCD-ROMドライブに 挿 入 してください 2 CD-ROMの 内 容 を 開 き "Setup.exe"をダブルクリックして 実 行 します インストールウィザードが 起 動 しますので そのまま"Next>"をクリックして 続 行 します 3 ライセンス 許 諾 画 面 が 表 示 されます 内 容 をお 読 みの 上 同 意 される 場 合 には "I accept the agreemet"にチェックを 入 れて"Next>"をクリックします 同 意 されない 場 合 インストールはできません 4 続 いてインストールディレクトリを 指 定 します デフォルトでは C:\PBP3となっています デフォルトの 設 定 でインストールされることを 強 くお 奨 め します フォルダ 名 を 変 更 した 場 合 には 後 から 一 部 のインクルードファイルのパスを 変 更 するなど 設 定 が 面 倒 になります また 日 本 語 や2バイト 文 字 をを 含 むディレクトリにインストールすると PBPが 正 しく 起 動 しません ディレクトリを 指 定 したら "Next>"を 押 して 続 行 します 5 次 の"Select Start Manu Folder"はそのまま"Next"をクリックして 続 行 します 6 続 いて "Ready to Install"と 表 示 されますので そのまま"Install"ボタンを 押 してインストールを 開 始 します インストールの 進 捗 状 況 がプログレスバーによって 表 示 されます 7 インストールが 完 了 すると 下 図 のような 画 面 が 表 示 されます 一 番 上 の"Install MicroCode Studio IDE X.x.x.x (included recommended)"にチェックが 入 ってい ることを 確 認 します 入 っていない 場 合 には チェックを 入 れます 続 いて すでにパソコンにMPLAB 最 新 版 がインストールされている 場 合 には "Install MPLAB IDE X.xx(required)"のチェックを 外 します インストールされていない 場 合 には チェックを 入 れます チェック 項 目 は 間 違 えな いようにご 注 意 ください チェックを 確 認 したら"Finish"ボタンをクリックします - 2 -

7 ご 注 意 "Install MPLAB IDE xxx"にチェックを 入 れておくと "Finish"ボタンをクリックした 後 自 動 的 にマ イクロチップ 社 のMPLABのダウンロードサイトが 表 示 される 場 合 があります (CD-ROMにはあらかじめMPLABが 入 っていますので 表 示 されない 場 合 もあります ) ブラウザが 起 動 してマイクロチップ 社 のサイトが 表 示 された 場 合 には MPLABのダウンロードは 画 面 下 の 方 にありますので スクロールして"Downloads"のリンク 一 覧 から 最 新 版 のMPLABをパソコ ンにダウンロードしておいてください ダウンロードしたファイルはzip 形 式 で 圧 縮 されていますので 解 凍 するとインストーラーが 展 開 さ れます 統 合 開 発 環 境 MicroCode Studio(MCS)のインストール 8 MicroCode Studio(MCS)をインストールします MCSの"Setup"が 起 動 します "Next>"をクリックして 続 行 します 9 "License Agreement"のダイアログが 表 示 されます 内 容 をお 読 みいただき 同 意 される 場 合 には "I accept the agreement"にチェックを 入 れて "Next>"ボタンを 押 して 続 行 します 10 インストールディレクトリを 指 定 するダイアログが 表 示 されます 特 に 変 更 がなければ そのまま"Next>"ボタンを 押 してください インストールが 開 始 されます 11 完 了 したら "Finish"ボタンを 押 して 終 了 します 続 いて MPLABのインストールを 行 います "Install MPLAB IDE X.xx(required)"のチェックを 入 れ て MPLABをダウンロードした 方 は 下 記 より 続 いてインストールを 行 ってください チェックを 入 れ なかった 方 は インストールはここで 完 了 ですので 続 いて 設 定 に 進 んでください - 3 -

8 MPLABのインストール 12 MPLABはマイクロチップ 社 が 提 供 するPICマイコン 用 の 開 発 環 境 です PICのプログラム 開 発 に 必 要 な 色 々なソフトウエアが 詰 め 合 わせになっています PBPでは 直 接 MPLABは 使 用 しませんが コンパイルする 時 (BASIC 言 語 で 記 述 されたプログラムを マシン 語 のHEXファイルに 変 換 することをコンパイルといいます )にアセンブラの 機 能 (MPLABに 含 まれているMPASMというソフトウエア)を 使 用 するため 必 ずインストールが 必 要 です MPLABは 頻 繁 にバージョンアップされています 最 新 版 を 利 用 することが 望 ましいため マイクロチ ップ 社 のWEBサイトで 最 新 版 がリリースされていないか 定 期 的 にご 確 認 ください なおMPLABのダウンロード 先 は Google 等 の 検 索 エンジンで"MPLAB"をキーワードに 検 索 すると 一 番 上 に 表 示 されます MPLABのインストールを 開 始 します "Next"をクリックして 続 行 します 13 "License Agreement"の 画 面 が 表 示 されます 内 容 をお 読 みの 上 同 意 される 場 合 には"I accept th e terms of the license agreement"にチェックを 入 れて "Next>"をクリックします なお 同 意 されない 場 合 インストールは 続 行 できません 14 "Setup Type"が 表 示 されますので "Complet"にチェックを 入 れて "Next"をクリックして 続 行 しま す 15 インストールディレクトリを 指 定 する 画 面 が 表 示 されます デフォルト 設 定 では "C:\Program Files\Microchip\"となっています 特 に 変 更 する 必 要 がなければ そのまま"Next>"をクリックして 続 行 します インストールディレクトリを 変 更 した 場 合 には 後 ほど 設 定 で ディレクトリの 指 定 が 必 要 となりま すので ディレクトリを 控 えておいてください 16 "Application Maestro License"の 画 面 が 表 示 されます 内 容 をお 読 みの 上 同 意 される 場 合 には "I accept the terms of the license agreement"にチェックを 入 れて "Next>"をクリックします なお 同 意 されない 場 合 インストールは 続 行 できません 続 いて "MPLAB C32 License"の 画 面 が 表 示 されます 内 容 をお 読 みの 上 同 意 される 場 合 には "I accept the terms of the license agreement"にチェックを 入 れて "Next>"をクリックします なお 同 意 されない 場 合 インストールは 続 行 できません 17 "Start Copying Files"が 表 示 されますので "Next>"をクリックします インストールが 開 始 されます 進 捗 状 況 がプログレスバーによって 表 示 されます インストールが 完 了 したら"Finish"ボタンをクリックして 終 了 します "MPLAB IDE Document Select"の 画 面 が 表 示 されたら ボタンを 押 して 閉 じます 18 一 連 のインストールが 完 了 したら パソコンを 必 ず 再 起 動 してください 再 起 動 後 "PBP/MPASM/MPLAB Connector"というダイアログが 表 示 されます ここでは PBPが MPASM(アセンブラ)を 使 えるようにするために MPASMまでのパスを 指 定 して 登 録 します 通 常 MPLABをデフォルト 設 定 のままインストールしていればMPASMへのパスは 下 記 の 通 りです C:\Program Files\Microchip\MPASM Suite 問 題 がなければ "Next>"をクリックします "Finish"ボタンが 表 示 されたらクリックして 完 了 です - 4 -

9 1-3 PICBASIC PRO Compiler 本 体 の 種 類 コンパイラには 2つの 種 類 があります "PBPW"と"PBPL"があります 主 に 対 応 デバイスによって 使 い 分 けますが 最 も 大 きな 違 いは PBPWは 使 用 できる 変 数 の 最 大 値 がWO RD 型 (16ビット 長 )まで PBPLは 最 大 値 がLONG 型 (32ビット 長 )までとなっている 点 です PBPW 全 デバイスに 対 応 するモードで 変 数 は3つの 型 が 使 えます 最 も 大 きな 変 数 の 型 はWORD 型 で16ビ ットの 値 を 格 納 できます 符 号 には 対 応 していません PBPL 変 数 に 符 号 付 き32ビット 変 数 のLONG 型 ( ~ )が 使 えるモードです PIC18シリーズでのみ 使 用 することが 可 能 で PIC10F/12F/16Fでは 使 用 できません どちらのモードを 使 用 するかは MicroCode Studio(MCS)で 設 定 が 可 能 です MCSの"Compile and Program Options"で 設 定 します 2.PICBASIC PRO Compilerのアクティベートと 設 定 2-1 PBPのアクティベート PBPは インストール 直 後 は15 日 間 のみ 動 作 するトライアル 版 として 動 作 しています アクティベートす ることで 製 品 版 として 使 用 できるようになります PBPのアクティベートには 使 用 するパソコンがインターネットに 接 続 されていることが 必 要 です イン ターネットに 接 続 されていないパソコンではアクティベートができません 1ライセンス(1つのシリアルナンバー)でPBPは 3つのパソコンまでインストールが 可 能 です それ 以 上 のパソコンではアクティベートできません アクティベートは 本 製 品 に 付 属 のシリアルナンバーと パソ コンのハードウエア 環 境 から 生 成 される 一 意 のハードウエアIDの 組 み 合 わせにて 行 われます よってパ ソコンのハードウエア 環 境 を 変 更 したりした 場 合 には アクティベートができなくなる 場 合 があります 使 用 に 際 しては 次 の 手 順 で 必 ずアクティベートを 行 ってからご 使 用 ください PBPをパソコンからアンインストールする 際 に デアクティベーション(アクティベーションの 解 除 )を 行 えばアクティベーションの 回 数 を 減 らさずにパソコンからPBPをアンインストール できます パソコンを 買 い 換 えた 時 や 別 のパソコンで 使 いたい 時 など 元 のパソコンからPBPをアンインスト ールする 場 合 には 必 ずアンインストール 前 に デアクティベーションの 操 作 を 行 ってください (デアクテ ィベーションについては8ページに 記 載 しています ) デアクティベーションを 忘 れるなどしてアクティベーションの 数 を 超 過 した 場 合 本 ライセンスでは1つのシリアル 番 号 で 最 大 3 台 のパソコンのアクティベートが 可 能 です アンインスト ール 時 にデアクティベーションをすれば 回 数 は 減 りませんが デアクティベーションを 忘 れてPBPをア ンインストールしてしまうと アクティベーションできる 回 数 が1 減 ってしまいます これを 繰 り 返 して アクティベーションを3 回 行 ってしまうと それ 以 降 そのシリアル 番 号 ではアクティベーションをするこ とができません その 場 合 にはシリアル 番 号 のリセットが 必 要 ですので 下 記 サイトでお 手 続 きくださ い -

10 申 請 が 異 常 に 多 い 場 合 頻 繁 に 申 請 をされる 場 合 にはメーカーからシリアル 番 号 のリセットを 断 られ る 場 合 がありますので 十 分 ご 注 意 ください ウイルス 対 策 ソフトウエアが 有 効 の 状 態 でアクティベーションを 行 うと まれに 正 しくアクテ ィベーションができない 場 合 があります 念 のためお 手 数 ですが アクティベーションの 作 業 をする 際 には 一 時 的 にウイルス 対 策 ソフトウエアの 機 能 を 無 効 にして 頂 けますようお 願 い 致 します アクティベーション 完 了 後 ウイルス 対 策 ソフトウエアを 有 効 にしてください なお アクティベーションがうまく 実 行 できない(アクティベーションをしたにも 関 わらず 体 験 版 として15 日 限 定 使 用 版 として 動 作 してしまう 場 合 )には お 手 数 ですが 下 記 のFAQをお 読 みの 上 お 試 しください 1 MCSを 起 動 します "スタート"ボタンから"プログラム"を 選 択 し "MicroCode Studio(MCSX)"グルー プの 中 の"MicroCode Studio"をクリックします 又 はデスクトップのアイコンをクリックして 起 動 します 2 MCSが 起 動 すると 同 時 に 下 図 のようなダイアログが 表 示 されます 3 必 要 事 項 を 入 力 します First name 名 前 (ローマ 字 表 記 ) Last name 名 字 (ローマ 字 表 記 ) Eメールアドレス Activation Key 製 品 マニュアルに 同 梱 されていたシリアル 番 号 すべて 半 角 英 数 字 で 入 力 してください 全 角 文 字 は 受 付 されません Activation KeyはCD-ROMなどと 同 梱 されている 封 筒 に 入 っています - 6 -

11 4 "On-line"にチェックが 入 っていることを 確 認 して "Activate"ボタンをクリックします 正 しくアクティベートが 完 了 すると "Registration Sucessful"というメッセージが 表 示 されます "OK"を 押 して 完 了 します この 作 業 は 1つのパソコンで 初 回 起 動 時 の1 回 だけです シリアル 番 号 は 今 後 再 インストールの 際 などに 必 要 となりますので 紛 失 されませんよう 十 分 にご 注 意 ください プロキシサーバ 等 の 設 定 で 直 接 アクティベートできない 場 合 使 用 しているパソコンのインターネット 接 続 環 境 により 直 接 ソフトウエアからインターネットに 接 続 できない 場 合 には WEBサイトから 行 うことができます 上 記 手 順 2の 画 面 で 画 面 下 部 の"Off-line"をクリックすると ダイアログが 表 示 されます そこに 接 続 先 のアドレスが 記 載 されていますので ブラウザでそのサイトを 表 示 して 必 要 事 項 を 入 力 してアクティ ベートを 行 ってください アクティベーションが 完 了 しているはずなのにMicroCode Studioを 起 動 した 時 に 再 度 アクティベーシ ョンの 画 面 が 表 示 され トライアル 期 間 と 表 示 される 場 合 の 対 応 方 法 上 記 の 手 順 4が 完 了 して 正 しくアクティベーションが 完 了 しているはずにも 関 わらず MicroCode Stu dioを 起 動 すると 手 順 2の アクティベーションウインドウが 表 示 されてしまうケースが 報 告 されていま す そのアクティベーションウインドウでは トライアル 期 限 であることが 表 示 されており 正 しくアクテ ィベーションが 出 来 ていないことが 示 されています 本 件 は 主 にパソコンのユーザー 権 限 の 問 題 や ウイルス 対 策 ソフトウエアによって アクティベーショ ン 時 の 通 信 がブロックされていたり レジストリの 変 更 を 拒 否 された 場 合 に 発 生 します 下 記 の 手 順 で 解 決 しますので 不 具 合 がある 場 合 にはお 手 数 ですが 下 記 をお 試 し 下 さい 1.PBPの 再 インストールをお 願 い 致 します これでほとんどの 場 合 問 題 が 修 復 されます 再 インストールする 場 合 には 現 在 インストールされているPBPをいったんアインストールしますが この 時 必 ず アクティベーションを 解 除 する デアクティベーション が 必 要 です それをしないでアン インストールしてしまうと アクティベーションできる 回 数 が 減 ってしまいます デアクティベーションの 方 法 は 本 書 2-2 項 をお 読 みください 再 インストールはPBPのみで 結 構 です MCSやMPLABの 再 インストールは 必 要 ありません Windowsのコントロールパネルから プログラムと 機 能 ( 又 はプログラムのアンインストール)を 起 動 して 項 目 の 中 から PICBASIC PRO(tm) Compiler 3.x.x.x を 選 択 して アンインストール ボタン を 押 してください アンインストールが 完 了 したら 再 度 CD-ROMからインストールを 実 行 してください なおすでにMCSとMPLABはインストール 済 みですのでインストール 最 後 に 表 示 される"Additional A plications"の 画 面 では3つともチェックを 外 して 完 了 してください - 7 -

12 2. 手 順 1で 再 インストールでもうまくいかない 場 合 には 管 理 者 権 限 で アクティベーションソフトを 立 ち 上 げます スタートボタン すべてのプログラム PBP from melabsをクリックします 3.その 中 にある"melabs Activation Manager"を 右 クリックしてメニューを 表 示 させます 4.メニューの 中 から " 管 理 者 として 実 行 "をクリックします 5.アクティベーションソフトが 起 動 しますので お 名 前 とメールアドレス シリアル 番 号 を 入 力 して "Activate"ボタンをクリックしてアクティベーションを 行 って 下 さい これで 完 了 します 上 記 方 法 でもMicroCode Studioを 起 動 するごとにアクティベーションソフトが 起 動 してしまう 場 合 には パソコンにインストールされているウイルス 対 策 ソフトウエアによって アクティベーションソフト の 通 信 が 遮 断 されているために インターネット 経 由 で 認 証 に 不 具 合 が 生 じていることが 考 えられま す その 場 合 ウイルス 対 策 ソフトウエアを 一 時 的 に 停 止 した 上 で 実 行 すると 正 しくアクティベーショ ンができます また 場 合 によってはPBP3のインストール 時 にウイルス 対 策 ソフトウエアがPBP3の 通 信 関 係 のソフト ウエアのインストールをブロックしてしまう 場 合 があり その 場 合 正 しく 登 録 ができないなどの 問 題 が 発 生 することがあります もし 上 記 方 法 でも 正 しくアクティベーションができない 場 合 にはお 手 数 です が 一 時 的 にウイルス 対 策 ソフトウエアを 終 了 ( 又 は 機 能 を 停 止 )した 上 で 再 度 PBP3 をインストールし 直 して 頂 くことで 問 題 が 解 決 する 場 合 があります Windowsに 常 駐 しているすべての 常 駐 ソフトウエアとサービスを 停 止 した 状 態 でWindowsを 起 動 し ア クティベーションを 実 行 して 頂 くと 問 題 は 解 決 します PBPのデアクティベート(アクティベーションの 解 除 ) パソコンを 変 更 する 場 合 や OSを 再 インストールする 際 その 他 ハードウエアの 大 きな 変 更 (CPUの 変 更 やメモリーの 増 設 など)を 行 う 場 合 には 使 用 しなくなる 予 定 のパソコンでアクティベーションを 解 除 することで そのシリアルキーのパソコンカウント 数 をリセットすることができます アクティベーションの 解 除 を 行 わないで 使 用 パソコンを 交 換 すると 古 いパソコンも1カウントされてい ますので 使 用 できるパソコンの 台 数 が 減 ってしまいます 1つのシリアル 番 号 で 最 大 3 台 までのパソコ ンのアクティベーションができますが パソコン 買 い 換 え 時 等 に 解 除 を 忘 れると 1つのシリアル 番 号 で 使 えるパソコンの 最 大 数 が1つ 減 ってしまいますのでご 注 意 ください アクティベーションの 解 除 は PBP3を 使 わなくなったパソコン(PBPをアンインストールするパソコン) で 下 記 の 通 り 行 います - 8 -

13 1 スタートボタンから "すべてのプログラム" "PBP3 from melabs" "PBP Activation Manager"を 起 動 します アクティベーションマネージャが 起 動 します 2 すでにアクティベーションが 行 われている 場 合 には 名 前 メールアドレス シリアル 番 号 が 入 力 された 状 態 で 起 動 します "Deactivate"にチェックを 入 れて "Deactivate"ボタンをクリックします 3 デアクティベートをしていいかどうか 尋 ねるメッセージが 表 示 されますので "はい"をクリックします 4 これで 解 除 が 完 了 しました そのパソコンではPBP3はご 使 用 頂 けません 新 しいパソコンで 再 度 アクティベーションを 行 って 頂 く 必 要 があります なお デアクティベーションをせずにアンインストールしてしまい アクティベーション 回 数 が 減 ってし まい 上 限 の3 回 に 達 してしまった 場 合 には 下 記 サイトからアクティベーション 回 数 のリセット 申 請 がで きます

14 2-3 MicroCode Studioの 基 本 的 な 設 定 インストールが 完 了 しましたので MicroCode Studio(MCS)にて 各 種 設 定 を 行 いましょう MCSでは コード 記 述 後 にボタン1つでコンパイルができる 他 当 方 のPICマイコンライターシリーズ(EPI Cシリーズ) 及 び PICマイコン 開 発 用 統 合 評 価 ボード(PICD-700SX)をお 持 ちの 場 合 には コンパイル とプログラムの 書 き 込 みを 連 動 させて 動 作 させることができる 便 利 な 機 能 があります 本 章 では MCSが 使 用 できるように 基 本 的 な 設 定 を 行 います 当 方 の 製 品 EPICシリーズ 及 びPIC 開 発 用 統 合 評 価 ボードをお 持 ちの 方 は 本 章 をお 読 みの 後 各 製 品 に 付 属 のマニュアルに 記 載 されています"MicroCode Studioとの 連 動 動 作 "の 項 目 をお 読 みください 1 MCSを 起 動 します "スタート"ボタンから"プログラム"を 選 択 し "MicroCode Studio(MCSX)"グルー プの 中 の"MicroCode Studio"をクリックします 又 はデスクトップのアイコンをクリックして 起 動 します 2 メニューバーの"View"から"Compiler and Program Options..."をクリックします 3 ダイアログが 開 きます PBPがインストールされているディレクトリを 指 定 します インストールしたディレクトリが 表 示 されていない 場 合 には "Find Manually"ボタンをクリックして PBPをインストールしたディレクトリを 指 定 します 通 常 は C:\PBP3にインストールされます インス トール 先 を 変 更 した 場 合 には ここで 正 しく 設 定 を 行 って 下 さい また MPASMXを 使 用 していない 場 合 には "Use MPASMX Assembler"のチェックは 必 ず 外 してくだ さい 4 その 他 の 項 目 はデフォルトの 状 態 でかまいませんが PIC18シリーズを 使 用 する 場 合 で Long 型 変 数 を 使 用 したい 場 合 には このウインドウの"Use Compiler Long Words(18 Series MCU Only)"にチ ェックを 入 れます ここにチェックを 入 れることで PIC18シリーズを 使 用 する 場 合 に 限 り 32ビット のLong 型 変 数 ( ~ )の 変 数 が 使 用 できます PIC10F/12F/16Fシリーズを 使 用 する 場 合 には Long 型 変 数 は 使 用 できませんので 必 ずここ のチェックは 外 して 下 さい チェックを 入 れた 状 態 でPIC18 以 外 のデバイスを 開 発 しようとするとエ ラーが 表 示 されます Long 型 変 数 を 使 用 する 場 合 のみ その 都 度 チェックを 入 れるようにします

15 5 これで 基 本 的 な 設 定 は 完 了 しました 当 方 のEPICマイコンライターシリーズ 及 びPIC 開 発 用 統 合 評 価 ボード(PICD-700SX)をお 使 いの 場 合 には ボタン1つでコンパイルと 書 き 込 みができる 機 能 をご 利 用 頂 けます 設 定 方 法 は 各 製 品 の マニュアルに 詳 しく 記 載 されておりますので 各 製 品 のマニュアルをご 覧 ください 2-4 ユーザー 登 録 設 定 が 終 わりましたら 必 ずユーザー 登 録 を 行 って 頂 けますようお 願 い 致 します ユーザー 登 録 を 行 わないと 優 待 価 格 でのアップグレード 等 が 一 切 受 けられなくなります ユーザー 登 録 は 下 記 の2つのサイトから 登 録 を 行 います 開 発 元 サイト(microEnginerring Labs)のサイトに 登 録 する 1 下 記 サイトにアクセスします 2 画 面 上 部 にある"Create New Account"のリンクをクリックします 3 次 のページで 必 要 事 項 を 半 角 英 数 字 で 英 語 で 記 入 して 頂 きます 次 のように 入 力 必 要 事 項 を 入 力 し ます Login: ログイン 名 を 付 けます 適 当 なIDを 入 力 してください Lost Passwords To: パスワードを 忘 れた 場 合 に 必 要 となる アドレスを 入 力 します Password ログインするためのパスワードを 決 めて 入 力 します Confirm Password: 確 認 のためもう 一 度 パスワードを 入 力 します その 下 の 部 分 に 必 要 事 項 を 入 力 します 入 力 例 は 下 記 の 通 りです Bill To (If Different): の 部 分 には 入 力 しないでもかまいません 入 力 したら"Save"ボタンをクリックします

16 4 次 の 画 面 でが 表 示 されれば 登 録 完 了 です 5 続 いて 当 方 のサイトからユーザー 登 録 を 行 います こちらも 登 録 をして 頂 かないと 優 待 価 格 でのアップグレードができませんので 必 ず 登 録 をお 願 い 致 し ます 下 記 サイトにアクセスします 6 表 示 されたページに 必 要 事 項 を 入 力 して 頂 きます 最 後 の 項 目 の"Registration Code"の 部 分 には 必 ず 製 品 マニュアルに 同 梱 されていたActivation Key を 間 違 えないようにご 入 力 下 さい (ピンク 色 の 紙 に 記 載 の 文 字 列 です ) 7 入 力 が 完 了 しましたら "この 内 容 で 申 請 する"のボタンをクリックします これで 登 録 は 完 了 致 しました ご 協 力 ありがとうございました

17 ~コラム~ MicroCode Studioで 日 本 語 コメントを 使 用 する 場 合 の 設 定 方 法 及 びエディターフォントのサイズを 変 更 する 方 法 MicroCode Studio(MCS)ではプログラム 中 にコメントを 挿 入 できますが デフォルト 設 定 ではエディタのフ ォントが 英 語 フォントになっているため 日 本 語 や2バイト 文 字 は 入 力 ができません 下 記 の 設 定 をすること で 日 本 語 のコメントを 入 力 できます またフォントサイズを 変 更 することで 文 字 を 大 きくして 見 やすくす ることができます 注 意 本 設 定 によって 日 本 語 入 力 を 可 能 にした 際 アポストロフィー(') 以 降 でない すなわちコメント 扱 いされ ない 部 分 に 誤 って 日 本 語 を 入 力 してしまうと 場 合 によってはMCSがハングアップしたり 強 制 終 了 して しまう 場 合 があります 安 全 に 使 用 したい 場 合 には 上 記 の 設 定 はデフォルト 設 定 にして 日 本 語 は 使 わな いようにしてください また プログラム 中 (コメント 部 分 でない 部 分 )では 全 角 スペースは 日 本 語 として 扱 われます(2バイト 文 字 )ので スペースは 必 ず 半 角 で 入 力 する 必 要 があります 日 本 語 のコメントが 入 力 できるように 設 定 する MCSのメニューバーの"View" "Editor Options..."を クリックします ダイアログが 表 示 されますので "Hig hlighter"タブへ 移 動 します その 中 の"Font Properti es"のプルダウンから"msゴシック"を 選 択 してくださ い フォントサイズを 変 更 することで 文 字 が 大 きくなり 見 やすくなります 文 字 のサイズはデフォルトが9ポイ ントですので 14ポイントくらいまでの 範 囲 で 設 定 し てください "MSゴシック"に 設 定 すると アポストロフィー(') 以 降 のコメントに 限 り 日 本 語 入 力 が 可 能 になります なお "Font Properties"のデフォルト 設 定 は"Courier New"フォントです

18 3. 基 本 的 な 使 い 方 と 簡 単 なチュートリアル PBPには 色 々な 機 能 や 命 令 文 法 上 の 規 則 などがありますが ここではとりあえずMCSの 使 い 方 を 把 握 するためにサンプルのプログラムを 作 成 してコンパイルしてみましょう MCSの 使 い 方 とプログラムの 書 き 方 コンパイルの 要 領 を 確 認 します 3-1 MicroCode Studioの 基 本 画 面 MCSのウインドウは 下 記 のようになっています ツールバー コンパイルボタン デバイス 設 定 プルダウン プログラムタブ コードウインドウ コードエクスプローラ ステータスバー 行 数 列 番 号 表 示 ツールバーの 状 態 は 選 択 されているデバイスや インストール 状 態 になどによって 必 ずしも 上 図 のよ うになっていない 場 合 があります 下 図 のようにツールバーに"Buy PICBasic"とツールバーに 表 示 されている 場 合 には 正 しくPBPのア クティベーションができていないことを 示 しています クリックするとオンラ インストアーに 接 続 されてしまいます この 状 態 では PBPは 限 定 されたデ バイスしか 使 えず 製 品 版 として 登 録 されていません 再 度 本 書 再 度 アクティベーションを 行 って MCSを 再 起 動 してください "Bu y PICBasic"のボタンが 消 えていることを 確 認 下 さい

19 3-2 はじめの 一 歩 ~チュートリアル 導 入 編 ~ では 実 際 にプログラムを 記 述 してプログラム 開 発 の 流 れを 体 験 してみましょう ここで 紹 介 するチュートリアルは 例 として 1 秒 間 隔 でPORTBのビット0(RB0)とビット1(RB1)を 交 互 に 点 滅 (HとLを 繰 り 返 す)させるプログラム を 作 ります PICマイコンの 場 合 慣 習 としてPORTBをRB PORTAをRAなどとRをつけてポート 名 を 記 述 します PORTBのビット0という 場 合 には RB0と 表 現 するのが 一 般 的 です 本 マニュアルでもこの 表 現 にて 以 降 記 載 します RB0とRB1に 下 図 のようにLEDを 接 続 しておくと 動 作 が 目 で 見 え 理 解 が 簡 単 です 参 考 回 路 図 を 下 記 に 示 します 図 :PIC16F84(A)を 用 いた 標 準 回 路 (PIC16F88や16F1827などでも 基 本 的 に 同 じです) PICマイコンのロジック 電 圧 のH 時 の 出 力 レベルはほぼVccに 印 加 した 電 圧 ですので Hレベルの 時 は 上 図 の 場 合 には+5V Lレベルの 時 はGNDレベルです LEDの 順 方 向 電 圧 が2V 消 費 電 流 が10mAとした 場 合 には300Ω 程 度 の 抵 抗 が 必 要 です 上 図 では 330Ω 程 度 の 抵 抗 を 取 り 付 けています 上 図 は 参 考 例 ですので 使 用 するマイコンの 型 式 等 によって 接 続 方 法 が 変 わる 場 合 があります なおこのチュートリアルで 作 るプログラムは 下 記 の 環 境 で 動 作 させることを 前 提 としています Ö PIC16F84Aを 使 用 する(まずチュートリアルでは 定 番 のPIC16F84Aを 使 ってみます ) Ö 動 作 周 波 数 は20MHzである 1 MCSを 起 動 します 最 初 に 開 発 するデバイスの 種 類 を 選 択 します "Target Processor"のプルダウンから 使 用 するデバ イスの 種 類 を 選 択 してください ここでは"16F84A"を 選 択 します MCSでは PBPがサポートするすべてのPICマイコンのデバイス 名 をプルダウンに 表 示 します もし プルダウンに 数 種 類 のデバイスしか 表 示 されない 場 合 には MCSにPBPの 実 行 ファイルを 正 し く 登 録 されていないか 正 しくアクティベーションができていないことが 原 因 です 再 度 設 定 を 確 認 す る 必 要 があります 設 定 をし 直 してください

20 2 プログラムを 記 述 します 下 記 のように 記 述 しましょう プログラムウインドウには 自 動 的 にプログラムの 概 要 を 記 述 するコメント 行 が 挿 入 されているこ とがあります 必 要 ない 場 合 には 削 除 してください DEFINE OSC 20 main: HIGH PORTB.0 Low PORTB.1 PAUSE 1000 LOW PORTB.0 HIGH PORTB.1 PAUSE 1000 GOTO main END PBPの 命 令 を 入 力 すると 自 動 的 に 太 文 字 になります 大 文 字 と 小 文 字 は 基 本 的 に 区 別 されませんが 最 初 の 行 の"Define OSC"の"OSC"は 必 ず 大 文 字 で 記 述 してください スペースや 改 行 タブは 無 視 されます プログラムを 見 やすくするために 適 宜 タブや スペースを 入 れることをお 奨 めします プログラムについて 解 説 します DEFINE OSC 20 DEFINEはPBPにデフォルトで 設 定 されている 設 定 内 容 について ユーザーが 定 義 を 変 更 する 時 に 使 用 します "DEFINE OSC"では 動 作 周 波 数 を 指 定 します 単 位 はMHzです ここでは 動 作 周 波 数 は20MHzなので "20"と 記 述 します なおDEFINEの 後 ろに 続 く 文 字 列 は 必 ず 大 文 字 で 記 述 します よって"OSC"は 大 文 字 で 記 述 します PLLで 逓 倍 した 時 の 周 波 数 設 定 はどうする? PIC16F84Aには 搭 載 されていませんが 現 在 販 売 されているデバイスの 多 くにPLLというクロッ ク 周 波 数 を 逓 倍 する 機 能 が 付 いています 例 えば 外 部 周 波 数 8MHzを 使 用 していて 4xPLL 機 能 を 有 効 にすると32MHz 動 作 となります この 場 合 には "DEFINE OSC 32" と 記 載 して 実 際 の 動 作 周 波 数 を 記 述 してください 内 蔵 発 振 子 を 使 った 場 合 の 周 波 数 設 定 はどうする? PIC16F84Aには 搭 載 されていませんが 多 くのデバイスには 内 蔵 発 振 子 が 搭 載 されています 内 蔵 発 振 子 搭 載 のデバイスを 使 う 場 合 コンフィギュレーションビットの 設 定 で 発 振 子 の 種 類 を "INTOSC"などの 設 定 ににする 他 プログラム 内 で"OSCCON"レジスタの 設 定 をして 動 作 周 波 数 を 指 定 します PBPでは 必 ずOSCCONで 設 定 した 動 作 周 波 数 に 合 わせて"DEFINE OSC"を 記 述 して ください 例 えばOSCCONで8MHzとした 場 合 には "DEFINE OSC 8"とします

21 main: 任 意 の 文 字 列 に:(コロン)を 付 けるとラベルになります ラベルは プログラムの 中 でどこにでも 作 れ ます ラベルを 作 成 するとGoto 命 令 によって 任 意 のラベルに 処 理 をジャンプさせることができます 但 し ラベル 名 に 予 約 語 は 使 用 できません 予 約 語 とは PBPで 用 意 されている 命 令 や 関 数 に 使 われ る 文 字 列 です 予 約 語 をラベル 名 として 使 用 するとコンパイル 時 にエラーとなります High PORTB.0 Highは 任 意 のポートをHighレベルにする 命 令 です ここではPORTB.0を 指 定 しています LowはHigh 命 令 の 反 対 で 任 意 のポートをLowレベルにします PBPでは ピンの 指 定 は ポート 名.ビット 名 で 記 述 します Pause 1000 任 意 の 時 間 プログラムを 一 時 停 止 します 単 位 はミリ 秒 です この 場 合 は1000ミリ 秒 すなわち1 秒 プログラムが 停 止 します Goto main 指 定 したラベルへジャンプします ここではmainラベルへジャンプしますのでルーチンが 無 限 にルー プする 構 造 になります( 永 久 ループと 呼 びます) 3 コンパイルを 実 行 前 に 作 成 したソースプログラムに 名 前 を 付 けて 保 存 します メニューバーの"File"から"Sava As"をクリックします " 名 前 を 指 定 して 保 存 "ダイアログが 表 示 されます インストールディレクトリは 任 意 の 場 所 でかまいませんが ディレクトリ 名 に 日 本 語 などの2バイト 文 字 が 入 るディレクトリは 使 用 できません また 長 いディレクトリ 名 ( 全 部 で16 文 字 以 上 )は 使 用 でき ません また ファイル 名 にも 日 本 語 全 角 文 字 などの2バイト 文 字 は 使 用 できません ここでは ファイル 名 を"test.pbp" として 保 存 します マイドキュメントやユーザーフォルダーへの 保 存 は ディレクトリ 名 に 日 本 語 が 含 まれてしまった り ディレクトリまでのパスが 長 くなってしまいますので お 奨 めできません なるべくPBPディレクト リの 中 に"Apps"などのディレクトリを 作 成 して その 中 に 作 成 するなど パスが 短 くなるようにしてく ださい 最 近 各 種 ファイルをクラウドストレージに 保 存 するサービスが 増 えています マイクロソフト 社 が 提 供 するOne Driveや Dropboxなどがありますが PBPではこれらのストレージサービスにソースフ ァイルを 保 存 することはできません クラウドストレージでは 生 成 されるファイルのシンボルと ファイ ルのアップロードに 時 間 差 があり コンパイル 時 に 多 くの 中 間 ファイルを 作 るPBPではクラウドストレ ージにソースファイルを 保 存 してコンパイルすると コンパイルの 途 中 でファイルが 開 けなくなり コ ンパイルに 失 敗 します PBPのソースファイルは 必 ずローカルストレージに 保 存 してください ファイル 保 存 後 は タブにファイル 名 が 表 示 されることを 確 認 し てください

22 4 コンパイルはボタン 一 発 で 行 えます コンパイルを 行 うとPBPは BASIC 言 語 で 書 かれたプログラム からHEXファイルを 作 ります ツールバーのコンパイルボタンをクリックします コンパイルが 開 始 されます キーボードの F9 キーでもコンパイルができます コンパイル 中 は 一 瞬 ですがコマンドプロンプトが 表 示 されますが これはMPLABに 搭 載 されている MPASMというソフトウエアが 表 示 しているもので 正 常 ですので そのまま 数 秒 待 ちます 5 コンパイルが 正 常 に 完 了 すると 下 図 のようにステータスバーに"success: words used."と 表 示 されます これで 問 題 なくHEXファイルが 生 成 されました HEXファイルは ソースファイルが 保 存 し てあるディレクトリと 同 じディレクトリ 内 に 作 られます 記 述 ミスがあったり 構 文 に 問 題 があると 問 題 箇 所 が 表 示 されますので プログラムを 再 度 確 認 してく ださい 6 できあがったHEXファイルを PICマイコンライター 等 でPICマイコンへ 書 き 込 んでください プログラムの 内 容 通 りに 動 作 することを 確 認 します プログラミングに 際 してはとりあえず 次 の 点 に 注 意 してください! 1 動 作 周 波 数 は 必 ず DEFINE OSC 周 波 数 値 の 書 式 で 記 述 してください 20MHzの 場 合 には DEFINE OSC 20 重 要 DEFINE OSCの"OSC"は 必 ず 大 文 字 で 記 述 してください 2PIC16F84Aは 搭 載 していませんが 多 くのPICマイコンでは ADコンバータ 機 能 やコンパレータ ー 機 能 を 搭 載 しています これらのデバイスは レジスタの 設 定 をしないとデフォルトの 状 態 では I/Oピンの 設 定 がアナログ 入 力 ピンに 割 り 当 てられています よってデジタルI/Oピンとして 使 用 するためには レジスタを 設 定 して 該 当 ピンをデジタルモードにする 必 要 があります これを 行 わ ないと プログラムは 期 待 通 り 動 作 しません 3 命 令 に 大 文 字 と 小 文 字 の 区 別 はありません (ただしDEFINE 文 は 大 文 字 で!) その 他 スペースやタブ 空 白 行 についてもPBPでは 無 視 されます 次 のページからはいくつかのチュートリアルを 通 して PBPプログラムの 書 き 方 を 練 習 します プログラムを 実 際 に 記 述 することでPBPの 各 命 令 の 記 述 方 法 や 命 令 の 種 類 などを 把 握 することができま す 最 初 にチュートリアルを 行 う 前 に 重 要 な 規 則 を 確 認 します PBPではプログラムを 記 載 するにあたり 主 に 次 のような 注 意 が 必 要 です

23 Ö プログラム 先 頭 で 動 作 周 波 数 を 設 定 する 設 定 は [DEFINE OSC xx]で 行 う Ö その 他 デフォルトの 設 定 を 変 更 する 場 合 は DEFINEを 使 う DEFINEの 内 容 は 各 命 令 の 項 を 参 照 Ö 変 数 は 好 きな 名 前 が 使 用 できる 変 数 はプログラムの 先 頭 部 分 で 宣 言 する 但 し 予 約 語 は 使 用 不 可 Ö 変 数 には4つの 型 があるので 適 切 な 型 を 選 ぶ 宣 言 は [ 変 数 名 var 型 ]である Ö 変 数 はピンアサインにも 利 用 できる [ 任 意 のピン 名 var ポート]で 指 定 できる Ö コメントは '(アポストロフィー) 以 降 の 部 分 に 書 く Ö コメントはなるべく 詳 しく 後 から 見 ても 分 かるように 書 く Ö ラベルは:(コロン)で 記 述 する 任 意 のラベルへのジャンプはGOTO 命 令 を 使 用 する Ö ピンの 状 態 を 判 断 する 場 合 には IF 文 を 利 用 する 例 :IF PORTB.0 = 0 Then など Ö ボタン 入 力 を 判 定 したい 場 合 には IF 文 を 用 いる 必 要 に 応 じてGOTOを 利 用 しループする なお これ 以 降 に 記 載 されているサンプルプログラムは 一 般 的 な 例 を 示 していますので 使 用 するデバイ ス(ターゲットデバイス)や 動 作 させる 環 境 ( 動 作 周 波 数 等 )に 応 じて 適 切 な 設 定 に 設 定 し 直 す 必 要 があ るかもしれません 以 下 のサンプルプログラムでは デバイスにPIC16F877Aを 使 用 しているものとします PIC16F84Aをお 使 いであれば ポートの 指 定 を 変 更 してお 試 しください ( 例 :PORTD.2という 記 述 をPORTB.2に 変 更 するなど ) HEXファイルを 書 き 込 むライターについて PBPで 作 られたHEXファイルは マイクロチップ 社 純 正 のMPASMというアセンブラソフトを 使 って 作 られたものなので 基 本 的 にメーカーを 問 わずPICマイコンライターであれば 書 き 込 むことがで きます 当 方 では PICマイコンとdsPICマイコン PIC24シリーズに 対 応 したPICマイコンライター EPIC-9 50を 販 売 しております その 他 純 正 のPICKit3(2)や ICD3 サードパーティー 製 の 秋 月 電 子 株 式 会 社 様 製 のライターなども 使 えます DEFINEに 続 く 文 字 は 必 ず 大 文 字 で 記 述!! PBP3には 各 種 定 義 をするためのDEFINEというキーワードがあります 例 えばクロック 周 波 数 など を 定 義 する DEFINE OSC や 非 同 期 シリアル 通 信 (UART)の 通 信 速 度 を 定 義 する DEFINE HSE R_BAUD などです これらのDEFINEに 続 く 文 字 は 必 ず 大 文 字 にするという 決 まりがあります 大 文 字 で 記 述 していないとPBP3は 正 しくその 定 義 を 認 識 しません DEFINE hser_baud 9600 DEFINE HSER_BAUD 9600 小 文 字 で 記 述 しているので 認 識 しない!! 大 文 字 で 記 述 しているので 正 しく 認 識 する "DEFINE 全 文 は 必 ず 大 文 字 "ということを 忘 れずにプログラミングをお 願 い 致 します

24 4.いろいろなチュートリアル 4-1 ポート 単 位 でのH-L 制 御 先 のチュートリアルでは ビット 単 位 (ピン 単 位 )でH-Lの 制 御 をしました ここでは ポート 単 位 で 各 ビットのH-Lを 指 定 して 制 御 する 方 法 を 紹 介 します 学 習 の 内 容 ポート 単 位 で 各 ビットの 論 理 を 制 御 する プログラムの 内 容 PORTCとPORTDをそれぞれポート 単 位 で 制 御 させて 点 滅 させる プログラムを 書 いてみましょう 次 のようにプログラムを 記 述 してみましょう 下 の 四 角 い 枠 の 中 です 右 側 は プログラムの 解 説 です DEFINE OSC 20 ADCON1 = 7 TRISC = 0 TRISD = 0 main: PORTC = % PORTD = % Pause 500 PORTC = % PORTD = % pause 500 Goto main 120MHzに 設 定 2ADコンバーターをOFF すべてのI/Oはデジタルモード 3TRISxレジスタに 値 を 代 入 PORTCとPORTDは 全 ピン 出 力 方 向 4PORTCに2 進 数 の 値 を 代 入 5500ミリ 秒 のディレイ 6mainラベルへ 戻 る End プログラムの 解 説 1プログラムの 先 頭 では 必 ず"DEFINE OSC"によって 動 作 周 波 数 を 指 定 します 動 作 周 波 数 の 指 定 が 正 しくない 場 合 には タイミング 処 理 をする 命 令 が 正 しく 動 作 しません DEFINE OSCは 必 ず 大 文 字 でMHz 単 位 で 記 述 します 2PIC16F877AのようにADコンバーターを 搭 載 したデバイスでは 電 源 投 入 時 はADコンバーター 用 の 入 力 ピンはすべてアナログ 入 力 モードになっています アナログ 入 力 モードでは 通 常 のデジタルI/Oと しての 使 用 ができないため ADコンバーター 関 連 のレジスタに 値 を 代 入 してデジタルモードに 設 定 し ています 16F877Aの 場 合 にはADCON1レジスタの 状 態 を " " すなわち10 進 数 表 記 で は7を 代 入 すると 全 ピンがデジタルI/Oピンとして 使 用 できます デバイスの 種 類 によって 値 やレジスタの 名 前 などが 異 なっていますので 必 ず 使 用 するデバイスのデ ータシートをご 確 認 ください PBPでは レジスタ 名 = 値 でレジスタに 任 意 の 値 を 代 入 できます 例 えば PIC16F1939などのデバイスの 場 合 にはANSELAレジスタなどで 設 定 します 使 うマイコンによってレジスタ 名 が 違 いますので 必 ずデータシートでご 確 認 ください 3PICマイコンで 各 ピンの 入 出 力 方 向 の 設 定 はTRISxレジスタで 行 います TRISxレジスタの 該 当 ビット が0の 場 合 には 出 力 1の 場 合 には 入 力 となります

25 4PORTCレジスタおよびPORTDレジスタに 値 を 代 入 しています PBPでは2 進 数 を 表 現 する 場 合 には%をつけて 記 述 します (10 進 数 表 現 の 場 合 には 何 もつけません) 該 当 のビットが0の 場 合 にはLレベル 1の 場 合 にはHレベルとなります 5Pause 命 令 はプログラム 中 で 一 時 停 止 を 作 ります 単 位 はミリ 秒 です 6Goto 命 令 は 任 意 のラベルに 処 理 を 飛 ばすことができます コンパイル 前 にファイルを 保 存 しましょう プログラムが 完 成 したらコンパイルする 前 にファイル 名 をつけて 保 存 します 今 回 作 成 したプログラムに"blink.pbp"というファイル 名 をつけて 保 存 しましょう 1MCSのメニューバー "File"メニューから"Sava As"をクリックします 2ダイアログが 表 示 されますのでプログラム 名 をつけて 保 存 しましょう ファイル 名 の 部 分 に"blink.pbp"と 入 力 して" 保 存 "ボタンを 押 します コンパイルしてみましょう 1コンパイルする 前 にデバイスの 種 類 を 設 定 しましょう プルダウンからPIC16F877Aを 選 択 します 2デバイスの 種 類 を 選 択 したら"Compile"ボタンをクリックします なお その 右 隣 のボタンは コンパイルと 書 き 込 みボタン です 当 方 のマイ コンライター(EPIC-950)やPIC 統 合 評 価 ボード(PICD-700SX)をお 持 ちの 場 合 にはコンパイルと 書 き 込 みを 連 動 実 行 できます 3コンパイル 中 は コマンドプロンプトが 一 瞬 表 示 されますがそのままお 待 ちください コンパイルが 正 常 に 完 了 するとステータスバーに"success: words used"と 表 示 されます エラーがあった 場 合 には エラーの 内 容 が 表 示 されますので タイプミスなどエラーを 訂 正 します コンパイルによって 生 成 されたHEXファイルはソースプログラムと 同 じディレクトリに 作 られています ここで 生 成 させたHEXファイルをPICマイコンライターでPICマイコンへ 書 き 込 みます なお HEXファイルを 単 にPICマイコンへ 書 き 込 めばすぐに 動 くというわけではありません 書 き 込 み 時 にはコンフィギュレーションビットとよばれるPICマイコンの 基 本 項 目 を 設 定 するレジスタの 内 容 を 正 しく 設 定 した 状 態 でPICマイコンへ 書 き 込 む 必 要 があります コンフィギュレーションビットの 設 定 は HEXファイルをPICマイコンへ 書 き 込 む 際 に 書 き 込 み 用 ソフ トウエアで 設 定 します 詳 しくはPICマイコンライターのマニュアルをご 参 照 ください なお PBPのソースプログラム 内 にコンフィギュレーションビットの 設 定 値 を 記 述 することもできま すが その 場 合 にはあらかじめ 設 定 と 記 述 する 書 式 があります 詳 しくは 本 書 の44ページをご 覧 くだ さい

26 4-2 IF 文 を 使 ったプログラム IF 文 を 使 用 し 状 態 や 条 件 に 応 じて 処 理 を 分 岐 するプログラムです 学 習 の 内 容 このプログラムでは 任 意 のピンの 状 態 をIF 命 令 を 使 用 して 判 定 し 処 理 内 容 を 分 岐 する 方 法 について 学 習 します この 方 法 は 入 力 処 理 としてよく 利 用 されます PBPではHレベルの 状 態 を1 Lレベルの 状 態 を0として 表 現 します プログラムの 内 容 PORTBのビット0(RB0と 表 現 します)をLowレベルにすると 500ミリ 秒 間 PORTD.2(RD2)がHレベルに なります 次 にPORTBのビット1(RB1)をLowレベルにすると1 秒 間 PORTD.3(RD3)がHレベルになりま す 下 記 に 参 考 回 路 図 を 示 します 下 記 は 例 としてPIC16F877Aを 使 用 した 場 合 です スイッチはアクティブLowにします LEDを 接 続 する 場 合 には 電 流 制 限 用 の 抵 抗 を 取 り 付 けます 上 記 の 回 路 図 では VssとVddの 処 理 は 省 略 しています

27 プログラムを 書 いてみましょう DEFINE OSC 20 ADCON1 = 7 LED1 var PORTD.2 LED2 var PORTD.3 1 文 字 列 LED1にPORTD.2(RD2)を 割 り 当 て 1 同 様 にしてLED2という 文 字 列 にRD3を 割 り 当 て main: If PORTB.0 = 0 then High LED1 Pause 500 Low LED1 Endif If PORTB.1 = 0 then Blink 2RB0がL(=0)の 時 に Endifまでの 間 のルーチンを 実 行 する 3RB1がL(=0)の 時 にラベルBlinkにジャンプする Goto main ラベルmainに 戻 る Blink: High LED2 Pause 1000 Low LED2 ラベルBlinkを 定 義 3の 条 件 文 が 真 の 時 ここにジャンプする Goto main ラベルmainに 戻 って 処 理 を 繰 り 返 す プログラムの 解 説 1 別 名 宣 言 という 方 法 で エイリアスと 呼 ばれます 通 常 ピン 名 は"PORTD.2"のように 記 述 しますが あらかじめ 分 かりやすい 文 字 列 にピン 別 名 で 宣 言 させることができます 宣 言 をしておくとそれ 以 降 プログラム 中 ではこの 別 名 を 使 ってピンにアクセスできます そのピンに 接 続 されている 回 路 や 部 品 に 名 前 をピン 名 としてエイリアスで 割 り 当 てておくことで プ ログラムが 書 きやすくなります 2 IF 命 令 を 用 いたIF 文 です IF 文 にはいくつかの 書 式 があり 別 の 書 式 が3に 示 してあります If 条 件 式 then ~ Endif で 記 述 するIF 文 は 条 件 式 を 評 価 した 値 が 真 の 時 にEndifまでの 間 の ルーチンを 実 行 します 条 件 式 が 偽 の 時 は Endif 以 降 にプログラムがジャンプします ここでは If PORTB.0 = 0 then となっていますので RB0の 入 力 状 態 が0 すなわちLowレベル の 時 Endifまでの 間 のルーチンが 実 行 されます IF 文 は 計 算 結 果 の 判 定 やポートの 状 態 の 判 定 など 様 々な 分 岐 処 理 で 使 用 できます もちろん 条 件 式 には 論 理 演 算 子 を 用 いた 論 理 式 を 記 述 することもできます 3 IF 命 令 のもう 一 つの 書 式 です thenの 後 ろにラベルを 記 述 することで 条 件 式 が 真 の 時 指 定 したラベルへジャンプします ここでは RB1が0になった 時 にラベルBlinkへ 処 理 をジャンプさせます

28 4-3 IF 文 で 比 較 演 算 子 変 数 及 び 算 術 演 算 子 を 使 用 するプログラム 学 習 の 内 容 IF 文 において 条 件 式 に 比 較 演 算 子 を 用 いる 方 法 を 紹 介 します 未 満 や 以 下 といった 表 現 を 使 います またここでは 変 数 の 使 い 方 を 紹 介 しています 宣 言 の 仕 方 や 算 術 演 算 子 を 使 って 演 算 結 果 を 変 数 に 代 入 する 方 法 を 学 習 します プログラムの 内 容 RB0がLowレベルになった 回 数 によって 処 理 を 分 岐 します 押 した 回 数 が10 回 未 満 ならばRC0を 点 灯 させ 10 回 以 上 ならばRC2を 点 灯 させます プログラムを 書 いてみましょう DEFINE OSC 20 ADCON1 = 7 result var LED1 var LED2 var result = 0 byte PORTC.0 PORTC.2 1 変 数 resultをbyte 型 で 宣 言 エイリアス エイリアス 2 変 数 resultに0を 代 入 ( 変 数 の 初 期 化 ) main: If PORTB.0 = 0 then result = result + 1 Goto judge Endif Goto main judge: If result 10 then High LED1 Endif If result = 10 then High LED2 Endif Pause 300 RB0が0の 時 3 変 数 resultの 値 を1ずつインクリメント 変 数 resultの 値 を 判 定 4 変 数 resultの 値 が10 未 満 の 時 LED1をHレベルにする 5 変 数 resultの 値 が10 以 上 の 時 LED2をHレベルにする 6チャタリング 防 止 用 ディレイ0.3 秒

29 プログラムの 解 説 1 文 字 列 resultをバイト 型 の 変 数 として 宣 言 しています 変 数 の 宣 言 は 文 字 列 var 型 という 書 式 で 行 います 型 は3 種 類 あり 格 納 できる 数 値 の 最 大 値 が 異 なります ここで 宣 言 しているbyte 型 は 最 大 値 が255までです 型 は 変 数 の 用 途 に 応 じて 格 納 が 最 大 値 を 予 測 して 適 切 な 型 で 宣 言 する 必 要 が あります 変 数 名 は 自 由 につけられますが 予 約 後 やラベルとして 使 用 している 文 字 列 は 使 用 できません なるべくわかりやすく 短 い 文 字 列 にします PBPでは 変 数 が 宣 言 されると 自 動 的 にメモリ 領 域 を 確 保 します 2 宣 言 した 変 数 を 初 期 化 します 変 数 resultに0を 代 入 しています 変 数 を 使 用 する 前 には 必 ず 変 数 を 初 期 化 する 必 要 があります 変 数 への 値 の 代 入 は=( 等 号 )を 用 いて 右 辺 から 左 辺 に 代 入 されます 3 インクリメントの 方 法 です インクリメントとは 変 数 の 値 を1ずつ 増 加 させるという 意 味 です ここではスイッチが1 回 押 されるたびに 変 数 resultの 値 が1ずつ 増 加 しています 4 比 較 演 算 子 を 用 いたIF 文 です 比 較 演 算 子 の<は 未 満 の 時 に 使 用 します result < 10 は"resultの 値 が10 未 満 "となります 5 10 以 上 という 意 味 です 以 上 及 び 以 下 の 場 合 にはその 数 も 含 むので 不 等 号 の 後 に=をつけます 6 このPauseは 連 続 したボタン 入 力 を 防 ぐためのものです このPauseがないとボタンを1 回 押 しただ けで 何 回 も 押 されたことになってしまい 誤 作 動 していまいます 300ミリ 秒 待 つことで 誤 作 動 を 防 止 しています またチャタリングの 防 止 にもなっています

30 4-4 RS-232C 経 由 で 受 信 したデータ( 値 )をLCDに 表 示 するプログラム 学 習 の 内 容 RS-232C 経 由 でパソコンから 送 られてきたデータをLCDに 表 示 する 方 法 を 学 習 します SERIN2 命 令 とSEROUT2 命 令 を 使 ってデータを 送 受 信 します ここでは 配 列 の 使 い 方 について 学 習 しまょう プログラムの 内 容 通 信 速 度 9600bps データ 長 8ビット ストップビット1 パリティなし の 設 定 でRS232C 通 信 を 行 いま す PICマイコンとパソコンのRS232Cは 直 接 接 続 できませんのでレベル 変 換 用 IC(MAX232など)を 用 いて 接 続 します PICマイコンのRC7をRX( 受 信 データ)に RC6をTX( 送 信 データ)とします パソコンから 送 られてきた2バイトのデータを 受 信 してその 内 容 を 文 字 列 としてLCDに 表 示 します またデータを 受 信 したら"REC"という 文 字 列 をパソコン 側 に 送 信 します プログラムを 書 いてみよう DEFINE OSC 20 ADCON1 = 7 vars: Rx var PORTC.7 Tx var PORTC.6 rec var byte 2 1 要 素 数 2のバイト 型 配 列 を 宣 言 しています ser: jud: Serin2 Rx, 84, STR rec 2 Lcdout$fe,1,"Receive=",STRrec 2 Serout2 Tx, 84, "REC" 2データを 受 信 し 配 列 recに2バイト 格 納 します 3LCDに 文 字 列 と 受 信 した 文 字 を 出 力 します 4 文 字 列 "REC"を 送 信 します Goto ser プログラムの 解 説 12バイト 以 上 のデータを 受 信 する 場 合 には 配 列 を 使 用 します 配 列 は 変 数 と 違 い 連 続 したメモリ 領 域 を 確 保 します 配 列 にも 型 があります ここではbyte 型 の 配 列 を2つ 作 るよう 宣 言 しています 配 列 の 要 素 数 の 型 の 後 ろに[ ]を 記 述 して 要 素 数 を 括 弧 内 に 記 述 します 通 常 データ 通 信 で 文 字 を 送 受 信 する 場 合 には8ビット 長 のASCIIコードとなります よって 配 列 はbyte 型 でよいことになります 2SERIN2 命 令 は 非 同 期 シリアル 通 信 にてデータをRXで 指 定 したピンから 受 信 し 配 列 又 は 変 数 に 値 を 格 納 します 書 式 は SERIN2 受 信 ピン モード 番 号 [ 配 列 又 は 変 数 ] です モード 番 号 は 通 信 速 度 とデータ 長 パリティの 設 定 などを 決 めた 番 号 です 84は 9600bps データ 長 8ビット 長 1ストッ プビット ノンパリティ という 構 成 になります この 値 の 決 め 方 はSERIN2 命 令 の 解 説 ページに 記 載 さ れています 複 数 バイトを 受 信 する 場 合 には [ ] 内 にSTR 修 飾 子 を 使 用 します [STR 配 列 \バイト 数 ] という 書 式 により 指 定 したバイト 数 を 配 列 に 取 り 込 むことができます 本 例 では2バイトです 3 受 信 したデータをLCDに 出 力 します "$fe 1"はLCDの 制 御 コマンドでLCDをクリアするコマンドです 出 力 したい 文 字 列 は"(ダブルクォーテーション)で 囲 みます "で 囲 むことで 文 字 列 として 認 識 されま す LCDOUT 命 令 でもSTR 修 飾 子 が 使 用 できます LCDOUT 命 令 でSTR 修 飾 子 を 使 用 すると 配 列 に 格 納 されているデータを 指 定 したバイト 数 分 文 字 列 として(ASCIIコードの 値 ではなく) 表 示 します ここでは 配 列 recに 格 納 されたデータを2バイト 分 出 力 しています 4Serout2 命 令 でデータをシリアル 経 由 で 出 力 しています 出 力 する 文 字 列 は"で 囲 みます 出 力 するデータには 文 字 列 の 他 に 変 数 や 配 列 が 利 用 できます

31 4-5 TMR0の 割 込 を 用 いたプログラム 学 習 の 内 容 割 り 込 みを 処 理 する 命 令 とPICマイコンに 内 蔵 のTMR0を 利 用 して 正 確 な1 秒 を 作 り 出 すタイマーを 作 成 します On Interrupt 命 令 の 使 い 方 やレジスタの 値 の 設 定 方 法 などを 学 習 します プログラムの 内 容 LCDに4 桁 で 秒 数 を 表 示 します 電 源 を 入 れると1 秒 毎 にカウントを 開 始 します 割 り 込 みの 使 い 方 やTMR0の 利 用 方 法 レジスタの 設 定 方 法 などを 学 習 してください なお 正 確 な1 秒 を 作 り 出 すためには 動 作 周 波 数 を MHzとする 必 要 があります MHzや12.8MHzにて 正 確 な1 秒 が 作 れます 発 振 子 は 一 般 的 に 販 売 されています プログラムを 書 いてみよう second var ticks var update var second = 0 ticks = 0 update = 1 byte byte byte タイマー 計 測 に 使 用 する 変 数 を 宣 言 宣 言 した 変 数 を 初 期 化 OPTION_REG = % INTCON = % On Interrupt Goto tickint main: If update = 1 then Lcdout $fe, 1 Lcdout dec4 second update = 0 EndIf Goto main Disable tickint: ticks = ticks + 1 If ticks 64 Then tiexit second = second + 1 update = 1 ticks = 0 tiexit: INTCON.2 = 0 Resume Enable END 1オプションレジスタに 値 を 設 定 割 込 有 効 2INTCONレジスタを 設 定 3 割 込 処 理 を 有 効 にするOn Interrupt 命 令 を 記 述 割 込 発 生 でtickintラベルへジャンプする 変 数 updateの 値 が1ならば LCDの 表 示 を 更 新 4DEC 修 正 子 により 表 示 を10 進 数 4 桁 指 定 5 通 常 ルーチンを 無 効 に 設 定 割 込 発 生 でここに 処 理 が 移 る ticks 変 数 をインクリメント 6 割 込 発 生 回 数 が64 未 満 ならば 割 込 処 理 終 了 割 込 回 数 が64で 秒 をインクリメント 秒 が 変 更 されたことを 通 知 割 込 発 生 回 数 カウンタを 初 期 化 7INTCONレジスタのビット7を0に 初 期 化 8 割 込 ルーチンを 終 了 して 通 常 ルーチンへ 戻 る 9 通 常 ルーチンを 有 効 にする

32 プログラムの 解 説 1 レジスタに 値 を 直 接 代 入 しています 2 進 数 で 値 を 表 記 する 場 合 には "%"を 付 けます PBPでは レジスタ 名 = 値 でレジスタに 直 接 値 を 設 定 できます OPTION_REGレジスタは TMR0に 関 しての 各 種 設 定 ができます TMR0は8ビットのアップカウンタ です カウンタの 入 力 部 にはプリスケーラーがあり 入 力 されたクロック 信 号 を8 段 階 で 分 周 できます これにより 周 波 数 を 低 く 変 換 してタイマとして 使 用 することが 可 能 になります ここではOPTION_REGレジスタに% を 設 定 します この 設 定 は 下 記 の 通 りです クロックソースは 内 部 クロック 使 用 フ リスケーラー 分 周 率 は1/64 フ リスケーラーはTMR0に 使 用 OPTION_REGレジスタの 内 容 は PICマイコンのデータシートをご 覧 ください 2 割 り 込 み 処 理 はINTCONレジスタを 操 作 することで 実 現 します INTCONレジスタの 詳 細 はPICマイコンのデータシートをご 参 照 ください ここでは TMR0の 割 込 を 有 効 に 設 定 し その 他 の 割 込 は 無 効 に 設 定 しています その 設 定 値 が% となります INTCONレジスタのビット2はTMR0オーバーフロー 時 すなわち 割 込 発 生 後 に1になります この 値 が 1になることを 検 出 して 割 込 発 生 を 処 理 しています この 値 は ソフトウエア 側 で 割 込 ルーチン 終 了 時 に 必 ず0に 初 期 化 しなければなりません(7の 位 置 ) 3 On Interrupt Goto ラベル 名 命 令 は 割 込 処 理 を 有 効 にする INTCONレジスタで 有 効 に 設 定 した 割 込 が 発 生 するとラベル 名 で 指 定 したラベルにジャンプします なお この 命 令 は1つのプログラム 内 で 必 ず1つのみ 記 述 できます 重 複 した 割 込 はサポートしません 4 LCDOUT 命 令 で 使 用 できる 修 正 子 DECです DEC 修 正 子 を 使 用 すると 変 数 に 格 納 された 値 を 必 ず 10 進 数 で 表 示 します またDECの 後 ろに 数 値 を 記 述 すると 指 定 した 桁 数 の 重 みを 付 けられます DEC4と 記 述 することで 変 数 の 値 が"1"であっても 0001 と 表 示 されます なお DECの 他 に16 進 数 指 定 のHEX 2 進 数 指 定 のBIN 修 正 子 があります 5 割 込 ルーチンと 通 常 ルーチンの 境 界 部 分 にDisable 命 令 を 記 述 します これによりDisable 命 令 以 降 は 割 込 ルーチンとして 認 識 され 割 込 発 生 時 以 外 には 実 行 されなくなりま す 6 TMR0は8ビット 長 のタイマーですが オーバーフローすると 割 込 を 発 生 します ON INTERRUPT 命 令 が 記 述 されているため 割 込 が 発 生 すると tickintラベルへ 処 理 が 飛 んできま す TMR0がオーバーフローする 周 波 数 は 下 記 の 数 式 で 求 めます オーバーフロー 周 波 数 =システムクロック 4 プリスケーラ 分 周 比 256 動 作 クロックは MHzとしていますから 計 算 は 下 記 のようになります (MHz) 4 64(フ リスケーラー 分 周 比 ) 256 = 64(Hz)となります 周 波 数 の 逆 数 を 計 算 して 秒 にすると ミリ 秒 となり ミリ 秒 毎 に 割 込 が 発 生 することになります この 値 を1 秒 で 割 ると 64になり 64 回 割 込 が 発 生 すると1 秒 になると 算 出 できます よって64 未 満 であれば 再 度 カウントをし 64になった 時 に 秒 の 値 をインクリメントすれば1 秒 ずつカ ウントするタイマーが 作 れることになります 7 割 込 処 理 が 終 了 し メインルーチンへ 戻 る 際 にはINTCONレジスタのビット2をクリアします 8 割 込 ルーチンからメインルーチンへ 戻 る 際 にはResume 命 令 を 使 用 します 割 込 発 生 時 のジャンプ 元 に 戻 ります PAUSE 命 令 は 使 用 できないの? 1 秒 を 作 るならば PAUSE 命 令 を 使 用 して"PAUSE 1000"と 記 述 した 方 が 簡 単 にタイマーが 作 れそう です しかしPAUSE 命 令 はTMR0を 使 用 しているわけではなく アセンブラ 言 語 レベルで 小 休 止 の 命 令 を たくさん 組 み 合 わせて 擬 似 的 に 時 間 を 作 り 出 しています よって PAUSE 命 令 が 作 る 遅 延 時 間 は 精 度 の 高 い 時 間 ではないのです PAUSE 命 令 で 時 計 を 作 るとすぐに 狂 ってしまいます 精 度 が 高 い 時 間 計 測 が 必 要 な 場 合 には 高 精 度 の 水 晶 発 振 子 とTMR0の 組 み 合 わせで 作 るのが 原 則 です

33 4-6 ADコンバーターを 使 用 したプログラム 学 習 の 内 容 PIC16F877Aには10ビットの 逐 次 変 換 型 ADコンバーターを 搭 載 しています 8 入 力 でサンプルホールド 機 能 を 搭 載 した 高 機 能 なものです AD 変 換 の 速 度 は 発 振 周 波 数 の1/2 1/8 1/32から 選 択 できる 他 内 蔵 している 専 用 のRC 発 振 回 路 からのクロック 供 給 にも 切 り 替 えられます AD 変 換 によって 入 力 された 電 圧 はVrefの 値 により 規 定 されます Vrefの 値 をVddとした 場 合 Vddの 電 圧 値 が 印 加 された 時 が1023になります ここでは ADコンバーター 用 の 命 令 ADCIN 命 令 の 使 い 方 と ADコンバーター 関 連 のレジスタの 設 定 方 法 を 学 習 します プログラムの 内 容 RA2に 印 加 された 電 圧 値 によって LCDに"0000~1023"の 範 囲 で 値 を 表 示 します 0Vは0000 Vdd 電 圧 の 時 に1023となるようにします 本 チュートリアルではVddを5Vとします プログラムを 書 いてみよう. DEFINE OSC 20 DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLE 50 ADCON1 = % TRISA = % ADResult var word NowData var word adresult = 0 NowData = 0 1ADコンバーターを10ビットに 指 定 2クロックは 内 蔵 の 専 用 RC 発 振 子 使 用 3サンプリング 時 間 は50マイクロ 秒 に 設 定 4ADCON1レジスタを 設 定 5TRISAレジスタを 設 定 AD 変 換 後 の 値 を 代 入 するための 変 数 を 宣 言 表 示 更 新 確 認 用 の 待 避 変 数 を 宣 言 変 数 を 初 期 化 Acquisition: IF NowData!= ADResult then LCDOUT $fe,1, DEC4 ADResult NowData = ADResult EndIf ADCIN 2, ADResult GOTO Acquisition 6AD 変 換 結 果 の 値 が 更 新 されたかを 確 認 更 新 された 場 合 にはLCDの 表 示 を 更 新 する 現 在 のAD 変 換 値 を 待 避 7AN2の 電 圧 値 をADCIN 命 令 で 取 得 END

34 プログラムの 解 説 1ADコンバーター 関 連 の 命 令 ADCIN 命 令 用 には3つのDEFINEがあり 基 本 動 作 を 設 定 します DEFINE ADC_BITSによりADコンバーターの 分 解 能 を 指 定 します 値 は が 指 定 できます 使 用 するデバイスにより 値 を 適 切 に 設 定 します 2ADコンバーターのサンプリング 周 波 数 の 時 間 を 生 成 する 発 振 源 を 選 択 します 内 蔵 RC 発 振 子 の 場 合 には3を 指 定 します 3サンプリング 時 間 をマイクロ 秒 単 位 で 指 定 します ここで 設 定 した 時 間 が 取 得 時 間 となります 本 例 では50マイクロ 秒 と 設 定 しました 4ADCON1レジスタでどのピンをアナログ 入 力 にして Vrefの 値 をどのように 設 定 するのかを 指 定 しま す 今 回 はRA2のAN2をアナログ 電 圧 入 力 とし VrefはVddとして 使 用 したいので RA2がアナログ 入 力 でVref=Vddとなる 値 を 設 定 しています 設 定 値 の 詳 細 はPICマイコンのデータシートをご 覧 くださ い なお ADコンバーターの 値 は10ビットですがADコンバーターの 値 を 格 納 するレジスタは 物 理 的 に8 ビットです そのため 2ビット 分 の 格 納 のために 別 のレジスタを 使 用 します このとき 上 位 2ビットを 別 のレジスタとするのか 下 位 2ビットを 別 のレジスタとするのかをADCON1レジスタのビット7で 設 定 し ます PBPは 必 ず 上 位 2ビットを 上 位 レジスタに 格 納 する 指 定 " 右 詰 指 定 "としなければなりません そ のため 必 ずADCON1のビット7は1となります 5ADCIN 命 令 を 使 用 する 場 合 には 必 ず 該 当 ポートの 入 出 力 方 向 設 定 用 のレジスタTRISxレジスタの 設 定 をしなくてはなりません この 設 定 が 適 切 でないと 思 わぬ 故 障 や 動 作 をしてしまうことがあります 本 チュートリアルでは RA2だけが 入 力 でいいので% と 設 定 しています 6AD 変 換 の 結 果 が 新 しい 値 に 更 新 された 時 だけLCD 表 示 を 更 新 させるために 工 夫 が 必 要 です "!=" 演 算 子 は ~ではない という 否 定 です 変 数 NowDataの 値 と 変 数 ADResultの 値 が 不 一 致 の 場 合 のみLCD 表 示 を 更 新 させます これによりLCD 表 示 のちらつきを 抑 えることができます 7ADCIN 命 令 で 電 圧 値 を 指 定 した 変 数 に 取 り 込 みます ADCIN チャンネル 数 変 数 の 書 式 で 記 述 しま す このとき 取 り 込 むピンの 指 定 はチャンネル 数 で 行 うことです ピンの 名 前 ではないことに 注 意 し てください チャンネル 名 は PICマイコンのデータシートに AN2 などとANという 文 字 の 後 ろに 記 述 された 数 値 です PIC16F877AはたまたまRA2がAN2なので 2 と 指 定 していますが この 値 が 異 な ることがあるので 注 意 してください 10ビットの 分 解 能 をもつADコンバーターですので 変 数 にはWord 型 変 数 を 使 用 しています

35 4-7 PIC18F452で32ビット 変 数 を 使 用 するプログラム 学 習 の 内 容 よりプログラムメモリー 容 量 が 大 きく 高 機 能 化 したPIC18F452のプログラムを 作 成 します PIC18Fシリーズでは32ビット 変 数 のLong 型 が 使 用 できるので Long 型 変 数 を 使 用 した 演 算 を 行 い そ の 結 果 をLCDに 表 示 させます プログラムの 内 容 ADコンバーターのAN0とAN1の2チャンネル 使 用 し 両 方 の 値 を 取 得 して 値 をLCDの1 行 目 に 表 示 しま す その2 値 を 乗 算 し 乗 算 結 果 をLCDの2 行 目 に 表 示 させます プログラムを 書 いてみよう DEFINE OSC 20 動 作 周 波 数 を20MHzに 設 定 AD_RES0 VAR WORD AD_RES1 VAR WORD TOTAL VAR LONG AN0 用 の 変 数 を 宣 言 AN1 用 の 変 数 を 宣 言 乗 算 結 果 用 の 変 数 を 宣 言 1 TRISA = 255 ADCON1 = % RA 全 ピン 入 力 ADコンバーター 設 定 ad_aqu: ADCON0 = % 'AN0 ADCIN 0, AD_RES0 AN0からアナログ 電 圧 取 得 変 数 AD_RES0に 値 を 取 得 ADCON0 = % 'AN1 ADCIN 1, AD_REs1 AN1からアナログ 電 圧 取 得 変 数 AD_RES1に 値 を 取 得 LCDOUT $fe,1, dec4 AD_RES0," * ",DEC4 AD_RES1 TOTAL = AD_RES0 * AD_RES1 LCDOUT $fe,$c0, DEC TOTAL PAUSE 100 GOTO ad_aqu LCDに 表 示 (1 行 目 ) 乗 算 しTOTAL 変 数 に 代 入 2 2 行 目 に 乗 算 結 果 を 表 示 0.1 秒 ディレイ 再 度 ad_aquに 戻 る END

36 PIC18FシリーズでLong 型 変 数 が 使 用 できるように 設 定 しましょう PBP3では PIC18Fシリーズに 限 り 32ビット 長 の 値 を 格 納 できるLong 型 変 数 が 使 えます Long 型 変 数 を 使 用 したプログラムをコンパイルするには PBPLという 拡 張 されたPBPを 使 用 してコン パイルする 必 要 があります PBPLを 使 用 できるように 設 定 しましょう MCSのメニューバーの"View" "Compile and Program Options"をクリックします ダイアログが 表 示 されますので"Use Compiler Long Words"にチェックを 入 れてOKボタンを 押 します これで Long 型 変 数 を 使 用 したプログラムをコンパイルできるようになりました コンパイルなどの 操 作 方 法 はこれまでと 同 様 です プログラムの 実 行 結 果 今 回 の 設 定 では ADコンバーターのVref+はVddに Vref-はGNDに 設 定 していますので 0V~Vcc 電 圧 の 範 囲 で10ビットの 分 解 能 のADコンバーターの 値 が 得 られます 最 大 でも = と なり Long 型 変 数 の 範 囲 内 になります LCDの1 行 目 には AN0とAN1の 値 がそれぞれ4 桁 の10 進 数 で 表 示 されます LCDの2 行 目 には 2 値 を 乗 算 した 結 果 が10 進 数 で 表 示 されます プログラムの 解 説 1 Long 型 は PIC18Fシリーズを 使 用 した 場 合 に 限 り 使 用 できる32ビットサイズの 型 です 0~ の 値 を 扱 うことができます Long 型 変 数 を 使 用 したプログラをコンパイルする 場 合 には 必 ずPBPLを 使 用 する 必 要 があります 2 PBPでは 型 変 換 は 暗 黙 のうちに 自 動 的 に 行 われます 規 則 としては 大 きいサイズの 型 に 合 わせられ ます ここでは ワード 型 ワード 型 というワード 型 同 士 の 乗 算 ですが 結 果 がLong 型 になるため 結 果 はLong 型 変 数 に 代 入 しています このような 型 の 異 なる 変 数 同 士 の 演 算 でもPBPが 自 動 的 に 型 変 換 をします

37 4-8 PIC12F675のプログラム 学 習 の 内 容 8ピンのデバイスPIC12F675 用 のプログラムを 作 成 します PIC12F675はI/Oポートの 数 が 少 ないた めI/Oポートを 最 大 限 利 用 するため 外 部 にリセット 回 路 や 発 振 回 路 を 付 けずに 内 部 発 振 を 利 用 したプ ログラムの 作 成 方 法 を 解 説 します プログラムの 内 容 PIC12F675を 内 蔵 発 振 で4MHzにて 動 作 させます GP3(MCLRピン)は 入 力 ポートとして 使 用 し アクテ ィブHighにします GP3がHighレベルの 時 GP4とGP5が 交 互 に0.5 秒 間 隔 で 点 滅 します GP3がLowレ ベルになると GP4とGP5は 消 灯 し GP0 GP1 GP2 GP0 の 順 で0.5 秒 間 隔 で 点 灯 を 繰 り 返 すプ ログラムを 作 ります ( 点 灯 とは 該 当 ピンがHighのことを 指 しています) プログラムを 書 いてみよう ' test675.bas ANSEL = 0 : CMCON = 7 TRISIO = % GPIO = 0 i var byte main: If GPIO.3 = 1 then blinkled If GPIO.3 = 0 then shiftled Goto main blinkled: GPIO = 0 High GPIO.4 Low GPIO.5 Pause 500 Low GPIO.4 High GPIO.5 pause 500 Goto main shiftled: GPIO = % Pause 500 For i = 1 to 2 GPIO = GPIO 1 Pause 500 Next i Goto main End

38 プログラムの 解 説 1 PIC12F675のような8ピンデバイスでは I/Oポートの 入 出 力 方 向 の 設 定 は TRISIOレジスタで 行 い ます 通 常 PBPの 命 令 を 使 用 する 場 合 には 入 出 力 方 向 は 自 動 的 に 設 定 されますが 直 接 ピンの 状 態 を 変 更 する 場 合 などは TRISIOレジスタを 手 動 で 設 定 した 方 が 安 全 です TRISIOレジスタでは 該 当 ビットが0で 出 力 に 1で 入 力 に 設 定 されます 2 各 ピンの 指 定 は "GPIO.ビット 数 "という 書 式 で 行 います 例 えばGP3であれば GPIO.3というように 設 定 します 3 "<<"は 左 シフト 命 令 です 書 式 は レジスタ 又 は 変 数 名 << シフト 数 です こごては 1つずつGPIOレジスタの 内 容 を 左 シフトしています 最 新 のPIC12シリーズマイコン PIC12F182xではPORT 名 はPORTAに 統 一 されていますので PIC12F 1822などのマイコンを 使 う 場 合 には8ピンデバイスであってもGPIOではなくPORTAとしてプログラムを 作 ってください

39 5.PICBASIC PRO Compilerの 変 数 と 配 列 5-1 変 数 の 種 類 変 数 とは プログラム 内 で 一 時 的 に 数 値 を 格 納 しておく 箱 のようなものです 実 体 は PICマイコンの 中 に あるRAMにある 領 域 を 確 保 し そこに 値 を 一 時 的 に 記 憶 させます 変 数 を 宣 言 すると PBPはRAMに 変 数 用 のメモリー 領 域 を 確 保 します 変 数 は 使 用 する 前 に 必 ず 宣 言 が 必 要 です 宣 言 は 一 般 的 にプログラムの 先 頭 で 行 います PBPでは 下 記 の 書 式 で 変 数 を 宣 言 します 変 数 名 VAR 型 型 は4 種 類 から 選 択 できます 但 し 32ビット 長 のLONG 型 はPIC18Fシリーズでしか 使 用 できません 型 名 ビット 長 最 大 値 (10 進 ) BIT 1 0~1 BYTE 8 0~255 WORD 16 0~65535 LONG ~ PIC10F 12F 16Fのデバイスでは BIT 型 からWORD 型 までが 使 用 できます PIC18Fシリーズに 限 りBIT 型 からLONG 型 までが 使 用 できます PICマイコンは 内 部 のRAMの 容 量 が 少 ないですので 適 切 な 型 を 選 ぶ 必 要 があります 大 は 小 を 兼 ねると いう 選 定 はよくありません ビット 長 変 数 の 使 い 方 32ビットの 値 を 格 納 できるLONG 型 は PIC18Fシリーズのプログラムにのみ 使 用 できる 型 ですが この 型 を 使 用 したプログラムをコンパイルする 場 合 には PBPL.EXEという 拡 張 されたPBPを 使 用 する 必 要 が あります 使 用 方 法 は 簡 単 です MCSにて 下 記 の 手 順 でPBPLをコンパイル 時 に 使 用 するよう 設 定 をするだけです MCSのメニューバーの"View" "Compile and Program Options"をクリックします ダイアログが 表 示 されますので "Use Compiler Long Words"にチェックを 入 れて OKボタンを 押 します また LONG 型 では 符 号 付 き 演 算 が 可 能 です (LONG 型 以 外 の 変 数 は 符 号 なし 演 算 のみです )

40 5-3 変 数 に 値 を 代 入 する 変 数 に 値 を 代 入 する 場 合 には 他 のプログラミング 言 語 同 様 代 入 演 算 子 (=)の 右 辺 から 左 辺 へ 値 が 代 入 されます variable = 350 数 値 に 何 も 記 号 をつけないと PBPは10 進 数 として 処 理 します 2 進 数 16 進 数 を 表 す 場 合 には 下 記 のよ うに 数 値 の 前 に 記 号 を 付 けます 進 数 記 号 表 記 例 2 進 数 % % 進 数 進 数 $ $7F 文 字 を"(ダブルクォーテーション)で 囲 んで 変 数 に 代 入 するとASCIIコードの 値 が 代 入 されます variable = "A" variable 変 数 には65が 入 ります なお 文 字 を 代 入 する 場 合 にはASCIIコードとなりますので8ビット 長 で すからbyte 型 変 数 を 使 用 します 文 字 の 場 合 には ASCIIコードですべてを 扱 いますので byte 型 又 はword 型 の 変 数 1つに 対 して1 文 字 だけ 入 ることになります 複 数 の 文 字 列 を 扱 う 場 合 には 配 列 を 使 用 します 5-4 変 数 同 士 の 算 術 演 算 変 数 同 士 で 算 術 演 算 ができます 型 が 異 なる 変 数 同 士 の 場 合 より 大 きな 型 に 暗 黙 のうちに 型 変 換 が 行 われます a var byte b var byte c var word a = 200 b = 150 c = (a + b) * 5 上 記 の 例 では 変 数 cには1750が 演 算 結 果 として 格 納 されます 結 果 を 代 入 する 変 数 の 型 が 小 さく 型 の 最 大 値 を 超 えてしまった 場 合 には 演 算 結 果 は 信 頼 できないものとなります PBPの 演 算 は 算 数 同 様 ( ) 内 が 優 先 され 次 に 乗 除 が 優 先 されて 計 算 されます

41 5-5 変 数 の 各 ビットを 参 照 する 変 数 はBIT 型 からLONG 型 まで 宣 言 して 使 用 することができますが PBPでは 変 数 の 各 ビットの 値 を 参 照 したり 各 ビットに 値 (0か1)を 代 入 することができます variable var byte variable.0 = 1 variable.1 = 0 variable.2 = 0 variable.3 = 1 variable.4 = 0 variable.5 = 0 variable.6 = 1 variable.7 = 0 変 数 名 の 後 ろに.(ピリオド)を 付 けてビット 数 を 記 述 することで 変 数 の 任 意 のビットを 指 定 できます 上 記 の 場 合 変 数 variableの 値 は となります また 同 様 の 方 法 で 任 意 のビットの 値 を 取 得 することも 可 能 です 5-6 変 数 のオーバーフローを 検 出 する PBPでは 宣 言 した 変 数 がその 最 大 値 を 超 えオーバーフローすると 変 数 の 値 は0に 戻 ります 例 えばWord 型 で 宣 言 した 変 数 の 場 合 10 進 数 で"65535"の 次 は"0"になります またPBPでは 負 の 値 を 扱 えませんので0から-1を 加 算 する(0から1を 減 算 する)と 型 の 最 大 値 になります 例 えば Word 型 変 数 の 場 合 " " となります 変 数 がオーバーフローしたかどうかを 判 定 するには 下 記 にあるようなプログラムを 簡 易 的 に 組 んで 判 定 する 方 法 があります PBPでは 宣 言 した 変 数 を 特 殊 処 理 していますので STATUSレジスタ 等 でオーバ ーフローを 判 定 しようとしても 正 しく 行 えません 下 記 のようなオーバーフロールーチンを 記 述 する 必 要 があります この 方 法 は すべての 演 算 結 果 におけるオーバーフローを 検 出 できるものではありません あくまでも 簡 易 的 な 方 法 として 利 用 する 方 法 ですので 使 用 に 際 しては 十 分 にプログラムの 検 証 を 行 ってください X var WORD : Y var WORD : Z var WORD Z = X + Y ' 例 : X=65530, Y=100 な どで Z がオーバーフローした 場 合 IF Z < X OR Z < Y THEN Overflow 'z のオーバーフローを 判 定 'z がオーバーフローしていると overflow ラベルにジャンプします

42 5-7 変 数 のスケーラー PBPに 搭 載 のBIT 型 BYTE 型 WORD 型 LONG 型 は それぞれ 次 の 表 のように 細 かくスケーリングされて います これを 変 数 スケーラと 呼 びます 例 えば 次 のような 使 い 方 ができます long_val var LONG long_val.byte2 = 255 上 記 のようにした 場 合 上 の 表 から 分 かるとおり Long 型 変 数 long_valのbit16~bit23すべてに 値 1が 入 ります (255は8ビットで% です) よって 変 数 long_valの 値 を 参 照 すると 2 進 数 の 場 合 : 進 数 の 場 合 : となります 1つの 変 数 がそれぞれスケーリングできますので 例 えば 次 のような 応 用 もできます

43 word_val var WORD word_val.byte1 = PORTC word_val.byte2 = PORTB Word 型 変 数 は16ビット 長 なので 8ビット 長 のI/OポートであるPORTCとPORTBをそれぞれ1つの 変 数 に まとめてスケーリングすることができます word_val 変 数 に%FF00(% )を 代 入 す れば PORTCがすべてHで PORTBがすべてLになります PBPでは 下 記 のような 使 い 方 はすべて 正 しい 使 い 方 です long_val var LONG word_val var WORD byte_val var BYTE long_val.word1 = 0 long_val.byte3 = 255 long_val.31 = 1 word_val.byte1 = 0 word_val.15 = 0 byte_val.7 = 配 列 の 使 用 配 列 は 連 続 したメモリー 領 域 を 確 保 して 値 を 一 時 的 に 記 憶 する 仕 組 みです 変 数 は 宣 言 するごとにPBPが 適 当 にメモリー 領 域 を 割 り 当 てるため 変 数 同 士 の 関 係 性 連 続 性 はあり ません 配 列 を 使 用 すると PBPはメモリー 領 域 に 連 続 した 空 間 を 確 保 するため 連 続 性 のあるデータを 格 納 する 時 などに 使 用 します 配 列 は 下 記 の 書 式 で 宣 言 します 配 列 名 Var 型 [ 要 素 数 ] 型 は4 種 類 から 選 択 できますが LONG 型 はPIC18Fシリーズの 時 だけ 使 用 できます 型 最 大 要 素 数 BIT 256 BYTE 96 WORD 48 LONG 制 限 なし 但 し PIC18Xxxxxシリーズを 使 用 する 場 合 で BYTE 型 WORD 型 LONG 型 の 配 列 の 場 合 のみ 要 素 数 の 最 大 値 は 上 記 の 値 ではなくメモリーの 空 きがある 限 り 使 用 できます 例 えば array var BYTE[2000]と いうような 記 述 も 可 能 です コンパイル 時 にエラーが 表 示 されなければ 配 列 が 正 しく 作 成 されています もし エラーが 表 示 された 場 合 にはメモリーサイズが 足 りないですので 要 素 数 を 適 切 に 見 直 します メモリーはユーザーが 宣 言 した 以 外 にも 各 命 令 などが 使 用 しますので 出 来 る 限 り 小 さい 最 適 なサイズ を 指 定 するようにします 不 必 要 に 大 きなサイズの 配 列 は 宣 言 しないようにします またLONG 型 配 列 はPIC18Fシリーズ 用 のプログラムでPBPLを 使 用 する 場 合 にのみ 利 用 できます たとえば Array var byte[8] と 宣 言 すると Array という 配 列 変 数 を 作 成 します この 場 合 配 列 は0~7までで 確 保 されますから8 個 の 配 列 要 素 が 作 成 できます 配 列 は0 番 から 用 意 され ます 1 番 からではありませんので 注 意 してください 記 のような 配 列 が 作 られるとイメージできます

44 Array[0] Array[1] Array[2] Array[3] Array[0]~[7]の 各 配 列 が 用 意 されます Array[4] byte 型 配 列 ですので 各 要 素 も8ビット 長 で 用 意 されます Array[5] Array[6] Array[7] 7 0 (bit) なおそれぞれの 配 列 に 値 を 個 別 に 格 納 したり 特 定 の 配 列 の 値 を 参 照 することが 可 能 です 例 えば 次 のような 使 い 方 ができます ANS var byte[3] ' 変 数 ANS を 配 列 で 宣 言 ANS[0] = "A" ANS[1] = "B" ANS[2] = "C" LCDOUT STR ANS 3 'ANS の 配 列 0 番 目 に, 文 字 A を 格 納 'ANS の 配 列 1 番 名 に, 文 字 B を 格 納 'ANS の 配 列 2 番 目 に, 文 字 C を 格 納 'LCD に ANS の 配 列 3 つの 内 容 を 表 示 IF ANS[0]="A" AND ANS[1]="B" AND ANS[2]="C" THEN LCDOUT $fe, 1, "ANS = "ABC" " ENDIF 宣 言 した 配 列 は 各 要 素 にそれぞれ 下 記 の 書 式 で 値 を 代 入 したり 値 を 参 照 することができます 配 列 に 値 を 代 入 する 場 合 配 列 名 [ 要 素 数 ] = 値 配 列 の 値 を 別 の 変 数 に 代 入 する 場 合 変 数 = 配 列 名 [ 要 素 数 ] 上 のプログラム 例 ではIF 文 にてAND 演 算 子 を 用 いて 各 配 列 の 内 容 を 参 照 してすべての 条 件 が 真 の 時 の みIF 文 内 を 実 行 するようになっています 配 列 をよく 使 用 するのはデータの 連 続 性 が 要 求 される 場 面 です 例 えば シリアル 通 信 で 次 々と 受 信 した データは 連 続 したデータですので 配 列 に 格 納 していきます その 他 文 字 列 も 連 続 したデータですので 配 列 に 格 納 します ARRAYREAD 命 令 ARRAYWRITE 命 令 を 使 うことで 複 数 の 値 を 変 数 に 代 入 できます 詳 しくは 各 命 令 の 項 目 をご 覧 ください 5-9 定 数 の 使 用 PBPでは 文 字 列 に 定 数 を 割 り 当 てることができます 定 数 は 変 数 と 異 なり 一 度 宣 言 する 代 入 演 算 子 で 値 を 代 入 することはできません 定 数 名 CON 値 割 り 当 てられる 値 は 変 数 と 同 様 で 正 の 整 数 値 のみです 例 : APRIL CON 4 文 字 例 APRILは 以 降 値 の4を 示 すことになります

45 5-10 文 字 列 にレジスタやレジスタの 各 ビットを 割 り 当 てる(アサイン) PBPでは 文 字 列 にPICマイコンのレジスタや レジスタ 内 の 任 意 のビットを 割 り 当 てることができます 書 式 は 下 記 の 通 りです 文 字 列 VAR レジスタ 名.ビット 例 えば RB0(PORTBのビット0)にLEDが 接 続 されており このピンをプログラム 中 でLEDと 表 記 したい 場 合 には 次 のように 記 述 します LED var PORTB.0 プログラム 中 ではLEDと 記 述 するとRB0を 示 すようになります 同 様 にして 任 意 のレジスタの 特 定 のビットを 文 字 列 に 割 り 当 てて プログラム 内 で 参 照 できます 例 えば"PIR1レジスタ"のビット5を 文 字 列 "RCIF"にアサインする 場 合 には 次 のように 記 述 します RCIF var PIE.5 任 意 のレジスタのビットを 文 字 列 にアサインできるため 各 ビットの 名 前 などを 文 字 列 としてアサインす ればレジスタの 処 理 が 簡 単 になります 変 数 や 配 列 の 宣 言 しすぎに 注 意! 変 数 や 配 列 はいくらでも 用 意 できるわけではありません PICにはRAMの 要 領 があり 少 ないRAMの 中 にPBPは 適 切 に 変 数 や 配 列 の 領 域 を 確 保 しています よって 必 要 以 上 に 変 数 や 配 列 を 宣 言 するとRAM に 収 まりきらずにエラーになります またもう1つ 注 意 が 必 要 なのがPIC12F/16F 系 のデバイスを 使 う 場 合 です これらのデバイスはメモ リーが 内 部 で 物 理 的 に 複 数 のページに 別 れています ユーザーが 使 えるエリアはこれらメモリーの 後 部 にあるのですが 配 列 や 変 数 を 多 様 すると 連 続 してメモリーエリアを 確 保 しなければならない 配 列 など が 1ページの 中 に 収 まりきらず ページをまたいでしまうことがあります 本 来 連 続 したアドレスに 配 置 されなければならない 配 列 が ページをまたいでしまう 場 合 配 列 としての 配 置 連 続 性 が 失 われ 予 期 し ない 動 作 をしてしまうことがあります このようにページをまたいでメモリーエリアが 確 保 された 場 合 P BP3は 警 告 メッセージを 表 示 します Message[306]c pbp pbppic14.lib xxx : Crossing page boundary この 警 告 が 出 た 場 合 プログラムの 動 作 をよく 確 認 してください 動 作 に 問 題 がなければ この 警 告 が 出 てもそのプログラムは 使 えます しかし 連 続 性 が 失 われているため 場 合 によっては 変 数 や 配 列 を 使 っ たプログラムの 中 でおかしな 値 を 参 照 してしまう 恐 れは 否 定 できません この 問 題 はメモリー 領 域 が 複 数 のページで 構 成 されているPIC12F/16Fシリーズのアーキテクチャによるものであり 変 数 や 配 列 の 数 を 少 なくする 以 外 解 決 策 がありません 一 方 でPIC18Fシリーズはこのページの 概 念 がなくなりました そのためたくさん 変 数 や 配 列 を 宣 言 し てもこの 警 告 が 出 ることは 無 く 配 置 について 気 にする 必 要 がありません もし この 警 告 が 出 る 場 合 に は プログラム 規 模 が 大 きくなってきていることを 示 しますのでPIC18Fシリーズに 乗 り 換 えることをお 奨 めします

46 6.PICBASIC PRO Compilerの 演 算 機 能 6-1 各 進 法 の 表 現 PBPでは10 進 数 2 進 数 16 進 数 の3 種 類 の 進 数 形 式 を 使 えます どの 進 法 表 現 なのかを 明 確 にするため 数 値 の 前 に 記 号 をつけて 表 します 進 数 記 号 表 記 例 2 進 数 % % 進 数 進 数 $ $7F 文 字 を"(ダブルクォーテーション)で 囲 んで 変 数 に 代 入 するとASCIIコードの 値 が 代 入 されます 6-2 算 術 演 算 子 と 論 理 演 算 子 算 術 演 算 演 算 子 詳 細 + 加 算 - 減 算 * 乗 算 / 除 算 // あまりを 返 す 除 算 << 左 シフト >> 右 シフト ABS 絶 対 値 ATN 逆 正 接 COS 余 弦 DCD 指 定 ビットを1にする ( 例 : VAL = DCD 2 と 記 述 するとVALの 値 は% ) DIG 10 進 数 の 指 定 桁 の 値 を 取 り 出 す DIV32 31ビット 15ビットの 割 り 算 HYP ( 直 角 三 角 形 の) 斜 辺 MAX 大 きい 方 の 値 を 取 り 出 す ( 例 : VAL=A MAX 10 の 場 合 Aが10より 大 きな 値 の 時 Aの 値 がVALに 代 入 それ 以 外 は10が 代 入 される) MIN 小 さい 方 の 値 を 取 り 出 す (MAXと 同 様 ) NCD 最 上 位 の1のビットの 値 を 取 り 出 す ( 例 : VAL = NCD % の 場 合 VALには7が 代 入 される) REV 指 定 したビットより 下 位 のビットの 値 を 反 転 SIN 正 弦 SQR 平 方 根 左 シフト(<<)の 例 cont CON % ' 定 数 contを 指 定 値 は% val = cont << 3 'contの 値 を 左 に3ビットシフトしval 変 数 に 値 を 代 入 上 記 のプログラムでは valには % が 入 ります

47 右 シフト(>>)の 例 cont CON % ' 定 数 contを 指 定 値 は% val = cont >> 3 'contの 値 を 右 に3ビットシフトしval 変 数 に 値 を 代 入 上 記 のプログラムでは valには %11101 が 入 ります 三 角 形 の 斜 辺 (HYP)の 例 HYP 演 算 子 は 直 角 三 角 形 の 斜 辺 を 求 めます 三 平 方 の 定 理 の 斜 辺 だけを 求 める 演 算 子 です 例 えば 左 図 のような 直 角 三 角 形 で 斜 辺 を 求 める 場 合 には 次 のようになります 1? ans_val = 3 hyp 1 3 計 算 すると 10なので 答 えは となりますが PBPでは 小 数 点 は 扱 え ないためans_valには3が 代 入 されます なお この 演 算 結 果 は 下 記 の 式 と 等 価 です ans_val = SQR ((3 * 3) + (1 * 1)) ABS 絶 対 値 を 返 します 絶 対 値 は0からその 値 がどれだけ 離 れているかを 表 すものですので 下 記 のようにあ る 値 以 上 の 時 は 最 大 値 からその 値 を 引 いた 値 として 算 出 されます BYTE 型 で 127 以 上 の 場 合 にはABSは 256- 値 で 算 出 した 値 を 返 します WORD 型 で 以 上 の 場 合 にはABSは 値 で 算 出 した 値 を 返 します LONG 型 の 場 合 は 値 が 負 の 値 だった 時 に 値 で 算 出 した 値 を 返 します DCD DCD 命 令 は 該 当 するビットを1にセットします B0 = DCD 2 変 数 B0には % ( 二 進 数 )が 代 入 されます 尚 最 下 位 がbit0...の 順 でbit7までです DIG DIG 命 令 は 変 数 にセットされた 値 のうち 指 定 された 桁 の 値 を 抽 出 します 10 進 数 で 扱 われ 一 の 位 はDIG 関 数 では0です 以 下 に 例 を 示 します B0 = 123 B1 = B0 DIG 1 変 数 B0に 格 納 された 数 字 列 123の1 桁 目 を 抽 出 して 変 数 B1に 値 を 返 します 1を 指 定 していますので 十 の 位 の2が 返 され 変 数 B1には2が 格 納 されます NCD 変 数 にセットされている 値 のうち 上 位 ビットで1がセットされているビット 数 を 返 します B0 = NCD % この 例 では B0には7が 返 されます REV REVは 指 定 したビットより 下 位 のビットの 値 を 反 転 します 例 えば 下 記 の 場 合 は 変 数 B0には % が 代 入 されます SPI 通 信 等 で 出 力 したいデータを LSBから 出 力 したい 場 合 などに 利 用 できます B0 = % REV

48 SQR SQR 命 令 では 変 数 の 値 を 平 方 根 してその 解 を 返 します 尚 答 えは8ビットの 整 数 で 返 されます B0 = SQR W1 上 の 例 では 変 数 W1の 値 を 平 方 根 して その 解 をB0に 返 します DIV32 PBPでは 16ビット 数 値 16ビット 数 値 =32ビット 数 値 の 乗 算 ができますが 変 数 は 最 大 でも16ビッ トの 最 高 値 (65535)までしか 扱 えません この"DIV32"はこの 問 題 を 解 消 します 下 記 の 例 を 参 照 してください a var word 左 のようにすると まずc = a bが 実 行 されるため 結 果 とし b var word てcには が 返 るはずです しかし 変 数 cはword 型 なの c var word で 最 高 値 は65535となり 超 過 してしまいます d var word そこで 次 の 行 に d=div と 記 述 することで 超 過 した 変 数 a = 500 cの 値 が DIV32 100と 記 載 の100で 除 されます b = 1000 よって 変 数 dには 5000 が 返 ります c = a * b d = DIV つまりこの 最 終 的 にDIVで 返 った 値 dと DIV32 xxxのxxxで 指 定 し た 数 値 を 乗 すると 変 数 cの 値 になります 32ビットの 計 算 は 直 接 できないためこの 方 法 で 行 うことができます ただし このとき 変 数 cの 値 は 以 下 変 数 dの 値 は32767 以 下 でなければなりません PBPLでは DIV32は 使 用 できません ビット 演 算 子 ビット 演 算 子 は ビット 毎 に 論 理 積 や 論 理 和 といった 演 算 をする 演 算 子 です & ビット 演 算 のAND ビット 演 算 のOR ^ ビット 演 算 のExOR( 排 他 的 論 理 和 ) ~ ビット 演 算 のNOT ~はチルダを 表 しています &/ ビット 演 算 のNOT AND / ビット 演 算 のNOT OR ^/ ビット 演 算 のNOT ExOR ビット 演 算 の 例 ANS = % & % 'ビット 単 位 での 論 理 積 を 求 めます 上 記 のプログラム 例 では ANSには % が 入 ります ビット 演 算 の 応 用 例 NOT 演 算 子 を 使 うと 各 ビットを 反 転 することができます これを 利 用 することで I/Oポートの 状 態 を 反 転 させることができます 下 記 の 例 は200ミリ 秒 毎 にPORTBの 出 力 をH-Lで 反 転 させて 点 滅 させるプログ ラムです do loop PORTB =~ PORTB pause

49 論 理 演 算 子 論 理 演 算 は ビット 演 算 と 異 なり 算 術 結 果 はTRUE(1) 又 はFALSE(0)のいずれかになります IF 文 の 条 件 式 に 用 いて 条 件 式 がTRUEになるかFALSEになるかで 処 理 を 分 岐 する 時 などに 使 用 します 演 算 子 AND 又 は && OR 又 は XOR 又 は ^^ NOT 又 は! ANDNOT ORNOT XORNOT 論 理 積 論 理 和 排 他 的 論 理 和 論 理 否 定 NAND NOR NXOR 詳 細 論 理 積 で2つのピンの 入 力 を 判 定 する 例 論 理 積 は 2つの 評 価 式 が1になった 時 だけ その 結 果 が 真 (1)になります これをIF 文 の 評 価 式 とするこ とで 簡 単 に 処 理 を 分 岐 できます 下 記 例 はRB0とRB1がともに1(Hレベル)になった 時 にPORTDのLEDを 点 灯 させる 例 です do loop IF (PORTB.0 AND PORTB.1) then PORTD = 255 endif 6-3 算 術 演 算 の 方 法 加 減 乗 除 は 算 数 の 決 まりと 同 様 加 減 よりも 乗 除 が 優 先 されます また ( ) 付 き 演 算 の 場 合 ( ) 内 の 演 算 が 優 先 されます 演 算 結 果 は 代 入 演 算 子 により 右 辺 から 左 辺 に 代 入 されます W1 = W0 * 1000 変 数 W1には W0の 値 を1000 倍 した 値 が 代 入 されます LONG 型 変 数 を 使 用 した 場 合 には 符 号 付 き 演 算 が 可 能 で 負 の 値 を 扱 うことができます L1 = 100 * -5 LONG 型 変 数 L1には -500が 代 入 されます 除 算 は あまりを 無 視 する/と 余 りを 返 す//があります W3 = 100 // 40 W3には 20が 返 ります PBPLを 使 用 してコンパイルする 場 合 PBPLはLONG 型 同 士 の 演 算 の 場 合 には 符 号 付 き 演 算 として 処 理 します WORD 型 やBYTE 型 が 混 在 する 場 合 符 号 なし 演 算 として 処 理 されます

50 6-4 ビット 演 算 と 論 理 演 算 PBPでは ビット 演 算 としてAND OR 排 他 的 論 理 和 (Ex-OR)の3つの 演 算 子 を 用 意 しています 下 記 に 使 用 例 を 記 載 します 論 理 演 算 子 は 下 記 のようなものがあります 演 算 演 算 子 使 用 例 AND & B0 = B0 & % OR B0 = B0 % Ex-OR ^ B0 = B0 ^ % 比 較 演 算 子 演 算 内 容 演 算 子 論 理 積 AND 又 は && 論 理 和 OR 又 は 排 他 的 論 理 和 XOR 又 は ^^ 反 転 ( 否 定 ) NOT 又 は! 否 定 論 理 積 (NAND) ANDNOT 否 定 論 理 和 (NOR) ORNOT 否 定 排 他 的 論 理 和 (NXOR) XORNOT PBPでは 以 下 の 比 較 演 算 子 を 使 用 することができます 演 算 内 容 演 算 子 イコール( 同 等 ) = 又 は == 等 しくない <> 又 は!= ~よりも 小 さい < ~よりも 大 きい > ~ 以 下 <= ~ 以 上 >= 比 較 演 算 子 と 論 理 演 算 子 は IF 文 の 条 件 式 などを 作 るときに 組 み 合 わせて 使 用 することがあります If (A == 3) AND (B >= 50) Then Label 例 :Aが3でかつ Bが50 以 上 の 場 合 Labelラベルへ 処 理 を 分 岐 する

51 7.PICBASIC PRO Compilerのその 他 の 機 能 と 使 用 上 の 設 定 7-1 動 作 周 波 数 設 定 とDEFINE PBPは 動 作 周 波 数 の 指 定 がない 場 合 PICマイコンが 動 作 クロック4MHzで 動 作 しているもとしてプロ グラムを 生 成 します 動 作 クロックは プログラム 内 部 のタイミング 処 理 と 大 きく 関 係 するため 必 ずプ ログラムの 先 頭 で PBPに 動 作 周 波 数 を 伝 える 必 要 があります 動 作 周 波 数 は 次 の 記 述 で 定 義 することができます DEFINE OSC 動 作 周 波 数 (MHz) 但 し PBPで 指 定 できる 動 作 周 波 数 は 下 記 の 周 波 数 に 限 られます 3(3.58) (MHz) 25~33は PIC17シリーズ 40~48はPIC18シリーズの 時 のみ 使 用 できます PLLで 動 作 クロックを 逓 倍 している 場 合 には 逓 倍 後 の 実 際 の 動 作 周 波 数 を 記 述 します 例 えば8MHz の 外 部 水 晶 発 振 子 を 使 用 して4xPLLで4 倍 した 場 合 には32MHzですので その 場 合 には"32"と 記 述 して ください なお DEFINEに 続 く 文 字 はは 必 ず 大 文 字 で 記 述 してください 小 文 字 だと 正 しく 認 識 されません その 他 各 命 令 にはDEFINEが 用 意 されていることがあります PBPでは 各 種 デフォルト 設 定 は 標 準 的 な 設 定 になっていますが 配 線 情 報 やタイミング 情 報 など デフォルトの 設 定 では 使 用 できない 場 合 など にDEFINEを 使 用 して 目 的 に 設 定 に 変 更 することができます DEFINEの 詳 細 設 定 につきましては それ ぞれの 命 令 の 項 目 に 説 明 がありますので そちらをご 参 照 ください 7-2 ブートローダー 用 の 記 述 当 方 にて 販 売 しているブートローダ( 商 品 名 ;MIcroCode Loader)などのブートローダを 用 いてプログラ ムの 書 き 込 む 予 定 のあるプログラムを 作 成 する 場 合 には プログラムの 先 頭 で 次 の 一 文 を 挿 入 する 必 要 があります DEFINE LOADER_USED 1 この 文 はプログラムの 動 作 には 影 響 はありませんのでブートローダーを 使 用 しない 場 合 にDEFINEが 入 っていてもプログラムに 影 響 を 与 えません ブートローダを 用 いてプログラムをPICマイコンに 書 き 込 む 予 定 がある 場 合 には 上 記 の 一 文 を 挿 入 してください 但 しプログラム 内 で 各 種 割 込 及 び 割 込 命 令 である"On Interrupt Goto" 命 令 を 使 用 している 場 合 にはこ の 記 述 は 必 要 ありません 割 込 命 令 のあるプログラムで 上 記 のDEFINEを 記 述 するとエラーになりますの でご 注 意 ください

52 7-3 ADコンバーター 機 能 コンパレーター 機 能 を 搭 載 したPICマイコンを 使 用 する 場 合 の 注 意 最 近 のPICマイコンでは 多 くのデバイスが ADコンバーターやコンパレータ 機 能 を 搭 載 しています これらのデバイスではADコンバーターの 入 力 に 割 り 当 てられているピンや コンパレーターの 入 力 に 割 り 当 てられているピンは 電 源 投 入 時 すべてアナログ 電 圧 入 力 モードに 設 定 されています そのためデジタルIOとしてそのピンを 使 用 しようとしても そのままではデジタルIOとして 使 用 できませ ん ADコンバータやコンパレータを 使 用 しない 場 合 ピンをデジタルモードに 設 定 する 必 要 があります 使 用 するデバイスにADコンバータやコンパレータが 搭 載 されていないかご 確 認 ください もしADコンバ ータやコンパレータ 機 能 が 搭 載 されたデバイスで これらの 機 能 を 使 用 しない 場 合 には レジスタを 設 定 してピンをデジタルIOモードに 手 動 で 設 定 します 設 定 内 容 設 定 するレジスタは 使 用 するデバイスによりまちまちですので 使 用 するデバイスのデータシ ートをお 読 みください 特 に 設 定 する 項 目 は ADCON0 ADCON1 ANSEL CMCONレジスタなどです 代 表 的 なデバイスについては 下 表 に 設 定 値 参 考 例 を 記 載 します デバイス 名 ピン 数 ADCON0 ADCON1 ANSEL ANSELH CMCON 12F F84(A) 18 16F819(A) F628(A) F648(A) F F7x F877(A) F F F PIC16FシリーズのハイエンドタイプのPIC16F19xx 系 ではADコンバータに 関 する 設 定 は 各 ポー トのピン 毎 に 設 定 を 行 うようになりました 例 えば PIC16F1939にはANSELAレジスタ ANSELBレジスタがありPORTAとPORTBのアナロ グ 入 力 ピンの 状 態 を 設 定 できます 該 当 ビットが0の 時 デジタルI/Oピンとなりますので ADコン バータを 使 わない 時 は ANSELA=0 ANSELB=0と 記 述 する 必 要 があります 例 えばPIC16F88を 使 用 し すべてのピンをデジタルモードで 使 用 する 場 合 には 下 記 のようにプログラミ ングします ADCON0 = 0 ANSEL = 0 CMCON = 7 なお PICマイコンは デバイスによってレジスタの 設 定 内 容 が 異 なったり レジスタ 名 が 異 なったりしてい ますので 実 際 の 使 用 に 際 しては 使 用 するデバイスのデータシートを 必 ずお 読 みの 上 正 しく 設 定 を 行 っ てください データシートは インターネットでGoogleなどの 検 索 エンジンにデバイス 名 を 入 れて 検 索 する と 簡 単 に 探 すことができます

53 7-4 内 蔵 発 振 子 搭 載 のデバイスを 使 用 する 場 合 外 部 に 水 晶 発 振 子 などの 発 振 子 を 取 り 付 けなくても PICマイコン 内 部 で 動 作 クロックを 作 り 出 せる 内 蔵 発 振 子 搭 載 のデバイスでは プログラム 中 でOSCCONレジスタの 設 定 をする 必 要 があります また HEXファイルをPICマイコンに 書 き 込 む 際 コンフィギュレーションビットの 設 定 において オシレー ター( 発 振 子 )の 設 定 を "INTOSC"( 使 用 するマイコンライターによって INTRCや 内 蔵 OSCなど 表 記 が 異 なります)に 設 定 する 必 要 があります OSCCONレジスタでは 発 振 周 波 数 の 設 定 を 行 います デバイスにより 異 なる 場 合 がありますが 多 くのデ バイスで8 段 階 で 設 定 可 能 です PBPでは4MHzの 倍 数 ならば 設 定 が 可 能 です 発 振 周 波 数 の 設 定 は OSCCONレジスタで 行 いますが そのレジスタの 設 定 はプログラムの 先 頭 部 分 で 記 述 します 設 定 値 は 使 用 するデバイスのデータシート 内 にあるOSCCONレジスタのページをご 参 照 くだ さい なお 周 波 数 を 定 義 する"DEFINE OSC xx"の 記 述 は 設 定 した 周 波 数 の 値 を 記 述 してください PLLを 使 って 発 振 周 波 数 を 逓 倍 する 場 合 比 較 的 新 しいデバイスには4 逓 倍 できる4xPLLが 内 蔵 されています これはクロックを4 倍 できる 機 能 で 例 えば 内 蔵 発 振 子 を8MHzにした 場 合 4xPLLを 有 効 にすると32MHzで 動 作 することになります 動 作 周 波 数 を 速 くすると 消 費 電 流 が 増 えますので 必 要 に 応 じて 使 い 分 ける 必 要 があります 必 ずしも 速 い 動 作 速 度 が 必 要 で 無 ければ 発 振 周 波 数 を 遅 くしたほうが 低 消 費 電 力 になります 4xPLLの 有 効 / 無 効 はコンフィギュレーションビットで 行 います PBP3では "DEFINE OSC xx"で 実 際 の 動 作 周 波 数 を 記 述 します 先 のように8MHz 発 振 を4xPLLで32MHzとして 動 かす 時 は "DEFINE O SC 32"と 記 述 してください 7-5 ポートの 入 出 力 方 向 設 定 PICマイコンでは 各 ポートの 各 ピンを 入 力 として 利 用 するか 出 力 として 利 用 するかを 個 別 に 設 定 する 必 要 があり TRISxレジスタで 設 定 を 行 います xにはポート 名 が 入 り 対 応 するビットが0だと 出 力 に1だと 入 力 に 設 定 されます PBPの 命 令 を 使 用 した 場 合 ポートの 入 出 力 方 向 の 設 定 はPBPによって 自 動 的 に 行 われるためユーザー が 意 識 する 必 要 はありません 但 し PBPの 命 令 が 使 用 しないピンや プログラム 中 でPBPの 命 令 を 使 用 しない 場 合 意 図 的 に 入 出 力 方 向 の 設 定 を 変 えたい 場 合 には 手 動 でTRISxレジスタを 設 定 します TRISx = 値 上 記 の 式 でTRISレジスタの 設 定 ができます 下 記 にRBの 上 位 4ビットを 入 力 下 位 4ビットを 出 力 に 設 定 した 例 を 示 します TRISB = % なお ポートの 全 ビットの 状 態 を 変 数 に 読 み 込 みたい 場 合 などは 指 定 したポートはすべて 入 力 方 向 に 設 定 しておきます 次 に 例 を 示 します TRISA = $FF variable = PORTA 上 記 例 では PORTAの 全 ビットの 値 を 変 数 variableに 代 入 しています その 他 マニュアルでポートの 操 作 をしたい 場 合 などは 手 動 でTRISxレジスタを 設 定 します TRISxレジスタを 設 定 する 際 には PBPの 命 令 がそのピンをどのように 扱 っているのかをよく 検 討 した 上 で 設 定 してください 例 えば LCDOUT 命 令 (LCDに 文 字 データを 出 力 する 命 令 )では 複 数 のピンを 使

54 用 してデータの 送 受 をしています この 時 LCDOUT 命 令 で 使 用 されるピンの 入 出 力 方 向 の 設 定 は LCDO UT 命 令 が 自 動 的 に 行 っています その 設 定 に 対 して プログラマーが 手 動 で 設 定 したTRISxレジスタの 設 定 内 容 が 競 合 してしまうと LCDOUT 命 令 が 正 しく 動 作 しなくなってしまうことがあります TRISxレジスタの 設 定 を 手 動 で 行 う 場 合 には 各 ピンの 状 態 や 命 令 が 使 用 するピンの 配 置 などを 十 分 考 慮 して 設 定 を 行 ってください ビットコアのPICや8ピンデバイスを 使 用 する 場 合 の 注 意 12ビットコアのデバイスには 制 限 付 きで 対 応 しています またPIC10Fシリーズにも 制 限 付 きで 対 応 して います これらのデバイスではデバイスの 仕 様 上 リソースに 制 限 があり 下 記 の 命 令 は 使 用 できません リソースの 制 限 とは スタックレベルが2レベルに 制 限 されていることやRAM 容 量 が 小 さいことなどです ADCIN DATA DTMFOUT EEPROM FEREQOUT HPWM HSERIN HSEROUT ON INTERRUPT READ READCODE RESUME SERIN2 SEROUT2 USBIN USBINIT USBOUT WRITE WRITECODE 8ピンデバイスではピン 名 はGPIOです PORTAやPORTBという 呼 び 方 ではありません 7-7 マルチステートメント 一 行 に 複 数 のステートメントを 記 述 する 方 法 をマルチステートメントと 言 います PBPはマルチステートメントを 利 用 できます マルチステートメントではステートメント 毎 に:(コロン)で 区 切 ります 次 に 例 を 示 します High PORTB.0 High PORTB.1 = High PORTB.0 : High PORTB.1 : High PORTB.2 High PORTB.2 同 じ 意 味 になります 7-8 ラベルとコメント 行 チュートリアルにもありましたがプログラム 中 には 任 意 の 文 字 列 をラベルとして 設 定 できます ラベル 名 には 予 約 語 及 び 記 号 や 数 字 で 始 まる 文 字 列 は 使 用 できません ラベルを 設 定 すると プログラムの 任 意 の 位 置 にGOTO 命 令 等 でジャンプできます ラベルは 下 記 の 要 領 で 設 定 できます ラベル 名 : (ラベル 名 の 文 字 列 の 後 ろにコロンを 付 けます) 後 から 見 て これは 何 のための 記 述 だっけ などとならないようにプログラムにコメントを 書 いておくこ とができます コメントは ' (アポストロフィー)をつけて 記 述 します コンパイラはアポストロフィー 以 降 の 文 字 列 を1 行 だけ 無 視 します Low PORTE.2 ' LCD R/W Line Low この 部 分 がコメント 行 になります

55 7-9 HEXファイルを 書 き 込 んだPICが 動 かない 場 合 のチェック! 作 ったプログラムをコンパイルしHEXファイルを 作 りますが そのファイルをPICマイコンに 書 き 込 んでも 動 作 しない 場 合 には 多 くの 場 合 下 記 のような 点 に 誤 りがある 場 合 があります 1 動 作 周 波 数 の 設 定 は 正 しいですか? 動 作 周 波 数 はプログラムの 先 頭 で 必 ず 定 義 しなくてはなりません 動 作 周 波 数 とはPICマイコンのOSC 1 及 びOSC2ピンに 接 続 した 発 振 子 の 周 波 数 のことです 2ADコンバータ 又 はコンパレータを 使 わない 場 合 デジタルモードに 設 定 していますか? PICマイコンによっては ADコンバータ 又 はコンパレータを 搭 載 しているデバイスがあります こういっ たデバイスを 使 用 し ADコンバータやコンパレータを 使 用 しない 場 合 には デジタルモードにレジスタ を 設 定 しないとプログラムが 期 待 通 りに 動 作 しない 場 合 があります 3プログラムの 書 き 込 みの 際 コンフィギュレーションビットの 発 振 子 の 種 類 を 正 しく 設 定 していますか? これは PBPのプログラムには 関 係 ない 設 定 項 目 です マイコンにプログラムを 書 き 込 むマイコンライターには コンフィギュレーションビットを 設 定 できるよ うになっていますが この 際 発 振 子 (Oscillator)の 種 類 を 正 しく 設 定 しないとプログラムは 動 作 しませ ん 設 定 の 詳 細 はマイコンライターのマニュアルをご 参 照 ください なお 特 に 留 意 する 点 としては 動 作 周 波 数 が4MHzの 場 合 には"XT"に それより 高 い 周 波 数 では "HS"に 設 定 するのが 一 般 的 です またセ ラミック 発 振 子 (レゾネーター)を 使 用 している 場 合 には 周 波 数 に 関 係 なく"HS"に 設 定 してください

56 ~コラム~ PBPのソースプログラム 内 にコンフィギュレーションビットの 設 定 内 容 を 記 述 する 方 法 PBPでは 発 振 子 の 種 類 やウォッチドッグタイマーの 設 定 などを 行 うコンフィギュレーションビットの 設 定 内 容 を 記 述 することができます コンフィギュレーションビットの 設 定 は 通 常 PICマイコンへHEXファイルを 書 き 込 むPICライターのソフト ウエアでプログラムの 書 き 込 み 時 に 設 定 しますが PBP 内 で 設 定 を 記 述 することで 自 動 的 にPICライター のソフトウエアがコンフィギュレーションビットの 設 定 を 行 うようになります 通 常 アセンブラで 記 述 する 場 合 にはアセンブラ 言 語 の 疑 似 命 令 CONFIG 命 令 を 使 用 します PBPでは #CONFIG...#ENDCONFIG を 使 うことで PBPのプログラム 内 にコンフィギュレーションビット の 設 定 内 容 を 記 述 することができます PBPのソースプログラム 内 にコンフィギュレーションビット 設 定 を 記 述 する PBPのソースプログラム 内 でコンフィギュレーションビットの 設 定 を 記 述 します 設 定 内 容 は 下 記 のように 記 述 します 下 記 の 例 はPIC16F887において オシレーターはHS ウォッチドッグタイマーOFF MCLRピン 有 効 低 電 圧 プログラミングOFF コードプロテクションOFFに 設 定 しています #CONFIG config _CONFIG1, _HS_OSC & _WDT_OFF & _MCLRE_ON & _LVP_OFF & _CP_OFF #ENDCONFIG コンフィギュレーションビットの 設 定 内 容 はデバイスによって 異 なりますので デバイスに 応 じた 記 載 をして 頂 く 必 要 があります #CONFIG...#ENDCONFIG 内 の 記 述 する 内 容 については 使 用 するデバイスのデータシートに"DEVICE C ONFIGURATION"という 項 目 がありますので そちらでコンフィギュレーションビットレジスタの 内 容 を 閲 覧 しながら 記 述 します デバイスによってコンフィギュレーションレジイタはWORD1 WORD2 と 複 数 ある 場 合 があります その 場 合 のWORD 数 については 上 記 の 例 の 通 り config _CONFIG1 のようにCONFIGの 後 ろにWO RD 数 を 記 述 します なお 使 用 しているデバイスの 記 述 がよく 分 からなくて サンプルが 見 たいという 場 合 には PBPにあらかじ め 記 述 されている 定 義 ファイルを 閲 覧 することで その 記 述 例 を 見 ることができます コンフィギュレーションビットの 設 定 内 容 の 記 述 例 を 見 る PBPのインストールされているディレクトリ( 通 常 はC:\PBP3)の 下 にある"DEVICES"というフォルダを 開 きます ここには PBPで 使 用 できるデバイスの 定 義 ファイルが 入 っています 拡 張 子 は.PBPINTとなってい ます このファイルをメモ 帳 などのテキストエディタで 閲 覧 すると コンフィギュレーションビットの 設 定 内 容 が 記 述 されています また "DEVICE_REFERENCE"フォルダには デバイス 毎 に 設 定 値 の 記 述 方 法 が 記 載 されています コンフ ィギュレーションビットの 設 定 を 記 述 する 時 の 参 考 になります 例 えばPIC16F887のPIC16F887.PBPINTファイルを 開 いてみましょう ファイル 中 ほどに 次 のような 記 述 があります

57 この 部 分 が 定 義 ファイルに 記 述 されたコンフィギュレーションビットの 設 定 内 容 で 上 図 の で 囲 われて いる 部 分 が 実 際 にコンパイルの 時 に 自 動 的 に 設 定 されてる 内 容 です PBPはコンパイル 時 にMPASMを 使 用 していますので ここでは 必 ず "else"の 下 の 部 分 の 記 述 を 参 照 してく ださい #CONFIGの 直 ぐしたにも 似 たような 記 述 がありますが こちらは 使 っていません この 例 を 見 ると 主 に 設 定 したい 記 述 の 例 が 分 かります ここを 参 考 にして プログラム 内 でコンフィギュレ ーションビットの 設 定 を 記 述 することをお 奨 めします なお この 定 義 ファイル 内 の 記 述 そのものを 変 更 してしまえば コンパイル 時 には 常 にここに 記 述 された 内 容 でコンフィギュレーションビットが 設 定 されたHEXファイルが 出 来 上 がりますので よく 使 うハードウエア 環 境 が 決 まっているような 場 合 には ここの 定 義 ファイルの 内 容 そのものを 編 集 してしまうのも1つの 方 法 です 発 振 子 はいつもレゾネータでウォッチドッグタイマーは 常 にOFF 低 電 圧 書 き 込 みも 常 にOFF というよ うにだいたいの 環 境 が 定 まっている 場 合 には 次 のように 定 義 ファイルの 内 容 を 書 き 換 えてしまってもよい でしょう 記 述 に 際 しては 下 記 の 点 に 注 意 してください CONFIGの 前 には アンダーバーを2つ 入 れてください CONFIGの 後 ろには1つ 半 角 スペースを 入 れます 設 定 項 目 は & でつなぎます この 一 行 は 必 ずソースコードの 先 頭 部 分 で 記 述 してください 設 定 項 目 を 間 違 えて 記 述 するとコンパイル 時 にエラーとなります 書 式 や 記 述 内 容 が 正 しいか 必 ずご 確 認 ください コンフィギュレーションビット 設 定 内 容 の 記 述 は デバイス 毎 に 異 なり 特 にPIC18シリーズのようにコンフ ィギュレーションレジスタが 増 えると 設 定 項 目 も 増 え 記 述 方 法 がわかりにくくなります PIC18シリーズについて デバイス 毎 のコンフィギュレーションビットの 記 述 方 法 が MPLABのヘルプに 記 載 されており 記 述 の 際 に 役 立 ちます ヘルプは 次 の 手 順 で 閲 覧 できます MPLABを 起 動 し メニューバーの"Help" "Topics"を 選 択 します 一 覧 が 表 示 されますので その 中 から"PIC18 Config Settings"を 選 択 します デバイス 毎 のツリーがヘルプ 形 式 で 表 示 されますので 使 用 するデバイスの 型 式 に 応 じたツリーを 展 開 し 設 定 項 目 を 閲 覧 します

58 8.ディレクティブ ディレクティブとは プリプロセッサへの 指 示 文 #defineなどのことをさします プリプロセッサとは コンパイラの 中 で ある 処 理 を 行 うソフトウェアに 対 してプログラムの 準 備 的 な 処 理 を 行 う 内 容 のことを 言 います コンパイラは ソースコードをコンパイルする 前 に ディレクティブとして 記 述 された 内 容 の 処 理 を 施 して その 後 コンパイルを 行 います PBPでは C 言 語 などと 同 様 にプリプロセッサディレクティブには#を 付 けて 記 述 します 8-1 #CONFIG...#ENDCONFIG PBPのソースコード 内 にコンフィギュレーションビットの 設 定 内 容 を 記 述 します #CONFIGは コンフィギュレーションビットの 設 定 内 容 をアセンブリ 言 語 の 中 に 埋 め 込 むことで その 処 理 を 行 っています #CONFIGを 使 って コンフィギュレーションビットの 設 定 を 記 述 すると PBPはデフォルトのコンフィギュ レーションビットの 設 定 内 容 をスキップして ここでユーザーが 記 述 した 内 容 をコンパイルに 反 映 します 記 述 する 場 合 には 次 のように 記 述 します #CONFIG config _CONFIG1, _HS_OSC & _WDT_OFF & _MCLRE_ON & _LVP_OFF & _CP_OFF #ENDCONFIG 又 は 次 のようにも 記 述 できます #CONFIG CONFIG XINST = OFF CONFIG PLLDIV = 5 CONFIG WDTPS = 512 CONFIG CPUDIV = OSC1 CONFIG OSC = HSPLL #ENDCONFIG 8-2 #DEFINE #DEFINE constant_name {value} #DEFINEは あかじめ 決 まっている 数 値 を 定 数 として 名 前 を 付 けることができるディレクティブです 何 か 決 まった 値 について 意 味 がある 場 合 それに 名 前 をつけておくことでプログラムの 可 読 性 が 向 上 し ます PBPでは#DEFINEディレクティブとして 作 られた 文 字 列 の 使 用 は ディレクティブである#IF, #IFD EF, #IFNDEF, #MSG, #ERROR, #WARNING で 使 用 できます 注 意 が 必 要 なのは この#DEFINEで 作 る 定 数 はあくまでもディレクティブの 中 で 使 用 するものであり P BPのソースプログラムの 中 では 使 えないということです ソースプログラムの 中 で 定 数 を 使 いたい 場 合 には CONキーワードを 使 って 定 数 を 宣 言 します constant_nameには PBPで 使 われている 予 約 後 や 宣 言 済 みの 変 数 ポート 名 やPICマイコンのレジスタ 名 を 除 いた 文 字 列 を 指 定 できます valueには 値 を 記 述 します

59 その 他 PBPにはあらかじめ 用 意 された 文 字 列 があり この 文 字 列 を 使 用 するとコンパイラが 自 動 的 に その 内 容 に 応 じた 値 を 取 得 します DATE TIME TIMESTAMP POCESSOR VERSION LONG LINE FILE パソコンからコンパイルの 日 にちを 取 得 します パソコンからコンパイルの 時 間 を 取 得 します パソコンからコンパイルの 日 時 を 取 得 します ターゲットデバイスの 型 式 を 取 得 します PBPのバージョン 値 を 取 得 します PBPL(long 型 対 応 PBP)の 使 用 の 有 無 を 取 得 します 1ならばPBPLを 使 用 していることを 示 します ライン 番 号 を 取 得 します (#MSGや#ERRORなどのレポートに 使 います ) ファイル 名 を 取 得 します 8-3 #ERROR ERROR {"message"} #ERRORディレクティブはコンパイラが 表 示 するエラーメッセージを 指 定 します #IFと 組 み 合 わせて 使 用 することで エラーメッセージをコンパイル 時 に 表 示 します 下 記 は PBPL(Long 型 変 数 を 使 うPBP)を 無 効 に 設 定 している 際 に"This is pbpw."と 表 示 される 例 です #IF LONG = 0 #ERROR "This is not PBPL." #ENDIF この 記 述 をした 状 態 でPBPLでなくコンパイルするとMicroCode Studioでエラーが 表 示 されます 8-3 #IF...#ELSE...#ENDIF #IF condition {AND OR condition} コンパイルをする 前 に コンパイルの 動 作 をIF 文 で 分 岐 ができるのが#IFディレクティブです よく 利 用 される 目 的 として 1つのプログラムをいくつかのPICマイコンで 使 うような 場 合 ( 別 のPICマイコ ンに 移 植 するような 場 合 ) プログラムの 大 部 分 は 共 通 であっても レジスタの 設 定 などは 異 なることが 多 いですが #IFディレクティブで 分 岐 することで デバイスの 種 類 によってレジスタの 設 定 などを 変 える ことができます 例 えばPIC16F887AではADコンバータに 関 するレジスタはADCON1です PIC16F887ではANSELレジ スタです 下 記 のように 記 述 するとデバイスによって 処 理 を 分 岐 できます #IF PROCESSOR = "16F877A" ADCON1 = 7 #else ANSEL = 0 ANSELH = 0 #ENDIF 命 令 にあるIF 命 令 と #IFディレクティブの 違 いは #IFディレクティブは コンパイルの 時 にその 記 述 内 容 が 評 価 され プログラムが 動 作 している 時 には 動 作 しません それに 対 してIF 命 令 は プログラム 動 作 中 に 処 理 を 分 岐 します

60 8-4 #IFDEF...#ELSE...#ENDIF #IFDEF constant #IFDEFは #DEFINEの 定 数 が 定 義 されているかどうかをコンパイル 時 にチェックするディレクティブで す すでに 定 義 されている 場 合 と 定 義 されていない 場 合 で 処 理 を 分 岐 できます 例 えば ADコンバータの 使 用 の 有 無 を 設 定 したい 時 通 常 は ADコンバータ 関 連 のレジスタに 値 を 代 入 して 無 効 / 有 効 を 設 定 します #IFDEFを 使 えば 文 字 列 でその 有 効 / 無 効 をコントロールできます 次 の 例 は "#DEFINE SET_DIGITAL"という 定 数 ディレクティブを 記 述 した 場 合 には "ADCON1 = 7" の 文 がコンパイル 時 に 適 用 されてピンがデジタルI/Oになります "#DEFINE SET_DIGITAL"を 記 述 しなかった 場 合 は "#ELSE" 以 降 がコンパイルされますので "ADCON 1 = % " がコンパイルに 適 用 されます #DEFINE SET_DIGITAL #IFDEF SET_DIGITAL ADCON1 = 7 #ELSE ADCON1 = % #ENDIF #IFDEFと 逆 の 動 作 をする #IFNDEF...#ELSE...#ENDIF というディレクティブもあります こちらは 定 数 の 定 義 がない 時 に 真 ある 時 に 偽 となります 8-5 #MSG #MSG "message" #MSGは コンパイル 時 にメッセージを 表 示 させます 文 字 列 は+ 演 算 子 で 連 結 できます #MSG "Compiling for target " + PROCESSOR MSCでは 上 記 のように 表 示 されます 8-6 #WARNING #WARNINGは コンパイル 時 に 警 告 メッセージを 表 示 させます 文 字 列 は+ 演 算 子 で 連 結 できます コンパイル 時 に 誤 った 設 定 等 で 問 題 が 起 きないように#IFディレクティブなどと 組 み 合 わせて 使 います #IF LONG = 0 #WARNING "This program recommended for PBPL" #ENDIF 上 記 例 はLong 変 数 を 使 うプログラムでPBPLが 選 択 されていない 場 合 に 警 告 を 表 示 させます

61 9.PICBASIC PRO Compilerの 命 令 文 中 の{ }は 省 略 可 能 の 内 容 を 示 します [ ]はかっこごと 記 述 します \(エンマーク)は 英 語 環 境 では\(バックスラッシュ)として 表 示 されます (アセンブラの 挿 入 ) BASICプログラム 中 にアセンブリ 命 令 を 挿 入 したい 場 合 その 行 の 先 頭 に@を 付 けます この 記 号 を 使 用 することによって BASIC 言 語 中 にアセンブリ 言 語 を 挿 入 できます 例 : 下 記 例 はnop 命 令 を 挿 入 nop 例 : 拡 張 子.asmのアセンブリファイルをインクルードする 場 合 にも 使 Include 使 用 してページやバンクを 変 更 することはできません 9-2 ADCIN (ADコンバーターから 値 を 取 得 する) ADCIN Channel Var ADCIN 命 令 はADコンバータ 機 能 を 内 蔵 しているPICマイコンにおいて 指 定 したチャンネルから 電 圧 値 を 読 み 取 って 変 数 Varに 格 納 する 命 令 です Channelの 値 はアナログ 入 力 のチャンネル 番 号 です ピン 名 でないことにご 注 意 ください PICマイコンによってチャンネル 番 号 の 組 み 合 わせが 異 なりますので 詳 細 は 使 用 するPICマイコンデータ シートをご 覧 ください データシートの 各 ピンの 名 称 の 部 分 に AN2 などとANに 続 く 数 値 がチャンネル 数 です ADCIN 命 令 の 使 用 に 際 しては ADCON1レジスタやANSELレジスタなどADコンバーター 関 連 のレジスタ を 正 しく 設 定 しなければなりません 設 定 が 間 違 っている 場 合 ADコンバーターは 動 作 しません ADコンバーター 関 連 のレジスタでは まずどのピンをアナログ 入 力 モードにするのかという 点 と Vref( 基 準 電 圧 )をどのように 設 定 するのかを 決 めます たとえばPIC16F877Aの 場 合 にはADCON1レジスタで 設 定 を 行 いますが データシートには 下 記 のような 表 が 掲 載 されています

62 ここではAがアナログ DがデジタルI/Oを 示 します VrefはVddかRA3が 選 択 できます デバイスによって 内 容 が 異 なりますので 使 用 するデバイスのデータシートを 必 ずご 参 照 ください 比 較 的 新 しいデバイスでは ANSELxレジスタでI/OピンをデジタルI/Oピンとするか アナログ 入 力 ピン とするかを 設 定 するようになっています PIC16F887では ANSELレジスタとANSELHレジスタで 設 定 を 行 います 拡 張 ミッドレンジコアのPIC16F19xx 系 などではANSENAレジスタ ANSELBレジスタで 設 定 を 行 います PICマイコンでは デバイスの 種 類 が 多 く 設 定 が 異 なっているものが 多 いため 使 用 に 際 して は 使 っているデバイスのデータシートでその 内 容 をご 確 認 ください ADコンバーターはデバイスの 種 類 によって 分 解 能 値 が8ビット 10ビット 12ビットとあります ADコンバーターの 値 を 格 納 するレジスタは 物 理 的 に8ビットです そのため 10ビットや12ビットタイプ のデバイスでは 2ビット 又 は4ビット 分 の 格 納 のために 別 のレジスタを 使 用 します このとき 上 位 2ビット または4ビットを 別 のレジスタとするのか 下 位 2ビットまたは4ビットを 別 のレジスタとするのかを ADコ ンバーター 関 連 のレジスタで 決 めるようになっています PBPは 必 ず 上 位 2ビット 又 は4ビットを 上 位 レジスタに 格 納 する 指 定 方 法 " 右 詰 指 定 "としなければなりま せん データーシートをご 覧 になり 適 切 な 値 に 設 定 してください なお PIC16F877Aの 場 合 にはADCON 1レジスタのビット7が1の 時 右 詰 指 定 となります ADCIN 命 令 を 使 用 する 場 合 には 必 ず 該 当 ポートの 入 出 力 方 向 設 定 用 のレジスタTRISxレジスタの 設 定 をしなくてはなりません この 設 定 が 適 切 でないと 思 わぬ 故 障 や 動 作 をしてしまうことがあります アナログ 入 力 モードに 設 定 したピンは 必 ず 入 力 モードになるようTRISxレジスタの 該 当 ピンの 値 を1とし てください 結 果 を 格 納 する 変 数 Varは ADコンバーターの 分 解 能 に 応 じて 型 を 決 めます 8ビットのものであればbyt e 型 10ビット 及 び12ビットのものの 場 合 にはWord 型 の 変 数 を 指 定 します ADCIN 命 令 使 用 に 際 して DEFINEが3つありますので ADCIN 命 令 を 使 用 する 場 合 には 必 ずプログラム の 先 頭 部 分 で 定 義 を 行 ってください "DEFINE ADC_BITS 10" A/Dコンバーターの 分 解 能 を 指 定 します 使 用 するPICマイコンの 種 類 に 応 じて 設 定 を 行 います "DEFINE ADC_CLOCK 3" AD 変 換 の 際 のサンプリング 時 間 の 生 成 には 内 蔵 されている 専 用 のRC 発 振 子 か 動 作 クロックかのどち らかを 選 択 できます 設 定 できる 値 は0~3です 3に 設 定 すると 内 蔵 のADコンバーター 専 用 のRC 発 振 回 路 が 選 択 されます "DEFINE ADC_SAMPLEUS 50" マイクロ 秒 単 位 で サンプリング 時 間 を 設 定 します このサンプリング 時 間 とは A/D 変 換 の 準 備 が 完 了 し 変 換 が 開 始 されてからA/D 変 換 が 終 了 するまでのプログラムが 待 機 する 時 間 を 示 します 通 常 は50マイクロ 秒 程 度 に 設 定 します サンプルプログラム 例 が 本 書 25ページにチュートリアルとして 掲 載 されていますので ADCIN 命 令 使 用 に 際 して 参 考 にしてください

63 下 記 の 例 は PIC16F887でAN1からの 入 力 を10ビット 分 解 能 で LCDに10 進 数 で 表 示 した 場 合 です DEFINE ADC_BITS 10 DEFINE ADC_SAMPLEUS 50 DEFINE ADC_CLOCK 3 TRISA = 1 ADCON0 = % ADCON1 = % ANSEL = % ANSELH = 0 ad_aqu: AD_RES var WORD ADCIN 0, AD_RES LCDOUT $fe,1, dec AD_RES PAUSE 100 GOTO ad_aqu END 9-3 ARRAYREAD ( 配 列 からデータを 読 み 込 む) ARRAYREAD ArrayVar, {Maxlength, Label,} [Item...] ArrayVarで 指 定 したバイト 配 列 から 値 を 検 索 してItemで 指 定 したバイト 型 変 数 に 値 を 格 納 します シリアル 通 信 等 で 取 得 したバイト 型 データをバイト 配 列 に 格 納 した 後 指 定 したデータを 配 列 の 中 から 検 索 したり 指 定 した 要 素 のデータだけを 取 得 したりすることができます 一 般 的 には ARRAYREAD 命 令 は シリアル 通 信 で 受 信 したデータの 解 析 に 使 用 するための 命 令 です 省 略 可 能 なMaxlengthに 最 大 の 読 み 取 りバイト 数 を 指 定 すると 読 み 取 りを 行 う 配 列 のサイズの 最 大 値 を 指 定 できます Maxlengthで 指 定 できる 最 大 値 は256までです また 特 定 のデータを 検 索 する 場 合 には 省 略 可 能 なLabelに 飛 び 先 ラベルを 指 定 しておくと 検 索 したデータが 見 つからなかった 場 合 に 指 定 した ラベルにジャンプさせることができます 省 略 可 能 なMaxlength 並 びにLebelを 指 定 する 場 合 には "WAIT"や"WAITSTR"の 修 正 子 を 使 う 場 合 が 一 般 的 です ARRAYREAD 命 令 では 各 種 修 正 子 が 使 用 できます データ 読 み 取 り 時 にデータを 修 正 したり 配 列 に 取 り 込 んだり 配 列 の 中 から 指 定 したデータを 検 索 することができます 修 正 子 動 作 内 容 BIN{1~32} 2 進 数 として 読 み 込 みます DEC{1~10} 10 進 数 として 読 み 込 みます HEX{1~8} 16 進 数 として 読 み 込 みます SKIP n nバイトデータをスキップします STR ArrayVar2\n{\c} nで 指 定 したバイト 数 のデータをArrayVar2 配 列 に 読 み 込 みます 省 略 可 能 なcで 終 端 します WAIT( ) ( ) 内 で 指 定 したデータを 受 信 するまで 待 機 します WAITSTR ArrayVar2{\n} バイト 配 列 ArrayVar2 内 格 納 されている 文 字 列 を 受 信 するまで 待 機 し ます 省 略 可 能 なnを 指 定 すると 配 列 の 長 さを 指 定 できます 例 1:バイト 型 配 列 Aの 要 素 0と 要 素 1のデータをバイト 型 変 数 B0とB1に 格 納 する A var byte[10] B0 var byte : B1 var byte ARRAYREAD A, [B0, B1]

64 例 2:バイト 型 配 列 Aの 要 素 3のデータを 取 得 する ARRAYREAD A, [SKIP 3, B0] 例 3:バイト 型 配 列 Aの 中 から 文 字 "X"を 検 索 し 該 当 する 文 字 があった 場 合 には その 文 字 の 次 の 要 素 か ら3バイト 分 のデータをバイト 型 配 列 Bに 格 納 する 但 し 検 索 するデータの 長 さは 最 大 10バイトとし 10 バイト 内 に"X"が 見 つからない 場 合 には ラベルtlabelにジャンプする A var byte[20] : B var byte[5] ARRAYREAD A, 10, tlabel, [WAIT("X"), STR B\3] 9-4 ARRAYWRITE ( 配 列 にデータを 書 き 込 む) ARRAYWRITE ArrayVar, {Maxlength, Label,} [Item...] ArrayVarで 指 定 したバイト 配 列 に Itemで 指 定 したデータを 書 き 込 みます I2CWRITE 命 令 やLCDOUT 命 令 など 配 列 を 扱 う 別 の 命 令 とともに 使 用 することを 前 提 としています Itemで 指 定 したデータは ArrayVar 配 列 の 先 頭 から 書 き 込 まれます 省 略 可 能 なMaxlengthには 書 き 込 むデータの 最 大 要 素 数 を 指 定 します 指 定 できる 最 大 値 は256までで す 書 き 込 もうとするデータがここで 指 定 した 最 大 要 素 数 を 超 えた 場 合 には Labelで 指 定 したラベルへジ ャンプします 不 定 長 のデータを 書 き 込 む 場 合 で 書 き 換 え 元 の 配 列 に 対 して 指 定 したサイズよりも 大 き な 書 き 換 えが 発 生 しないようにすることができます ARRAYWRITE 命 令 では 各 種 修 正 子 が 使 用 できます データ 書 き 込 み 時 にデータを 修 正 したりすること ができます 修 正 子 {I}BIN{1~32} {IDEC{1~10} {I}HEX{1~8} REP c\n STR ArrayVar2\n 動 作 内 容 2 進 数 として 書 き 込 みます 10 進 数 として 書 き 込 みます 16 進 数 として 書 き 込 みます キャラクタcをn 回 繰 り 返 して 書 き 込 みます ArrayVar2 配 列 からnで 指 定 したバイト 数 分 のデータを 書 き 込 みます 補 助 修 正 子 "I"はデータの 進 数 形 式 を%,#,$で 数 値 の 前 に 付 加 します 2 進 数 の 場 合 には% 10 進 数 の 場 合 には# 16 進 数 の 場 合 は$をそれぞれ 付 加 します 例 1:バイト 型 配 列 Aに バイト 変 数 B0の 値 を 文 字 列 として 格 納 する ( 例 として 配 列 Aには 要 素 0~4までそれぞれ A B C D E という 文 字 列 が 格 納 されているとします ) A var byte[5] B0 var byte : B0 = 10 ARRAYWRITE A, [DEC B0] 配 列 Aは 要 素 0から 順 に 1 0 C D E となります 例 2:バイト 型 配 列 Aに バイト 変 数 B0の 値 を 文 字 列 として 格 納 する 但 し 使 用 する 要 素 数 が3 以 上 の 場 合 ( 最 大 2 要 素 まで)には 値 を 格 納 せずにラベルtlableにジャンプする A var byte[5] B0 var byte : B0 = 10 ARRAYWRITE A, 2, tlabel, [DEC B0] B0 = 10 の 場 合 には 実 行 される B0 = 100 とすると 最 大 値 を 超 えるためtlabelへ 飛 ぶ

65 9-5 ASM ENDASM (インラインアセンブラの 指 定 ) BASICプログラム 中 にアセンブラ 言 語 を 挿 入 します (インラインアセンブラ 機 能 ) ASMで 開 始 し ENDASMで 終 了 します ASM~ENDASM 間 にアセンブリ 言 語 を 記 述 します 例 ASM BSF PORTA 0 'PORTAのbit0を1にセット BCF PORTB 0 'PORTBのbit0を0にセット ENDASM インラインアセンブラ 使 用 中 には アセンブラ 言 語 でバンクの 切 替 や 設 定 はしないでください また 汎 用 レジスタをアセンブラ 内 で 使 用 すると BASICの 動 作 に 影 響 を 与 えます 9-6 BRANCHL ( 指 定 したラベルへ 分 岐 ) BRANCHL Index [Label1{ Label1...}] BRANCHLはIndexの 値 ( 順 列 )で 指 定 したLabelの 分 岐 先 へ 実 行 内 容 を 分 岐 します Index Label 変 数 又 は 定 数 で 値 が0~Nの 分 岐 指 定 分 岐 先 のラベル 名 [ ] 内 に 記 述 するラベルの 順 番 は 0123 の 順 番 となっています Indexで 指 定 した 値 に 対 応 したラベ ルに 処 理 を 分 岐 します Indexの 値 によって 処 理 を 複 数 のラベル 先 に 分 岐 できるため 分 岐 先 が 多 い 場 合 にはIF 文 で 記 述 するよりも プログラムが 見 やすくなります 9-7 BUTTON (チャタリング 対 策 を 施 したボタン 入 力 処 理 ) BUTTON Pin Down Delay Rate BVar Action Label ピンに 接 続 した 押 しボタンスイッチなどを 使 用 し ピンの 状 態 をH-Lに 変 えて それを 判 定 する 命 令 です ピンのH-L 状 態 は IF 文 でも 判 定 できますがBUTTON 命 令 では オートリピート( 長 く 押 し 続 けた 時 に 何 回 押 したことにするか)とそれに 伴 うパラメータを 設 定 できます チャタリングの 直 接 的 な 防 止 の 機 能 はあ りません ピンの 論 理 状 態 の 判 定 にはIF 文 やSELECT 文 を 使 うのが 一 般 的 です PICマイコンの 入 力 ピンはハイインピーダンスですので スイッチの 接 続 は 上 記 のように 抵 抗 器 でプルダ ウンするかプルアップして 使 用 します 左 側 はスイッチを 押 すと PIC PINが0になります 右 側 はスイッチ を 押 すとPIC PINが1になります

66 Pin Down PORTB.0 などのように 判 定 するスイッチを 接 続 したピン 名 を 記 述 します 0 又 は1 Hレベル 又 はLレベルどちらでボタンが 押 されたとみなすかを 指 定 します 0 該 当 ピンがLowレベルでボタンを 押 されたことになります 1 該 当 ピンがHighレベルでボタンを 押 されたことになります Delay 0~255の 値 オートリピート 開 始 前 のカウント 数 です ここで 指 定 した 値 は 実 際 にはル ープ 回 数 で ある 一 定 時 間 を1ループとして 何 ループ 経 過 した 時 に まだスイッチが 押 さ れた 状 態 になっているかを 判 定 します 0に 設 定 するとオートリピートが 有 効 になります 255に 設 定 するとオートリピートは 無 効 になり スイッチ 長 押 しの 時 に 何 回 も 押 されたこ とになりません Rate 0~255の 値 上 記 オートリピートループの 周 期 の 設 定 です 値 を 小 さくするとリピート が 早 くなります 0でオートリピートは 無 限 255でオートリピートサイクルは1に 設 定 BVarはBUTTON 命 令 作 業 用 スペースです BYTE 型 変 数 を 記 述 します 使 用 前 に0を 代 入 します Actionは0か1を 記 述 し 0で 押 されていない 時 1で 押 されている 時 に 指 定 した 分 岐 先 へ 分 岐 します Labelは Actionで 指 定 した 状 態 の 時 に 分 岐 する 分 岐 先 ラベル 名 を 記 述 します 上 記 説 明 でオートリピートという 言 葉 が 出 ていますが オートリピートとは いわゆる 長 押 しした 場 合 に 入 力 を 何 回 入 力 したかということを 言 います 引 数 のdelayで 設 定 した 値 は 具 体 的 にはループの 回 数 で 0~ 255で 指 定 したループ 回 数 分 スイッチが 押 された 状 態 になっていると オートリピートを 開 始 するという 意 味 になります この 時 255の 最 大 値 にするとループ 回 数 が255となり オートリピートをしなくなりま す 0に 設 定 すると ループが 回 らない 状 態 でスイッチが 押 されたこととなりますので (つまり 時 間 遅 延 が なくなるため スイッチを 押 してすぐにオートリピート= 何 回 もスイッチ 入 力 があったこととなる)オートリ ピートが 有 効 されます よって 何 回 も 押 されたことになるのでチャタリング 防 止 機 能 はなくなります 以 上 の 理 由 からチャタリング 防 止 機 能 の 直 接 的 な 関 係 はありませんが ある 瞬 間 だけをONにするパルス 波 を 印 加 することは 機 械 スイッチではできませんので 複 数 押 しの 防 止 になります 複 数 押 し 防 止 のためここでは255を 設 定 することが 多 いです 引 数 のRateは オートリピートの 周 期 で 値 を 小 さくするとリピートが 早 くなります 引 数 として 設 定 するB varは 上 記 のループ 用 のカウンタとして 使 用 されます 何 回 も 同 じ 変 数 名 を 使 用 する 場 合 には Button 命 令 の 前 で0を 代 入 しておきます ( 宣 言 直 後 でしたら 初 期 値 0が 入 っているため 不 要 です) なお このBUTTON 命 令 だけでチャタリングの 防 止 を 完 全 に 行 うことはできません スイッチ 入 力 はピンの 状 態 変 化 ですので IF 文 で 作 ることも 多 くあります IF 文 でスイッチ 入 力 を 判 定 後 飛 び 先 ルーチンである 一 定 時 間 例 えば100mS~300mS 待 って 再 度 IF 文 で 今 度 はスイッチが 離 された 状 態 であるかを 確 認 すると 簡 易 的 なチャタリング 防 止 を 施 すことができます 離 されていなければ 再 度 ル プを 回 って 確 認 し 離 されるまでループを 回 します 9-8 CALL (アセンブラ 言 語 内 のサブルーチンをコール) CALL Label アセンブリ 言 語 内 の 任 意 のラベルをサブルーチンとして 呼 び 出 します アセンブリ 言 語 内 のラベルには _(アンダーバー)がついています PBPのソースプログラム 内 での 任 意 のラベルへのサブルーチンへのジャンプはGOSUB 命 令 を 使 います 本 CALL 命 令 は アセンブリプログラム 内 に 記 述 されたラベルへのジャンプですのでご 注 意 ください

67 9-9 CREAR (すべてのRAMレジスタをリセット) CLEAR バンクに 関 係 なくすべてのRAMレジスタの 内 容 をクリアします 宣 言 済 み 変 数 の 内 容 もすべて0になります PICマイコンは 電 源 投 入 時 にはRAMの 内 容 はすべてランダムであり 定 められた 値 にはなっていません CL EAR 命 令 を 使 うと 簡 単 にすべてのRAMを0にクリアできます 但 し レジスタ(SFR)のクリアはしません RAMのクリアのみです 12ビットコアデバイスでは 本 CLEAR 命 令 はバンク0のレジスタは0にしません 9-10 CLEARWDT (ウォッチドッグタイマーをクリアー) CLEARWDT ウォッチドッグタイマーは PICマイコンが 正 常 かどうかを 常 に 監 視 するためのタイマです ウォッチドッグ タイマーは タイマがタイムアップするとハードウェアにリセットをかけます CLEARWDT 命 令 を 実 行 すると ウォッチドッグタイマをクリアして タイムアップしないようにします 一 定 時 間 毎 にウォッチドッグタイマーをクリアすることでプログラムが 停 止 してウォッチドッグタイマーがリセ ットできなくなると ウォッチドッグタイマーがタイムアップしてリセットがかかります アセンブラ 言 語 レベルで 挿 入 されるclrwdt 命 令 をすべて 取 り 除 くには 下 記 のDEFINEをプログラムの 先 頭 で 記 述 します DEFINE NO_CLRWDT COUNT (パルスのカウント) COUNT Pin Period Var 指 定 した 時 間 (Period=ミリ 秒 単 位 )に 指 定 ピン(Pin)に 入 力 されたパルスの 数 をカウントし その 結 果 を 変 数 Varに 代 入 します COUNT 命 令 は ピンに 印 加 されたLowからHighへの 変 遷 をカウントします Period カウント 計 測 する 時 間 単 位 はミリ 秒 波 形 のデューティ 比 は50%であることが 条 件 です (H-Lの 間 隔 が 等 しい) Var カウント 値 を 格 納 する 変 数 Word 型 変 数 を 使 用 することをお 奨 めします 動 作 周 波 数 4MHzの 時 20μ 秒 ごとに 20MHzの 時 は4μ 秒 毎 にピンの 状 態 をチェックします よって この 時 間 間 隔 よりも 短 い 時 間 のパルスはカウントできません この 命 令 はPICマイコンを 動 作 させる 周 波 数 により 影 響 をうけます 4MHz 動 作 の 場 合 20マイクロ 秒 ごと に 20MHz 動 作 の 場 合 は 4マイクロ 秒 毎 にピン 状 態 を 検 出 します よって4MHz 動 作 の 場 合 には 最 大 25K Hzまで 20MHz 動 作 の 場 合 には 最 大 125KHzまでのカウントが 可 能 です なお デューティー 比 が50%でない 場 合 正 しい 計 測 ができない 場 合 があります 計 測 時 間 を1000ミリ 秒 に 設 定 すると 周 波 数 として 値 を 取 得 できます

68 9-12 DATA (EEPROMに 定 数 を 記 憶 させる) DATA }Constant{ Constant...} EEPROMメモリを 搭 載 したPICマイコンのEEPROMに 定 数 を 記 憶 省 略 された 場 合 最 初 のデータはアドレス0 番 地 に 書 き 込 まれ 以 降 のデータをそれに 引 き 続 き 書 き 込 まれます Constant 数 値 を 記 述 します プログラム 実 行 中 に このDATA 命 令 で 記 憶 された 値 を 参 照 することができますが 値 の 更 新 はできませ ん プログラム 実 行 中 に 値 を 更 新 する 場 合 には WRITE 命 令 を 使 用 します 9-13 DEBUG (UARTでデータを 出 力 する) 設 定 した 内 容 でシリアル 通 信 (UART)でデータを 出 力 します PBPには この 他 にもいくつかのシリアル 通 信 命 令 がありますが このDEBUG 命 令 は 簡 単 に 変 数 の 内 容 等 をシリアル 出 力 できるようにしたもので あくまでもデバッグ 作 業 に 利 用 するようにしたものです シリアル 通 信 のプログラムを 作 成 する 場 合 には SERIN2やSEROUT2 命 令 を 使 用 してください DEBUG Item{ Item...} Itemには 変 数 又 は 文 字 列 を 指 定 します 変 数 の 場 合 には 変 数 の 前 に# 記 号 を 付 けます この 他 変 数 の 内 容 を10 進 数 で 出 力 する 場 合 にはDEC 16 進 数 の 場 合 にはHEXなどいくつかの 修 正 子 があります 修 正 子 の 詳 細 は 本 書 のSERIN2 命 令 の 項 目 をご 覧 ください 文 字 列 を 指 定 する 場 合 には " "(ダブルクォーテーション)で 囲 みます DEFINEを 利 用 して 通 信 ポート 及 び 通 信 速 度 を 設 定 します データプロトコルは データ 長 8ビット 1ストップビット ノンパリティに 固 定 されていて 変 更 できません DEFINE DEBUG_REG PORTB 出 力 ポートをPORTBに 設 定 します DEFINE DEBUG_BIT 0 出 力 ビットをビット0にします DEFINE DEBUG_BAUD 2400 通 信 速 度 をbps 単 位 で 設 定 します DEFINE DEBUG_MODE 0 0で 正 論 理 1で 反 転 します RS232Cレベル 変 換 ICを 使 用 している 場 合 には0 使 用 していない 場 合 には1にします 通 常 パソコンのRS232Cポートと 接 続 する 場 合 には MAX232 等 のレベル 変 換 ICを 介 してPICマイコンと 接 続 します 直 接 接 続 する 場 合 には 必 ず 抵 抗 器 を 入 れる 必 要 があります

69 9-14 DEBUGIN (UARTからデータを 入 力 する) シリアル 通 信 (UART)でデータを 受 信 します PBPには この 他 にもいくつかのシリアル 通 信 命 令 がありま すが このDEBUGIN 命 令 は 簡 単 に 外 部 からの 信 号 を 入 力 できるようにしたもので あくまでもデバッグ 作 業 に 利 用 するようにしたものです シリアル 通 信 のプログラムを 作 成 する 場 合 には SERIN2やSEROUT2 命 令 を 使 用 してください DEBUGIN {Timeout Label } [Item{ Item...}] Itemに 記 述 した 変 数 に シリアル 通 信 で 受 信 したデータを 格 納 します DEBUGIN 命 令 では データを 受 信 するまでプログラムはDEBUGIN 命 令 の 場 所 で 停 止 し 受 信 を 待 機 しま す この 受 信 待 ちの 状 態 では 受 信 するまで 処 理 が 停 止 するため 他 の 処 理 ができない 状 態 となります そ こで 定 義 した 時 間 が 経 過 してもデータを 受 信 できない 場 合 には この 命 令 を 終 了 するのが Timeout 時 間 の 設 定 です Timeoutにミリ 秒 単 位 で タイムアウトの 時 間 を 設 定 します Labelにはタイムアウト 時 にジ ャンプするジャンプ 先 のラベル 名 を 記 述 します DEFINEを 利 用 して 通 信 ポート 及 び 通 信 速 度 を 設 定 します データプロトコルは データ 長 8ビット 1ストップビット ノンパリティに 固 定 されています DEFINE DEBUGIN_REG PORTA 入 力 ポートをPORTAに 設 定 します DEFINE DEBUGIN_BIT 3 入 力 ビットをビット3にします DEFINE DEBUGIN_BAUD 2400 通 信 速 度 をbps 単 位 で 設 定 します DEFINE DEBUGIN_MODE 0 0で 正 論 理 1で 反 転 します レベル 変 換 ICを 使 用 している 場 合 には0 使 用 していない 場 合 には1にします 通 常 パソコンのRS232Cポートと 接 続 する 場 合 には 必 ずMAX232 等 のレベル 変 換 ICを 介 してPICマイ コンと 接 続 します 9-15 DO...LOOP ( 条 件 を 指 定 してルーチンをループさせる) DO {UNTIL Condition} {WHILE Condition} ステートメント... LOOP {UNTIL Condition} {WHILE Condition} DOとLOOPで 囲 われた 部 分 のルーチン(ステートメント)を 繰 り 返 し 実 行 します 省 略 可 能 なUNTIL 又 はWHILEを 省 略 すると 永 久 ループとなります UNTILを 指 定 すると 終 了 条 件 が WHILEを 指 定 すると 継 続 条 件 がそれぞれ 設 定 できます DOの 後 ろに 記 述 するとステートメントが 実 行 される 前 に 条 件 文 が 判 定 されます LOOPの 後 ろに 記 述 す ると 最 低 1 回 ステートメントが 実 行 された 後 条 件 文 が 判 定 されます 例 1: 永 久 にPORTBを100ミリ 秒 間 隔 で 点 滅 させる DO PORTB.0 =~ PORTB.0 PAUSE 100 LOOP

70 例 2: 変 数 iの 値 が10 以 下 の 間 処 理 を 継 続 させる i = 1 DO WHILE i 11 PORTB =~ PORTB PAUSE 100 i = i + 1 LOOP 9-16 DTMFOUT (DTMF 信 号 を 出 力 する) DTMF(Dual-Tone Multi-Frequency)を 指 定 したピンから 出 力 します DTMFは 16 種 類 の 符 号 を 低 側 高 側 2つの 周 波 数 帯 域 によって 信 号 を 発 声 させます 電 話 機 のトーン 信 号 (ピ ポ パの 音 )です DTMFOUT pin {Onms Offms }[Tone{ Tone...}] pin 音 のパルスを 出 力 するピンを 指 定 します Onms それぞれの 音 の 発 生 時 間 単 位 はミリ 秒 省 略 時 は200msになります Offms 次 の 音 が 出 るまでの 無 音 時 間 単 位 はミリ 秒 省 略 時 は200msになります Tone 0~15の 番 号 で 0~9はプッシュ 電 話 機 のトーン 信 号 と 同 じ 周 波 数 の 音 を 発 生 10は*キー 11は#キーに 相 当 します 12~15はA~Dに 相 当 します PICマイコンのピンとオペアンプを 接 続 する 際 には 下 記 のようなフィルター 回 路 を 作 り 接 続 します DTMFOUT 命 令 を 使 用 する 場 合 動 作 周 波 数 が20MHz 又 は40MHzであることが 推 奨 されます それ 以 外 の 周 波 数 では 動 作 に 不 具 合 が 生 じることがあります 12ビットコアのデバイスではこの 命 令 は 使 用 できません 8-17 EEPROM (EEPROMに 値 を 記 憶 させる) EEPROM {Location }[Constant{ Constant...}] EEPROM 命 令 はPICに 内 蔵 のオンチップEEPROM(データROM)に 定 数 を 書 き 込 む 命 令 です この 命 令 はWRITE 命 令 と 異 なりプログラム 実 行 中 にデータEEPROMに 値 を 書 き 込 むのではなくHEXファ イルをPICマイコンに 書 き 込 む 際 に 定 数 として 値 をEEPROMの 指 定 した 番 地 に 書 き 込 む 命 令 です EEPROMに 定 数 を 複 数 バイト 連 続 して 記 録 します 書 き 込 み 開 始 アドレスはLocationで 指 定 します 省 略 するとアドレス0から 書 き 込 まれます それ 以 降 は 次 のアドレスから 順 に 書 き 込 まれます Constantは 書 き 込 む 整 数 又 は 文 字 列 を 記 述 します 文 字 列 の 場 合 はASCIIコードとして 記 憶 されます EEPROM 4 [ ] '4 番 地 より を 順 にデータ 用 EEPROMに 書 き 込 みます なお EEPROMに 書 き 込 んだ 内 容 はPICマイコンの 電 源 を 切 断 しても 保 持 されます

71 9-18 END (プログラムを 終 了 する) END プログラムを 終 了 します 各 I/Oピンの 状 態 はこの 時 点 の 状 態 を 維 持 します END 命 令 は スリープ 命 令 をループすることで 実 行 されています END 命 令 ははサスペンドではないため 一 度 END 命 令 を 実 行 すると 再 起 動 又 はハードウエアリセットを しないとプログラムは 実 行 できなくなります PICマイコンの 周 辺 モジュール(USARTなど)を 使 用 している 場 合 でサスペンドしたい 場 合 にはSTOP 命 令 を 使 います 9-19 ERASECODE (フラッシュメモリエリアのデータを 消 去 する) ERASECODE Block PIC18Fシリーズや12ビットコアデバイス(PIC12F519 等 )では WRITECODE 命 令 でデータを 書 き 直 す 前 にコードの 消 去 が 必 要 です これらのデバイスでは 1 回 のデータ 消 去 にあたり1ブロック 毎 のブロッ ク 単 位 で 行 います ブロックのサイズは デバイスによって 異 なっていますが 多 くは32ワード(64バイト) 単 位 となっています(デバイスにより 異 なるためデータシートでの 確 認 が 必 要 です) このERASECODEにおけるブロックサイズの 指 定 は 通 常 書 き 込 みを 行 うブロックサイズより 大 きくす る 必 要 があります 消 去 するブロックの 最 初 の 場 所 は 引 数 のBlockで 指 定 します PIC18Fデバイスに 関 しては 引 数 のBlockはワードアドレスではなく バイトアドレスです このBlockの 値 を 指 定 する 時 は プロ グラムコードのエリアを 指 定 しないように 注 意 する 必 要 があります プログラムコードが 格 納 されている エリアを 指 定 してしまうと プログラムコードが 喪 失 してしまいプログラムの 挙 動 が 不 正 になり 重 大 なバ グを 引 き 起 こすことになり 致 命 的 な 問 題 となります この 命 令 を 使 用 する 場 合 にはPICのメモリー 構 造 に 関 して 十 分 な 知 識 を 必 要 とします なお ここで 指 定 するBlockの 値 は そのブロックの 最 初 のアドレスと 記 載 しましたが このアドレスは 相 対 番 地 です 例 えば 多 くのPICではプログラムメモリーは5 番 地 から 始 まりますが あくまでもこのERAS ECODEで 指 定 するBlockのアドレスは 先 頭 が0です すなわち"0"を 引 数 として 指 定 すると 実 際 には5 番 地 から1ブロック 分 イレースされることになります プログラムメモリーは5 番 地 からだから 先 頭 アドレ スは5と 間 違 わないようご 注 意 ください (ここの"5"は 絶 対 番 地 です) ERASECODE 命 令 で 使 用 されるBlock 引 数 の 値 は マイクロチップ 社 によって 定 義 されている ブロック の 開 始 アドレスの 値 と 一 致 しなければなりません もしこの 決 まりを 無 視 して ブロックの 最 初 のアドレ ス 以 外 を 指 定 しまった 場 合 動 作 は 全 く 保 証 されずひいては プログラム 全 体 の 挙 動 に 対 しても 重 大 な 問 題 を 引 き 起 こす 原 因 となります もし PIC18Fシリーズを 使 用 している 場 合 には たいがいがブロックサイズは64バイト 単 位 です その ため 指 定 するブロックのアドレスは64の 倍 数 になります (0, 64, 128, , 3264など ) 例 としてPIC18F452のデータシートを 見 てみましょう データシートには 次 のような 記 載 があります イレースについては64バイト 毎 に 行 われると 記 載 があります 同 様 にして 他 のデバイスであってもデータシート には 必 ずブロックサイズの 記 載 がありますので 使 用 するデバイスのデータシートを 必 ず 確 認 くだ さい

72 また 12ビット 命 令 セットのデバイス 例 えばPIC12F519やPIC16F526では 同 様 にWRITE 命 令 でデー タを 書 く 前 にERASECODE 命 令 を 使 ってデータを 消 去 する 必 要 があります ERASECODE 命 令 を 使 えるようにするためには HEXファイルをPICライターで 書 き 込 む 際 に 設 定 するコ ンフィギュレーションビットの 設 定 で フラッシュプログラムの 書 き 換 え に 関 する 項 目 を 有 効 (=Enable d)に 設 定 しておかなくてはなりません ブロック 単 位 でのイレースをサポートしていないデバイスでこの 命 令 を 使 うとエラーになります 前 ページのデータシートの 抜 粋 でも 分 かるとおり 消 去 する 時 の1ブロックのサイズと データを 書 き 込 む 時 の1ブロックのサイズは 異 なります 例 えばPIC18F452の 場 合 イレースは1ブロックあたり64 バイト 書 き 込 みの 場 合 には1ブロックあたり8バイトです PIC16Fデバイスでは 実 際 にはプログラムメモリは14ビットサイズ(0~16383)です 一 般 的 に1ワー ドという 場 合 には16ビットのことをいいますが ここでは1ワードとはPICにおける1 単 位 という 意 味 で1 4ビット 長 をいいます 9-20 EXIT (ループ 構 造 から 抜 ける) EXIT FOR...NEXT 等 のループや IF 文 の 構 造 からプログラムの 処 理 を 抜 けさせ 次 の 文 から 実 行 させる 命 令 で す ループ 等 で ループを 抜 けるための 条 件 式 の 条 件 が 満 たされなくても この 命 令 で 強 制 的 にループか ら 抜 けることができます EXIT 命 令 は 下 記 の 命 令 で 使 えます DO...LOOP FOR...NEXT IF...THEN WHILE...WEND REPEAT...UNTIL 9-21 For...Next ( 指 定 した 回 数 繰 り 返 し 実 行 する) For Count = start TO end {STEP {-} Inc} {Body} NEXT {Count} Countで 指 定 した 変 数 の 値 がstartからendの 値 になるまで{Body} 部 分 を 繰 り 返 し 実 行 します Countの 値 がendで 指 定 した 値 に 達 するとFor 文 は 終 了 し Next 以 降 の 命 令 を 実 行 します Countには 変 数 を 指 定 します この 変 数 はループの 回 数 を 管 理 することからループ 変 数 と 呼 ばれます ループが1 回 まわる 毎 に({Body}が1 回 実 行 される 毎 に)Count 変 数 の 値 は{step {-} Inc}で 指 定 した 値 ずつ 変 化 します なお この{step {-} Inc}を 省 略 すると 1ずつインクリメント( 増 加 )されます ループ 計 算 は16ビットで 行 われます (Count 変 数 にはbyte 型 又 はword 型 が 使 えます ) Count start end Inc byte 型 又 はword 型 変 数 を 指 定 します ループした 回 数 がこの 変 数 に 代 入 されます 変 数 又 は 定 数 です 開 始 値 を 指 定 します 変 数 又 は 定 数 です 最 終 値 を 指 定 します 省 略 可 能 です カウンターの 変 化 値 を 指 定 します -1を 指 定 するとデクリメントします 省 略 す るとループカウンタは1ずつ 加 算 されます

73 例 : RB0を0.5 秒 間 隔 で10 回 点 滅 させるプログラム i var byte i = 0 For i = 1 to 10 Next i High PORTB.0 Pause 500 Low PORTB.0 Pause 500 例 えば "For i = 10 to 1 step -1" と 記 述 しても 同 様 に10 回 点 滅 後 停 止 します ループカウンタは 使 用 前 に 必 ず 初 期 化 (i = 0など)してください ループカウンタは ループの 回 数 を 記 憶 していますので ループ 中 にループカウンタを 使 用 してプログラ ムを 作 ることも 可 能 です ループ 中 にループから 抜 けたい 場 合 には Goto 命 令 を 使 用 して 任 意 のラベルにジャンプする 方 法 を 使 用 します また ループ 中 でもGosub 命 令 のサブルーチンが 使 用 できます 割 り 込 みを 有 効 にしている 場 合 ループ 中 に 割 り 込 みが 発 生 するとループを 抜 けて 直 ちに 割 り 込 みルー チンが 実 行 されます 9-22 FREQOUT ( 指 定 した 周 波 数 のパルスを 出 力 ) FREQOUT Pin Onms Frequency1{ Frequency2} 指 定 した 周 波 数 のパルスを 最 大 2 波 まで 合 成 して 指 定 したPinからOnmsミリ 秒 間 出 力 します 指 定 できる 周 波 数 は0Hz~32767Hzまでです FREQOUT 命 令 はPWMを 使 用 して 任 意 の 周 波 数 を 作 り 出 します PICにスピーカー 等 を 接 続 して 音 を 出 すには 下 記 のようなフィルタ 回 路 を 作 ります Pin 出 力 するピン Onms パルスの 発 生 時 間 単 位 はミリ 秒 Frequency1 出 力 周 波 数 単 位 はHz 0Hz~32767Hzまで Frequency2 第 二 周 波 数 単 位 はHz 0Hz~32767Hzまで 省 略 可 能 です 例 : 時 報 音 を 出 力 するプログラム i var byte i = 0 For i = 1 to 3 FREQOUT 0,100,400 Pause 900 Next i FREQOUT 0,2000,880 Stop

74 9-23 GOSUB (サブルーチンをコールします) GOSUB Label Labelで 指 定 したラベルのサブルーチンへジャンプします GOTO 命 令 と 異 なり ジャンプ 先 からはRETURN 命 令 でジャンプを 開 始 した 位 置 に 戻 ります サブルーチン をコールしたい 時 に 使 います ジャンプ 先 のサブルーチン 内 で 更 に 何 回 か 次 のサブルーチンを 呼 び 出 すこと(ネストといいます)もできま すが その 際 にはスタックの 深 さに 制 限 があります 12ビット 及 び14ビットコアデバイス 14ビットエンハンスドコアのPIC17シリーズ PIC18シリーズ 4レベル 12レベル 26レベル なおネストを 深 くするとプログラムの 見 通 しが 悪 くなりますので あまり 深 くしない 方 がよいでしょう GOSUB 命 令 は FOR 文 で 繰 り 返 し 実 行 している 場 合 にも 使 用 できます 9-24 GOTO ( 指 定 したラベルに 処 理 を 飛 ばす) GOTO Label Labelで 指 定 したラベルへジャンプします ジャンプした 後 元 のプログラム 位 置 へ 戻 ることはできません 処 理 はジャンプ 先 に 行 ったまま 継 続 され ます 処 理 を 別 のラベル 位 置 に 飛 ばしたい 時 に 使 用 します またGOTO 命 令 は 永 久 ループ( 無 限 にループを 繰 り 返 す 場 合 )を 作 る 際 にも 使 用 できます 例 : 0.5 秒 間 隔 でRB0が 点 滅 を 繰 り 返 すプログラム main: High PORTB.0 Pause 500 Low PORTB.0 Pause 500 Goto main 永 久 ループの 場 合 にはDO...LOOP 命 令 のほうがシンプルに 記 述 できます

75 9-25 HIGH ( 指 定 したピンをHighレベルにする) HIGH Pin 指 定 したのピンをHighレベル(Vccの 電 圧 レベル)にします 指 定 された 該 当 ビットの 状 態 はLowレベルからHighレベルになります HIGH 命 令 によって 指 定 されたビットは 自 動 的 に 出 力 方 向 に 設 定 されます High PORTB.0 上 記 の 例 では PORTBのビット0をHighにします LED var PORTB.0 High LED 上 記 の 例 では PORTB.0を 文 字 列 LEDにアサインしています "High LED"でPORTB.0がHighレベルにな ります ポートを 点 滅 させたい 場 合 は 下 記 のようにします Loop: HIGH PORTB.0 'PORTBのBIT0をHにする PAUSE 1000 '1000ミリ 秒 =1 秒 待 機 する LOW PORTB.0 'PORTBのBIT0をLにする PAUSE 1000 GOTO Loop 'ラベルLoopに 戻 り 繰 り 返 す ポートの 各 ビットの 状 態 をまとめて 記 述 する 場 合 PBPではポートの 各 ビットの 状 態 を0と1を 利 用 してまとめて 記 述 することもできます これは PBPでは 基 本 的 に レジスタ 名 = 値 で レジスタに 直 接 値 を 代 入 できるからです 例 えば PORTAのすべてのビットを1にしたい 場 合 は 次 のように 記 述 します TRISA = 0 'PORTAをすべて 出 力 に 設 定 PORTA = % PORTAの 状 態 を としたい 場 合 は 同 様 にして PORTA = % と 記 述 します なお ポートに 直 接 値 を 代 入 して 出 力 わ 行 う 場 合 には 必 ずTRISxレジスタの 設 定 を 記 述 して 該 当 ピンを 出 力 に 設 定 した 状 態 にします TRISxレジスタは 入 出 力 方 向 を 設 定 するレジスタです 該 当 のビットが1の 場 合 そのピンは 入 力 ピン に 該 当 ビットが0の 場 合 には そのピンは 出 力 ピンとして 設 定 されます 詳 しくはPICマイコンのデータシ ートをご 覧 ください まとめてポートを 制 御 したい 場 合 にはHIGH 命 令 を 利 用 するよりも 効 率 が 良 く 簡 単 です 但 し すべてのポ ートを 同 時 に 制 御 する 際 にはPICマイコンの 定 格 電 流 を 越 えないよう 設 計 に 注 意 してください

76 9-26 HPWM (ハードウエアPWMを 使 用 してPWMを 出 力 ) HPWM Channel1 Dutycycle Frequency ハードウエアPWM 機 能 (CCP)を 搭 載 したPICの 機 能 を 使 用 したPWMを 生 成 します ハードウエアPWMは 別 の 命 令 実 行 中 であってもバックグラウンドで 動 作 し 連 続 して 信 号 を 出 力 することができます PWMは Pulse Width Modulation の 略 でパルス 幅 変 調 とも 呼 ばれます デジタルの2 値 (HとL)によりパ ルス 幅 を 決 めることでアナログの 状 態 値 を 表 現 する 方 式 です 周 期 を 一 定 にしてパルスのHとLの 割 合 (デ ューティー 比 )を 変 えることで 出 力 電 圧 を 制 御 するものです RCサーボにも 応 用 されます Channle1は PWMで 使 用 するチャンネルを 指 定 します 使 用 するPICによって1~3のチャンネルがありま す 例 えば16F887ではCH1がCCP1でRC2に CH2がCCP2でRC1にアサインされています ピン 名 とP WMのチャンネル 名 については 使 用 するPICマイコンのデータシートを 参 照 ください DutycycleはH-Lレベルの 周 期 を0~255の 範 囲 で 指 定 します 0を 指 定 するとOFF( 永 久 にLの 状 態 )に なり 255を 指 定 するとON( 永 久 にH)になります 中 間 値 127は50%デューティーということになります FrequencyはPWM 信 号 の 周 波 数 を 指 定 します 2チャンネルを 持 つデバイスの 場 合 には 両 方 のチャンネ ルとも 同 じ 周 波 数 を 設 定 しなければなりません PICマイコンの 動 作 周 波 数 によって 下 限 の 周 波 数 が 決 ま ります 上 限 の 周 波 数 はいずれの 動 作 周 波 数 であっても32767Hzとなります 下 限 周 波 数 は 下 記 の 通 り です 4MHz 245Hz, 8MHz 489Hz, 10MHz 611Hz, 12MHz 733Hz, 16MHz 977Hz 20MHz 1221Hz, 24MHz 1465Hz, 33MHz 2015Hz, 40MHz 2442Hz 18F452にてHPWMを 使 用 する 場 合 には DEFINEにてピンを 定 義 します DEFINE CCP1_REG PORTC DEFINE CCP1_BIT 2 例 :1KHz デューティー 比 50%の 方 形 波 を 出 力 HPWM HPWM 命 令 は1 度 実 行 されると CCPを 制 御 するレジスタをPWMモードに 自 動 的 に 設 定 します そのため HPWM 命 令 の 後 でCCPピンを 通 常 のデジタルI/Oピンとして 使 用 したい 場 合 には 手 動 でCCPを 制 御 する レジスタを 操 作 してPWMモードをOFFに 設 定 する 必 要 があります 一 度 命 令 を 実 行 すると 基 本 的 には 指 定 したデューティー 比 周 波 数 にてパルスを 出 力 し 続 けます 例 え ば 一 定 時 間 でパルスを 停 止 したい 場 合 には PAUSE 命 令 等 でパルスを 出 力 したい 時 間 分 処 理 を 停 止 し その 後 デバイスによりますが 例 えば16F887の 場 合 には ECCPASレジスタのビット7に1を 代 入 するこ とでパルス 出 力 を 停 止 します (ECCPAS.7 = 1) 下 図 は2KHzのパルスを100m 秒 出 力 した 場 合 の 波 形 です

77 9-27 HSERIN(2) (ハードウエア 非 同 期 式 シリアル 通 信 受 信 ) HSERIN {ParituLabel }{Timeout Label }[Item( Item...)] HSERIN2 {ParituLabel }{Timeout Label }[Item( Item...)] ハードウエアUSART 搭 載 のデバイスにおいてハードウエアUSARTを 利 用 して 非 同 期 式 シリアル 通 信 (UA RT)でデータを 受 信 する 命 令 です RS232Cと 同 様 データはLSBファーストです HSERINはハードウエアUSART 機 能 が1つのデバイス 又 は ハードウエアUSARTが2つあるデバイスの1 つ 目 のシリアルポートにアクセスする 命 令 です HSERIN2は ハードウエアUSARTが2つあるデバイスの2つ 目 のハードウエアシリアルポートにアクセス する 命 令 です 省 略 可 能 なParityLabelにラベル 名 を 記 述 するとはパリティ 使 用 時 にエラーが 検 出 された 場 合 指 定 した ラベルにジャンプします 省 略 可 能 なTimeout Labelには 受 信 可 能 なデータが 指 定 したTimeout 秒 ( 単 位 は ミリ 秒 単 位 )こなかった 場 合 にはLabelで 指 定 したラベルにジャンプします [ ] 内 にbyte 型 変 数 を 記 述 し 変 数 に 受 信 したデータを 格 納 します また 複 数 のデータ 列 を 受 信 する 場 合 にはbyte 型 配 列 を 使 います ハードウエアUSARTの 機 能 を 内 蔵 しないPICを 使 う 場 合 や やむを 得 ずハードウエアUSARTのTX,RX ピンに 割 り 当 てられているピンを 別 のことで 使 用 しなければならない 場 合 には ソフトウエアでUART 通 信 を 行 うSERIN2,SEROUT2 命 令 を 使 用 します HSERIN(2) 命 令 は 通 常 のルーチンに 記 述 してUART 通 信 を 行 うことができますが シリアル 通 信 受 信 割 込 を 使 用 した 割 込 受 信 に 対 応 しています ( 割 込 処 理 はPIC 側 で 行 い 割 込 ルーチン 先 で 本 命 令 でデータを 受 信 します ) 割 込 を 使 わずに 通 常 ルーチンで 本 命 例 を 使 う 場 合 にはUART 通 信 で 受 信 を 待 機 する 場 所 に 本 命 令 を 記 述 します 通 信 速 度 は プログラムの 先 頭 部 分 で"DEFINE HSER_BAUD"にてbps 単 位 で 定 義 します DEFINE OSC 16 DEFINE HSER_BAUD 9600 rec var byte main: HSERIN [rec] HSEROUT [rec] goto main END 上 の 例 はボーレート9600bpsで 受 信 したデータをそのままUART 通 信 で 送 り 返 すプログラムです 1バイト 単 位 でデータを 受 信 する 場 合 にはbyte 型 変 数 を 使 います 複 数 バイトを 連 続 して 受 信 したい 場 合 にはbyte 型 配 列 を 使 い 後 述 のSTR Array 修 飾 子 を 使 います なお HSERIN 命 令 は 受 信 が 完 了 するまでその 場 で 待 機 します そのためUART 通 信 でデータを 受 信 でき ないと 永 久 にその 場 でプログラムが 止 まります それを 避 ける 方 法 として 省 略 可 能 なタイムアウト 時 間 を 指 定 することができます なお 上 例 の 場 合 には 受 信 を 待 機 して 受 信 後 次 の 処 理 をする 通 常 のルーチンとしてHSERIN 命 令 を 使 い ましたが 例 えば 定 常 時 は 別 の 処 理 を 実 行 しながら UART 通 信 のデータが 到 来 したら 直 ちに 受 信 処 理 を 開 始 するようにプログラムを 作 ることもできます そのような 場 合 にはシリアル 通 信 割 込 を 使 います

78 ハードウエアUSARTに 関 連 するレジスタとHSERIN(2)の 関 係 この 命 令 を 割 込 で 使 用 するには ハードウエアUSARTに 関 連 する 各 種 レジスタの 設 定 が 必 要 な 場 合 があ ります なお 本 書 ではRS232Cに 代 表 される 非 同 期 シリアル 通 信 について 解 説 します ハードウエアUSARTではPIR1レジスタ PIE1レジスタ TXSTAレジスタ RCSTAレジスタを 操 作 します 各 レジスタの 内 容 を 下 記 に 示 します 最 初 にTXSTAレジスタとRCSTAレジスタを 設 定 します 両 レジスタはシリアル 通 信 における 送 信 及 び 受 信 のフォーマットなどを 設 定 します 通 常 RS232Cのような 非 同 期 通 信 の 場 合 で "データ 長 8ビット 長 パリティなし 1ストップビット"の 場 合 にはTXSTAレジスタは$20(16 進 数 20)RCS TAレジスタは$90に 設 定 します データ 長 を9ビット 長 にする 場 合 などは 別 途 データシートをご 覧 の 上 設 定 してください この 設 定 にて ハードウエアUSARTによる 非 同 期 通 信 が 有 効 になります PBPでは 両 レジスタの 値 の 設 定 はDEFINEで 行 います DEFINE HSER_TXSTA 20h DEFINE HSER_RCSTA 90h 続 いてボーレートの 設 定 もDEFINEで 行 います DEFINE HSER_BAUD 9600 ボーレートは1200bps~115.2kbps( 発 振 子 が4MHzの 場 合 には1200bps~50kbpsまで)まで 設 定 でき ますが 通 信 速 度 はPICマイコンのクロック 周 波 数 により 上 限 が 決 まります 19.2kbps 以 上 の 場 合 には 動 作 周 波 数 を20MHzにすることをお 奨 めします 以 下 ハードウエアUSARTの 仕 組 みを 説 明 します 割 込 受 信 をする 場 合 には 必 要 な 知 識 となりますのでご 一 読 ください HSERIN(2) 命 令 だけを 使 用 する( 割 込 を 使 用 しない) 場 合 にはHSERIN(2) 命 令 によって 以 下 の 仕 組 みや 手 順 は 自 動 的 実 行 されます 受 信 したデータはRCREGレジスタに 格 納 されます(RCREGレジスタに 空 きがある 場 合 ) RCREGレジスタ は 深 さ2のFIFOバッファ=すなわち2バイトを 格 納 できるレジスタです 受 信 が 完 了 するとPIR1レジスタのビット5のRCIFビットが1にセットされます この 時 INTCONレジスタや PIE1レジスタでUSART 受 信 割 込 を 有 効 にしておくと 割 込 が 発 生 します 割 込 発 生 の 可 否 はPIE1レジスタのビット5 RCIEレジスタで 設 定 できます 先 ほど 記 述 した 通 り RCREGレジスタは2バイトを 受 信 できますが 3バイト 目 のデータのストップビット を 検 出 した 時 点 でRCREGレジスタはオーバーフローし OERRビットが1にセットされます このOERRビットが1にセットされるとそれ 以 降 受 信 ができなくなります PBPでは 自 動 的 にこのビットを 0にクリアして 再 度 受 信 可 能 に 設 定 するDEFINE 文 があります またOERRビットが1に 設 定 されると 同 時 にCRENビットが0にセットされ 継 続 受 信 を 無 効 に 設 定 してしまいます PBPにおいてOERRビットを 自 動 的 にクリアして 再 度 受 信 を 可 能 にする 場 合 には 次 のように 記 述 します プログラムの 先 頭 で DEFINE HSER_CLROERR 1 データ 受 信 後 再 度 受 信 する 場 合 RCSTA.4 = 0 RCSTA.4 = 1 RCSTA.4すなわちCRENビットは 一 度 0にセットしてから1にセットしないと 設 定 できない 仕 組 みになって います 但 し 上 記 のようにオーバーフローを 無 視 するとデータの 取 りこぼしが 発 生 する 場 合 があります これはOERRビットをクリアすることで RCREGレジスタにデータがあってもどんどん 新 しいデータに 上 書 きされてしまうためです 9600bpsで 通 信 した 場 合 次 のデータが 来 るまでの 時 間 が1ms 程 度 ありますの で 受 信 したら 次 々と 変 数 に 格 納 していく 必 要 があります HSERIN(2) 命 令 では 複 数 バイトのデータを 受 信 する 場 合 にはbyte 型 の 配 列 を 使 用 します この 時 は"STR 修 飾 子 "を 使 用 します STR 修 飾 子 は "STR ArrayVar\n{\c}" の 書 式 で 指 定 したバイト 数 nバイトを 受 信 して 配 列 0~nまで 変 数 に 格 納 します STR 修 飾 子 を 使 用 すると 通 常 は 指 定 したnバイトのデ ータを 受 信 するまでは HSERIN(2) 命 令 が 処 理 を 譲 りませんが オプションの{\c}を 指 定 しておくと 値 cを

79 受 信 すると 直 ちに 受 信 動 作 を 終 了 します ArrayVar var byte[10] HSERIN [STR ArrayVar \5 \$60] 上 記 のように 記 述 すると 配 列 ArryVarには[0]~[4]までの4バイトが1バイトずつ 受 信 されます $60(16 進 数 60)を 受 信 しなければ5バイトを 格 納 後 次 の 行 に 処 理 が 移 動 します $60を 受 信 すると 直 ちに 次 の 行 の 処 理 に 移 動 し 受 信 できなかった 配 列 には0が 代 入 されます シリアル 通 信 受 信 割 込 とHSERIN(2)の 使 い 方 シリアルデータが 到 来 した 時 に 割 込 を 発 生 させ 割 込 先 ルーチンでデータを 受 信 する 場 合 にもHSERIN 命 令 を 使 います PBPではOn Interrupt Goto 命 令 と 併 せて 割 込 を 行 います 各 種 レジスタは 一 般 的 に 次 の ような 設 定 になります ( 設 定 は 一 例 であり 動 作 の 内 容 等 により 変 わります ) INTCON = % 割 込 機 能 と 周 辺 割 込 を 有 効 にします PIE1 = % 受 信 割 込 のみ 有 効 にします( 送 信 割 込 は 無 効 ) PIR1.5 = 0 USART 受 信 割 込 フラグビット(バッファは 空 ) PIR1レジスタのビット5は USART 通 信 でデータを 受 信 すると1になるフラグビットですが データをバ ッファから 読 み 出 すと 自 動 的 にクリアー(0)されます 下 は 一 般 的 なシリアル 通 信 受 信 割 込 を 使 ったシリアル 通 信 受 信 例 です DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 20h DEFINE HSER_BAUD 9600 'ボ ー レ ート 9600bps DEFINE HSER_CLROERR 1 'OverRunErr を 自 動 的 にクリア On Interrupt goto SERINT INTCON = % 'INTCON レジスタの 設 定 PIE1 = % 'PIE1 レジスタの 設 定 ( 受 信 割 込 有 効 ) PIR1.5 = 0 'USART 受 信 バ ッファフラグ 初 期 化 rec_ser var byte[16] 'rec_ser 配 列 を 16 バイト 分 作 成 main: High PORTD.1 Pause 200 メインルーチン( 通 常 時 はここを 実 行 中 ) Goto main Disable SERINT: High PORTD.2 Hserin [STR rec_ser 4 $60] ' 割 込 ルーチン 開 始 位 置 ' 割 込 通 知 用 LED 点 灯 '$60 を 受 信 するまで 4 バ イト 分 受 信 Enable Lcdout $fe,1, dec2 rec_ser[0], "-", dec2 rec_ser[1] '1 行 目 Lcdout $fe,$c0, dec2 rec_ser[2], "-", dec2 rec_ser[3] '2 行 目 INTCON = % 'レジスタ 初 期 化 PIR1.5 = 0 'USART バッファフラグ 初 期 化 RCSTA.4 = 0 ' 継 続 受 信 を 設 定 をリセット RCSTA.4 = 1 ' resume 'メインルーチンに 戻 る ' 割 込 ルーチン 終 了

80 HSERIN 命 令 HSEROUT 命 令 ではmodifierが 使 用 できます modifierは 変 数 の 値 などを 目 的 の 形 に 修 正 したり 配 列 の 場 合 には 配 列 の 制 御 をしたりするものです 上 記 例 では LCDOUT 命 令 において DEC2を 使 用 して 変 数 の 値 を10 進 数 2 桁 で 表 示 するよう 修 正 して います PIR1レジスタのビット5は USART 通 信 でデータを 受 信 すると1になるフラグビットですが データをバ ッファから 読 み 出 すと 自 動 的 にクリアー(0)されます よって プログラム 中 で 明 示 的 に0を 代 入 しなくても ご 使 用 できます modifier 内 容 BIN{1~16} 受 信 したデータを2 進 数 で 変 数 に 格 納 します DEC{1~5} 受 信 したデータを10 進 数 で 変 数 に 格 納 します HEX{1~4} 受 信 したデータを16 進 数 で 変 数 に 格 納 します SKIP n nで 指 定 したバイト 数 分 受 信 データをスキップします STR ArrayVar\n{\c} ArrayVar 配 列 にnバイト 分 受 信 して 格 納 します 値 cを 受 信 すると 受 信 作 業 を 直 ちに 終 了 して 次 の 行 を 実 行 します 配 列 を 使 って 複 数 バイトのデータを 受 信 する 場 合 にはSTR 修 飾 子 を 使 います 配 列 はbyte 型 配 列 を 指 定 します \nには 受 信 するデータの 総 バイト 数 を10 進 数 の 値 で 指 定 します 省 略 可 能 な{\c}には このデー タを 受 信 したら 即 受 信 処 理 を 完 了 する というデリミタを 指 定 します 下 の 例 は 総 バイト 数 128バイトのデータを 受 信 するまで 受 信 処 理 を 継 続 します 但 しデータの 中 にキャリ ッジリターン($0D)が 含 まれていたら 処 理 をすぐに 終 了 する 場 合 です DEFINE HSER_BAUD 9600 init: rec var byte[128] main: hserin [STR rec 128 $0D] hserout [Str rec] goto main END 通 信 速 度 は9600bpsです 配 列 recは 要 素 数 128のbyte 型 配 列 です $0D(キャリッジリターン)を 受 信 しなければ128バイト 受 信 するまでデータを 受 信 し 続 けます データの 中 に$0Dがあると すぐにデータ 受 信 を 終 了 して 受 信 したデータをシリアル 通 信 で 出 力 します センサなどでコマンドの 終 端 がキャリッジリターンになっているものなどの 受 信 に 便 利 です プログラム 中 の"\"マークは 英 文 字 環 境 ではバックスラッシュ(\)として 表 示 されますが 同 じものです HSERIN 命 令 は ハードウエアシリアル 通 信 機 能 の 搭 載 されたデバイスでのみ 使 用 できます シリアルUSARTの 搭 載 されていないデバイスや ハードウエアUSARTを 使 用 したくない 場 合 にはSERIN 2 命 令 を 使 用 します

81 9-28 HSEROUT(2) (ハードウエア 非 同 期 式 シリアル 通 信 送 信 ) HSEROUT [Item{ Item...] HSEROUT2 [Item( Item...)] ハードウエアUSART 搭 載 のデバイスにおいてハードウエアUSARTを 利 用 して 非 同 期 式 シリアル 通 信 (UA RT)でデータを 送 信 する 命 令 です RS232Cと 同 様 データはLSBファーストです HSEROUTはハードウエアUSART 機 能 が1つのデバイス 又 は ハードウエアUSARTが2つあるデバイスの 1つ 目 のシリアルポートにアクセスする 命 令 です HSEROUT2は ハードウエアUSARTが2つあるデバイスの2つ 目 のハードウエアシリアルポートにアクセ スする 命 令 です DEFINE OSC 16 DEFINE HSER_BAUD 9600 main: HSEROUT ["HELLO"] pause 500 goto main 上 の 例 は9600bpsで0.5 秒 間 隔 で 文 字 列 "HELLO"を 繰 り 返 し 送 信 する 例 です 通 信 速 度 は プログラムの 先 頭 部 分 で"DEFINE HSER_BAUD"にてbps 単 位 で 定 義 します シリアル 通 信 のデータフォーマットは 上 記 設 定 でデータ 長 8ビット 長 パリティなし 1ストップビットです 修 飾 子 を 使 うとデータを 色 々 加 工 して 送 信 することができます modifier 内 容 BIN{1~16} データを 指 定 したビット 数 で2 進 数 で 送 信 します DEC{1~5} データを 指 定 した 桁 数 で10 進 数 で 送 信 します HEX{1~4} データを 指 定 した 桁 数 で16 進 数 で 送 信 します REP c\n cで 指 定 した 値 をn 回 繰 り 返 して 送 信 します STR ArrayVar{\n} ArrayVar 配 列 の 内 容 をnバイト 分 送 信 します {\n}を 省 略 すると 配 列 の 内 容 すべてを 送 信 します STR 修 飾 子 を 使 った 例 がHSERIN 命 令 のページに 記 載 ありますのでご 参 照 ください

82 9-29 I2CREAD (I2C 通 信 でデータを 読 み 込 み) I2CREAD Datapin Clockpin Control {Address }[Ver{ Var...}]{Label} I2CREAD 命 令 はI2C 通 信 で データ(1バイトもしくは 連 続 したデータ)をI2Cデバイスから 読 み 込 みます I2CインターフェイスのEEPROM( 例 :24LC64 24LC256 等 )などPIC 外 部 のEEPROMからデータを 読 み 込 むなどの 操 作 ができます なお 本 命 令 はソフトウエア 的 にI2C 通 信 を 実 行 しています DatapinではSDAラインを ClockpinではSCLラインを 指 定 します 読 み 込 まれたデータはVarで 指 定 した 変 数 に 格 納 されます 読 み 込 まれる 値 は 1バイト 単 位 ですので 変 数 varはbyte 型 変 数 を 用 います Control 値 及 びAddress 値 は 下 記 の 要 領 で 設 定 します Controlの 値 の 算 出 について Controlの 値 は 通 信 するデバイスによって 異 なります I2C 通 信 タイプのEEPROMでは 上 位 4ビットが101 0となっています(EEPROMのデータシートを 参 照 下 さい) 主 なデバイスのコントロール 値 の 例 を 下 記 の 表 に 示 します なお このコントロール 値 はI2C 通 信 で 一 般 的 に 言 うところのスレーブアドレスです デバイス サイズ コントロール 値 アドレスサイズ 24LC01B 128B %1010xxx0 1バイト 24LC02B 256B %1010xxx0 1バイト 24LC16B 2KB %1010bbb0 1バイト 24LC32B 4KB %1010ddd0 2バイト 24LC64 8KB %1010ddd0 2バイト 24LC256 32KB %1010ddd0 2バイト bbb = ブロックセレクトビット ddd = デバイスセレクトビット xxx = 任 意 (0にします) アドレスサイズは メモリーアドレスのサイズで24LC32 以 降 のデバイスではアドレスサイズは2バイトに 拡 張 されています よって アドレスを 指 定 する 変 数 は16ビットのword 型 変 数 を 使 用 することになります なお コントロール 値 はI2C 通 信 ではビット0の 部 分 をRead( 読 み 込 み)で1 Write( 書 き 込 み)で0にすると いう 決 まりがありますが PBPの 場 合 にはここは0に 固 定 しますので ご 注 意 ください Controlの 値 に 含 まれる"d"について dはデバイス 選 択 ビットを 示 します デバイス 選 択 ビットは 複 数 のI2Cデバイスを 接 続 した 際 に デバイス を 区 別 するために 用 いるもので デバイスのA0 A1 A2ピンの 物 理 的 な 状 態 と 対 応 させます A0 A1 A2をすべてGNDに 接 続 している 場 合 には dddの 部 分 を000とします 省 略 可 能 なLabel 部 分 にLabel 名 を 記 述 した 場 合 I2Cデバイスからのデータが 受 け 取 れなかった 時 その Lable 先 にジャンプします エラー 用 に 利 用 できます 省 略 してもかまいません I2Cデバイスから 読 み 込 んだ 値 を 格 納 する 変 数 Varは byte 型 の 変 数 を 使 用 するようにします プログラム 例 (24LC256からデータを 読 み 込 む 場 合 ) B2 var byte addr var word 'アドレス 指 定 用 変 数 は word 型 で 宣 言 ( 2 バイトサイズ) cont con % 'control 用 の 定 数 を 宣 言 (スレーブアドレス) addr = 10 'アドレス 指 定 用 変 数 にアドレスの 値 を 代 入 (ここでは 例 として 10 ) I2CREAD PORTC.4 PORTC.3 cont addr [B2]

83 アドレス 指 定 の 方 法 ( 重 要 ) 24LC64や 24LC256は 先 の 表 でも 分 かるとおりアドレスサイズが2バイトです アドレスサイズが2バイ トのデバイスの 場 合 には 必 ずword 型 の 変 数 をアドレス 指 定 用 に 使 います 定 数 やbyte 型 の 変 数 は 使 用 することはできません ( 定 数 も 使 用 できないことに 注 意 してください ) 例 えば24LC512からデータを 読 み 込 む 下 記 のようなプログラムを 記 述 した 場 合 コンパイル 上 はエラー は 表 示 されませんが( 書 式 上 は 間 違 いはありません) 動 作 に 問 題 が 発 生 します I2CREAD PORTC.4 PORTC.3 cont 10 [B2] ' 間 違 った 記 述 例 上 記 例 では アドレス 指 定 を 定 数 で 指 定 しています これは 誤 った 記 述 です アドレスを 指 定 する 場 合 に は 必 ず 変 数 を 準 備 してそこに 値 を 代 入 してアドレスを 指 定 するようにします ストップコンディションの 発 行 I2C 通 信 規 格 では 通 信 終 了 時 にストップコンディションの 発 行 が 必 要 ですが PBPでは 特 にそれを 記 述 する 必 要 はありません [var]で 指 定 された 変 数 の 分 だけデータを 受 信 し それが 終 了 した 時 点 でPBPがス トップコンディションを 発 行 しています ユーザーが 明 示 的 にストップコンディションの 発 行 について 記 述 する 必 要 はありません 多 くのEEPROMの 場 合 には シーケンシャルリードモード( 連 続 読 み 込 みモード)を 搭 載 していますので 読 み 込 みを 開 始 する 先 頭 アドレスを 指 定 するだけで あとは 自 動 的 に1ずつインクリメント( 加 算 )されたア ドレスから 順 番 にデータが 変 数 に 読 み 込 まれます 通 信 速 度 について I2C 通 信 規 格 は 400kHzの 高 速 モードと 100kHzの 低 速 モードがあります PBPではPICマイコンのクロ ック 周 波 数 が8MHz 以 上 の 時 は100kHzの 通 信 速 度 となります 400kHzモードにするには PICマイコン のクロック 周 波 数 を20MHz 以 上 にする 必 要 があります 例 えば20MHzのクロック 周 波 数 で 動 作 しているPICマイコンから 古 いデバイス 等 へのアクセスが 必 要 で 明 示 的 に100kHzにスローダウンさせたい 場 合 には 次 のDEFINEを 記 述 します DEFINE I2C_SLOW 1 参 考 データ ロジックアナライザで 見 たI2CREAD 命 令 実 行 時 の 波 形 下 記 にI2CREAD 命 令 で24LC64から1バイトのデータ(データの 内 容 は255)を 受 信 した 際 のロジックア ナライザでの 波 形 データを 参 考 に 示 します ( 値 はすべて16 進 数 で 表 記 されています) SDAがHでSCLがLになった 所 がスタートコンディションです 先 頭 部 はスレーブアドレスと 番 地 をWモー ドで 書 き 込 みます 先 頭 の0x50は スレーブアドレスです スレーブアドレスは 書 き 込 みますのでWモード ですので 8ビット 目 は0になります 読 み 出 す 番 地 は12 番 地 です 0x0C(12)を 送 信 します 続 いて データを 読 み 込 みますので スレーブアドレスを 送 信 後 に 今 度 はReadモードですので ビット 目 を 1にしてRモードとして 送 信 します 戻 り 値 として 0xFFが 返 ります PBPでは コントロール 値 (スレーブアドレス)と アドレスの 番 地 を 指 定 するだけでPBPが 自 動 的 にWモー ドとRモードの 処 理 をして I2CREAD 命 令 であればデータを 読 み 込 むようになっています 一 般 的 にI2C 通 信 をする 場 合 には スレーブアドレスに 対 して 読 み 込 みならば1を 書 き 込 みならば0を 足 して という モードの 設 定 をプログラムに 書 きますがPBPの 場 合 には 自 動 的 に 行 いますので ユーザーはその 手 順 を 意 識 する 必 要 がありません I2Cデバイスと 通 信 する 場 合 には コントロール 値 にスレーブアドレスを 記 述 することになります

84 ハードウエア 例 下 図 は 24LC64 等 のEEPROMを 接 続 する 場 合 の 参 考 回 路 図 です 本 図 ではデバイスセレクトビットは0 になっています I2C 通 信 では 信 号 線 は4.7KΩ 程 度 の 抵 抗 でプルアップする 必 要 があります 9-30 I2CWRITE (I2C 通 信 でデータを 書 き 込 み) I2CWRITE Datapin Clockpin Control {Address }[Value{ Value...}]{Label} I2CWRITE 命 令 はI2C 通 信 で I2C 規 格 のEEPROMの 任 意 の 番 地 に 変 数 の 値 を 書 き 込 みます I2CインターフェイスのEEPROM( 例 :24LC64 24LC256 等 )やI2C 通 信 のデバイスなどと2 線 同 期 式 シリ アル 通 信 のI2Cインターフェイスを 用 いて データを 書 き 込 みます 通 常 書 き 込 みを 実 行 した 際 には 書 き 込 み 処 理 として10ミリ 秒 程 度 の 時 間 がかかります よって 本 命 令 を 実 行 した 後 には10ミリ 秒 のディレイを 必 ず 入 れてください Clockpinピンで 指 定 したピンからクロック 信 号 が 出 力 され そのクロックに 同 期 してDatapinで 指 定 したデ ータピンからデータが 出 力 されます Datapinは SDAピンと ClockpinはSCLピンと 接 続 します Controlの 値 は スレーブアドレスのことです EEPROMの 場 合 の 設 定 値 については I2CREAD 命 令 のペー ジに 表 がありますのでそちらをご 参 照 下 さい Addressの 値 はデータを 書 き 込 むアドレスを 指 定 します アドレスサイズはデバイスによって 異 なってお り 1バイトサイズのデバイスの 場 合 には byte 型 の 変 数 を 2バイトサイズのデバイスの 場 合 には word 型 の 変 数 をアドレス 指 定 用 として 使 います アドレス 指 定 の 方 法 ( 重 要 ) 24LC64や 24LC256は 先 の 表 でも 分 かるとおりアドレスサイズが2バイトです アドレスサイズが2バイ トのデバイスの 場 合 には 必 ずword 型 の 変 数 をアドレス 指 定 用 に 使 います 定 数 やbyte 型 の 変 数 は 使 用 することはできません ( 定 数 も 使 用 できないことに 注 意 してください ) 例 えば24LC512からデータを 読 み 込 む 下 記 のようなプログラムを 記 述 した 場 合 コンパイル 上 はエラー は 表 示 されませんが( 書 式 上 は 間 違 いはありません) 動 作 に 問 題 が 発 生 します I2CWRITE PORTC.4 PORTC.3 cont 10 [B2] ' 間 違 った 記 述 例 上 記 例 では アドレス 指 定 を 定 数 で 指 定 しています これは 誤 った 記 述 です アドレスを 指 定 する 場 合 に は 必 ず 変 数 を 準 備 してそこに 値 を 代 入 してアドレスを 指 定 するようにします

85 省 略 可 能 なLabel 部 分 にLabel 名 を 記 述 した 場 合 I2Cデバイスへデータが 正 しく 書 き 込 めなかった 時 そ のLableにジャンプします エラー 対 策 利 用 できます ページモードでの 書 き 込 み 多 くのEEPROMでは1バイトずつデータを 書 き 込 むバイトモードと 複 数 のデータをまとめて 書 き 込 むペ ージモードがあります ページモードの 最 大 値 はデバイスによって 決 まっていて 例 えば24LC512では 1ページあたり 最 大 128バイトまでと 決 まっています すなわち 1 回 の 命 令 で 最 大 128バイトまでデータ を 書 き 込 めると 言 うことになります その 場 合 1バイトずつ 書 き 込 むわけではないので 書 き 込 みにか かる 時 間 を 減 らすことができます またEEPROMのメモリー 寿 命 を 延 ばすことができます PBPのI2C 命 令 では ストップコンディションの 発 行 はI2C 命 令 が 終 わった 際 に 自 動 的 にPBPによって 発 行 されます よって ページモードで 複 数 のデータを1つの 命 令 で 書 き 込 んだ 場 合 には その 複 数 のデー タを 一 度 に 書 き 込 んで 最 後 にストップコンディションが 発 行 されますので 1バイトずつ 書 き 込 む 場 合 と 違 い 待 ち 時 間 を 減 らすことができます ページモードでもバイトモードでも 本 命 令 の 後 には 最 低 でも10 ミリ 秒 の 遅 延 を 入 れるようにします ページモードで 書 き 込 む 場 合 には byte 型 配 列 を 使 用 します 指 定 できる 要 素 数 の 最 大 値 はそのデバイ スの 仕 様 で 決 められたページモードの1ページ 辺 りの 最 大 バイト 数 までとなります 例 えば24LC512な らば128 要 素 が 最 大 となります アドレスは1バイトずつインクリメントされます Addressで 指 定 するア ドレスは 先 頭 アドレスということになります 配 列 を 使 う 場 合 には STR 修 飾 子 を 使 用 し 書 き 込 むバイト 数 を 指 定 することもできます write_data var byte[8] addr var word addr = 0 I2CWRITE SDA,SCL % addr [STR write_data 8] 英 語 版 マニュアルにはword 型 配 列 を 使 う 場 合 も 記 述 がありますが お 奨 めできません 通 信 速 度 について I2C 通 信 規 格 は 400kHzの 高 速 モードと 100kHzの 低 速 モードがあります PBPではPICマイコンのクロ ック 周 波 数 が8MHz 以 上 の 時 は100kHzの 通 信 速 度 となります 400kHzモードにするには PICマイコン のクロック 周 波 数 を20MHz 以 上 にする 必 要 があります 例 えば20MHzのクロック 周 波 数 で 動 作 しているPICマイコンから 古 いデバイス 等 へのアクセスが 必 要 で 明 示 的 に100kHzにスローダウンさせたい 場 合 には 次 のDEFINEを 記 述 します DEFINE I2C_SLOW 1 参 考 データ ロジックアナライザで 見 たI2CWRITE 命 令 実 行 時 の 波 形 下 図 は I2CWRITE 命 令 で24LC64のEEPROMの12 番 地 に 値 0xAAを 書 き 込 んだ 時 のロジックアナライザ のデータです 最 初 にスタートコンディションがあり その 次 にコントロール 値 (スレーブアドレス)を 書 き 込 みなのでWモ ードとして 送 信 し アドレス0x0C(12)を 送 信 後 書 き 込 むデータ0xAAを 送 信 しています

86 9-31 IF...THEN ( 条 件 式 による 処 理 の 分 岐 ) IF Comp {AND/OR Comp...} THEN Label 形 式 A IF Comp {AND/OR Comp...} THEN Statement... ENDIF 形 式 B IF Comp {AND/OR Comp...} THEN Statement1... ELSE Starement2... ENDIF 形 式 C IF...THEN 命 令 には3つの 形 式 があります 1つは 評 価 式 を 評 価 してすぐに 指 定 ラベルに 飛 ぶ 形 式 ( 形 式 A) 評 価 式 が 真 の 時 "ENDIF"までの 間 のステートメントを 実 行 する 形 式 ( 形 式 B) 評 価 式 が 真 の 場 合 と 偽 の 場 合 両 方 のステートメントを 記 述 する 形 式 ( 形 式 C)があります 形 式 Aは Compの 内 容 が 真 とき Lableへジャンプします 形 式 Bは Compの 内 容 が 真 のとき Statementの 内 容 を 実 行 します Compの 内 容 が 偽 の 場 合 には ステートメントは 実 行 されず "ENDIF"の 次 の 行 から 実 行 されます 形 式 Cは Compの 内 容 が 真 のとき Statement1の 内 容 を 実 行 します Compの 内 容 が 偽 のときはStatement2の 内 容 を 実 行 します (Compの 内 容 に 応 じてStatement1 又 はStatement2のどちらかが 必 ず 実 行 されます) Comp Lebel Satement 評 価 式 です 比 較 評 価 する 式 やポートの 状 態 などを 指 定 します Compを 調 査 してその 結 果 が 真 の 場 合 はここで 指 定 したラベルにジャンプします 実 行 する 処 理 です Compにはあらゆる 評 価 式 が 記 述 できます 例 えば 変 数 内 の 値 の 大 きさを 比 較 する 場 合 には 比 較 演 算 子 や 等 号 を 使 用 します If age > 50 Then Older If time >= 20 Then Timeover ' 変 数 ageの 値 が51 以 上 の 時 真 になります ' 変 数 timeの 値 が20 以 上 の 時 真 になります Compにピンの 状 態 を 記 述 すると ピンの 状 態 に 応 じた 分 岐 処 理 ができます If PORTB.2 = 1 Then Pushed If PORTB.0 = 0 Then main 'PORTBのBit2(RB2)がHighの 時 真 になります 'PORTBのBit0(RB0)がLowの 時 真 になります この 方 法 でピンの 状 態 を 評 価 することで 押 しボタンスイッチの 判 定 やピン 状 態 のH/Lで 処 理 を 分 岐 でき ます なお IF 文 は 評 価 式 が 真 でない 場 合 次 の 行 に 処 理 が 飛 ばされてしまうので ボタン 入 力 を 待 機 した り ピンの 状 態 を 繰 り 返 し 監 視 したい 場 合 にはループ 構 造 にしてピン 状 態 の 判 定 を 繰 り 返 します label: IF PORTB.2 = 1 THEN main 'RB2がHレベルでラベルmainへジャンプ IF PORTB.3 = 0 THEN term 'RB3がLレベルでラベルtermへジャンプ GOTO label 'labelへ 戻 って 繰 り 返 し 待 機

87 GOTO 文 で 無 限 ループにすることで 入 力 状 態 を 繰 り 返 し 監 視 するようにします 先 の 例 では 該 当 ピンがHになった 時 とLになった 時 で 処 理 を 指 定 したラベルにジャンプさせていました PICマイコンのピンに 押 しボタンスイッチを 接 続 する 場 合 には 押 しボタンスイッチを 押 したときに 該 当 ピ ンがHレベルになるか Lレベルになるかで ボタンの 接 続 方 法 が 変 わります 下 記 に 例 を 示 します 左 側 ;アクティブロー スイッチがONの 時 にI/OはLレベル 右 側 :アクティブハイ スイッチがONの 時 にI/OはHレベル プルアップ 抵 抗 又 はプルダウン 抵 抗 は4.7kΩ~10kΩ 程 度 を 選 定 しま す 通 常 は 外 部 からのノイズによる 誤 作 動 を 防 止 するため スイッチの 場 合 にはアクティブローを 使 用 することが 多 いです Active Low Active High ピンに 機 械 的 なスイッチを 取 り 付 けた 場 合 チャタリング(スイッチが 押 されたり 離 れたりする 際 に 発 生 す るノイズ)が 発 生 します IF 文 ではチャタリングのことは 全 く 考 えられていませんので 対 処 はプログラムに よって 施 す 必 要 があります また1つのスイッチに 対 してIF 文 を 繰 り 返 す 場 合 は 押 しすぎ( 長 押 し) の 対 策 も 必 要 です 例 えば 次 のような スイッチを 押 す 毎 にカウントが 増 えるプログラム があります main; If PORTB.2 = 0 then cnt_up Goto main cnt_up: cnt = cnt + 1 Goto main cnt は 変 数 上 記 のプログラムはチャタリングや 長 押 しの 対 策 をしていないため スイッチを 押 してRB2がLレベルに なった 瞬 間 "cnt_up"ルーチンが 何 度 も 繰 り 返 し 実 行 されてしまい カウントも 意 図 しない 値 になってしま います わずか1 秒 スイッチを 押 しただけでカウント 値 は200 位 になるかもしれません 接 続 されている 押 しボタンスイッチが 押 された 回 数 を 精 密 にカウントしたい 場 合 には 一 度 ボタンから 手 を 離 した( 該 当 ポートの 論 理 が 変 わった)ということを 検 出 するプログラムを 作 る 必 要 があります その 他 IF 文 では 条 件 式 CompにANDやORなどの 論 理 演 算 子 を 使 用 することもできます また 任 意 のレジ スタ(SFR)の 値 を 条 件 時 として 使 用 して 分 岐 処 理 を 行 うこともできます 例 :RB3とRB4が 同 時 にHighレベルの 時 だけLCDに 文 字 を 表 示 する main: If PORTB.3 = 1 AND PORTB.4 = 1 then Lcdout $fe, 1, "RB3&RB4 are High" pause 500 Endif Lcdout $fe, 1 Goto main AND 演 算 子 を 使 う 場 合 各 評 価 式 を( )で 囲 う 必 要 はありません

88 9-32 LCDOUT (LCDに 文 字 を 出 力 ) LCDOUT Item{ Item} 日 立 製 LCDコントローラ44780 及 びその 互 換 コントローラを 使 用 したLCDを 制 御 する 命 令 です 一 般 に 市 販 されているキャラクタLCDに 幅 広 く 対 応 しています 固 定 した 文 字 列 を 表 示 できるほか 変 数 の 内 容 や 配 列 の 内 容 なども 表 示 できます また コマンドを 指 定 することで LCDの 各 種 制 御 ができます Item 文 字 列 変 数 制 御 コマンドを 記 述 します "(ダブルクォーテーション)で 文 字 列 を 囲 むと 固 定 した 文 字 列 を 表 示 します 例 : LCDOUT $fe, 1, "HELLO WORLD" 制 御 コマンド 表 示 する 文 字 列 変 数 の 内 容 をASCIIコードでLCDに 転 送 して 表 示 させたい 場 合 には #(シャープ)を 変 数 の 前 に 記 述 しま す #を 記 述 すると LCDのそれぞれの 桁 にASCIIコードが 送 られます アイテムは 複 数 記 述 することができ 複 数 記 述 する 場 合 にはカンマ(,)で 区 切 ります 下 記 の 例 では 変 数 B0の 値 をLCDに 表 示 し さらに 変 数 B1の 値 を10 進 数 のASCIIコードで 表 示 します 例 : LCDOUT B0, #B1 LCDOUT 命 令 を 使 用 して LCDを 初 期 化 したり キャラクタを 表 示 した 後 に 何 らかの 原 因 でLCDの 電 源 が 切 断 され 再 度 電 源 が 投 入 された 場 合 には 次 にLCDOUT 命 令 を 使 用 する 前 に 内 部 のフラグを 初 期 化 す る 必 要 があります LCDOUT 命 令 の 前 に 下 記 の 文 を 実 行 します FLAGS = 0 LCDを 各 種 制 御 する 制 御 コマンドは 主 に 下 記 の 通 りです コマンド $FE, 1 $FE, 2 $FE, $0C $FE, $0E $FE, $0F $FE, $10 $FE, $14 $FE, $80 $FE, $C0 $FE, $94 $FE, $D4 動 作 内 容 ディスプレイを 消 去 先 頭 ラインにカーソルを 移 動 カーソルをオフ アンダーラインカーソルON カーソル 点 滅 カーソルを 左 に1つ 進 める カーソルを 右 に1つ 進 める 1 行 目 の 先 頭 にカーソルを 移 動 2 行 目 の 先 頭 にカーソルを 移 動 3 行 目 の 先 頭 にカーソルを 移 動 4 行 目 の 先 頭 にカーソルを 移 動 複 数 行 のLCD 使 用 時 に 異 なる 行 の 先 頭 にカーソルを 移 動 するコマンドがあります LCDでは 表 示 するデータを 一 度 LCD 内 のメモリーに 書 き 込 みを 行 います LCDの 内 部 では カーソル 位 置 が 文 字 を 描 画 する 位 置 となり カーソルは 右 側 にシフトしていきます このLCD 内 部 のメモリーでは 1 行 目 の 先 頭 位 置 は$80 2 行 目 の 先 頭 位 置 は$C0と 決 まっています 上 記 の 表 にある 通 り カーソルの 位 置 はコマンドで 移 動 させることができます 例 えば 16 文 字 2 行 のLCDにおいて1 行 目 の 先 頭 に 文 字 を 描 画 する 場 合 には 下 記 のようにします

89 LCDOUT $FE, $80, "HELLO WORLD" $80は 1 行 目 の1 文 字 目 のアドレスですので 例 えば 1 行 目 の4 文 字 目 に 文 字 を 描 画 したい 場 合 には 下 記 のように 記 述 することで 表 示 位 置 を 右 にシフトすることができます LCDOUT $FE, $80+4, "HELLO WORLD" なお 多 くの 場 合 LCDをクリアーするコマンド LCDOUT $fe, 1 にて 内 部 メモリー 初 期 化 されて 先 頭 ア ドレスに 移 動 しますので 1 行 目 の1 文 字 目 から 文 字 を 表 示 する 場 合 には 必 ずしも $FE, $80 が 必 要 なわけではありませんが LCDの 種 類 によって 正 しく 表 示 できない 場 合 などは コマンドで 文 字 の 描 画 カ ーソルの 位 置 を 指 定 する 必 要 があります 複 数 行 のLCDを 使 用 している 場 合 2 行 目 に 文 字 を 表 示 させたい 場 合 には 下 記 のように 記 述 します LCDOUT $FE $C0 "This is 2nd line" なお LCDによって 内 部 のメモリーマップが 異 なる 場 合 がありますのでご 使 用 に 際 しては LCDのデータ シートをご 参 照 ください PICマイコンとLCDの 接 続 について LCDとPICマイコンの 接 続 方 法 によって その 接 続 内 容 をDEFINEを 使 用 して 必 ず 定 義 する 必 要 がありま す 唯 一 下 記 の 回 路 構 成 の 場 合 にのみ DEFINEでの 配 線 定 義 は 必 要 ありません

90 PBPの 初 期 設 定 では LCDのデータライン 上 位 4ビットのDB4-DB7をPICのPORTAのbit0からbit3に 接 続 またレジスタ 選 択 端 子 は PORTAのbit4(RA4)に Enable 端 子 はPORTBのbit3(RB3)に 接 続 します この 配 線 以 外 でPICとLCDを 接 続 する 時 は プログラムの 先 頭 にて 下 記 のDEFINEを 使 用 し 結 線 方 法 を 定 義 してます DEFINE LCD_DREG PORTD 'データポートを 設 定 します DEFINE LCD_DBIT 0 ' 使 用 するポートのLSB 番 号 の 指 定 です 0 又 は4 DEFINE LCD_RSREG PORTE 'レジスタセレクトポートを 設 定 します DEFINE LCD_RSBIT 0 'レジスタセレクトのピンを 指 定 します DEFINE LCD_EREG PORTE 'ENABLEポートを 指 定 します DEFINE LCD_EBIT 1 'ENABLEビットを 指 定 します DEFINE LCD_BITS 4 'LCDのバスサイズを 指 定 します 4ヒ ット 又 は8ヒ ット DEFINE LCD_LINES 4 'LCDの 行 数 を 指 定 します 1 行 ~4 行 データバスとして 使 用 するポートのLSB 値 を 指 定 します LCDのデータバスサイズに4ビットを 選 択 した 場 合 には 該 当 するPIC 側 のポートの0~3を 使 用 するのか 4~7を 使 用 するのかを 指 定 します 0~3の 場 合 には0を 4~7の 場 合 には4を 指 定 します 上 記 のDEFINEは 下 記 のように 定 義 されます LCD(SC1602BSなど) PICマイコン 関 係 するDEFINEの 記 述 レジスタセレクトピン (RS) PORTE.0 LCD_RSREG 及 び LCD_RSBIT で 定 義 イネーブルピン (E) PORTE.1 LCD_EREG 及 び LCD_EBIT で 定 義 ライト/リード(W/R) GND LCDへ 文 字 表 示 の 際 にはGNDに 接 続 DB0 接 続 しない DB1 接 続 しない LCD_BITSで4を 指 定 した 場 合 は4ビットで 通 信 DB2 接 続 しない LCD_DBITで4を 定 義 したのでDB4から 接 続 する DB3 接 続 しない DB4 PORTD.0 DB5 PORTD.1 LCD_DBITで0を 定 義 したのでDB4は RD0に 接 DB6 PORTD.2 続 し 以 降 RD0~RD3を 使 用 する DB7 PORTD.3 LCDOUT 命 令 において 固 定 した 文 字 列 ではなくて 変 数 に 格 納 されている 値 を 表 示 したい 場 合 には 変 数 の 前 に# 記 号 を 付 けます これにより 変 数 に 格 納 されている 値 がそのまま 出 力 されます LCDOUT 命 令 ではデフォルトでは2 行 のLCDに 設 定 されています 2 行 以 外 のLCDを 使 用 する 場 合 には " DEFINE LCD_LINES"でLCDの 行 数 を 指 定 してください なお LCDのR/WピンはGNDと 接 続 してください

91 PBPでは 変 数 に 格 納 されている 数 値 を2 進 数 10 進 数 16 進 数 のいずれかで 指 定 した 桁 数 ( 又 はビット 数 )で 表 示 させることが 可 能 です また 値 だけでなく 配 列 に 格 納 された 文 字 を 表 示 することも 可 能 で す これらの 指 定 には modifierを 使 用 します 修 正 子 は 下 記 のようなものが 用 意 されています modifier BIN{1~16} DEC{1~5} HEX{1~4} SDEC REP c\n STR ArrayVar{\n} 動 作 内 容 2 進 数 で 指 定 したビット 数 で 表 示 10 進 数 で 指 定 した 桁 数 で 表 示 16 進 数 で 指 定 した 桁 数 で 表 示 Long 型 変 数 の 値 で 負 の 値 を 符 号 付 きで 表 示 指 定 したキャラクタcをn 回 繰 り 返 し 表 示 配 列 に 格 納 された 文 字 をn 文 字 表 示 BINの 使 い 方 BINは 変 数 の 内 容 を2 進 数 で 表 示 します 例 えば 変 数 numに3が 格 納 されている 時 は LCDOUT BIN5 num と 記 述 するとLCDには と 表 示 されます これは 変 数 の 内 容 を5ビット 精 度 で2 進 数 表 示 せよ ということになります DECの 使 い 方 DECは 変 数 の 内 容 を10 進 数 で 表 示 します 例 えば 変 数 numに23が 格 納 されている 時 は LCDOUT DEC5 num と 記 述 するとLCDには と 表 示 されます REP c\nの 使 い 方 cで 指 定 したキャラクタをn 回 繰 り 返 し 表 示 します cはasciiコードとなります LCDOUT 67\4 と 記 述 すると LCDには CCCC と 表 示 されます 10 進 数 67は ASCIIコードでCのため Cと 表 示 されます STR ArrayVar{\n}の 使 い 方 STR ArrayVar{\n} は 配 列 の 内 容 を 指 定 した 桁 数 ( 文 字 数 )で 表 示 します 例 えばbyte 型 配 列 の 場 合 1 要 素 が1バイトですので 文 字 にするとASCIIコードで 半 角 英 数 1 文 字 分 に 相 当 します 大 きさ10の 配 列 の 場 合 には 最 大 で10バイトの 値 が 入 ります STRは ArrayVarで 指 定 した 配 列 の 値 をASCIIコードとして 参 照 して 文 字 として 表 示 します 省 略 可 能 な\nを 省 略 すると 宣 言 した 配 列 のうち 値 が 格 納 されている 配 列 分 の 表 示 を 行 います \nに 値 を 記 述 すると 任 意 の 配 列 分 を 表 示 します 例 : LCDに ABC と 表 示 させるプログラム disp var byte[5] disp[0] = 65 disp[1] = "B" disp[2] = $43 main: LCDOUT $FE,1, STR disp END

92 STRは 主 に シリアル 通 信 命 令 等 で 複 数 バイトのデータを 配 列 に 受 信 し その 内 容 をLCDに 出 力 したい 場 合 などに 使 用 します 使 用 例 単 に 変 数 内 の 値 をLCDに 出 力 する 場 合 LCDOUT $fe 1 #variable 変 数 の 値 を16 進 数 でLCDに 出 力 する 場 合 LCDOUT $fe 1 hex variable 文 字 列 をLCDに 出 力 する 場 合 LCDOUT $fe 1 "Hello World" 文 字 列 と 変 数 の 値 の 両 方 を 出 力 する 場 合 LCDOUT $fe 1 "Result---" #variable LCDの2 行 目 に 文 字 列 を 表 示 する 場 合 LCDOUT $fe $C0 "Hello Line2" LCDの 表 示 をクリアする LCDOUT $fe 1 LCDモジュールは 一 般 的 に 電 源 投 入 後 約 100ミリ 秒 以 上 経 過 してからでないと 動 作 しないものが 多 く あります LCDモジュールを 使 用 する 場 合 には 最 初 電 源 投 入 後 は 約 100ミリ 秒 程 度 の 時 間 が 経 過 して からLCDOUT 命 令 をご 利 用 ください なお モジュールによってスタートアップ 時 間 は 違 いますので 詳 しくはお 使 いになるLCDのデータシート をご 覧 ください また LCDのメーカーや 型 式 によっては コマンドの 時 間 的 なタイミングによって 正 しく 動 作 しない 機 種 も あります ほとんどのLCDでは 問 題 になることはありませんが ごく 希 にコマンド 及 びデータ 信 号 のタイ ミングの 相 性 によって 正 しい 表 示 ができない 場 合 があります その 場 合 には 下 記 のようなタイミングを 調 整 するDEFINEがありますので ご 使 用 のLCDに 合 わせて 設 定 をしてご 使 用 ください 制 御 コマンドの 遅 延 時 間 をマイクロ 秒 単 位 で 設 定 DEFINE LCD_COMMANDUS 1500 データ 信 号 の 遅 延 時 間 をマイクロ 秒 単 位 で 設 定 DEFINE LCD_DATAUS 44 上 記 設 定 では 制 御 コマンドを1500マイクロ 秒 データ 信 号 を44マイクロ 秒 遅 延 させています 多 くのLCDでは この 設 定 は 必 要 ではありませんが 希 に 相 性 の 問 題 で 表 示 に 問 題 が 発 生 する 場 合 には 上 記 のDEFINEを 挿 入 しておためしください Long 変 数 の 値 を 表 示 させる 場 合 には 必 ずDEC 又 はHEX 又 はBINの 修 正 子 を 使 用 します "#"を 使 用 して の 数 値 表 示 では 16ビット 長 までの 範 囲 しか 値 を 表 示 できませんのでご 注 意 下 さい 例 :long 型 変 数 に 値 70000を 代 入 してLCDに 表 示 させる 場 合 valiable var long valiable = LCDOUT DEC5 variable Long 型 変 数 を 使 用 する 場 合 負 の 値 を 入 れることができますが 符 号 付 きの 値 を 表 示 させたい 場 合 に は SDEC 修 正 子 を 使 用 します SDEC 修 正 子 を 使 用 しない 場 合 負 の 値 は 表 示 できません valiable = -120 LCDOUT SDEC variable

93 9-33 LOOKDOWN ( 文 字 列 から 検 索 ) LOOKDOWN Search [Constant{ Constant...}] Var Constantには 定 数 の 数 字 や 文 字 を 指 定 し Searchで 指 定 した 内 容 と 同 一 の 値 がConstantの 中 にあった 場 合 その 順 番 の 値 を 変 数 Varに 代 入 します 見 つからなかった 場 合 には 変 数 の 内 容 は 変 化 しません Constantは 一 番 左 側 から012...の 順 番 となります Constantは 数 値 でも 文 字 列 でも 又 は 混 在 していても かまいません 文 字 列 の 場 合 には 各 一 文 字 毎 をASCII 定 数 として 取 り 扱 います 下 記 にシリアル 通 信 (UART)で 16 進 の 値 の 文 字 を 受 信 し その 値 を10 進 数 の 数 字 に 変 換 してUART 経 由 で 送 信 する 例 を 示 します HSERIN Rec_Data LOOKDOWN Rec_Data,[" ABCDEF"],Out_Data HSEROUT Out_Data 9-34 LOOKUP2 ( 指 定 したインデックス 値 のデータを 取 得 ) LOOKUP2 Index [Value { Value}] Var Indexで 指 定 されるたValueの 値 を 取 得 して 変 数 Varに 代 入 します Indexに0を 指 定 した 場 合 最 初 のValu eの 値 がVarに 代 入 されます Valueの 値 は 16ビット 数 値 や 文 字 変 数 などが 混 在 して 使 用 できます 文 字 の 場 合 にはASCII 値 がVarに 代 入 されます 例 LOOKUP2 B0 [ ] W1-89 -

94 9-35 LOW ( 指 定 したピンをLowレベルにする) LOW Pin Pinで 指 定 したピンをLowレベルにします 指 定 したピンは 自 動 的 に 出 力 ピンとして 設 定 されます TRISxレジスタをあらかじめ 設 定 している 場 合 には Low 命 令 の 代 わりに 直 接 レジスタに 値 を 代 入 するこ もできます PORTB.0 = NAP ( 短 時 間 の 一 時 休 止 ) NAP Period Nap 命 令 を 使 うとPICマイコンは 低 消 費 電 力 モードになります 但 し 指 定 できる 時 間 は 短 時 間 です 周 辺 モジュールはOFFになります Periodの 値 によって 下 表 の 通 りNap 命 令 が 実 行 される 時 間 が 変 わります Nap 命 令 ウォッチドッグタイマーの1サイクル 分 のスリープをする 命 令 です ウォッチドッグタイマーをコンフィギュレーションビットの 設 定 で 無 効 にした 場 合 には ハードウエアリセ ット 又 は 割 込 が 発 生 するまで マイコン PIC18シリーズは ウォッチドッグタイマーのポストスケーラの 設 定 をHEXファイル 書 き 込 み 時 のコンフィ ギュレーションビットで 設 定 します PBPは16ビットコアデバイスでは Periodの 設 定 は 無 視 されます

95 9-37 ON GOSUB (インデックスの 値 に 応 じて 指 定 したサブルーチンにジャンプ) ON Index GOSUB Label {,Label... } Indexで 指 定 した 変 数 の 値 に 応 じて Labelで 指 定 したサブルーチンにジャンプします Labelは 左 から 順 番 にインデックスの 値 が0 1 2 の 順 で 対 応 します 飛 び 先 のサブルーチンからは RETURNで 元 のプログラム 位 置 に 返 ることができます PIC18Fシリーズの 場 合 には1024 個 それ 以 外 のPICマイコンの 場 合 には127 個 のラベルを 指 定 できま す 但 し ネスト(サブルーチン 内 でさらに 深 いサブルーチンに 飛 ぶ)できるレベルには 制 限 があり 14ビ ットコアのPICの 場 合 には4レベル PIC18シリーズの 場 合 には27レベルまでとなっています 例 : 下 記 の 例 はいずも 同 じ 動 作 をします ON Variable GOSUB label1, label2, label3 IF Variable=0 THEN label1 IF Variable=1 THEN label2 IF Variable=2 THEN label3 上 記 のON GOSUBと 同 じ 動 作 となります 9-38 ON GOTO (インデックスの 値 に 応 じて 指 定 したルーチンにジャンプ) ON Index GOTO Label {,Label... } Indexで 指 定 した 変 数 の 値 に 応 じて Labelで 指 定 したルーチンにジャンプします Labelは 左 から 順 番 にインデックスの 値 が0 1 2 の 順 で 対 応 します PIC18では 最 大 1024 個 その 他 のデバイスでは 最 大 127 個 のラベルを 指 定 できます ON GOTO 命 令 の 代 わりとしてBRANCH 命 令 も 使 えます 9-39 OWIN (ワンワイヤインターフェイスでデータを 受 信 ) OWIN Pin Mode [Item...] DS1820などワンワイヤインターフェイスのデバイスからデータを 受 信 します 指 定 したPinから 受 信 し 受 信 したデータをItemで 指 定 した 変 数 に 格 納 します また モードの 設 定 によって リセットパルスを 送 信 することができます ワンワイヤーインターフェイスは 別 名 MicroLANと 呼 ばれる1 線 式 のバスシステムです 1 本 の 信 号 線 の 途 中 に 各 デバイスを 複 数 ぶら 下 げることができ I/Oポート 数 の 少 ない 組 込 用 マイコンのインターフェイ スとして 開 発 されました Modeは 下 記 のビット 表 を 参 照 にMode 番 号 を 作 り 記 述 します Modeビット 番 号 内 容 0ピット 目 1=データの 前 にリセットパルスを 送 信 します 1ピット 目 1=データの 後 にリセットパルスを 送 信 します 2ビット 目 0=バイトサイズデータ 1=ビットサイズデータ 例 えば Mode 番 号 を%000(10 進 数 で0)の 場 合 リセットパルスは 送 信 せずデータサイズはバイトサイズ になります 同 様 に%001(10 進 数 で1)の 場 合 データの 前 にリセットパルスを 送 信 します またデータサ イズはバイトサイズです %100(10 進 数 で4)の 場 合 リセットパルスは 送 信 せずビットサイズのデータを 受 信 します

96 Itemには1つ 又 は 複 数 の 変 数 を 記 述 します 変 数 にはSERIN2 命 令 などでも 使 用 するモディファイヤを 付 加 できます 例 えば STR 修 正 子 をつけると 下 記 のようになります OWIN PORTC.1 %000 [STR temp\2 SKIP 4 count_remain count_per_c] ポートCのビット1よりデータを 受 信 します リセットパルスは 送 信 しません バイトサイズの 変 数 tempに 2バイト 受 信 します 次 の4バイトをスキップします そして 最 後 の2バイトを2つの 変 数 (count_remain 変 数 と count_per_c 変 数 )にそれぞれ 分 離 させて 格 納 します 9-40 OWOUT (ワンワイヤインターフェイスでデータを 送 信 ) OWOUT Pin Mode [Item...] ワンワイヤインターフェイスのデバイスへデータを 送 信 します 指 定 したPinから Itemの 内 容 を 送 信 しま す また モードの 設 定 によって リセットパルスを 送 信 することができます Modeは 下 記 のビット 表 を 参 照 にMode 番 号 を 作 り 記 述 します Modeビット 番 号 内 容 0ピット 目 1=データの 前 にリセットパルスを 送 信 します 1ピット 目 1=データの 後 にリセットパルスを 送 信 します 2ビット 目 0=バイトサイズデータ 1=ビットサイズデータ 例 えば Mode 番 号 を%000(10 進 数 で0)の 場 合 リセットパルスは 送 信 せずデータサイズはバイトサイズ になります 同 様 に%001(10 進 数 で1)の 場 合 データの 前 にリセットパルスを 送 信 します またデータサ イズはバイトサイズです %100(10 進 数 で4)の 場 合 リセットパルスは 送 信 せずデータサイズは ビットサ イズです Itemには1つ 又 は 複 数 の 変 数 を 記 述 できます なおモディファイヤとしてSTRを 使 用 できます OWOUT PORTC.0 %001 [$cc $be] 上 記 の 例 では PORTCのビット0よりデータを 送 信 します データの 前 にリセットパルスを 送 信 します そ の 後 16 進 数 で$cc 及 び$beを 送 信 します 9-41 ON INTERRUPT ( 各 種 割 込 を 有 効 にする) ON INTERRUPT GOTO Label 割 込 制 御 命 令 です この 命 令 をプログラムの 先 頭 で 記 述 しておくと 割 込 種 類 を 設 定 するINTCONレジス タ 等 で 割 込 発 生 を 許 可 したすべての 割 り 込 みを 検 出 し Labelで 指 定 したラベルにジャンプします 割 り 込 みにはRB0の 外 部 割 り 込 みや TMR0の 割 り 込 み ハードウエアUSARTの 割 り 込 みなど 各 種 割 り 込 みがあり いずれの 割 り 込 みを 使 用 する 場 合 であっても 必 ずレジスタの 設 定 を 適 切 に 設 定 しなければ 割 り 込 みは 実 行 されません この"On Interrupt Goto" 命 令 は INTCONレジスタのビット7にあるGIEビッ トが1の 際 に 割 り 込 みが 発 生 すると Lableにジャンプするものです 通 常 割 り 込 みが 発 生 すると PICは 現 在 の 実 行 アドレスをスタックメモリに 待 避 させて 4 番 地 の 割 り 込 み 処 理 プログラムを 実 行 します "On Interrupt Goto" 命 令 を 記 述 すると Goto 命 令 の 後 に 記 述 したLabel 先 が4 番 地 に 自 動 的 に 設 定 され 割 り 込 み 発 生 時 には そのラベル 以 降 が 実 行 されます どの 種 類 の 割 込 を 使 用 するかはINTCONレジスタやPIR1 PIE1レジスタなどで 設 定 します 例 えばPIC16 F877Aには14の 割 り 込 み 要 因 があり 割 り 込 みを 使 用 する 場 合 には これらのレジスタの 値 を 適 切 に 設 定 する 必 要 があります また 複 数 の 割 込 を 有 効 にしている 場 合 どの 割 込 が 発 生 しても 飛 び 先 ルーチンは 同 じです(Labelで 指 定 したラベル 先 に 飛 びます) よって 複 数 の 割 込 を 使 用 する 場 合 には どの 割 込 が 発

97 生 した 飛 び 先 ルーチンに 飛 んだのかは 飛 び 先 ルーチン 内 でIF 文 等 でレジスタの 値 を 評 価 して 処 理 を 分 岐 させることになります 割 込 ルーチン 先 からは"RESUME 命 令 "で 元 のプログラム 実 行 位 置 へ 戻 ります ( 割 込 ルーチン 先 でのGOT O 命 令 による 別 のラベルへのジャンプやGOSUB 命 令 による 別 サブルーチンへのジャンプは 原 則 としてう ことは 許 されません 処 理 を 分 岐 する 必 要 がある 場 合 には 必 ず 割 込 処 理 完 了 後 メインルーチンに 復 帰 してから 処 理 を 記 述 するようにします ) PBP 内 で 割 り 込 みルーチンを 記 述 する 場 合 は "DISABLE" 命 令 で 始 まり "ENABLE"で 閉 じます 以 下 の サンプルプログラム 参 照 してください 通 常 のアセンブラやC 言 語 で 記 述 する 時 同 様 RESUMEでメインルーチンに 復 帰 する 前 に 必 ずINTCONレ ジスタを 初 期 化 します 例 :PORTB.0の 外 部 割 込 On Interrupt Goto myint INTCON = % ' 割 り 込 みの 宣 言 ' 割 り 込 みを 制 御 するINTCONレジスタを 設 定 します 通 常 処 理 DISABLE myint: High PORTA.0 INTCON = % RESUME ENABLE ' 通 常 処 理 のルーチンと 割 り 込 みルーチンの 境 目 に 置 く 命 令 ' 割 込 発 生 時 の 処 理 ルーチン 'RESUME 前 にINTCONレジスタを 初 期 化 'ジャンプ 元 に 戻 る ' 割 込 ルーチン 終 了 例 :タイマ0のオーバーフローによる 割 込 On Interrupt Goto TMRONT ' 割 り 込 みの 宣 言 INTCON = % 'TMR0オーバー 割 込 を 有 効 に 設 定 (INTCONレジスタのビット5) OPTION_REG = % 'TMR0のプリスケーラーの 設 定 (この 設 定 では1/64) 通 常 処 理 DISABLE TMRONT: High PORTA.0 INTCON = % RESUME ENABLE ' 通 常 処 理 のルーチンと 割 り 込 みルーチンの 境 目 に 置 く 命 令 ' 割 込 発 生 時 の 処 理 ルーチン 'RESUME 前 にINTCONレジスタを 初 期 化 'ジャンプ 元 に 戻 る ' 割 込 ルーチン 終 了 ハードウエアUSARTによる 割 り 込 みについてはHSERIN(2) 命 令 の 項 をご 覧 下 さい 割 込 ルーチン 内 での サブルーチンは 使 用 できません "On Interrupt Goto" 命 令 を 使 用 する 場 合 には "DEFINE ONINT_USED 1" は 記 述 しないでくださ い ブートローダーを 使 用 する 場 合 であっても 記 述 しないでください On Interrupt 命 令 を 記 述 している 場 合 には 上 記 のDEFINEを 記 述 しないでもブートローダーは 問 題 なく 使 用 できます 個 々の 割 り 込 みについては 別 途 データシート 等 をお 読 みの 上 レジスタ 等 の 設 定 をしてください "On Interrupt Goto" 命 令 は 割 り 込 みを 有 効 にする 命 令 ではなく あくまでもレジスタで 割 り 込 みの 設 定 を 完 了 しておき 割 り 込 み 発 生 時 に Labelで 指 定 したラベルへジャンプさせるだけの 命 令 です

98 9-42 PAUSE ( 指 定 した 時 間 プログラムを 一 時 停 止 ) PAUSE Period Periodで 指 定 した 時 間 (ミリ 秒 単 位 )だけ 処 理 を 停 止 します この 命 令 を 実 行 しても 省 電 力 モードにはなりません 最 大 値 は65535ミリ 秒 ( 約 65.5 秒 程 度 )です 16ビット 精 度 で 最 大 65535ミリ 秒 まで 任 意 の 時 間 一 時 停 止 できます この 命 令 は 厳 密 に 正 確 な 時 間 を 保 証 するものではありません PBPでは 時 間 を 動 作 クロックから 擬 似 的 に 作 り 出 しており PAUSE 命 令 では 多 少 の 時 間 のずれがあることをあらかじめご 理 解 の 上 ご 使 用 く ださい そのため 時 計 アプリケーションやストップウォッチアプリケーションなどには 精 度 的 にPAUSE 命 令 は 使 えません より 精 度 の 高 い 時 計 機 能 を 作 るには 内 部 のTMR0などを 使 用 します 9-43 PAUSEUS ( 指 定 した 時 間 プログラムを 一 時 停 止 ) PAUSEUS Period Periodで 指 定 した 時 間 (マイクロ 秒 単 位 )だけ 処 理 を 停 止 します 最 大 値 は65535マイクロ 秒 までです 最 小 ディレイ 時 間 は 動 作 クロックに 依 存 して 変 わります 4MHzの 場 合 には 最 小 時 間 は24μ 秒 8MHzで は12μ 秒 20MHzでは3μ 秒 それ 以 上 の 周 波 数 では2μ 秒 となります 詳 しくは 下 表 をご 参 照 ください この 命 令 は 厳 密 に 正 確 な 時 間 を 保 証 するものではありません PBPでは 時 間 を 動 作 クロックから 擬 似 的 に 作 り 出 しており PAUSE 命 令 では 多 少 の 時 間 のずれがあることをあらかじめご 理 解 の 上 ご 使 用 く ださい そのため 時 計 アプリケーションやストップウォッチアプリケーションなどには 精 度 的 にPAUSE 命 令 は 使 えません より 精 度 の 高 い 時 計 機 能 を 作 るには 内 部 のTMR0などを 使 用 します

99 9-44 PEEKCODE ( 指 定 した 番 地 のプログラムメモリーの 値 を 取 得 ) PEEKCODE Address Var Addressで 指 定 したプログラムメモリー 内 の 番 地 に 書 き 込 まれている 値 を 読 み 出 し 変 数 Varに 代 入 しま す PEEKCODE 命 令 は プログラムメモリーの 値 を 読 み 出 しますので 指 定 したスペシャルファンクション レジスタ(SFR)の 値 を 読 み 込 めます 変 数 VarはBYTE 型 変 数 を 使 用 します その 他 SFRには 汎 用 ユーザーレジスタ(GPR)がありますので そこに 値 を 書 き 込 んで PEEKCODE 命 令 で 値 を 取 得 することができます なお データの 書 き 込 みにはPOKECODE 命 令 を 使 用 します POKECODE 命 令 と 組 み 合 わせることで プログラムメモリー 内 に 定 数 テーブルを 作 ることができます 9-45 POKECODE ( 指 定 した 番 地 のプログラムメモリーに 値 を 書 き 込 む) Value { Value...} Address( 先 頭 に@が 付 くことにご 注 意 ください)で 指 定 したプログラムメモリーの 番 地 に Valueで 指 定 し た 値 を 書 き 込 みます Valueをカンマ(,)で 区 切 り 複 数 記 述 すると Addressで 指 定 する 番 地 を 先 頭 番 地 と して 順 番 に 番 地 がインクリメントされてプログラムメモリーに 書 き 込 まれます Valueで 書 き 込 みができる 値 は8ビット 長 ですので0~255までとなります なお 本 命 令 は 必 ずEND 命 令 の 後 に 記 述 する 必 要 があります この 命 令 はプログラムメモリーにアクセス する 関 係 上 プログラムカウンター(PC)の 値 を 操 作 します そのため この 命 令 をEND 命 令 より 前 のプロ グラム 本 文 中 に 記 述 してしまうと プログラムの 動 作 が 不 正 となりますので 十 分 ご 注 意 ください 本 命 令 は プログラムメモリー 上 に 任 意 の 定 数 テーブルを 作 る 場 合 に 使 用 します 指 定 した 番 地 に 定 数 を 書 き 込 んでおくことで プログラム 中 ではPEEKCODE 命 令 でアドレスを 指 定 して 値 を 読 み 出 すことがで きます 値 は SFRに 書 き 込 まれることになりますが 主 に 使 用 できるエリアは 汎 用 ユーザーレジスタ(G PR)となります 汎 用 ユーザーレジスタの 番 地 は 使 用 するPICマイコンのデータシートに 記 載 があります ので 必 ず 参 照 して 正 しい 番 地 を 指 定 するようにします 例 えばPIC16F887のデータシートを 参 照 するとGeneral Purpose Registersは 20h~7Fh A0h~EFh 120h~16Fhの3つがあることが 分 かります よって このアドレスの 中 から 番 地 を 指 定 して 値 を 書 き 込 むことになります 例 : rec VAR byte PEEKCODE $121,rec LCDOUT dec rec END '120h 番 地 の 値 を 取 得 して 変 数 recに 代 入 します 'LCDには20と 表 示 されます 'POKECODE 命 令 はEND 命 令 の 後 ろに 記 述 します '120h 番 地 を 先 頭 に 値 を3つ 書 き 込 みます

100 9-46 POT (ポテンショメーターの 値 を 取 得 ) POT Pin Scale Var 本 命 令 は 主 にADコンバータの 搭 載 されていないデバイスで 擬 似 的 にアナログ 入 力 を 実 現 する 命 令 です 現 在 PICマイコンには 多 くの 種 類 でADコンバータが 内 蔵 されており POT 命 令 より 高 精 度 です よ ってADコンバータ 内 蔵 デバイスの 場 合 にはADコンバータを 使 うことを 強 く 推 奨 致 します Pinで 指 定 されたピンに 接 続 されたポテンショメーター( 可 変 抵 抗 器 やボリューム 等 のこと)のスケールを 0~255の 範 囲 で 読 み 込 み 変 数 Varに 読 み 取 った 値 を 代 入 します 抵 抗 値 の 読 み 取 りは ポテンショメーターに 直 列 に 接 続 したキャパシタの 放 電 のタイミングによって 行 わ れます よって 配 線 は 下 記 のようにします ポテンショメーターは 通 常 5KΩ~50KΩのものを 使 用 します ADコンバーターの 搭 載 していないデバイスでは おおよその 抵 抗 値 を 返 された 値 から 推 測 できます 仕 組 みとしては 最 初 にポテンショメーターに 接 続 されたピンをHにしコンデンサーをフル 充 電 した 後 Lに します コンデンサを 放 電 してLowレベルまで 下 がった 時 間 を 計 測 することでR/Cの 時 定 数 に 応 じた 放 電 時 間 の 性 質 を 利 用 しています コンデンサの 値 は 一 定 ですから 放 電 時 間 は 抵 抗 値 の 関 数 となり 時 間 から 抵 抗 値 が 推 測 できます Scaleはポテンショメーターの 最 小 抵 抗 値 の 時 に0 最 大 抵 抗 値 の 時 に255となるように 任 意 の 値 を 指 定 します 通 常 127を 最 初 に 入 れて 結 果 を 確 認 し 微 調 整 します 基 本 的 にRCの 時 定 数 が 大 きい 場 合 には 小 さい 値 を 時 定 数 が 小 さい 場 合 には 大 きい 値 を 設 定 します

101 9-47 PULSIN (パルス 幅 を 計 測 ) PULSIN Pin Stare Var Pinで 指 定 したピンに 入 力 されたパルス 信 号 のパルス 幅 を 計 測 します 結 果 は16ビット 精 度 で 変 数 に 返 さ れます 10us~65535usの 幅 のパルス 信 号 が 計 測 できます Stateの 値 が0の 場 合 Lowレベルの 間 の 時 間 を 計 測 します 1の 場 合 には Highレベルの 間 の 時 間 を 計 測 します パルス 幅 が 計 測 できない 場 合 例 えばパルスの 立 ち 上 がり 立 ち 下 がりエッジが 検 出 できなかっ た 場 合 には 変 数 に0が 返 ります パルス 幅 はPICマイコンの 動 作 周 波 数 に 応 じて 返 される 分 解 能 が 変 わります 4MHzの 場 合 には10マイク ロ 秒 単 位 で 返 されます 20MHzの 場 合 には2マイクロ 秒 単 位 になります この 精 度 は DEFINE OSCの 設 定 に 関 係 なく 実 際 の 動 作 周 波 数 に 依 存 しています PULSIN 命 令 は 通 常 パルスが 検 出 できない 場 合 最 大 65535カウントまで 待 ちます パルスの 検 出 の 最 大 値 を 変 更 したい 場 合 には DEFINEで 設 定 できます DEFINE PULSIN_MAX 1000 次 の 例 では PORTB.4からのHighレベルのパルス 幅 を 計 測 して 変 数 W3にその 結 果 を 返 します PULSIN PORTB.4 1 W3 この 命 令 は 入 力 されたパルスのHレベル 又 はLレベル 時 の パルス 幅 を 取 得 する 命 令 ですので 周 期 を カウントする 命 令 ではありません 周 波 数 の 測 定 には COUNT 命 令 を 利 用 します 周 波 数 を 測 定 するには 次 の 例 にようにします ( 参 考 例 です PICを20MHzで 動 作 させた 場 合 です) v1 var word v0 var word v var word f var word main: pulsin PORTB.4, 1, v1 pulsin PORTB.4, 0, v0 v = (v1 + v0) * 2 f = (50000 / v) * 20 lcdout $fe, $c0, #f, "Hz" 9-48 PULSOUT (パルスを 出 力 ) PULSOUT Pin Period Pinで 指 定 したピンから Periodで 指 定 した 時 間 のパルス 信 号 を 発 生 します パルス 幅 は 動 作 周 波 数 により 変 わります 4MHz 動 作 の 場 合 Periodで 指 定 した 値 よりも10マイクロ 秒 ず つ 増 加 します 20MHzの 場 合 には2マイクロ 秒 ずつ 増 加 します PULSOUT PORTB 上 記 の 場 合 PICを4MHzで 動 作 させていた 場 合 には 1ミリ 秒 のパルス(10μs 100=1ms)を 20MHzで 動 作 させている 場 合 には 200マイクロ 秒 のパルスをRB5から 出 力 します この 命 令 は 単 発 のパルスを 出 力 する 命 令 です 連 続 したパルスはこの 命 令 単 独 では 出 力 できません

102 9-49 PWM (ソフトウエアPWM 出 力 ) PWM Pin Duty Cycle パルス 幅 変 調 信 号 (PWM)を 指 定 したPinより 出 力 します パルス 幅 変 調 は パルス 幅 のONとOFFの 比 率 を 変 える 変 調 方 式 です このPWM 命 令 は ハードウエアPWMを 搭 載 しないPICでもPWM 信 号 を 出 力 できるソフトウエアPWMです ハードウエアPWM 搭 載 のデバイスをお 使 いの 場 合 には HPWM 命 令 をお 使 いください より 正 確 な 制 御 が できます Dutyには0(0%)~255(100%)の 値 を 記 述 します Dutyは256ステップで 設 定 できます 50%の 場 合 (Hと Lの 間 隔 が 同 じ)には 127を 指 定 します Cycleにはパルスの 繰 り 返 し 回 数 を 記 述 します Cycleの 値 は0~255です Cycleの 時 間 は 動 作 周 波 数 に よって 変 わります 動 作 周 波 数 が4MHzの 場 合 1Cycleは 約 5ミリ 秒 20MHzの 場 合 には 約 1ミリ 秒 の 長 さと なります よって Cycleの 値 を100とした 場 合 4MHz 動 作 の 場 合 には 500ミリ 秒 20MHz 動 作 の 場 合 に は 100ミリ 秒 間 パルスが 出 力 されます PWMとしてアナログ 的 に 変 化 する 出 力 を 得 たい 場 合 には 下 図 のようなローパスフィルターを 付 けること で 矩 形 波 の 高 調 波 成 分 をカットした 波 形 を 取 り 出 せます 例 : デューティー 比 50%で100サイクルのPWM 信 号 をRB7より 出 力 する 場 合 PWM PORTB RANDOM ( 疑 似 乱 数 の 発 生 ) RANDOM Var 疑 似 乱 数 を 発 生 してVar 変 数 にその 値 を 返 します Varの 値 は16ビットのため 必 ずWord 変 数 を 利 用 します 0を 除 いた 最 大 65535までのランダムな 値 が 返 ります 疑 似 乱 数 は 完 全 な 乱 数 ではなく 算 術 処 理 で 生 成 します その 為 完 全 な 乱 数 ではなく 場 合 によっては 一 定 の 規 則 性 が 発 生 する 場 合 もあります

103 9-51 READ (EEPROMからデータを 読 み 込 む) READ Address Var PIC12F/16F/18FシリーズのようなEEPROM 搭 載 タイプのPICマイコンに 内 蔵 されたEEPROMの 指 定 した 番 地 から WRITE 命 令 で 書 き 込 んだデータを 変 数 に 読 み 込 みます Address Var 例 : 変 数 又 は 定 数 (0~255) 数 値 を 指 定 読 み 込 むEEPROMアドレスを 指 定 します EEPROMより 読 み 込 んだデータを 格 納 する 変 数 を 指 定 します byte 型 を 使 用 します READ 5 B2 上 記 の 例 では PICマイコン 内 部 のEEPROMの5 番 地 からデータを 読 み 込 んで 結 果 を 変 数 B2に 格 納 しま す PICマイコンに 内 部 されたEEPROMではなく 外 部 のI2C 通 信 式 のEEPROM(24LC256 等 )にアクセスす る 場 合 には I2CREADやI2CWRITE 命 令 を 使 用 します PIC12CEシリーズでは 本 命 令 は 使 用 できません 9-52 READCODE (コードスペースからデータを 読 み 込 む) READCODE Address Var READ 命 令 はデータEEPROMからのデータを 読 み 込 むのに 対 し READCODE 命 令 は コードスペースから のデータを 読 み 込 みます 引 数 Addressで 指 定 した 場 所 からデータを 読 み 込 み 変 数 varに 格 納 します いくつかのPIC16FシリーズやPIC18Fシリーズではプログラムコードエリアに 対 して プログラム 実 行 中 でもアクセスできます PIC16Fのデバイスでは 14ビットサイズのデータが PIC18Fデバイスではバイトサイズ 又 はWORDサイズ のデータが 読 み 込 まれます 使 用 するデバイスに 合 わせてVarで 指 定 する 変 数 の 型 を 選 択 してください なお コードスペース(プログラムメモリー)からの 読 み 込 みに 関 してはブロックあたりのバイト 数 は 関 係 ありません 詳 しくはERASECODE 命 令 の 項 目 をご 覧 ください 9-53 REPEAT...UNTIL ( 条 件 式 に 従 い 繰 り 返 し 処 理 ) REPEAT Statment... UNTIL Condition Statmentに 記 述 したプログラムをConditionの 値 が 真 になるまで 繰 り 返 し 実 行 します i var byte i = 0 REPEAT PORTB.0 = 0 i = i + 1 UNTIL i > 7 上 記 の 例 では 変 数 iが8 以 上 になるまで 繰 り 返 します なお この 命 令 を 使 う 場 合 には 必 ずカウント 対 象 の 変 数 は REPEATの 前 で0を 代 入 して 初 期 化 してください

104 9-54 RESUME ( 割 込 先 サブルーチンからメインルーチンへ 復 帰 ) RESUME {Label} 割 込 み 発 生 後 割 込 ルーチンから メインルーチンへ 処 理 をジャンプ( 復 帰 )します RETURN 命 令 と 似 ていますが RESUME 命 令 は 割 込 みルーチンからの 復 帰 の 際 に 使 用 します RETURN 命 令 はGOSUB 命 令 でジャンプしたサブルーチンからの 復 帰 の 際 に 利 用 します 省 略 可 能 なLabelに ラベル 名 を 記 述 すると ジャンプ 元 に 復 帰 せず 指 定 したラベルへ 処 理 を 移 動 させま す しかしこの 方 法 を 使 うと PIC16Fシリーズなどではスタックポインタに 問 題 を 発 生 させ 以 降 割 込 が 使 用 できなくなるという 問 題 が 発 生 します PIC18シリーズでは ラベル 指 定 してラベルへ 処 理 が 移 動 後 はスタックポインタは0にクリアされるため 問 題 は 発 生 しません Labelの 指 定 はできる 限 りしないようにすることが 望 ましいです 詳 しくは 割 込 命 令 "On Interrupt Goto" 命 令 の 項 をご 参 照 下 さい 9-55 RETURN (サブルーチンからメインルーチンへ 復 帰 ) RETURN GOSUB 命 令 で コールし 実 行 したサブルーチンからメインルーチンへ 復 帰 する 命 令 です 戻 る 場 所 は GOSUB 命 令 を 実 行 した 次 の 行 からです 詳 しくはGOSUB 命 令 の 項 をご 覧 ください 9-56 REVERSE (ピンの 入 出 力 方 向 の 反 転 ) REVERSE Pin Pinで 指 定 したピンの 入 出 力 方 向 を 反 転 させます 入 力 になっていたら 出 力 に 出 力 になっていたら 入 力 に 反 転 します 9-57 SELECT CASE ( 条 件 式 による 複 数 の 分 岐 ) SELECT CASE Var CASE Expr1 { Expr...} Statment... CASE Expr2 { Expr...} Statment... {CASE ELSE Statment...} END SELECT Select Case 命 令 はVar 変 数 の 値 を 条 件 ( 評 価 して)として 処 理 を 分 岐 する 分 岐 命 令 です Varには 評 価 する 変 数 を 指 定 します 各 Caseの 後 のExprには 条 件 を 記 述 します Varの 値 が 真 となるExprへ 処 理 を 分 岐 し そのCaseに 対 応 し たStatmentを 実 行 します Exprの 条 件 が1つも 真 でない 場 合 には CASE ELSEにジャンプしStatmentを 実 行 します CASE ELSE は 省 略 可 能 で 省 略 した 場 合 にはEND SELECT 以 降 にプログラムが 移 動 します その 他 var 変 数 に 対 して 比 較 を 行 う 場 合 には 比 較 演 算 子 を 用 いて"Case Is"を 使 用 します

105 SELECT CASE x Case 1 y = 10 ' 変 数 x の 値 が 評 価 されます 'x の 値 が 1 の 時 実 行 Case 2,3 y = 20 Case Is > 5 y = 30 Case Else y = 0 'x の 値 が 2 又 は3の 時 実 行 'x の 値 が 6 以 上 の 時 実 行 ' 上 記 いずれの 条 件 も 真 でない 時 実 行 ENDSELECT 9-58 SERIN2 (ソフトウエア 非 同 期 式 シリアル 通 信 UARTでデータを 受 信 ) SERIN2 Datapin{/Flowpin} Mode {PartityLabel } {Timeout Label1} [Item...] シリアル 式 の 非 同 期 通 信 (UART)でデータを 受 信 します パソコンのRS232Cや UART 通 信 を 行 う 機 器 間 との 通 信 に 使 用 します 本 命 令 は UART 通 信 をソフトウエアで 実 行 するものです 多 くのPICマイコンにはハードウエアUSART 可 能 が 搭 載 されており ハードウエアUSART 機 能 を 使 ってUART 通 信 を 行 いたい 場 合 には HSERIN 命 令 及 びHSEROUT 命 令 を 使 います このSERIN2 命 令 はハードウエアUSARTの 搭 載 されていないデバイスでU ARTを 行 う 場 合 のみ 使 います 1つまたはそれ 以 上 のItems(データ)を 指 定 したDatapinより 受 信 します Datapinはデータを 入 力 するポート(Rxピン)を 指 定 します 通 信 のプロトコル( 通 信 速 度 やデータ 長 などのパラメーター)は Modeによって 設 定 します Modeの 値 は 表 を 参 考 にしてください Datapin 入 力 ピン(RxDとして 使 用 するピン)を 指 定 Flowpin フロー 制 御 入 力 ( 変 数 又 は 定 数 ) [ 省 略 可 ] Mode 以 下 の 表 を 参 照 して 設 定 通 信 プロトコルの 設 定 Mode ホ ーレート テ ータ ハ リティ 極 性 ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル 極 性 とは 信 号 の 極 性 のことで RS232C 通 信 をする 場 合 レベル 変 換 ICを 介 して 通 信 する 場 合 に は ノーマルに 設 定 してください レベル 変 換 ICを 介 さずRS232Cと 直 接 PICマイコンのピンを 接 続 する 場 合 には 極 性 を 反 転 させます 上 記 の 表 以 外 でのボーレートを 設 定 したい 場 合 には 計 算 によりボーレートを 算 出 することができ ますが 正 式 にサポートされたものではないため 速 度 によっては 通 信 できない 場 合 があります ボーレート = ( / 希 望 のボーレート)

106 例 :300ボーにしたい 場 合 ( / 300)-20 = = 3313 上 記 の 表 の 通 り データ 長 8ビット 長 1ストップビット ノンパリティ 極 性 ノーマルの 一 般 的 な 設 定 の 場 合 には 通 信 速 度 の 違 いによりModeの 値 が 変 わるだけです データ 長 やパリティビットを 付 加 したい 場 合 にはModeの 値 を 上 記 の 表 以 外 に 以 下 のように 変 更 します パリティを 挿 入 したい 場 合 パリティを 挿 入 すると データビットの 最 後 の1ビットがパリティとして 利 用 されます よってパリティを 使 用 すると データ 長 は1ビット 少 なくなります 偶 数 パリティを 挿 入 したい 場 合 には 上 記 の 通 信 速 度 により 決 めたModeの 値 に $1000 を 加 算 します パリティを 挿 入 するデータ 長 は1ビット 少 なくなりますので 通 信 速 度 9600bps 偶 数 パリティ データ 長 7 ビット 長 の 場 合 には 次 のようになります SERIN2 Tx 84+$1000 [REC] '9.6kbps 偶 数 パリティ 7ビット 長 極 性 ノーマル なお 8ビット 長 でパリティを 挿 入 したい 場 合 にはデータ 長 を9ビットにします データ 長 は 次 のDEFINEを プログラム 先 頭 で 記 述 します これでパリティが 挿 入 されていればデータ 長 は8ビット 長 になります DEFINE SER2_BITS 9 'データ 長 が9ビット 長 になります この 他 奇 数 パリティにしたい 場 合 には 次 のDEFINEをプログラムの 先 頭 に 記 述 します DEFINE SER2_ODD 1 極 性 の 変 更 PICマイコンとRS232Cポートの 間 にMAX232C 等 のRS232CドライブICが 挿 入 されている 場 合 には 極 性 はノーマルに 設 定 し 通 常 は 前 ページのModeの 値 ( 通 信 速 度 の 値 )だけで 動 作 します しかし RS232CドライブICを 用 いずにPICマイコンのピンとRS232Cポートを 直 接 接 続 させて 通 信 を 行 いたい 場 合 には 極 性 を 反 転 させる 必 要 があります 極 性 を 反 転 させるためにはModeの 値 に $2000 を 加 算 します SERIN2 Tx 84+$2000 [REC] '9.6kbps 偶 数 パリティ 8ビット 長 極 性 反 転 但 し この 設 定 では 信 号 の 論 理 状 態 は 反 転 しますが 電 圧 レベルはあくまでもPICマイコンはVccを 上 限 と するTTLレベルです RS232Cとは 電 圧 レベルが 違 いますので 直 結 すると 場 合 によってはマイコンを 壊 し てしまうことがあります できる 限 りRS232CドライブICを 介 してRS232Cポートと 接 続 してください ParityLabel パリティ 設 定 時 パリティエラー 発 生 時 の 飛 び 先 ラベルの 指 定 [ 省 略 可 ] Timeout Label Item 待 ち 受 け 限 度 時 間 の 設 定 です 単 位 はms 最 高 は65535ミリ 秒 までです ここで 指 定 した 時 間 待 ってもデータが 入 力 されない 場 合 はLabelへ 分 岐 します Timeout.Labelを 省 略 するとデータを 受 信 するまでフ ロク ラムは 待 機 します[ 省 略 可 ] データを 格 納 する 変 数 です あらかじめ 宣 言 した 変 数 又 は 配 列 を 使 用 します Itemにbyte 型 変 数 を 用 意 すると 受 信 できるデータサイズは1バイトとなります ASCII コードでは 1 文 字 分 の 受 信 となります 複 数 バイト 受 信 したい 場 合 には 変 数 ではなく て 配 列 を 使 用 します 例 えば5バイト 受 信 する 場 合 には byte 型 配 列 を5 要 素 宣 言 して 使 用 します 受 信 されたデータは1バイト 毎 に 配 列 1 要 素 ずつに 格 納 されます

107 例 として 変 数 に 配 列 を 用 いないで 数 値 をASCIIコードで1 文 字 分 受 信 するプログラムを 示 します REC var byte RX var PORTC.7 SERIN2 RX, 84, [REC] LCDOUT $FE, 1, #REC '9.6kbps で 受 信 ' 変 数 REC に 受 信 した 内 容 を LCD に 表 示 この 場 合 受 信 できるデータ 長 は8ビットです 受 信 データは 変 数 RECに 格 納 され LCDにその 内 容 が 表 示 されます #マークを 変 数 の 前 に 付 けたため 変 数 に 格 納 された 値 に 対 応 するASCIIコードより LCDには 文 字 が 表 示 されます 例 えば70を 受 信 した 場 合 LCDには"F"が 表 示 されます 複 数 バイト 受 信 する 場 合 には 配 列 を 使 用 します 配 列 を 使 用 した 場 合 には STR 修 正 子 を 用 いて 受 信 す るバイト 数 を 指 定 します 例 えば5バイト 受 信 したい 場 合 には 下 記 のようにします REC var byte[5] RX var PORTC.7 SERIN2 RX, 84, [STR REC 5] LCDOUT $FE, 1, STR REC 5 ' 配 列 REC に 5 バイト 受 信 信 ' 配 列 の 内 容 を 5 バイト 分 LCD に 表 示 STR 修 正 子 は 配 列 を 用 いた 場 合 には 必 ず 使 用 します 書 式 は "SRT ArrayVar\n{\c}"で 配 列 にnバイトま でデータを 受 信 する という 内 容 になります 省 略 可 能 なcは 受 信 終 了 のキャラクタで ここで 指 定 した 値 を 受 信 すると \nで 指 定 したサイズに 受 信 したデータサイズが 達 していなくても 受 信 を 終 了 します STR 修 正 子 を 用 いることで 受 信 するデータサイズを 定 義 しています よって 例 えば 要 素 数 10の 配 列 を 準 備 した 場 合 でも "SRT Arry\5" と 記 述 すると5バイト 分 受 信 したところで 受 信 完 了 となります 各 配 列 に 格 納 された 内 容 を 要 素 毎 に 参 照 するには 変 数 名 [ 配 列 数 ] で 指 定 できます 例 えば 受 信 したデータが "ABC" の3バイトであるかどうかを 判 定 して 分 岐 処 理 をするには IF 文 を 用 い て 次 のようにします REC var byte[3] RX var PORTC.7 SERIN2 RX, 84, [STR REC 3] If REC[0]="A" AND REC[1]="B" AND REC[2]="C" Then Lcdout $fe, 1, "REC = ABC" ENDIF ' 配 列 を 宣 言 '8 ビット 5 を 受 信 ' 配 列 の 判 定 配 列 の 要 素 1つずつを 参 照 して AND 演 算 子 を 用 いて 判 定 を 行 います なお 実 際 にSERIN2 命 令 で 受 信 する 値 は 数 値 です 文 字 として 認 識 しているのはASCIIコードとしている ためで 例 えば 上 記 の 例 で "ABC"という 文 字 列 は 実 際 には" "という3バイトのデータです わかりやすいよう 文 字 列 で 表 記 する 場 合 には 上 記 の 例 のように 文 字 を"(ダブルクォーテーション)で 囲 みます SERIN2 命 令 は 割 り 込 み 処 理 を 利 用 しているわけではなく ソフトウエア 的 に 非 同 期 通 信 を 実 現 していま す そのため SERIN2 命 令 では データが 受 信 できるまで 処 理 を 待 機 します また 配 列 を 用 いて 複 数 バイ ト 受 信 するようSTRを 使 用 している 場 合 には 指 定 したデータサイズを 受 信 するまで 受 信 待 機 状 態 とな りプログラムはSERIN2 命 令 の 位 置 で 待 機 することになります 省 略 可 能 なTimeoutとLabelを 記 述 することで 指 定 したTimeout 時 間 データが 受 信 できない 場 合 には 指 定 したLableに 処 理 をとばすことができます Timeoutはミリ 秒 単 位 で 指 定 します

108 SERIN2 命 令 はあくまでも データ 受 信 時 にSERIN2 命 令 が 実 行 されていないとデータを 受 信 できません 他 のプログラムを 実 行 中 の 時 にデータが 入 ってきても SERIN2 命 令 が 実 行 されていなければデータは 受 信 できずすべて 取 りこぼすことになります いつ 来 るか 分 からないデータを 受 信 する 場 合 には 通 常 割 り 込 みを 使 用 します 割 り 込 みは ハードウエ アUSARTを 搭 載 したデバイスの 際 使 用 できます 使 用 する 場 合 には HSERIN 命 令 を 使 用 します 割 り 込 み 受 信 する 場 合 には HSERIN 命 令 の 項 をご 覧 ください SERIN2 命 令 は 受 け 取 るデータの 形 を 変 換 したり 特 定 の 作 業 を 指 定 できるModifier( 修 正 子 )が 利 用 で きます { } 内 の 数 字 は 桁 数 を 指 定 します Modifier 動 作 概 要 BIN{1...16} DEC{1...5} HEX{1...4} SKIP n データをバイナリ 形 式 で 受 け 取 ります 16ビットまで 指 定 できます データを10 進 数 で 受 け 取 ります データを16 進 数 で 受 け 取 ります nで 指 定 したバイト 分 の 受 信 をスキップします WAIT ( ) ( )で 指 定 したキャラクターが 受 信 されるまで 待 ちます 指 定 したキャラク タ 受 信 後 は 通 常 通 り 変 数 に 受 信 内 容 を 格 納 します STR ArrVar\n{\c} nバイト 受 信 し 配 列 として 宣 言 したArrVar 配 列 に 受 信 した 値 を 格 納 します 省 略 可 能 な\cに 値 を 記 述 した 場 合 \nで 指 定 したサイズ 分 受 信 していなく ても その 値 を 受 信 するとすぐに 受 信 処 理 を 完 了 します BINの 使 い 方 BINは 変 数 の 内 容 を2 進 数 で 処 理 します 例 えば 変 数 numに10 進 数 の3が 格 納 されている 時 は LCDOUT BIN5 num と 記 述 すると 変 数 には と 格 納 されます これは 変 数 の 内 容 を5ビット 精 度 で2 進 数 表 示 せよ ということになります BINの 後 に 数 値 をつけるとビット 数 を 指 定 できます DECの 使 い 方 DECは 変 数 の 内 容 を10 進 数 で 処 理 します 例 えば 変 数 numに10 進 数 の23が 格 納 されている 時 は LCDOUT DEC5 num と 記 述 すると 変 数 には と 格 納 されます DECの 後 ろに 数 値 をつけると 桁 数 を 指 定 できま す HEXの 使 い 方 HEXは 変 数 の 内 容 を16 進 数 で 処 理 します 例 えば 変 数 numに10 進 数 の50が 格 納 されている 時 は LCDOUT HEX6 num と 記 述 すると 変 数 には と 格 納 されます HEXの 後 ろに 数 値 をつけると 桁 数 を 指 定 できま す WAITの 使 い 方 WAITは 指 定 した 値 を 受 信 するまで 受 信 の 処 理 を 待 ちます 例 えば

109 SERIN2 RX 84 [WAIT ("A") B0] と 記 述 すると 文 字 "A"が 受 信 されるまで 待 ち 文 字 "A"を 受 信 後 は 変 数 B0に 受 信 した 内 容 を 格 納 しま す 文 字 "A"とは 値 65のことです STR ArrVar\n{\c}の 使 い 方 STRを 利 用 した 場 合 \cを 省 略 するとnバイト 受 信 しないと 通 信 は 完 了 しません \cで 値 を 指 定 すると その 値 を 受 信 した 時 点 で 受 信 処 理 を 終 了 します 文 字 を 指 定 する 場 合 には" (ダブルクォーテーション)で 囲 んでください 値 の 場 合 には そのまま 記 述 します 例 を 下 に 示 します SERIN2 PORTC.7 84 [STR BB\10\"D"] 文 字 "D"を 受 信 すると 直 ちに 受 信 処 理 を 終 了 します 文 字 列 "D"を 受 信 できない 場 合 は10バイト 分 受 信 します SERIN2 命 令 で 受 信 した 内 容 をLCDOUT 命 令 でLCDに 出 力 する 際 \cを 設 定 した 場 合 は 出 力 する 文 字 数 が 確 定 しないため LCDOUT 命 令 側 のSTRの\nは 記 述 しないようにします LCDOUT $fe 1 STR BB LCDOUT 命 令 では STR 配 列 名 で 実 際 に 受 信 した 配 列 すべての 内 容 を 表 示 します 特 定 の 配 列 分 だけ 表 示 する 場 合 には STR 配 列 名 \n と 記 述 します なお ハードウエアUART 並 びにシリアル 通 信 割 り 込 みを 使 用 したい 場 合 には HSEROUT 命 令 又 は HSERIN 命 令 をご 利 用 ください SEROUT2 命 令 及 びSERIN2 命 令 は ソフトウエア 的 にシリアル 通 信 を 実 現 していますので 割 り 込 み 処 理 などはできません また PICマイコン 同 士 でUART 通 信 を 行 う 場 合 には 必 ずHSEROUT 命 令 又 はHSERIN 命 令 を 使 用 します

110 9-59 SEROUT2 (ソフトウエア 非 同 期 式 シリアル 通 信 UARTでデータを 送 信 ) SEROUT2 Datapin {/Flowpin} Mode {Pace } {Timeout Label} [Item...] シリアル 式 の 非 同 期 通 信 (UART)でデータを 出 力 します パソコンのRS232Cや UART 通 信 を 行 う 機 器 間 との 通 信 に 使 用 します 本 命 令 は UART 通 信 をソフトウエアで 実 行 するものです 多 くのPICマイコンにはハードウエアUSART 可 能 が 搭 載 されており ハードウエアUSART 機 能 を 使 ってUART 通 信 を 行 いたい 場 合 には HSERIN 命 令 及 びHSEROUT 命 令 を 使 います このSEROUT2 命 令 はハードウエアUSARTの 搭 載 されていないデバイスで UARTを 行 う 場 合 のみ 使 います 非 同 期 式 シリアル 通 信 で 指 定 した 変 数 又 は 配 列 の 内 容 をDatapinから 出 力 します 1つまたはそれ 以 上 のItemの 内 容 を 出 力 します 指 定 した 各 ピンは 自 動 的 に 入 出 力 方 向 が 設 定 されます Datapin 出 力 ピン(TXとして 使 用 するピン)を 指 定 します Flowpin フロー 制 御 入 力 ( 変 数 又 は 定 数 ) [ 省 略 可 ] Pace 次 の1バイトを 送 信 するまでの 時 間 単 位 はms 最 大 値 65535ms [ 省 略 可 ] Timeout Label 待 ち 受 け 限 度 時 間 の 設 定 です 単 位 はms 最 大 65535msまでです この 時 間 待 ってもデータが 出 力 できない 場 合 はLabelへ 分 岐 します [ 省 略 可 ] Item 出 力 する 内 容 を 格 納 した 変 数 配 列 又 は 定 数 も 指 定 できます Mode 通 信 速 度 やデータ 長 パリティなど 通 信 プロトコルを 表 す 数 値 です 数 値 は 以 下 の 表 を 参 照 にしてください Mode ホ ーレート テ ータ 長 ハ リティ 極 性 ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル ホ ー 8bit ノンパリティ ノーマル 極 性 は PICマイコンとRS232Cを レベル 変 換 IC(MAX232 等 )を 介 して 接 続 する 場 合 にはノーマ ルに 設 定 します PICマイコンとRS232Cを 直 結 する 場 合 には 反 転 させます 通 常 はレベル 変 換 IC を 介 してRS232Cと 接 続 しますので 極 性 はノーマルにします 上 記 の 表 以 外 でのボーレートをお 使 いの 場 合 には 計 算 によりボーレート( 通 信 速 度 )を 算 出 するこ ともできますが 速 度 によっては 正 しく 通 信 できないことがあります ボーレート = ( / 希 望 のボーレート)-20 通 信 速 度 は 上 記 の 表 から 選 択 してください データ 長 パリティの 有 無 極 性 が 表 の 通 り 8ビット 長 ノ ンパリティ 極 性 ノーマル(レベル 変 換 IC 適 用 ) でよければModeの 値 の 設 定 は 完 了 です プロトコルに 変 更 を 加 える 場 合 には 次 の 手 順 で 行 います パリティを 挿 入 したい 場 合 パリティを 挿 入 すると データビットの 最 後 の1ビットがパリティとして 利 用 されます 偶 数 パリティを 挿 入 したい 場 合 には 上 記 の 通 信 速 度 により 決 めたModeの 値 に $1000 を 加 算 します パリティを 挿 入 するデータ 長 は1ビット 少 なくなります 例 えば 通 信 速 度 9600bps 偶 数 パリティ デー タ 長 7ビット 長 の 場 合 には 次 のようになります SEROUT2 Tx 84+$1000 [REC] '9.6kbps 偶 数 パリティ 7ビット 長 極 性 ノーマル

111 なお 8ビット 長 でパリティを 挿 入 したい 場 合 にはデータ 長 を9ビットにします データ 長 は 次 のDEFINEを プログラム 先 頭 で 記 述 します これでパリティが 挿 入 されていればデータ 長 は8ビット 長 になります DEFINE SER2_BITS 9 'データ 長 が9ビット 長 になります この 他 奇 数 パリティにしたい 場 合 には 次 のDEFINEをプログラムの 先 頭 に 記 述 します DEFINE SER2_ODD 1 極 性 の 変 更 PICマイコンとRS232Cポートの 間 にMAX232C 等 のRS232CドライブICが 挿 入 されている 場 合 には 極 性 はノーマルに 設 定 し 通 常 は 前 ページのModeの 値 ( 通 信 速 度 の 値 )だけで 動 作 します しかし RS232CドライブICを 用 いずにPICマイコンのピンとRS232Cポートを 直 接 接 続 させて 通 信 を 行 いたい 場 合 には 極 性 を 反 転 させる 必 要 があります 極 性 を 反 転 させるためにはModeの 値 に $2000 を 加 算 します SEROUT2 Tx 84+$2000 [REC] '9.6kbps 偶 数 パリティ 8ビット 長 極 性 反 転 但 し この 設 定 では 信 号 の 論 理 状 態 は 反 転 しますが 電 圧 レベルはあくまでもPICマイコンはVccを 上 限 と するTTLレベルです RS232Cとは 電 圧 レベルが 違 いますので 直 結 すると 場 合 によってはマイコンを 壊 し てしまうことがあります できる 限 りRS232CドライブICを 介 してRS232Cポートと 接 続 してください PBPでは パリティの 有 無 及 び 極 性 の 設 定 は Modeの 値 にそれぞれの 設 定 値 を 加 算 する 形 で 記 述 します Mode = ボーレート 設 定 値 + パリティ 有 無 + 極 性 指 定 となります 通 信 速 度 9600bps データ 長 8ビット 長 パリティなし 1ストップビット 極 性 ノーマルの 一 般 的 なプロト コルで 通 信 を 行 う 場 合 には 下 記 のようになります 下 記 例 では 変 数 Varの 値 を 出 力 します SEROUT2 TX 84 [Var] Varには 変 数 を 指 定 します バイト 型 は1バイトですので ASCIIコードでは1 文 字 相 当 です 複 数 バイト 出 力 したい 場 合 には [ ] 内 に 固 定 した 文 字 列 を 記 述 するか 配 列 を 記 述 します 固 定 した 文 字 列 を 送 信 する 場 合 には 送 信 したい 文 字 例 を[ ] 内 に " (ダブルクォーテーション)で 囲 んで 直 接 指 定 できます 例 えば 文 字 列 Hello World を 送 信 したい 場 合 には 次 のようにします SEROUT2 TX 84 ["Hello World"] 配 列 の 場 合 には STR 修 正 子 を 用 いて [ ] 内 に 配 列 を 記 述 します 下 記 の 例 では 文 字 列 ABC を 送 信 します S_DATA var byte[3] S_DATA[0] = "A" S_DATA[1] = "B" S_DATA[2] = "C" SEROUT2 PORTC.7, 84, [STR S_DATA] ' 配 列 を 宣 言 ' 各 配 列 に 文 字 列 ( 8 ビット)を 格 納 ' 文 字 列 "ABC"が 送 信 される STRは 宣 言 された 配 列 の 全 要 素 を 出 力 する 場 合 に 配 列 の 前 に 付 ける 修 正 子 です 上 記 の 例 でSTRを 付 けずに [S_DATA]とだけ 記 述 すると 文 字 列 "A"だけが 送 信 されます 修 正 子 を 用 いることで 送 信 フォーマットを 任 意 の 形 式 に 修 正 することができます

112 Modifier 動 作 概 要 BIN{1~16} DEC{1~5} HEX{1~4} データをバイナリ 形 式 で 出 力 します データを10 進 数 で 出 力 します データを16 進 数 で 出 力 します REP c\n cで 指 定 した 値 をn 回 リピートして 出 力 します 例 えば"0"\4と 指 定 した 場 合 0000 と 出 力 します STR ArrVar{\n} 配 列 ArrVarの 内 容 をnバイト( 要 素 数 n 個 )を 出 力 します \nを 省 略 すると ArrVarの 全 要 素 を 出 力 します BIN DEC HEXでは 変 数 の 内 容 を 指 定 した 形 式 に 変 換 すると 共 に { } 内 の 数 値 を 記 述 することでビット 数 や 桁 数 を 指 定 できます 下 記 の 例 では 変 数 "S_DATA"の 内 容 を10 進 数 3 桁 で 出 力 します 変 数 には 12345の 値 が 格 納 されていますが DEC3 のによって 送 信 される 数 値 は"345" になりま す S_DATA var Word S_DATA = SEROUT2 PORTC.7, 84, [DEC3 S_DATA] ' 文 字 列 "345"が 送 信 さ れる なお ハードウエアUART 並 びにシリアル 通 信 割 り 込 みを 使 用 したい 場 合 には HSEROUT 命 令 又 は HSERIN 命 令 をご 利 用 ください SEROUT2 命 令 及 びSERIN2 命 令 は ソフトウエア 的 にシリアル 通 信 を 実 現 していますので 割 り 込 み 処 理 などはできません また PICマイコン 同 士 でUART 通 信 を 行 う 場 合 には 必 ずHSEROUT 命 令 又 はHSERIN 命 令 を 使 用 します

113 9-60 SHIFTIN (クロック 信 号 に 同 期 してデータを 受 信 ) SHIFTIN DataPin Clockpin Mode [Var{\bits}...] 同 期 式 のシリアルデータを 指 定 したDatapinから クロックに 同 期 して 読 み 込 みます 読 み 込 んだ 値 を 変 数 Varに 格 納 します オプションの"\bits"にビット 数 を 指 定 すると 指 定 されたビット 数 を 読 み 込 みます 指 定 しない 場 合 は8ビットに 設 定 されます Modeでモード 番 号 を 指 定 します モード 番 号 は 下 表 の 通 りです Datapin データ 入 力 ピン Clockpin クロックピン Var シフトデータ 用 変 数 bits ビット 数 1~16 省 略 した 場 合 8ビット Mode Mode No 動 作 概 要 上 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 る 前 にデータを MSBPRE 0 読 み 込 みます クロックの 立 ち 上 がりでデータを 読 みます 下 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 る 前 にデータを LSBPRE 1 読 み 込 みます クロックの 立 ち 上 がりでデータを 読 みます 上 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 信 後 データを 読 MSBPOST 2 み 込 みます クロックの 立 ち 上 がりでデータを 読 みます 下 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 信 後 データを 読 LSBPOST 3 み 込 みます クロックの 立 ち 上 がりでデータを 読 みます 上 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 る 前 にデータを 4 読 み 込 みます クロックの 立 ち 下 がりでデータを 読 みます 下 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 る 前 にデータを 5 読 み 込 みます クロックの 立 ち 下 がりでデータを 読 みます 上 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 信 後 データを 読 6 み 込 みます クロックの 立 ち 上 がりでデータを 読 みます 下 位 のビットから 順 番 にデータを 読 み 込 みます クロックを 送 信 後 データを 読 7 み 込 みます クロックの 立 ち 下 がりでデータを 読 みます

114 9-61 SHIFTOUT (クロック 信 号 に 同 期 してデータを 送 信 ) SHIFTOUT DataPin Clockpin Mode [Var{\bits}...] Var 変 数 に 格 納 されたデータをクロックに 同 期 して 指 定 したdatapinから 出 力 します Modeには 下 表 の 該 当 するモード 番 号 を 記 載 します Datapin データ 出 力 ピン Clockpin クロック 出 力 ピン Var シフトデータ 出 力 変 数 bits ( 省 略 可 能 )ビット 数 1~16 省 略 した 場 合 には8ビットに 指 定 モード 番 号 0と1は クロックのアイドル 時 は 該 当 のクロックピンはLowレベルです すなわち クロックの 立 ち 上 がり 時 にデータを 出 力 します モード 番 号 4と5はクロックアイドル 時 は 該 当 のクロックピンはHighレベルです すなわち クロックの 立 ち 下 がりでデータを 出 力 します Mode Mode No 動 作 概 要 下 位 のビットから 順 にデータを 出 力 します クロックの 立 ち 上 がりでデ LSBFIRST 0 ータを 出 力 します クロックアイドルはLowです 上 位 のビットから 順 にデータを 出 力 します クロックの 立 ち 上 がりでデ MSBFIRST 1 ータを 出 力 します クロックアイドルはLowです 下 位 のビットから 順 にデータを 出 力 します クロックの 立 ち 下 がりでデ 4 ータを 出 力 します クロックアイドルはHighです 上 位 のビットから 順 にデータを 出 力 します クロックの 立 ち 下 がりでデ 5 ータを 出 力 します クロックアイドルはHighです 例 えば 下 記 のようなプログラムを 実 行 すると 次 のような 波 形 が 観 察 できます out_data = % Shiftout PORTB.0 PORTB.1 4 [out_data\11] クロックの 周 波 数 は 動 作 周 波 数 に 依 存 しますが 約 50KHz 程 度 です クロックは 下 記 のDEFINEによってマ イクロ 秒 単 位 で 変 更 できます DEFINE SHIFT_PAUSEUS 100 '100マイクロ 秒 に 設 定

115 9-62 SLEEP (デバイスを 指 定 時 間 一 時 休 止 モードにする) SLEEP Period Periodで 指 定 した 時 間 だけ 低 消 費 電 流 のスリープモードになります Periodには 秒 単 位 で 値 を 指 定 します PIC18 用 のPBPLを 使 用 している 場 合 にはかなり 長 い 時 間 をPeriodに 指 定 できます PBPL 以 外 を 使 用 し ている 場 合 には16ビット 長 なので 最 大 時 間 は0~65535 秒 ( 約 18 時 間 )となります SLEEP 命 令 を 実 行 すると 周 辺 モジュールもスリープしますのでSLEEPモードに 入 る 前 にその 機 能 を 停 止 させる 必 要 があります 例 えばADコンバータの 場 合 には レジスタの 設 定 でADコンバータモジュールを OFFにします このSLEEP 命 令 は ウォッチドッグタイマー(WDT)を 使 用 してスリープ 時 間 の 時 間 を 管 理 しています WDT をチェックしてウェイクアップをしますが まだ 指 定 した 時 間 に 到 達 していない 場 合 には 再 度 スリープモー ドに 移 行 し 次 のWDTのウェイクアップを 待 ちます よって 発 振 周 波 数 に 依 存 しません Periodの 単 位 は 秒 で まで 指 定 できます 復 帰 するためには ハードウエアリセット 又 は 割 込 による 復 帰 が 可 能 です 9-63 SOUND (トーン 又 はホワイトノイズの 発 生 ) SOUND Pin [Note Duration{ Note Duration...}] 指 定 したPinからトーンもしくはホワイトノイズを 発 生 します Note 0の 時 は 無 音 です 1~127までの 間 はトーンを 発 生 します 128~255までの 区 間 は ホワイトノイズを 発 生 します 数 値 が 大 きくなるほど 高 音 階 になります 値 が1の 時 では 約 78.74Hz 値 が127では 約 10000Hzです Duration 音 の 長 さを0~255の 範 囲 で 設 定 します 変 数 又 は 定 数 が 利 用 できます 0~255の 値 はNoteの 音 を 出 す 時 間 を 約 12ミリ 秒 単 位 で 決 定 します SOUND 命 令 はTTLレベルの 矩 形 波 ですがPICマイコンはI/Oピンの 駆 動 能 力 が 大 きいため 圧 電 スピーカ ーはコンデンサーを 通 すだけで 直 接 駆 動 できます 必 要 に 応 じてアンプ 等 を 接 続 してください

116 9-64 STOP (プログラムの 強 制 停 止 ) STOP プログラムを 強 制 的 に 停 止 させます PICマイコンは 低 消 費 電 力 モードにはなりません 再 度 プログラムを 走 らせるには MPUのハードウエアリセットが 必 要 です 9-65 SWAP (2 変 数 間 でデータの 交 換 ) SWAP Var1 Var2 2つの 変 数 Var1とVar2の 間 でその 格 納 されている 値 をそれぞれ 交 換 します バイト 変 数 とワード 変 数 間 など 異 なるデータ 型 のデータ 交 換 にも 使 用 できます 9-66 TOGGLE (ピンの 状 態 を 反 転 ) TOGGLE Pin 指 定 のピンの 出 力 状 態 を 反 転 します 現 在 の 出 力 がHighの 時 はLowに 又 はその 逆 になります 9-67 USBIN (USB2.0 機 能 内 蔵 のデバイスにおいてUSB 経 由 でデータを 受 信 ) USBIN Endpoint Buffer Conveter Label USB2.0インターフェイス 搭 載 のデバイスに 対 応 したデータ 受 信 命 令 です 指 定 したエンドポイントにあるデータをBufferで 指 定 したバイト 型 配 列 に 取 り 込 みます Converterは USBINが 実 行 される 前 に あらかじめ 受 信 するバッファのサイズを 指 定 しておきます バッ ファに 転 送 されるバイトサイズを 指 定 します Labelはエンドポイントにデータを 受 信 していない 場 合 にジャンプするジャンプ 先 を 指 定 します 本 命 令 はPIC18F2550や18F4550などUSB2.0 通 信 機 能 を 搭 載 したPICマイコンで 通 信 を 実 現 します が 通 常 のシリアル 通 信 と 比 べかなり 複 雑 で 通 信 手 順 も 煩 雑 です PBPではUSBフレームワークの 中 でも CDC(Communication Device Class)クラス 及 びHID(Human Interface Class)クラスの2つをサポートし ます USB 関 連 命 令 の 使 用 方 法 については 本 書 の"USB2.0 通 信 機 能 の 使 用 方 法 "の 項 目 をご 覧 下 さい 9-68 USBINIT (USB2.0 機 能 内 蔵 のデバイスにおいてUSBモジュールの 初 期 化 ) USBINIT PIC18F4550などUSB2.0 機 能 搭 載 デバイスのUSB2.0 通 信 ユニットを 初 期 化 します USB 機 能 を 使 用 するプログラムを 作 る 場 合 にはプログラムの 先 頭 部 分 で 記 述 します USB 関 連 命 令 の 使 用 方 法 については 本 書 の"USB2.0 通 信 機 能 の 使 用 方 法 "の 項 目 をご 覧 下 さい

117 9-69 USBOUT (USB2.0 機 能 内 蔵 のデバイスにおいてUSB 経 由 でデータを 送 信 ) USBOUT Endpoint Buffer Count Label USB2.0インターフェイス 搭 載 のデバイスに 対 応 したデータ 送 信 命 令 です Bufferで 指 定 したバイト 型 配 列 のデータを 指 定 したエンドポイントから 送 信 します 送 信 するバイト 数 は Countに 記 述 します データ 送 信 中 などでバッファを 格 納 するための 十 分 な 領 域 を 確 保 できない 場 合 データは 送 信 されず La belで 指 定 したラベルへジャンプします 通 常 は 送 信 完 了 までUSBOUT 命 令 を 実 行 し 続 ける 必 要 がありま すので "USBSERVICE" 命 令 と 共 に 繰 り 返 し 実 行 するようループ 構 成 とします 本 命 令 はPIC18F2550や18F4550などUSB2.0 通 信 機 能 を 搭 載 したPICマイコンで 通 信 を 実 現 します が 通 常 のシリアル 通 信 と 比 べかなり 複 雑 で 通 信 手 順 も 煩 雑 です PBPではUSBフレームワークの 中 でも CDC(Communication Device Class)クラス 及 びHID(Human Interface Class)クラスの2つをサポートし ます USB 関 連 命 令 の 使 用 方 法 については 本 書 の"USB2.0 通 信 機 能 の 使 用 方 法 "の 項 目 をご 覧 下 さい 9-70 USBSERVICE ( 内 蔵 USB2.0ユニットをアクティブ 化 ) USBSERVICE USBSERVICE 命 令 は USB2.0 通 信 ユニットを 有 効 にしてサービスを 開 始 させます USB 通 信 を 行 う 際 には 最 低 でも10ミリ 秒 に1 回 は 実 行 してSIE(Serial Interface Engine)を 有 効 にして おく 必 要 があります この 命 令 が 正 しく 実 行 されない 場 合 USBバスは 無 効 となり 通 信 はできなくなりま す USB 関 連 命 令 の 使 用 方 法 については 本 書 の"USB2.0 通 信 機 能 の 使 用 方 法 "の 項 目 をご 覧 下 さい USB2.0 通 信 機 能 の 使 用 方 法 ~はじめに~ ここではPBPにてUSB 機 能 を 搭 載 したプログラムを 作 る 上 で 必 要 となる 事 柄 について 簡 単 に 解 説 していま す USBについてより 詳 しい 解 説 は 解 説 書 などをお 読 み 下 さい ここではPBPでUSB 関 連 命 令 を 使 用 する 際 に 必 要 な 最 低 限 の 事 項 を 解 説 しています USB2.0 機 能 搭 載 のPICデバイスにはPIC18F4550や18F2550などがあり ロースピード( 物 理 速 度 1.5M bps) 及 びフルスピード( 物 理 速 度 12Mbps)に 対 応 しています また 転 送 モードもコントロール 転 送 インタラ プト 転 送 バルク 転 送 アイソクロナス 転 送 すべてに 対 応 しています USBは 1 台 のホスト 機 器 ( 通 常 はパソコン)と 複 数 のノード(PICなどもこれに 該 当 します)が 通 信 します が 通 信 はホスト 機 器 がノードに 対 して 定 期 的 にポーリング( 問 い 合 わせ 操 作 )をすることで 通 信 を 実 現 し ています すべてはホスト 機 器 が 支 配 しており ノード 同 士 での 通 信 やノードが 勝 手 に 通 信 を 行 うことはで きない 仕 組 みになっています USBでは 一 般 的 なRS232Cなどのシリアル 通 信 と 比 べ 機 能 が 豊 富 である 一 方 その 通 信 手 順 は 複 雑 でRS 232Cのように 手 軽 な 通 信 はできません ここでは 簡 単 にUSBの 簡 単 な 通 信 の 仕 組 みを 解 説 します USBのホスト 機 器 とノード 機 器 が 通 信 する 場 合 両 者 の 間 には 物 理 的 なケーブルの 接 続 の 他 に 論 理 的 な 通 信 路 が 形 成 されます これら 論 理 的 な 通 信 路 をパイプと 呼 んでいます パイプにはデバイスドライバなどの 動 作 に 必 要 な 基 本 的 な 情 報 をやりとりするデフォルトパイプと アプリ ケーションが 実 際 にデータのやりとりを 行 うパイプがあります パイプと 言 ってもこれは 論 理 的 なものであ り 実 際 には USBケーブルの 中 を 流 れる 差 動 電 気 信 号 に 他 なりません よって 難 しく 考 えずここでは 単 に 通 信 を 行 うためのケーブルだと 思 っておいてください

118 ホスト 機 器 とノード 機 器 間 で 通 信 をする 際 このパイプを 通 してデータを 送 受 信 するわけですが USB 機 器 では このやとりとするデータを 格 納 しておくバッファのことをエンドポイントと 呼 んでいます エンドポイ ントというと 難 しそうですが ようは 送 受 信 データを 入 れておくメモリ 領 域 だと 思 ってください なお エン ドポイント0 番 はコントロール 転 送 用 でデータ 通 信 には 使 用 できません PIC18F4550や2550などのデバイスではこのエンドポイントが 送 信 用 16 個 受 信 用 16 個 で 計 32 個 あり ます これはUSB 規 格 のなかではフルスペックです 1つのエンドポイントには8バイト~256バイトが 転 送 サイズとして 指 定 でき バッファディスクリプタという 設 定 ファイルで 指 定 することができます このようにUSB 通 信 では エンドポイント 間 で 通 信 を 行 うことになるわけですが 何 個 のエンドポイントを 使 うのかや 何 個 のパイプを 使 用 するかなどの 詳 細 は デバイスディスクリプタとよばれる 設 定 ファイルで 設 定 することができます USBの1つの 特 徴 にプラグアンドプレイ 機 能 があります パソコンのUSBポートにUSB 機 器 を 接 続 すると 自 動 的 にハードウエアが 検 出 され Windowsは 最 適 なドライバを 検 索 しインストールしようとします この 時 デバイスを 区 別 するためIDコードがデバイスディスクリプタによって 送 られ ホスト 側 は 機 器 を 認 識 します このコードは ベンダIDとプロダクトIDとよばれるもので ベンダIDは 製 造 メーカーを プロダク トIDは 製 品 を 個 別 に 認 識 するために 使 用 されます USBデバイスを 製 品 として 出 荷 する 場 合 には ベンダIDをUSB-IFという 団 体 から 購 入 する 必 要 がありま すが 個 人 的 に 実 験 で 使 う 場 合 などは 自 由 に 決 めることができます このベンダID 及 びプロダクトIDは デバイスドライバが 機 器 を 認 識 するときにも 重 要 な 役 目 をします プラ グアンドプレイで 検 出 されると Windowsは 両 IDが 一 致 するデバイスドライバファイル( 具 体 的 にはinfファイ ル)を 探 します この 両 IDが 一 致 したファイルでないとデバイスドライバとしてWindowsに 認 識 されません USB 対 応 デバイスを 作 るには USB 規 格 に 準 拠 したプロトコルソフトウエアが 必 須 です これらのソフトウ エアセットのことをUSBフレームワークとよびます このUSBフレームワークを 使 用 することで より 簡 単 に USBプログラムを 記 述 することができ またデバイスドライバも 簡 単 な 修 正 だけで 作 れるようになっていま す PBPでは マイクロチップが 提 供 するすべてのフレームワークに 対 応 はしていませんが より 簡 単 にプロ グラムを 記 述 できるよう あらかじめ2 種 類 のフレームワークを 搭 載 しています PBPが 使 用 できるUSBフレームワークのプログラムファイルは 下 記 の2 種 類 のクラスです ÖCDCクラス (Communication Device Class) USBとの 接 続 を 仮 想 RS232C 接 続 として 認 識 させるクラスです CDCクラスを 実 装 したPICマイコンとパソ コンとを 接 続 するとパソコン 側 からはPICが 従 来 のRS232Cポートと 同 様 にCOMポートとして 認 識 されま す PICマイコン 側 もUSBINやUSBOUT 命 令 によってデータをRS232Cと 同 様 の 手 軽 さで 通 信 させること ができます RS232Cをエミュレーションするクラスです ÖHIDクラス (Human Interface Device Class) キーボードやマウスといったヒューマンインターフェイスデバイスを 扱 うクラスです HIDクラスの 場 合 にはデバイスドライバが 必 要 ないという 利 点 があります 主 にデータ 通 信 で 使 用 する 場 合 には CDCクラスを 使 用 することになります これらクラスのサンプルプログラムはPBPをインストールしたフォルダ 内 のUSB18ディレクトリ( 標 準 では C:\pbp3\usb18)にインストールされています ユーザーはあらかじめ 用 意 されているフレームワークを 使 用 して それをコードにインクルードすることで USBの 専 門 的 なプログラムをしなくても 比 較 的 簡 単 にUSBでCDCクラスを 用 いた 通 信 を 実 現 することが できます

119 USB2.0 通 信 機 能 の 使 用 方 法 ~PBPでCDCクラスを 使 用 する~ CDCクラスはUSBポートに 接 続 したPICマイコンをRS232Cポートに 接 続 したようにエミュレーションする 方 法 です パソコンからは 仮 想 COMポートとして 認 識 されます USBは ご 存 じの 通 りプラグアンドプレイ 機 能 によりデバイスをパソコンと 接 続 すると 自 動 的 にデバイスド ライバーのインストールを 実 行 しようとします PBPでは この"USB18"フォルダ 内 にCDC 用 のデバイスド ライバ"mchpcdc.inf"も 収 録 していますので 比 較 的 簡 単 にプログラムを 作 ることができます ではPBPで 実 際 にCDCクラスのアプリケーションを 作 る 手 順 を 紹 介 します なお 本 例 では 使 用 するデバイ スはPIC18F2550としますが その 他 のデバイスでも 基 本 的 には 同 様 の 方 法 です ここでは 参 考 例 とし て CDCクラスを 用 いて 次 のようなプログラムを 作 ってみることにしましょう 1 サンプルプログラムの 作 成 CDCクラスを 用 いて パソコンと 接 続 し 仮 想 COMポートを 介 して 通 信 を 行 います サンプルプログラムでは パソコン 側 から 任 意 の1バイトのデータを 受 信 したら "Hello"+CR+LF を 返 す プログラムを 作 ります "Hello"は 文 字 列 CRはキャリッジリターン(0x0D) LFはラインフィード(0x0A)で す なお ここでは VIDとPID そのほかデバイス 名 等 はデフォルトのまま(マイクロチップから 配 布 されている フレームワークファイルの 設 定 のまま) 使 用 することにします VIDやPIDを 変 更 する 場 合 には ディスクリプタファイルと デバイスドライバーファイルをそれぞれ 編 集 す る 必 要 があります Include "cdc_desc.bas" DEFINE OSC 20 buffer var Byte[16] cnt var Byte ディスクリプタファイルをインクルード 動 作 周 波 数 は20MHz に 設 定 バイト 型 配 列 を 作 成 バイト 型 変 数 を 作 成 1 USBInit USB SIE の 初 期 化 2 idleloop: USBService cnt = 16 USBIn 3, buffer, cnt, idleloop buffer[0] = "H" buffer[1] = "e" buffer[2] = "l" buffer[3] = "l" buffer[4] = "o" buffer[5] = 13 buffer[6] = 10 buffer[7] = 0 outloop: USBService USBOut 3, buffer, 8, outloop Goto idleloop USB のサービスを 開 始 3 変 数 に16 を 代 入 指 定 したエンドポイントからデータを 受 信 4 データがない 場 合 にはidleloop にジャンプ 送 信 する 文 字 列 を1 文 字 ずつ 配 列 に 代 入 13 はCR 10 はLF 5 再 度 USB サービスを 開 始 指 定 したエンドポイントから 配 列 の 内 容 を 送 信 6 再 度 idleloop ラベルに 戻 り 受 信 待 機

120 2 サンプルプログラムの 保 存 とコンパイル プログラムが 書 き 終 わったら ソースプログラムを 保 存 します この 時 重 要 なのが このソースプログラム の 保 存 ディレクトリは "C:\pbp3\usb18"フォルダにすることです 別 のディレクトリに 保 存 した 場 合 には コンパイル 時 にインクルードエラーが 表 示 されるほか 正 しく 動 作 しませんので 必 ず"C:\pbp\usb18"フォ ルダに 保 存 してください 保 存 が 完 了 したら コンパイルを 行 います コンパイルは 他 のプログラムと 同 様 です コンパイルされると HEXファイルが"C:\pbp3\usb18"フォルダに 生 成 されます 3 コンフィギュレーションビットの 設 定 とHEXファイルの 書 き 込 み HEXファイルは 他 のプログラムと 同 様 にPICライターでマイコンに 書 き 込 みます この 時 にコンフィギュレーションビットの 設 定 が 正 しくないとプログラムやUSBの 機 能 が 動 作 しませんの で 慎 重 に 行 う 必 要 があります USB2.0 搭 載 デバイスでは システムの 動 作 クロックとして 外 部 に 接 続 した 発 振 子 を 直 接 使 用 するか 又 は 外 部 発 振 子 からのクロックを 内 部 のPLLユニットでUSB 通 信 用 に 作 った96MHzのクロックを 分 周 して 使 用 するか 選 択 できます 本 サンプルプログラムでは "DEFINE OSC 20"と 記 述 しましたので 外 部 に 接 続 した20MHzの 発 振 子 のクロックをそのままシステムクロックとして 使 用 します(HSに 設 定 します) USB 系 のクロックは 内 部 のPLL 回 路 によって 作 られます PLLは96MHzをシステムクロックから 作 り 出 し ますが PLLへの 源 振 の 入 力 は4MHzのみなので 20MHzを 使 っている 場 合 には PLL 直 前 のプリスケーラ で1/5にします よって コンフィギュレーションビットの 設 定 ではPLLプリスケーラは"Devide by 5"など を 選 択 します USBクロックはこの96MHzを1/2にした48MHzを 使 用 することになります USBクロックには "96MHz PLL/2"などの 項 目 を 選 択 してください コンフィギュレーションビットの 設 定 が 正 しく 完 了 したら PIC18F2550にプログラムを 書 き 込 みます 4 デバイスドライバーのインストール 書 き 込 みが 完 了 したPIC18F2550をパソコンのUSBポートと 接 続 すると プラグアンドプレイによってデ バイスドライバーのインストールが 開 始 されます "CDC RS-232 Emulation Demo"として 認 識 されますので デバイスドライバーを 指 定 します デバイスド ライバーは "C:\pbp\usb18"フォルダ 内 にある"mchpcdc.inf"を 指 定 します 左 図 はWindows7でインストール 画 面 例 です USBポートに 接 続 しても 正 しく 認 識 しない 場 合 には ハードウエ アの 設 計 に 誤 りがあったり コンフィギュレーションビットの 設 定 に 誤 りがあると 考 えられます 5 通 信 のテスト インストールが 完 了 すると デバイスマネージャの"ポート(COMとLPT)"から PIC18F2550が 仮 想 COMポ ートとして 見 えます 左 図 では COM8が 割 り 当 てられています ターミナルソフト 等 Windows 上 からはCOM8にアクセスするこ とでPIC18F2550にアクセスできます では ターミナルソフトからデータを 送 信 して 正 しく"Hello"という 文 字 列 が 返 るかどうかを 確 認 しましょ う RS232Cの 通 信 プロトコルは 通 信 速 度 9600bps データ 長 8ビット 長 1ストップビット ノンパリティ という 標 準 的 な 設 定 となっています 上 記 設 定 でターミナルソフトからデータを1バイト 送 信 します

121 データ 送 信 後 に "Hello"という 文 字 列 が 返 れば 成 功 です なお 文 字 列 の 後 ろはCRとLFで 終 端 されていま すので ターミナルソフトによっては 自 動 的 に 改 行 されます USB 通 信 は 従 来 の 非 同 期 同 期 シリアル 通 信 (RS232Cなど)などと 比 べて 仕 組 みが 格 段 に 難 しくなってい ます これは 使 用 者 が 便 利 である 一 方 開 発 者 としてはその 仕 組 みを 理 解 しプロトコルを 実 装 しなくてはな りませんので 難 しくなります ここでは 簡 単 にUSBの 仕 組 みとPBPでCDCクラスを 使 用 する 場 合 の 概 要 を 説 明 しました よりUSBに 関 し て 詳 しい 解 説 が 必 要 な 場 合 には 別 途 解 説 書 をご 覧 になってください 9-71 WHILE...WEND ( 条 件 ループ) WHILW Condition Statemant... WEND Conditionの 式 が 真 の 間 だけ( 条 件 と 一 致 するまで)Statementの 内 容 を 繰 り 返 しループします Conditionには 比 較 条 件 が 入 ります 例 i = 1 WHILE i <= 10 ' 変 数 iが10 以 下 の 時 ループします Serout 0 N2500 ["No:" #i 13 10] i = i + 1 '1ずつインクリメント WEND 9-72 WRITE ( 内 蔵 EEPROMに 値 を 書 き 込 む) WRITE Address,Var PIC12F/16F/18FシリーズのようなEEPROM 搭 載 タイプのPICマイコンの 内 蔵 EEPROMに 値 を 書 き 込 みます 指 定 した 番 地 Addressに byte 変 数 Verの 内 容 を 書 き 込 みます 値 は8ビット 長 (byte 型 )です 内 蔵 EEPROMはデータシート 等 ではデータメモリーと 記 載 されています 12ビットコアでデータメモリーを 搭 載 したPIC12F519 PIC12F1822などのデバイスでは WRITE 命 令 でデータを 書 き 込 みできますが データを 書 き 込 む 前 に 必 ずERASECODE 命 令 で データを 書 き 込 む 番 地 のデータを 事 前 にイレースしておく 必 要 があります 詳 しくはERASECODE 命 令 の 項 をご 覧 ください 書 き 込 んだ 値 はREAD 命 令 で 読 み 込 むことができます Address Var 変 数 又 は 定 数 (0-255) 数 値 番 地 を 指 定 します EEPROMに 書 き 込 むデータを 格 納 するbyte 型 変 数 です WRITE 5, B0 上 記 の 例 では PICマイコン 内 蔵 のEEPROMの5 番 地 に 変 数 B0の 値 を 書 き 込 んでいます EEPROMは 不 揮 発 性 ですので 電 源 を 切 断 しても 書 き 込 んだ 値 は 保 持 されます 書 き 込 みには10ミリ 秒 の 時 間 を 要 します よって WRITE 命 令 実 行 後 は 必 ずPAUSE 命 令 等 で10ミリ 秒 以 上 待 ってから 次 の 処 理 を 行 うようプログラムしてください プログラムで 割 込 を 使 用 している 場 合 には 必 ずWRITE 命 令 を 実 行 する 前 にレジスタによって 割 込 を 無 効 にしておく 必 要 があります WRITE 命 令 でメモリーにデータを 書 き 込 んでいる 最 中 に 割 込 が 発 生 するとデ ータの 書 き 込 みに 失 敗 します WRITE 命 令 が 完 了 したことを 確 認 した 後 割 込 を 有 効 にするようプログラ ムする 必 要 があります

122 9-73 WRITECODE (コードスペースに 値 を 書 き 込 む) WRITECODE Address,Value コードスペース(プログラムメモリー 領 域 )に データを 書 き 込 む 命 令 です 引 数 Addressにはデータを 書 き 込 む 番 地 Valueには 書 き 込 む 値 を 指 定 します この 命 令 はプログラムメモリーに 値 を 書 き 込 む 命 令 であり データメモリー(EEPROM)にデータを 書 き 込 む 命 令 ではありません PIC18FシリーズやいくつかのPIC16Fシリーズでは プログラムを 実 行 している 時 にプログラムメモリーにアクセスしてデータを 書 き 込 んだり 読 み 込 んだり イレースしたりできます この 命 令 は その 機 能 を 利 用 してプログラムメモリーにデータを 書 き 込 みます 但 し プログラムメモリーにデータを 書 き 込 むという 性 質 上 誤 った 使 い 方 をするとプログラムそのもの を 破 壊 しプログラムが 実 行 不 可 能 になったり 予 期 しない 動 作 をするなど 致 命 的 な 問 題 を 引 き 起 こす 原 因 となります プログラムの 破 壊 につながりますので この 命 令 の 使 用 には 十 分 な 注 意 とデバッグ テスト が 必 要 です データメモリーだけでは 足 りないような 大 きなデータを 保 管 したい 時 に 便 利 ですが それ 以 外 の 場 合 ( 小 さなデータの 記 憶 )には この 命 令 は 使 わずに データメモリーを 使 用 するWRITE 命 令 を 使 った 方 が 安 全 です コードスペースにおけるデータの 書 き 込 みができるサイズはデバイスのファミリーによって 異 なります 例 えばPIC16Fシリーズの 場 合 には14ビットサイズです よって 書 き 込 めるデータも14ビットまでとなりま す PIC18Fシリーズの 場 合 には 基 本 的 にバイトサイズ(8ビット)です 使 い 方 によってワードサイズ(16ビ ット)も 可 能 です コードスペースへのデータ 書 き 込 みにはPIC 毎 に 決 まりがあり 必 ず1ブロック 単 位 での 書 き 込 みが 要 求 されます 1ブロックのサイズはPICのデータシートに 記 載 があります 例 えばPIC18F452の 場 合 書 き 込 み 時 の1ブロックあたりのサイズは8ワードと 決 まりがあります (PIC16F1939など 多 くのデバイスで 書 き 込 みのための1ブロックは8ワードですが 使 用 する 前 に 必 ずデータシートでブロックサイズを 確 認 して ください )よって この 命 令 で 書 き 込 みを 実 行 する 場 合 には 必 ず1ブロックサイズを 一 度 に 書 き 込 まな ければなりません もしこのブロックサイズを 無 視 して 書 き 込 みを 行 うと データは 書 き 込 まれずすべて 破 棄 されます 例 えば 下 記 例 は 書 き 込 みブロックサイズが8ワードのPICにデータを 書 き 込 む 場 合 です add var word mydata var word For add = $180 to $187 Writecode add, mydata Next add たとえ 書 き 込 むデータがたったの"1"だったとしても 必 ず1ブロックまとめてデータを 書 く 必 要 がありま す よってWRITECODE 命 令 を1 回 だけ 使 うことはなく 1ブロック 分 になるように 複 数 回 実 行 します なお PIC18Fシリーズや 一 部 のPIC16FシリーズではWRITECODEを 実 行 する 前 に あらかじめ 書 き 込 み を 行 うコードスペースのイレースをしておく 必 要 があります イレースはERASECODE 命 令 で 行 います 書 き 込 み 前 にイレースが 必 須 のデバイスでは イレースをしないで 書 き 込 みをしてもデータは 書 き 込 まれま せん また イレースの 際 の1ブロックのサイズは 書 き 込 みの 際 の1ブロックのサイズと 異 なりますので 十 分 注 意 してください プログラムで 割 込 を 使 用 している 場 合 には 必 ずWRITECODE 命 令 を 実 行 する 前 にレジスタによって 割 込 を 無 効 にしておく 必 要 があります WRITECODE 命 令 でデータを 書 き 込 んでいる 最 中 に 割 込 が 発 生 すると データの 書 き 込 みに 失 敗 します WRITECODE 命 令 が 完 了 したことを 確 認 した 後 割 込 を 有 効 にするよう プログラムする 必 要 があります

123 10. 製 品 のサポートについて 10-1 サポート 掲 示 板 とメーカーへのサポート 依 頼 PBPのサポート 情 報 は 当 方 のサポートページに 記 載 されており 随 時 更 新 されております 皆 様 からよく 寄 せられるご 質 問 事 項 を 記 載 しておりますので まずはこちらをご 確 認 ください サポートペ ージは 当 方 webサイト( サポート 情 報 をクリックし 製 品 一 覧 の 項 目 から PICBASIC PRO Compiler を 選 択 すると 表 示 されます PICBASIC PRO Compilerの 開 発 メーカーが 運 営 するPICBASIC PRO Compiler 用 のユーザー 間 でやりと りされた 技 術 文 章 を 検 索 して 探 し 出 せるサイトがあります 全 文 英 文 になりますが キーワードから 検 索 す ると 有 用 な 情 報 が 入 手 できます PBPデータベース: PBPサポートフォーラム: 上 記 サポートフォーラムページよりカテゴリ"mel PIC BASIC Pro"をクリックすると PBPに 関 するサ ポートフォーラムが 開 きます 記 事 の 検 索 は 画 面 右 側 の"Search Forum"をクリックするとキーワードが 設 定 できますので 検 索 したいキーワードを 入 力 して 検 索 してください 本 製 品 のプログラミングの 技 術 的 なご 質 問 や 各 種 命 令 の 使 い 方 プログラムの 実 装 上 のご 質 問 等 につ きましては 当 方 マイクロテクニカでは 行 っておりません ご 質 問 の 際 には まず 上 記 のサポートフォーラ ムをご 利 用 ください 最 初 に 関 連 記 事 を 検 索 し 同 様 の 事 例 等 が 過 去 に 投 稿 されていないかを 必 ずご 確 認 ください 膨 大 なデータベースのため ほとんどの 内 容 は 過 去 の 記 事 に 掲 載 があります 下 記 に 同 様 のご 質 問 等 が 掲 示 板 に 投 稿 されていない 場 合 には 新 規 に 記 事 を 投 稿 し 世 界 中 のユーザー からの 回 答 をお 待 ちください 素 早 い 回 答 が 得 られます なお 個 別 に 開 発 元 のmicroEnginerring Labs 社 に 直 接 お 問 い 合 わせ 頂 くことも 可 能 です その 場 合 には 下 記 の 要 領 でお 問 い 合 わせください なおお 問 い 合 わせはすべて 英 語 となります メーカーサポートEメール: 上 記 サポートにメールを 送 る 場 合 には ご 使 用 の 環 境 及 びPBPのバージョンなどサポートに 必 要 と 思 われ るできる 限 り 詳 しい 情 報 を 記 述 してください また ソースコードを 添 付 する 場 合 には 必 ず 拡 張 子 をtxtに 変 更 して 添 付 してください メール 本 文 にソースコードをコピーして 貼 り 付 けることはしないでください メーカーのサポートは 迅 速 に 問 題 解 決 のためのご 案 内 をしております

124 10-2 又 はFAXサポート アップグレードについて 当 方 ではPICBASIC PRO Compilerについてのお 問 い 合 わせを 随 時 受 け 付 けておりますが 次 のような 内 容 のご 質 問 にはお 答 えいたしかねますのであらかじめご 了 承 ください お 客 様 の 作 られたプログラム( 以 下 プログラムと 表 記 )の 内 容 に 関 するご 質 問 お 作 りになったプログラムが 正 しく 動 作 しない 場 合 の 原 因 究 明 (プログラムの 検 証 ) プログラム 自 体 の 不 具 合 箇 所 の 発 見 依 頼 や 修 正 依 頼 PICマイコン 自 体 に 関 するご 質 問 やハードウエアに 関 するご 質 問 他 社 製 品 が 混 在 したプログラムに 関 するご 質 問 当 方 ではお 客 様 の 記 述 されたコードの 検 証 や 問 題 解 決 に 関 するサポートは 行 っておりません 当 方 ではPBPの 基 本 的 な 使 い 方 やインストール 方 法 ソフトウエアの 設 定 方 法 のみのサポートを 行 ってお ります ご 理 解 の 上 ご 了 承 くださいますようお 願 い 申 しけ 上 げます プログラミングに 関 する 内 容 や 技 術 的 なご 質 問 は 当 方 ではなく 開 発 元 であるmicroEnginerring Labs 社 にお 問 い 合 わせください お 問 い 合 わせ 方 法 は117ページをご 参 照 ください サポートFAX 番 号 : サポート 電 子 メールアドレス: support@microtechnica.net 尚 混 雑 状 況 により 回 答 が 遅 れる 場 合 もございます あらかじめご 了 承 ください 製 品 がアップグレードされた 場 合 には 当 方 のwebページにてご 案 内 致 しますので 定 期 的 に 当 方 webペ ージをご 覧 頂 けますようお 願 いいたします なお アップグレードにかかる 費 用 についてはその 都 度 異 なりますので アップグレード 版 がリリースされ た 際 に 当 方 のwebページでご 案 内 いたします アップグレードに 際 しては 製 品 版 をお 届 けした 際 に 添 付 されていたシリアル 番 号 が 必 ず 必 要 です 紛 失 された 場 合 にはアップグレードはできません また アップグレードに 際 してはメーカー 及 び 当 方 へユーザ ー 登 録 をしている 必 要 があります 必 ずユーザー 登 録 を 行 って 頂 けますようお 願 い 致 します アップグレードは 修 正 パッチや 緊 急 のバグフィックスなど 特 別 な 場 合 を 除 き すべて 有 償 となります 10-3 免 責 事 項 この 日 本 語 説 明 書 は 英 文 説 明 書 を 元 に 作 成 されたものですがすべての 部 分 を 日 本 語 訳 したわけではな く 必 要 と 思 われる 部 分 を 要 約 して 翻 訳 したものです よって 本 書 の 内 容 は 英 文 説 明 書 の 内 容 とは 一 部 異 なる 部 分 がありますことをご 了 承 下 さい 本 製 品 は 開 発 言 語 用 コンパイラという 製 品 自 体 の 性 格 上 サポートの 対 象 範 囲 及 び 製 品 に 関 する 保 証 及 び 責 任 範 囲 を 限 定 させて 頂 いております 当 方 ではお 客 様 の 記 述 されたコードに 関 する 責 任 及 びサポー トはサポート 範 囲 外 となります プログラムが 正 しく 動 作 するかについては お 客 様 の 責 任 の 下 十 分 な 検 証 を 行 って 頂 けますようお 願 いいたします 当 コンパイラが 英 語 版 説 明 書 や 日 本 語 版 説 明 書 に 記 載 された 命 令 を 用 い かつ 構 文 ミスや 表 記 ミス 設 計 ミスのないソースプログラムを 正 しくコンパイルしHEXファイルを 生 成 するまでの 過 程 のみを 当 方 の 責 任 の 対 象 としております ただし プログラムには 潜 在 的 な 欠 陥 (バグ)が 含 まれることがあり 開 発 元 及 び 当 方 では PICBASIC PRO Compiler 並 びに その 他 の 付 随 する 製 品 についてのバグについては その 責 を 負 わないものといたします 当 方 及 びコンパイラの 製 造 元 は 本 コンパイラ 及 びそのすべての 付 属 品 によって 生 じたいかなる 被 害 や 損 害 懲 罰 的 損 傷 経 営 上 の 損 失 や 損 害 についてもその 責 を 一 切 負 わないものとしますので あらかじめご 了 承 ください

125 本 製 品 に 関 する 最 新 情 報 やアップデート 情 報 は 当 方 のホームページでご 確 認 ください PICBASIC PRO Compiler Ver.3 日 本 語 説 明 書 2015 年 2 月 現 在 第 8 版 発 行 所 /マイクロテクニカ 発 行 者 / 吉 田 靖 幸 インフォメーション FAX Support: (C)Copyrights Microtechnica All rights reserved 発 行 所 及 び 発 行 者 の 許 可 無 く 本 書 の 一 部 又 は 全 部 を 複 写 転 写 転 載 することはできません

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e-rad の ID パ ス ワード を 入 力 し [ログイン]をクリックします 9 4 応 募 者

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 履 修 履 歴 データベースの 仕 組 み 学 生 が 履 修 履 歴 を 登 録 して 企 業 へデータを 送 信 すると 企 業 担 当 者 が 履 修 履 歴 データを 見 られるようになります 不 特 定 の 企 業 に 履 修 履 歴 データが 閲 覧 されるわけではありません < 基 本 的 な 流 れ> A 社 データ ベース 応 募 企 業 へ データを 送 信 学 生 A 専

More information

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく

2 課 題 管 理 ( 科 学 研 究 費 補 助 金 ) 画 面 が 表 示 されます 補 助 事 業 期 間 終 了 後 欄 の[ 入 力 ] をクリックします [ 入 力 ]ボタンが 表 示 されていない 場 合 には 所 属 する 研 究 機 関 の 事 務 局 等 へお 問 い 合 わせく 2.6. 研 究 成 果 報 告 書 の 作 成 2.6.1 研 究 成 果 報 告 内 容 ファイルを 作 成 1 科 学 研 究 費 助 成 事 業 の Web ページ 等 から 研 究 成 果 報 告 内 容 ファイル 様 式 をダウンロードし ます 2 ダウンロードした 研 究 成 果 報 告 内 容 ファイル 様 式 に 報 告 内 容 を 記 入 し 保 存 します 所 定 の 様 式

More information

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e 2.2.1 科 研 費 電 子 申 請 システム( 交 付 申 請 手 続 き)へログイン 1 Web ブラウザを 起 動 し 日 本 学 術 振 興 会 の 電 子 申 請 のご 案 内 サイト (http://www-shinsei.jsps.go.jp/)を 表 示 し 科 学 研 究 費 助 成 事 業 をクリックします 8 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が

More information

あいち電子調達共同システム

あいち電子調達共同システム (2) 提 出 依 頼 書 の 確 認 提 出 依 頼 書 が 発 行 されると 利 用 者 登 録 で 指 定 したメールアドレスへお 知 らせが 送 信 されま すので 提 出 依 頼 書 を 確 認 します 調 達 案 件 一 覧 画 面 で 案 件 情 報 を 確 認 し 提 出 依 頼 書 を 表 示 します 操 作 1 調 達 案 件 検 索 画 面 で 検 索 条 件 を 入 力 し

More information

目 次 目 次 1 ログイン ログアウト...1 1.1 ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?.

目 次 目 次 1 ログイン ログアウト...1 1.1 ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?. よこしん 外 為 インターネットバンキング 基 本 操 作 編 最 終 更 新 日 :2014 年 12 月 25 日 目 次 目 次 1 ログイン ログアウト...1 1.1 ログインする...1 ログイン 画 面 が 表 示 されないときは?... 1 初 めてログインするときのパスワードは?... 2 初 期 パスワードを 忘 れてしまったときは?... 2 変 更 したパスワードを 忘 れてしまったときは?...

More information

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13 積 算 内 訳 書 の 作 成 マニュアル 平 成 26 年 1 形 県 県 整 備 部 建 設 企 画 課 目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 )

More information

WebMail ユーザーズガイド

WebMail ユーザーズガイド ニフティクラウド ビジネスメール メール 共 有 サービス ユーザーズガイド 第 1.1 版 平 成 26 年 5 月 19 日 ニフティ 株 式 会 社 目 次 はじめに... 3 1. 共 有 メールボックスとは... 4 2. 共 有 メールボックスを 表 示 する... 5 3. 閲 覧 履 歴 操 作 履 歴 を 表 示 する... 8 4. 共 有 メールボックスからメールを 送 信 する...

More information

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 27 8.2 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 28 8.3 高

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 27 8.2 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 28 8.3 高 雇 用 保 険 マイナンバー 改 定 向 け 操 作 説 明 書 < 目 次 > 1.マイナンバー 等 の 法 令 改 定 対 応 について 3 1.1 法 令 改 定 の 変 更 点 3 1.2 その 他 主 要 な 変 更 点 4 2.マイナンバー 管 理 システムとの 連 携 設 定 5 2.1 マイナ de 社 労 夢 の 運 用 設 定 5 2.2 マイナ de 社 労 夢 CL の 運

More information

もくじ はじめに 本 書 はスマートフォンやタブレットのアプリ LINE の 設 定 を 行 うためのマニュアルとなります 詳 しい 操 作 方 法 については メーカーホームページ 上 の 基 本 的 な 使 い 方 を 参 照 ください LINE 基 本 的 な 使 い 方 http://hel

もくじ はじめに 本 書 はスマートフォンやタブレットのアプリ LINE の 設 定 を 行 うためのマニュアルとなります 詳 しい 操 作 方 法 については メーカーホームページ 上 の 基 本 的 な 使 い 方 を 参 照 ください LINE 基 本 的 な 使 い 方 http://hel 本 書 は 大 切 に 保 管 ください LINE 設 定 マニュアル LINEバージョン 5.0.4 第 1 版 もくじ はじめに 本 書 はスマートフォンやタブレットのアプリ LINE の 設 定 を 行 うためのマニュアルとなります 詳 しい 操 作 方 法 については メーカーホームページ 上 の 基 本 的 な 使 い 方 を 参 照 ください LINE 基 本 的 な 使 い 方 http://help.line.me/line/?lang=ja

More information

5 振 込 依 頼 書 の 作 成 方 法 ()ツールの 起 動 コピーまたはダウンロードしたツールをダブルクリックして 開 いてください (ツール 起 動 の 際 マクロを 有 効 にしてください ) ダブルクリック 後 以 下 のメッセージが 出 力 されますので 読 み 取 り 専 用 ボタン

5 振 込 依 頼 書 の 作 成 方 法 ()ツールの 起 動 コピーまたはダウンロードしたツールをダブルクリックして 開 いてください (ツール 起 動 の 際 マクロを 有 効 にしてください ) ダブルクリック 後 以 下 のメッセージが 出 力 されますので 読 み 取 り 専 用 ボタン 振 込 依 頼 書 作 成 ツール のご 利 用 説 明 書 はじめに 振 込 依 頼 書 作 成 ツール( 以 下 ツール という ) は パソコンを 使 用 し 全 国 の ろうきんが 統 一 して 使 用 する 振 込 依 頼 書 を 作 成 するためのツールです ツールを 利 用 して 頂 くことで お 客 様 が 振 込 依 頼 書 を 手 書 きで 作 成 する 負 担 をなくし また

More information

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参 あいち 電 子 調 達 共 同 システム( 物 品 等 ) 入 札 参 加 資 格 申 請 システム 操 作 マニュアル - 業 者 - 目 次... 8-1 8-1 本 店 ID( 業 者 用 ID)の 確 認 ~ 初 期 パスワード 変 更... 8-3 8-1-1 入 札 参 加 資 格 申 請 システム メニュー... 8-3 8-1-2 契 約 営 業 所 等 ID 確 認 (パスワード

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 創 薬 基 盤 推 進 研 究 事 業 (4 次 公 募 ) H27 年 度 公 募 に 係 る 府 省 共 通 研 究 開 発 管 理 システム (e-rad)への 入 力 方 法 について 1 目 次 1.はじめに 2. 実 際 の 応 募 手 続 き 3. 応 募 手 続 き 完 了 の 確 認 2 1-a. はじめに1 注 意 事 項 1. 平 成 27 年 度 の 創 薬 基 盤 推 進

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション インターネット 出 願 手 引 き (システムWAKABA 継 続 入 学 申 請 手 引 き) 目 次 1.システムWAKABAトップ 画 面 2 2. 学 生 種 選 択 画 面 3 3. 出 願 申 請 画 面 (1) 全 科 履 修 生 の 場 合 4 (2) 全 科 履 修 生 以 外 の 場 合 6 4.オンライン 授 業 8 5. 科 目 登 録 申 請 画 面 (1) 授 業 種 別

More information

スライド 1

スライド 1 Android 版 目 視 録 運 用 操 作 マニュアル 作 成 2012/03/22 更 新 2014/09/26 目 視 録 とは 携 帯 またはパソコンで 施 工 写 真 を 登 録 確 認 できるシステムです ご 利 用 の 為 にはIDとパスワードが 必 要 です TEG ログインID ( ) パスワード ( ) https://teg.mokusiroku.com/

More information

文科省様式3-2集計オプションマニュアル

文科省様式3-2集計オプションマニュアル 文 科 省 様 式 3-2 集 計 オプション 利 用 マニュアル 平 成 25 年 3 月 8 日 日 本 加 除 出 版 株 式 会 社 1 文 科 省 様 式 3-2 集 計 オプション とは 文 科 省 様 式 3-2 集 計 オプションは 日 本 加 除 出 版 株 式 会 社 発 行 の 小 学 校 理 科 教 育 等 設 備 台 帳 ( 平 成 23 年 度 ~ 平 成 34 年 度

More information

富士山チェックリスト

富士山チェックリスト 富 士 山 決 算 マニュアル 富 士 山 賃 貸 管 理 財 務 会 計 を 使 用 して 決 算 を 行 う 場 合 の 一 般 的 な 手 順 をご 説 明 します 個 人 不 動 産 の 決 算 を 行 う 場 合 P1~P8 個 人 一 般 の 決 算 を 行 う 場 合 P4~P8 P11 青 色 申 告 特 別 控 除 額 の 入 力 個 人 農 業 の 決 算 を 行 う 場 合 P4~P11

More information

(表紙)

(表紙) 2. 操 作 説 明 2.1 ログイン (A)ログインする 本 システムにログインして 研 究 者 向 けメニュー 画 面 を 表 示 するまでの 操 作 について 説 明 しま す (1)Webブラウザで http://www.e-rad.go.jp/ ( 府 省 共 通 研 究 開 発 管 理 システム ポータ ルサイト)にアクセスし トップページ 上 部 にある 研 究 者 ログイン ボタンをクリッ

More information

確 定 申 告 書 作 成 システム 操 作 手 順 書 ~ 個 人 利 用 者 向 け 操 作 説 明 書 ~ 平 成 27 年 1 月 JA 長 野 県 営 農 センター ( 株 ) 長 野 県 協 同 電 算 目 次 1.システムの 起 動... 1 ... 1 ... 2 2.ログインとログアウト... 2 ... 3 ...

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 関 数 この 章 では 日 付 と 時 刻 を 扱 う 関 数 や 検 索 条 件 に 一 致 するデータを 取 り 出 す 関 数 の 使 い 方 また 複 数 の 関 数 を 組 み 合 わせてエラー 値 を 非 表 示 にする 方 法 を 学 習 します STEP 1: 日 付 / 時 刻 関 数 TODAY 関 数 NOW 関 数 TODAY 関 数 は パソコンの 内 蔵 時

More information

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設

エ CarotDAV が 起 動 すると 次 のようなウィンドウが 表 示 されます メニューバーにある File から New Connection の WebDAV を 選 択 します オ 次 のような 設 定 画 面 が 表 示 されたら General タブでネットワークアドレスなどを 設 Windows7での WebDAV 接 続 Windows7 などでは ネットワークドライブの 割 り 当 て や ネットワークドライブの 割 り 当 て という 従 来 の 方 法 では 認 証 がうまく 通 らず WebDAV の 利 用 が 簡 単 に 利 用 できなくなってきました そこで ここでは 次 の フリーソフト CarotDAV の 利 用 についてご 紹 介 します ご 参 考

More information

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 目 次 動 作 環 境 特 長 方 法 方 法 起 動 終 了 方 法 方 法 操 作 方 法 使 方 使 方 使 方 詳 細 設 定 使 方 KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 KINGSOFT Office 2016 特 長 主 特 長 以

More information

V-CUBE One

V-CUBE One V-CUBE One Office 365 連 携 マニュアル ブイキューブ 2016/06/03 この 文 書 は V-CUBE One の Office 365 連 携 用 ご 利 用 マニュアルです 更 新 履 歴 更 新 日 内 容 2016/02/09 新 規 作 成 2016/03/11 Office 365 ID を 既 存 の One 利 用 者 と 紐 付 ける 機 能 に 関 する

More information

参 考 1 無 線 局 情 報 入 力 支 援 ( 基 地 局 と 固 定 局 の 事 項 書 のみに 対 応 ) 無 線 局 情 報 入 力 支 援 機 能 とは 過 去 に 申 請 したデータをダウンロードし 無 線 局 インターネット 申 請 アプリケーション で 利 用 できる 便 利 な

参 考 1 無 線 局 情 報 入 力 支 援 ( 基 地 局 と 固 定 局 の 事 項 書 のみに 対 応 ) 無 線 局 情 報 入 力 支 援 機 能 とは 過 去 に 申 請 したデータをダウンロードし 無 線 局 インターネット 申 請 アプリケーション で 利 用 できる 便 利 な 3-2. 申 請 の 新 規 作 成 3 内 容 確 認 A-4. 申 請 手 数 料 画 面 (もしくは A-6. 申 請 手 数 料 の 前 納 の 申 出 事 項 その2 画 面 ) において 入 力 完 了 ボタンをクリックすると 送 信 画 面 が 表 示 されます ここで 内 容 確 認 ボタンをクリックし 入 力 内 容 を 確 認 します 上 書 き 保 存 しておくことをお 勧 め

More information

購買ポータルサイトyOASIS簡易説明書 b

購買ポータルサイトyOASIS簡易説明書 b 購 買 ポータルサイト yoasis 簡 易 説 明 書 横 河 電 機 株 式 会 社 本 書 は 購 買 ポータルサイト yoasis の 簡 易 的 な 基 本 操 作 について 記 載 してあります 詳 細 な 操 作 方 法 については 別 冊 の 購 買 ポータルサイト yoasis 操 作 説 明 書 をご 覧 下 さい 本 書 の 内 容 は 性 能 / 機 能 の 向 上 などにより

More information

「給与・年金の方」からの確定申告書作成編

「給与・年金の方」からの確定申告書作成編 所 得 が 給 与 のみ 公 的 年 金 のみ 給 与 と 公 的 年 金 のみ の 方 で 入 力 方 法 選 択 画 面 で 給 与 年 金 の 方 を 選 択 された 場 合 の 確 定 申 告 書 作 成 の 操 作 手 順 を 説 明 します ~ この 操 作 の 手 引 きをご 利 用 になる 前 に ~ この 操 作 の 手 引 きでは 確 定 申 告 書 の 作 成 方 法 をご 説

More information

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修 平 成 25 年 度 札 幌 市 10 年 経 験 者 研 修 校 外 における 研 修 ( 共 通 研 修 教 科 指 導 等 研 修 等 )の 入 力 の 手 引 ( 校 外 における 研 修 の 留 意 点 及 び 別 紙 様 式 3 別 紙 様 式 4の 入 力 について) Ⅰ Ⅱ Ⅲ Ⅳ 校 外 における 研 修 の 留 意 点 (p1) 校 外 における 研 修 ( 別 紙 様 式 3)の

More information

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

「1  所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編 既 に 提 出 した 所 得 税 及 び 復 興 特 別 所 得 税 の 確 定 申 告 の 申 告 額 に 誤 り があった 場 合 で 納 める 税 金 が 多 すぎた 場 合 や 還 付 される 税 金 が 少 なす ぎた 場 合 に 提 出 する 更 正 の 請 求 書 や 申 告 をした 税 額 等 が 実 際 より 少 な すぎた 場 合 や 還 付 される 税 金 が 多 すぎた 場

More information

1-2 新 規 CPD 会 員 登 録 の 申 請 から 登 録 までの 手 順 当 協 会 CPDシステムを 利 用 するためには 当 協 会 ホームページトップ 画 面 より CPD 事 務 局 へ のCPD 会 員 登 録 が 必 要 です CPD 会 員 登 録 が 完 了 すると 登 録

1-2 新 規 CPD 会 員 登 録 の 申 請 から 登 録 までの 手 順 当 協 会 CPDシステムを 利 用 するためには 当 協 会 ホームページトップ 画 面 より CPD 事 務 局 へ のCPD 会 員 登 録 が 必 要 です CPD 会 員 登 録 が 完 了 すると 登 録 1. 新 規 CPD 会 員 登 録 について 1-1 新 規 CPD 会 員 登 録 の 申 請 から 登 録 までの 流 れ 1. 当 協 会 JCCAホームページを 開 く http://www.jcca.or.jp/ 2.[ 関 連 資 格 と 試 験 案 内 ]メニュー 内 [CPD 情 報 ]をクリック 3.[CPDシステム ログイン]をクリック 4.[ 新 規 CPD 会 員 登 録

More information

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用) 事 前 チェック 提 出 用 現 況 報 告 書 作 成 ツール 入 力 マニュアル ( 法 人 用 ) 平 成 26 年 7 月 一 般 社 団 法 人 日 本 補 償 コンサルタント 協 会 目 次 1. ツールの 概 要 1 2. 動 作 環 境 1 3. マクロの 設 定 (1) Excel のバージョンの 確 認 2 (2) マクロの 設 定 3 4. 現 況 報 告 書 の 作 成 (1)

More information

目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書 類 の 取 得 75ページ お 問 い

目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書 類 の 取 得 75ページ お 問 い 概 算 保 険 料 の 申 告 ( 継 続 ) 手 続 電 子 申 請 操 作 マニュアル 平 成 28 年 4 月 1 日 Ver.1.3 目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書

More information

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記 代 理 店 様 向 け 業 務 支 援 システム Ke-web オペレーションマニュアル 05/0 ケニス 株 式 会 社 改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記 総 則 本 文 書 の 位 置 付 け 本 文 書 は 代 理 店 向 け 営 業 支 援 システム

More information

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/27 1.0.0 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/19 1.01 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/

変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/27 1.0.0 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/19 1.01 動 作 環 境 最 新 のものへ 変 更 全 体 オペレーター の 表 記 を 削 除 2016/5/ KDDI Smart Mobile Safety Manager Mac ユーザーマニュアル 最 終 更 新 日 2016 年 5 月 26 日 Document ver.1.0.2 1 変 更 履 歴 日 付 Document ver. 変 更 箇 所 変 更 内 容 2015/3/27 1.0.0 新 規 追 加 2015/9/24 誤 字 修 正 2016/2/19 1.01 動 作 環 境

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Android OS 向 け 新 規 インストールガイド 安 心 ネットセキュリティ このインストールガイド( 以 下 本 ガイド )に 従 い アプリケーションをインストールして ください ご 注 意 : 安 心 ネットセキュリティ( 以 下 本 製 品 )は インターネットからアプリケーションを ダウンロードしてインストールします 本 ガイド 中 に 記 載 されている ホームキー メニューキー

More information

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都 平 成 22 年 4 月 1 日 現 在 の 法 令 等 に 準 拠 Up Newsletter 養 老 保 険 の 減 額 逓 増 定 期 保 険 の 取 扱 い 変 更 介 護 費 用 保 険 の 導 入 企 業 の 保 険 のポイント http://www.up-firm.com 1 養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者

More information

目 次 1. はじめに 3 2. システム 要 件 4 3. HDD Password Tool のインストール 5 Windows の 場 合 5 Mac の 場 合 8 4. HDD Password Tool の 使 い 方 10 4-1 HDD Password Tool を 起 動 する

目 次 1. はじめに 3 2. システム 要 件 4 3. HDD Password Tool のインストール 5 Windows の 場 合 5 Mac の 場 合 8 4. HDD Password Tool の 使 い 方 10 4-1 HDD Password Tool を 起 動 する HDD Password Tool USB3.0/2.0 東 芝 製 外 付 けハードディスク CANVIO 用 パスワードツールソフトウェア 取 扱 説 明 書 1.10 版 - 1 - 目 次 1. はじめに 3 2. システム 要 件 4 3. HDD Password Tool のインストール 5 Windows の 場 合 5 Mac の 場 合 8 4. HDD Password Tool

More information

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情 報 入 力 項 目 2 1.2.2 子 ども 医 療 費 明 細 入 力 項 目 3 1.2.3 ひとり

More information

<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63>

<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63> 商 品 管 理 商 品 管 理 を 行 うためのメニューです 4.1 商 品 管 理 のサイドメニュー 商 品 管 理 には 以 下 のサイドメニューがあります 商 品 一 覧 登 録 済 みの 商 品 の 一 覧 を 表 示 します 既 に 登 録 済 みの 商 品 の 検 索 検 索 した 商 品 を 編 集 する 際 に 使 用 します 新 規 作 成 商 品 を 新 規 登 録 する 画 面

More information

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合 TIPS 目 次 TIPS 項 目 棚 割 りを 開 始 するまで 商 品 画 像 の 追 加 方 法 商 品 情 報 の 一 括 更 新 登 録 方 法 棚 割 情 報 の 連 携 方 法 小 売 様 棚 割 ソフトとの 棚 割 情 報 連 携 について 他 棚 割 ソフトとの 棚 割 情 報 連 携 について 棚 割 情 報 のExcel 取 込 について 棚 板 設 定 の 詳 細 商 品 設

More information

1.3 利 用 方 法 図 1 国 立 国 会 図 書 館 デジタルコレクション 送 信 サービスの 対 象 資 料 本 文 の 閲 覧 は 図 書 館 サービスカウンター 備 え 付 けの 専 用 パソコン(1 台 )のみでの 利 用 となります 利 用

1.3 利 用 方 法 図 1 国 立 国 会 図 書 館 デジタルコレクション  送 信 サービスの 対 象 資 料 本 文 の 閲 覧 は 図 書 館 サービスカウンター 備 え 付 けの 専 用 パソコン(1 台 )のみでの 利 用 となります 利 用 デジタル 化 資 料 送 信 サービス の 利 用 方 法 目 次 1 はじめに(サービスの 概 要 利 用 上 の 注 意 利 用 方 法 ) p.1 2 検 索 の 仕 方 ( 本 を 探 す) p.3 3 閲 覧 の 仕 方 ( 本 を 読 む) p.7 1 はじめに 1.1 サービスの 概 要 について デジタル 化 資 料 送 信 サービス ( 送 信 サービス)は 国 立 国 会 図 書

More information

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5 アドイン 版 ********************************************* 操 作 説 明 書 ********************************************* 目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能...

More information

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc 総 務 省 消 防 庁 統 計 調 査 系 システム 操 作 マニュアル 石 油 コンビナート 等 実 態 調 査 業 務 (オフライン オフラインソフト 編 ) 第 0.2 版 平 成 25 年 3 月 総 務 省 消 防 庁 改 訂 履 歴 版 改 訂 日 改 訂 内 容 第 0.1 版 平 成 24 年 1 月 24 日 新 規 作 成 第 0.2 版 平 成 24 年 3 月 2 日 第 4

More information

電子申告直前研修会(所得税編)

電子申告直前研修会(所得税編) 電 子 申 告 直 前 研 修 会 ( 所 得 税 編 ) 2011 年 1 月 17 日 : 名 古 屋 2011 年 1 月 18 日 : 東 京 2011 年 1 月 19 日 : 大 阪 2011 年 1 月 20 日 : 福 岡 本 日 の 研 修 内 容 項 目 細 目 1. 所 得 税 電 子 申 告 の 事 前 準 備 1) 顧 問 先 管 理 でのデータ 整 備 2)e-Tax 暗

More information

Microsoft Word - 311Tools_END

Microsoft Word - 311Tools_END 11.1 テキストエディター(TeraPad) 第 11 章 さらに 使 いこなすためのツール Windows の 標 準 で 搭 載 されているテキストエディターのメモ 帳 Word などに 比 べて メモ 帳 は 軽 く ちょっとした 文 章 を 書 くのに 非 常 に 便 利 です しかし メモ 帳 は 軽 いだけに 機 能 性 はそれほど 高 くありません この 章 で 紹 介 する TeraPad

More information

H28記入説明書(納付金・調整金)8

H28記入説明書(納付金・調整金)8 1 常 用 雇 用 労 働 者 の 総 数 の 把 握 ( STEP1 ) (1) 常 用 雇 用 労 働 者 とは 障 害 者 雇 用 納 付 金 制 度 における 常 用 雇 用 労 働 者 とは あなたの 企 業 で の 形 式 の 如 何 を 問 わず 1 雇 用 ( 契 約 ) の 定 めがなく 雇 用 されている 労 働 者 及 び 一 定 の 雇 用 ( 契 約 ) を 定 めて 雇

More information

目 次 Ⅰ 集 計 支 援 ツールの 準 備 に 関 するQ&A 1 H27 集 計 支 援 ツール.zip ファイルを 展 開 して 作 成 した,1 ~4のフォルダはどのように 利 用 すればよいか? Ⅱ 必 要 なファイルの 準 備 に 関 するQ&A 1 解 答 回 答 状 況 ファイルや,

目 次 Ⅰ 集 計 支 援 ツールの 準 備 に 関 するQ&A 1 H27 集 計 支 援 ツール.zip ファイルを 展 開 して 作 成 した,1 ~4のフォルダはどのように 利 用 すればよいか? Ⅱ 必 要 なファイルの 準 備 に 関 するQ&A 1 解 答 回 答 状 況 ファイルや, 平 成 27 年 度 全 国 学 力 学 習 状 況 調 査 集 計 支 援 ツール Q&A 集 1 目 次 Ⅰ 集 計 支 援 ツールの 準 備 に 関 するQ&A 1 H27 集 計 支 援 ツール.zip ファイルを 展 開 して 作 成 した,1 ~4のフォルダはどのように 利 用 すればよいか? Ⅱ 必 要 なファイルの 準 備 に 関 するQ&A 1 解 答 回 答 状 況 ファイルや,

More information

名 刺 データ 登 録 最 初 の 名 刺 の 登 録 の 際 には ボタンを 押 します 名 刺 登 録 画 面 が 開 きますので ボタンを 押 すと 新 規 の 登 録 画 面 が 現 れます 各 項 目 に 名 刺 データを 入 力 していきます グループは 事 前 に 登 録 したてあるも

名 刺 データ 登 録 最 初 の 名 刺 の 登 録 の 際 には ボタンを 押 します 名 刺 登 録 画 面 が 開 きますので ボタンを 押 すと 新 規 の 登 録 画 面 が 現 れます 各 項 目 に 名 刺 データを 入 力 していきます グループは 事 前 に 登 録 したてあるも 名 刺 業 務 管 理 システム 使 用 マニュアル はじめに 名 刺 管 理 用 のソフトウェアは 様 々な 種 類 のものが 販 売 されております しかしながら 操 作 が 難 しかったり 検 索 が 複 雑 であったり 入 力 が 面 倒 であったりすることが 少 なくなく なかなか 痒 いところに 手 が 届 かない 状 態 で 悩 まれている 方 が 多 いと 言 われています このソフトウェアは

More information

1.2. ご 利 用 環 境 1.2.1. 推 奨 ブラウザ Internet Explorer 10 11 Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

1.2. ご 利 用 環 境 1.2.1. 推 奨 ブラウザ Internet Explorer 10 11 Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7 1. アーカイブデータベースを 検 索 / 閲 覧 する 1.1. データの 検 索 方 法 東 京 アーカイブ では 以 下 に 分 類 されるカテゴリの 画 像 データ 資 料 データを 閲 覧 できます 江 戸 城 浮 世 絵 双 六 和 漢 書 江 戸 東 京 の 災 害 記 録 絵 葉 書 写 真 帖 近 代 の 地 図 東 京 府 東 京 市 関 係 資 料 番 付 建 築 図 面 書

More information

Microsoft PowerPoint - J_AuthorManual_JPSJ.ppt [互換モード]

Microsoft PowerPoint - J_AuthorManual_JPSJ.ppt [互換モード] ScholarOne Manuscripts オンライン 投 稿 マニュアル 1 語 表 の 切 替 え 2 ログイン 34 アカウント 作 成 5 メインメニュー 6 ダッシュボード 7 Step 1: 種 別 タイトル 抄 録 8 Step 2: キーワード 9 Step 3: 著 者 10 Step 4: 希 望 査 読 者 11 Step 5: 設 問 1213 Step 6: ファイルアップロード

More information

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ

PC 移 行 は 以 下 の 流 れで 行 います 次 ページ 以 降 に 各 手 順 を 記 載 しますのでご 確 認 ください ( をクリックすると 該 当 の 説 明 にジャンプします ) 移 行 元 のPCでの 作 業 Step1 移 行 するデータをバックアップする (3ページ) [データ 奉 行 i8/i シリーズ(スタンドアロン 版 ) PC 移 行 の 手 順 書 新 しいPCを 購 入 したので このPCで 奉 行 製 品 を 利 用 したい など 現 在 ご 利 用 のPCから 別 PCで 奉 行 製 品 をご 利 用 になる 場 合 の 移 行 手 順 を 説 明 します 次 ページに 各 作 業 の 流 れを 記 載 しますのでご 確 認 ください 移 行 元 のPC 1

More information

2. 研 究 者 / 評 価 者 情 報 修 正 この 画 面 では 研 究 者 が 自 分 自 身 の 情 報 の 修 正 を 行 います (A) 研 究 者 / 評 価 者 情 報 の 修 正 () 研 究 者 / 評 価 者 情 報 修 正 画 面 を 開 く HOME 画 面 メニューの 研

2. 研 究 者 / 評 価 者 情 報 修 正 この 画 面 では 研 究 者 が 自 分 自 身 の 情 報 の 修 正 を 行 います (A) 研 究 者 / 評 価 者 情 報 の 修 正 () 研 究 者 / 評 価 者 情 報 修 正 画 面 を 開 く HOME 画 面 メニューの 研 2. 研 究 者 / 評 価 者 情 報 修 正 ⅰ. 概 要 研 究 者 / 評 価 者 情 報 修 正 メニューでは ご 自 身 の 情 報 管 理 を 行 います 研 究 者 / 評 価 者 情 報 修 正 ご 自 身 の 情 報 が 表 示 されますので 確 認 を 行 います 必 要 に 応 じて 情 報 修 正 を 行 います 操 作 方 法 は 2. 研 究 者 / 評 価 者 情 報

More information

別冊資料-11

別冊資料-11 一 般 競 争 入 札 方 式 工 事 希 望 型 競 争 入 札 方 式 における 技 術 資 料 入 力 システムの 利 用 方 法 について Rev 8.0( 平 成 28 年 3 月 ) 国 土 交 通 省 中 国 地 方 整 備 局 - 目 次 - 1. はじめに... 1 2. 利 用 環 境 及 び 注 意 事 項... 1 3. 入 力 手 順 について... 2 3.1. 技 術

More information

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378> 1. 基 本 事 項 1.1. システムで 行 えること デジタルライブラリー では データベース 上 に 登 録 されている 様 々なカテゴリのデータを 検 索 閲 覧 できます データを 検 索 する キーワード 検 索 全 データをフリーワードで 検 索 できます 簡 易 検 索 データの 共 通 項 目 に 条 件 を 指 定 し 全 データを 横 断 して 検 索 できます 詳 細 検 索

More information

Microsoft Word - Active.doc

Microsoft Word - Active.doc 利 マニュアル 梅 校 メールサーバをご 利 されていた 教 員 の 皆 さまへ 2009 年 1 7 のメールサーバ 移 に 伴 い 学 外 からの 電 メールの 送 受 信 はウェブメール(Active!mail) からのみ 可 能 となりました Active!mail の 利 法 については 本 マニュアルをご 確 認 ください 次 Active!mail にログインする...2 Active!mail

More information

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面

同 期 を 開 始 する( 初 期 設 定 ) 2 1 Remote Link PC Sync を 起 動 する 2 1 接 続 機 器 の [PIN コード ] [ ユーザー 名 ] [ パスワード ] を 入 力 する [PIN コード ] などの 情 報 は 接 続 機 器 の 設 定 画 面 画 面 で 見 る マ ニ ュ ア ル Remote Link 3 対 応 自 動 同 期 アプリ Remote Link PC Sync Remote Link PC Sync は 接 続 機 器 とパソコンとの 間 でファイルの 自 動 同 期 をするアプリです 本 アプリサイトの 対 応 製 品 型 番 に 記 載 された 機 器 動 作 環 境 機 種 OS Windows 8.1(32/64

More information

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科 ( 第 9 回 )2016/06/13 Excel 関 数 の 基 礎 この 回 では Excel での 数 値 処 理 に 役 立 つ 関 数 について 解 説 する 1. 課 題 の 確 認 成 績 の 集 計 について 関 数 を 利 用 して 行 う 利 用 するソフトウェア:Microsoft Excel 1.1. 演 習 の 内 容 関 数 は 表 計 算 ソフトで 数 値 処 理 を

More information

情報処理技能検定試験 表計算2級 手順書

情報処理技能検定試験 表計算2級 手順書 日 本 情 報 処 理 検 定 協 会 主 催 情 報 処 理 技 能 検 定 試 験 ( 表 計 算 ) ワンポイント 2 級 (Microsoft Excel 2010 対 応 ) 2012 年 4 月 日 本 情 報 処 理 検 定 協 会 練 習 をはじめる 前 に 3 試 験 前 にすること 4 受 験 番 号 名 前 の 入 力 4 試 験 本 番 4 注 意 すること 4 試 験 後

More information

学 校 紹 介 ページ 公 開 までの 流 れ 2 管 理 画 面 よりログイン お 知 らせいたしますID PASSにて 管 理 画 面 よりログインします さんぽう 進 学 ネットモバイル 看 護 医 療 進 学 ネット のIDにつきましては 2010 年 度 用 と2011 年 度 用 とで

学 校 紹 介 ページ 公 開 までの 流 れ 2 管 理 画 面 よりログイン お 知 らせいたしますID PASSにて 管 理 画 面 よりログインします さんぽう 進 学 ネットモバイル 看 護 医 療 進 学 ネット のIDにつきましては 2010 年 度 用 と2011 年 度 用 とで さんぽう 進 学 ネットモバイル 2011 年 度 入 学 者 用 [ 掲 載 期 間 2010 年 4 月 ~2011 年 3 月 ] 学 校 紹 介 ページ 更 新 マニュアル http://mbsn.jp Ver.1.00 株 式 会 社 さんぽう 1 学 校 紹 介 ページ 公 開 までの 流 れ 2 管 理 画 面 よりログイン お 知 らせいたしますID PASSにて 管 理 画 面 よりログインします

More information

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選

6 システムを 入 れているパソコンを 入 れ 替 えたいが どうしたらいいのか 元 のパソコンから 新 しいパソコンに 昨 年 度 入 力 データを 移 行 します 手 順 は 次 のとおりです 1 元 のパソコンでシステムを 起 動 して メニュー 画 面 から バックアップ リカバリ を 選 システムについて 1 どのバージョンのシステムを 使 えばいいのか Ver3(Windows7 版 )をご 使 用 ください Ver2(WindowsXP 版 )の 場 合 データ 収 集 ができません Ver3(Windows7 版 )をご 使 用 ください WindowsXP 以 前 の 場 合 で システムを 入 れなおすことができない 場 合 は Ver2(WindowsXP 版 )のままで

More information

1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた 以 下 の 税 関 手 続 き( 以 下 輸 出 申 告 等

1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた 以 下 の 税 関 手 続 き( 以 下 輸 出 申 告 等 3012. 許 可 承 認 等 情 報 登 録 ( 輸 出 通 関 ) 業 務 コード 業 務 名 A 許 可 承 認 等 情 報 登 録 ( 輸 出 通 関 ) 1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた

More information

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

(Microsoft Word - Excel\211\236\227p2\217\315.docx) この 章 では 日 付 と 時 刻 を 扱 う 関 数 や 複 数 の 関 数 を 組 み 合 わせてエラーを 非 表 示 にする 方 法 また 検 索 条 件 に 一 致 するデータを 取 り 出 す 関 数 の 使 い 方 などについて 学 習 します 1 日 付 と 時 刻 の 関 数 TODAY 関 数 NOW 関 数 TODAY 関 数 は パソコンの 内 蔵 時 計 を 利 用 して 現

More information

<4D6963726F736F667420576F7264202D20819C8140928692B78AFA95DB91538C7689E68DEC90AC289

<4D6963726F736F667420576F7264202D20819C8140928692B78AFA95DB91538C7689E68DEC90AC289 官 庁 施 設 情 報 管 理 システム (BIMMS-N) 操 作 説 明 書 9 施 設 維 持 管 理 9.4 中 長 期 保 全 計 画 作 成 ( 東 北 版 ) 平 成 26 年 10 月 国 土 交 通 省 東 北 地 方 整 備 局 営 繕 部 目 次 9 施 設 維 持 管 理 9.4 中 長 期 保 全 計 画 作 成 ( 東 北 版 ) 9.4.0 中 長 期 保 全 計 画

More information

R4財務対応障害一覧

R4財務対応障害一覧 1 仕 訳 入 力 仕 訳 入 力 時 摘 要 欄 で. + Enter を 押 すと アプリケーションでエラーが 発 生 しまインデックスが 配 列 の 境 界 外 です が 出 る 場 合 がある 問 題 に 対 応 しま 2 仕 訳 入 力 仕 訳 入 力 主 科 目 と 補 助 科 目 を 固 定 にすると2 行 目 以 降 の 補 助 科 目 コピーが 動 作 しない 問 題 に 対 応

More information

04-03-02_禑暥ã†�ã…“ã……ã…‹ç«¯æœ«ã‡»ã……ã…‹ã‡¢ã……ã…Šæ›‰é€ƒæł¸ã•’10ã•‚V1.3.xls

04-03-02_禑暥ã†�ã…“ã……ã…‹ç«¯æœ«ã‡»ã……ã…‹ã‡¢ã……ã…Šæ›‰é€ƒæł¸ã•’10ã•‚V1.3.xls HumanBridge EHRソリューション 01. 福 来 たネット 端 末 セットアップツール 利 用 手 順 書 (Windows 10 端 末 用 ) V 1.0 1セットアップ 前 に インターネットに 接 続 出 来 るパソコンへ 福 来 たネット 接 続 (VPN)の 設 定 を 施 し 福 来 たネットをご 利 用 するための 設 定 手 順 書 となります ただし 地 域 連 携

More information

操 作 の 手 順 : 個 人 住 民 税 一 括 納 付 / 新 規 依 頼 修 正 複 写 個 人 住 民 税 一 括 納 付 メニュー 個 人 住 民 税 一 括 納 付 新 規 依 頼 修 正 複 写 依 頼 / 委 託 者 情 報 入 力 (P100) 依 頼 修 正 / 委 託 者 情

操 作 の 手 順 : 個 人 住 民 税 一 括 納 付 / 新 規 依 頼 修 正 複 写 個 人 住 民 税 一 括 納 付 メニュー 個 人 住 民 税 一 括 納 付 新 規 依 頼 修 正 複 写 依 頼 / 委 託 者 情 報 入 力 (P100) 依 頼 修 正 / 委 託 者 情 5-1 個 人 住 民 税 一 括 納 付 新 規 依 頼 5-2 個 人 住 民 税 一 括 納 付 修 正 取 下 取 消 5-3 個 人 住 民 税 一 括 納 付 複 写 5-4 個 人 住 民 税 一 括 納 付 詳 細 5-5 個 人 住 民 税 一 括 納 付 アップロード 5-6 アップロード 一 覧.. 100.. 105.. 107.. 109.. 110.. 111 97 操

More information

研究者情報データベース

研究者情報データベース 研 究 者 情 報 管 理 システム 研 究 者 向 けデータ 一 括 登 録 機 能 操 作 マニュアル 2013 年 6 月 4 日 目 次 1. はじめに... 1 1.1 本 マニュアルの 注 意 事 項... 1 2. 操 作 手 順... 2 2.1 データ 登 録 手 順... 2 2.2 データ 読 み 込 みエラー 時 の 対 応 手 順... 13 3. 登 録 データ 一 覧...

More information

Microsoft Word - ML_ListManager_10j.doc

Microsoft Word - ML_ListManager_10j.doc メーリングリスト 利 用 の 手 引 き(リスト 管 理 者 編 ) for LyrisSynaptive ListManager 10j 第 5 版 目 次... 1 1. メーリングリストとは?... 2 2. メーリングリストの 開 設... 2 2-1 管 理 者 画 面 へのログイン... 2 2-2 リスト 管 理 者 自 身 のパスワードの 変 更... 4 3. メンバーの 登 録...

More information

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 改 訂 の 要 因 旧 新 (2013 年 4 月 版 ) 文 言 削 除 p.11(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 p.5(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 1. 用 紙 系 ( 線 種 ピッチ 等 用 紙 上 の 大 きさで

More information

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン 2014 年 1 月 7 日 治 験 依 頼 者 各 位 新 潟 市 民 病 院 治 験 管 理 室 Excel 形 式 の 電 子 プロトコール 提 出 の 御 依 頼 当 院 では 効 率 的 で 正 確 な 治 験 の 実 施 のため 電 子 カルテ 内 に 専 用 の Excel 形 式 による 電 子 プロトコールを 導 入 しております つきましては 治 験 依 頼 の 際 に 下 記

More information

<4D6963726F736F667420576F7264202D20819B93FC97CD835683588365838082CC91808DEC95FB964081693230313589FC92F994C5816A>

<4D6963726F736F667420576F7264202D20819B93FC97CD835683588365838082CC91808DEC95FB964081693230313589FC92F994C5816A> 岡 山 大 学 情 報 データベースシステムの 操 作 方 法 1 インターネットブラウザの 設 定 まず ご 利 用 のブラウザ 環 境 に 応 じて 以 下 URL に 記 載 されている 設 定 を 行 ってください この 設 定 をしていない 場 合 岡 山 大 学 情 報 データベースシステムを 利 用 できない 場 合 があります Windows の Internet Explorer7.0

More information

Microsoft Word - 20150728_Office365ProPlus利用マニュアル.docx

Microsoft Word - 20150728_Office365ProPlus利用マニュアル.docx Office365ProPlus 利 用 マニュアル ( 学 生 教 職 員 共 通 ) 敬 愛 大 学 千 葉 敬 愛 短 期 大 学 メディアセンター Ver1.1 2015 年 7 月 28 日 制 改 訂 履 歴 バージョン 年 月 日 改 訂 履 歴 1.0 2015/6/24 初 版 1.1 2015/7/28 Microsoft アカウント の 記 述 を Office365 のアカウント

More information

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド 本 書 では 管 理 者 向 けに MetaMoJi ClassRoom/ゼミナールで 年 度 更 新 を 実 施 する 手 順 について 説 明 して います 管 理 者 ガイドと 合 わせてご 覧 ください Excelは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です Apache OpenOffice Apache

More information

Ⅰ. 各 種 文 書 作 成 メニュー 項 目 説 明 各 種 文 書 作 成 メニューでは 共 通 で 使 える 便 利 な 機 能 がございます テンプレート 機 能 引 用 文 を 貼 り 付 けることができます 複 写 (コピー) 機 能 作 成 した 帳 票 をコピー 編 集 することがで

Ⅰ. 各 種 文 書 作 成 メニュー 項 目 説 明 各 種 文 書 作 成 メニューでは 共 通 で 使 える 便 利 な 機 能 がございます テンプレート 機 能 引 用 文 を 貼 り 付 けることができます 複 写 (コピー) 機 能 作 成 した 帳 票 をコピー 編 集 することがで 各 種 文 書 作 成 メニュー 居 宅 支 援 事 業 者 版 特 定 施 設 事 業 者 版 居 宅 支 援 事 業 者 版 の 各 種 文 書 の 作 成 方 法 を 中 心 にご 案 内 します 特 定 施 設 事 業 者 版 をお 使 いの 場 合 は 居 宅 を 施 設 に 読 み 替 えてご 覧 ください 目 次 各 種 文 書 作 成 メニュー Ⅰ. 各 種 文 書 作 成 メニュー

More information

1-1 一覧画面からの印刷

1-1 一覧画面からの印刷 第 7 章 公 報 の 印 刷 7-1 一 覧 画 面 からの 印 刷 検 索 された 公 報 は 印 刷 することができます 目 次 印 刷 や 公 報 全 文 複 数 件 の 公 報 印 刷 も 可 能 です はじめに 検 索 画 面 から 結 果 一 覧 ボタンを 押 して 検 索 結 果 一 覧 画 面 を 表 示 させます 印 刷 方 法 をご 確 認 ください 一 括 選 択 ( 反 転

More information

HTG-35U ブルーバック表示の手順書 (2014年12月改定)

HTG-35U ブルーバック表示の手順書 (2014年12月改定) HTG-35U ブルーバック 表 示 の 手 順 書 概 要 本 書 は HTG-35U にてブルーバックの 画 面 を 出 力 するための 手 順 書 です HTG-35U のビットマップ 出 力 機 能 及 び 固 定 文 字 表 示 機 能 を 使 用 してブルーバックの 表 示 を 設 定 します また ブルーバックの 表 示 / 非 表 示 をタイマーで 自 動 に 切 り 替 えを 行

More information

Memo

Memo 第 8 章 電 子 申 請 の 方 法 取 消 申 請 ( 全 部 取 消 ) 名 簿 共 通 平 成 28 年 4 月 1 日 公 開 版 Memo 目 次 第 8 章 電 子 申 請 の 方 法 取 消 申 請 ( 全 部 取 消 ) 共 通 1.はじめに... 1 2. 手 続 きの 流 れ... 3 3. 取 消 申 請 ( 全 部 取 消 ) の 電 子 申 請... 5 1.はじめに 本

More information

第 40 回 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 要 綱 1 公 募 推 薦 総 枠 30 億 円 一 般 物 流 効 率 化 促 進 中 小 企 業 高 度 化 資 金 貸 付 対 象 事 業 の 合 計 枠 2 公 募 期 間 平 成 28 年 6 月 20

第 40 回 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 要 綱 1 公 募 推 薦 総 枠 30 億 円 一 般 物 流 効 率 化 促 進 中 小 企 業 高 度 化 資 金 貸 付 対 象 事 業 の 合 計 枠 2 公 募 期 間 平 成 28 年 6 月 20 利 子 補 給 つき 低 利 の 融 資 でトラック 業 界 の 近 代 化 を 第 40 回 ( 平 成 28 年 度 ) 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 のしおり この 融 資 の 目 的 この 融 資 は 全 日 本 トラック 協 会 からの 利 子 補 給 により 長 期 低 利 の 融 資 を 推 進 し トラック 運 送 事 業 者 の 近 代 化

More information

Microsoft Word - TechSmith Deployment Tool Documentation.docx

Microsoft Word - TechSmith Deployment Tool Documentation.docx TechSmith Deployment Tool マニュアル TechSmith Deployment Tool は Snagit や Camtasia Studio の 組 織 全 体 への 展 開 を 担 当 する Windows IT 管 理 者 のために 設 計 されたツールです このツールのイン ターフェイスを 使 用 することで 効 率 的 かつエラーのない 方 法 で MST ( 変

More information

経 理 上 くん db(version 8.001)の 変 更 点 概 要 Ⅰ. 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 1 特 定 課 税 仕 入 特 定 課 税 仕 入 返 還 区 分 を 追 加 しました Ⅱ.その 他 の 改 良 修 正 詳 細 は 後 述 を 参 照

経 理 上 くん db(version 8.001)の 変 更 点 概 要 Ⅰ. 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 1 特 定 課 税 仕 入 特 定 課 税 仕 入 返 還 区 分 を 追 加 しました Ⅱ.その 他 の 改 良 修 正 詳 細 は 後 述 を 参 照 経 理 上 手 くんdbNL(Vers 6.001) バージョンアップ 変 更 点 概 要 財 務 処 理 db 導 入 更 新 Version 8.001 当 プログラムは マイクロソフト 社 のサポート 対 応 終 了 に 伴 い Windows XP 搭 載 機 へのインストールは 不 可 と なっています 消 費 税 /リバースチャージ 方 式 の 申 告 に 対 応 特 定 課 税 仕 入

More information

 

  オーパス スポーツ 施 設 情 報 システム ガイドブック 操 作 編 インターネット 携 帯 ウェブ http://opas.jp/ http://opas.jp/m/ 豊 中 市 スポーツ 施 設 情 報 システム 大 阪 地 域 情 報 サービスネットワーク 目 次 インターネットでの 利 用 1 パスワードの 登 録 と メール 通 知 サービスの 設 定 について

More information

パソコンバンクWeb21 操作マニュアル[導入・事前設定編]

パソコンバンクWeb21 操作マニュアル[導入・事前設定編] 参 考 の 章 で 当 行 のソリューションセンターに 多 く 寄 せられる その 解 決 方 法 を 説 明 します 1. ValueDoorID( 管 理 専 用 ID 管 理 専 用 ID( 副 ) 利 用 者 ID)/パスワード について 86 2. PC の 環 境 変 更 / 各 種 変 更 申 込 /その 他 について 89 85 / 1. ValueDoorID( 管 理 専 用 ID

More information

006-021_責)Wordトレ2-1章_斉

006-021_責)Wordトレ2-1章_斉 . Wordの 起 動 Wordの 基 礎 知 識. Wordの 起 動 Wordの 起 動 は 次 のように 行 います 他 のアプリケーションソフトのように いくつかの 起 動 方 法 があります スタートメニューからの 起 動 スタートメニューから 起 動 する 方 法 は 次 の 通 りです [スタート]メニューの[すべてのプログラム]から[Microsoft-Office]の [Microsoft-Word]を

More information

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編 POWER EGG V2.0 ユーザーズマニュアル ファイル 管 理 編 Copyright 2009 D-CIRCLE,INC. All Rights Reserved 2009.4 はじめに 本 書 では POWER EGG 利 用 者 向 けに 以 下 の POWER EGG のファイル 管 理 機 能 に 関 する 操 作 を 説 明 しま す なお 当 マニュアルでは ファイル 管 理 機

More information

Microsoft PowerPoint - 04_H26material_practice_No3-3.pptx

Microsoft PowerPoint - 04_H26material_practice_No3-3.pptx 参 考 : 届 書 作 成 プログラムによる 届 出 データの 作 成 方 法 (1) 事 前 準 備 1 被 保 険 者 データの 入 手 (ターンアラウンドCDを 利 用 する 場 合 ) 当 プログラムでは 提 出 先 の 年 金 事 務 所 が 保 有 している 被 保 険 者 のデータを 利 用 して 電 子 申 請 用 データを 作 成 することができます(これを ターンアラウンドCD

More information

<4D6963726F736F667420576F7264202D20979897708ED28FDA8DD7837D836A83858341838B2E646F6378>

<4D6963726F736F667420576F7264202D20979897708ED28FDA8DD7837D836A83858341838B2E646F6378> デジタル 化 資 料 送 信 サービス の 利 用 方 法 目 次 1 はじめに(サービスの 概 要 利 用 上 の 注 意 ) p.1 2 検 索 の 仕 方 ( 本 を 探 す) p.3 3 閲 覧 の 仕 方 ( 本 を 読 む) p.7 1 はじめに 1.1 サービスの 概 要 について デジタル 化 資 料 送 信 サービス ( 送 信 サービス)は 国 立 国 会 図 書 館 でデジタル

More information

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7.

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. Web メール 操 作 説 明 書 京 都 与 謝 野 町 有 線 テレビ 0 目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. メール 一 覧 画 面...

More information

<4D6963726F736F667420576F7264202D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D90939994AD97DF914F82CC8FEE95F182CC8EFB8F57814589C28E8B89BB2E646F63>

<4D6963726F736F667420576F7264202D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D90939994AD97DF914F82CC8FEE95F182CC8EFB8F57814589C28E8B89BB2E646F63> 1.ログイン 方 法 1-1: 県 域 統 合 型 GIS 総 合 ポータルから 研 修 用 のユーザID 及 びパスワードを 入 力 後 ログインする 1-2:ログイン 後 マップ 編 集 を 選 択 します 1-3:マップ 一 覧 から 編 集 したいマップを 選 ぶ 今 回 の 場 合 1. 避 難 勧 告 等 発 令 までの 情 報 収 集 可 視 化 ( 班 ) を 選 択 する 1 2.

More information

Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx

Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx WaWaOfficeシリーズ バージョン8.2リビジョンアップ 2013 年 6 月 18 日 リリース 予 定 株 式 会 社 アイアットOEC ローカル 機 能 の 改 善 プレビュー 表 追 加 の 覧 表 にプレビュー 表 を 設 定 可 能 にしました 1 表 2 表 1 +プレビュー 表 から 選 択 設 定 法 個 設 定 個 設 定 基 本 設 定 PC 専 パラメータの 覧 表 時

More information

Taro-2220(修正).jtd

Taro-2220(修正).jtd 株 式 会 社 ( 募 集 株 式 の 発 行 ) 株 式 会 社 変 更 登 記 申 請 書 1. 商 号 商 事 株 式 会 社 1. 本 店 県 市 町 丁 目 番 号 1. 登 記 の 事 由 募 集 株 式 発 行 ( 情 報 番 号 2220 全 25 頁 ) 1. 登 記 すべき 事 項 変 更 ( 注 ) 変 更 の 年 月 日 は, 払 込 期 日 又 は 払 込 期 間 の 末

More information

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770>

<4D F736F F F696E74202D2082C882E982D982C DD8ED88EE688F882CC82B582AD82DD C668DDA9770> な る ほ ど! 貸 借 取 引 のしくみ Japan Securities Finance Co.,Ltd 1 目 次 1. 貸 借 取 引 について 2. 貸 借 取 引 における 株 式 調 達 について 3. 品 貸 料 の 決 定 方 法 について 4. 制 限 措 置 を 含 む 貸 借 取 引 情 報 について 5.よくある 質 問 Japan Securities Finance Co.,Ltd

More information

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ .3 1...3 メール 受 信 タブのサブメニューから 直 接 受 信 箱 以 外 のフォルダを 表 示 することもできます 共 有 メー ルボックスのフォルダは 指 定 できません 3. 35 メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受

More information

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー 人 事 奉 行 iシリーズ 汎 用 データ 受 入 の 手 順 書 汎 用 データの 作 成 方 法 を 知 りたい 汎 用 データのフォーマットがわからない 汎 用 データ 受 入 をしたら 受 入 エラーが 発 生 した について 社 員 情 報 データの 受 入 を 例 に 説 明 します 本 手 順 書 では OBC 受 入 形 式 ( ) の 汎 用 データの 受 入 を 受 入 フォーマットに

More information

タイトル位置

タイトル位置 シンプルモード(Biz) 利 用 者 マニュアル 目 次 1. アプリ 概 要 2 1. 機 能 概 要 4 2. 各 画 面 の 名 称 と 機 能 5 2. ご 利 用 までの 流 れ 6 3. 画 面 説 明 8 1. 中 央 画 面 11 1. 中 央 画 面 共 通 機 能 12 2. 中 央 画 面 (6ボタン) 13 3. 中 央 画 面 (3ボタンとアイコン) 14 2. サイドスクリーン

More information

はじめに この 平 成 28 年 度 地 域 型 住 宅 グリーン 化 事 業 適 用 申 請 書 記 入 の 手 引 き は 申 請 者 のみなさん が 申 請 書 の 作 成 と 評 価 業 務 をスムーズに 行 うため 申 請 書 の 書 き 方 を 手 引 きするものです 申 請 書 を 本

はじめに この 平 成 28 年 度 地 域 型 住 宅 グリーン 化 事 業 適 用 申 請 書 記 入 の 手 引 き は 申 請 者 のみなさん が 申 請 書 の 作 成 と 評 価 業 務 をスムーズに 行 うため 申 請 書 の 書 き 方 を 手 引 きするものです 申 請 書 を 本 平 成 28 年 度 地 域 型 住 宅 グリーン 化 事 業 適 用 申 請 書 記 入 の 手 引 き ( 様 式 1 様 式 3 4) 平 成 28 年 地 域 型 住 宅 グリーン 化 事 業 評 価 事 務 局 1 はじめに この 平 成 28 年 度 地 域 型 住 宅 グリーン 化 事 業 適 用 申 請 書 記 入 の 手 引 き は 申 請 者 のみなさん が 申 請 書 の 作

More information

< 既存登録情報の変更フロー> FAXOCR登録

< 既存登録情報の変更フロー> FAXOCR登録 1 すでに 製 造 販 売 会 社 に 登 録 されている 下 記 の 情 報 を 手 元 に 準 備 してください AEDの 型 式 ( 機 器 名 ) AED 製 造 番 号 (シリアルナンバー) ご 住 所 お 名 前 電 話 番 号 AED 設 置 情 報 の 登 録 書 イメージ 図 2 購 入 したAED 製 造 販 売 会 社 にお 問 い 合 わせの 上 AED 設 置 情 報 の

More information

1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます また 各 種 手 続 きにおいて 申 込 みを 完 了 せずに 保 存 状 態 にした 手 続 きを この 一 覧 から 再 開 すること

1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます また 各 種 手 続 きにおいて 申 込 みを 完 了 せずに 保 存 状 態 にした 手 続 きを この 一 覧 から 再 開 すること 日 本 貿 易 保 険 Webサービス 操 作 マニュアル 4. Web 申 込 状 況 一 覧 照 会 (C) Copyright Nippon Export and Investment Insurance. All rights reserved. 1. 概 要 Webで 申 込 みした 手 続 きの 内 容 とNEXIでの 手 続 状 況 を Web 申 込 状 況 一 覧 で 確 認 することができます

More information

4. 発 注 者 コード 及 び 成 績 評 定 8 (Q4-1) 該 当 の 発 注 者 コードが 付 与 されていないので 追 加 してください... 8 (Q4-2) 発 注 者 コードが 不 正 確 空 白 のものがあり 点 数 を 入 力 できません 成 績 評 定 の 入 力 ができませ

4. 発 注 者 コード 及 び 成 績 評 定 8 (Q4-1) 該 当 の 発 注 者 コードが 付 与 されていないので 追 加 してください... 8 (Q4-2) 発 注 者 コードが 不 正 確 空 白 のものがあり 点 数 を 入 力 できません 成 績 評 定 の 入 力 ができませ 2012.06.26 検 索 システムFAQ( 目 次 ) 1.PUBDIS 登 録 ( 対 象 等 ) 3 (Q1-1)PFI のテクニカルアドバイザリー 業 務 のような 調 査 業 務 は 登 録 できますか... 3 (Q1-2) 業 務 カルテは 受 注 金 額 によって 受 付 けているのですか また 業 務 受 注 時 に PUBDIS センターから 何 か 書 類 を 出 していますか...

More information

労働時間と休日は、労働条件のもっとも基本的なものの一つです

労働時間と休日は、労働条件のもっとも基本的なものの一つです 36 協 定 作 成 マニュアル 労 働 時 間 と 休 日 は 労 働 条 件 のもっとも 基 本 的 なものの 一 つです 労 働 基 準 法 では まず 第 32 条 第 1 項 で 使 用 者 は 労 働 者 に 休 憩 時 間 を 除 き 1 週 間 に 40 時 間 を 超 えて 労 働 させてはならない とし 法 定 労 働 時 間 が 1 週 40 時 間 であること を 掲 げ 次

More information

ez_meishi.ppt

ez_meishi.ppt 名 刺 登 録 名 刺 登 録 ~ 目 次 ~ 1. 名 刺 登 録 とは 3 2. 準 備 2-1.まず 最 初 に 確 認 5 2-2. 新 しいアプリの 作 成 6 2-3.アプリケーションのダウンロードとインストール 8 2-4.サービス 利 用 者 登 録 10 2-5. 所 有 者 管 理 DBの 発 行 設 定 12 3. 登 録 3-1. 名 刺 情 報 を 読 み 取 る 18 3-2.

More information

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) 2016-01-00 商 標 類 Windows Office Excel Word

前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) 2016-01-00 商 標 類 Windows Office Excel Word 広 域 機 関 システム 操 作 マニュアル 系 統 情 報 公 表 ( 一 般 用 ) 2016-01-00 前 書 き 広 域 機 関 システム System for Organization for Cross-regional Coordination of Transmission Operators(OCCTO) 2016-01-00 商 標 類 Windows Office Excel

More information