• 検索結果がありません。

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し

N/A
N/A
Protected

Academic year: 2021

シェア "実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し"

Copied!
23
0
0

読み込み中.... (全文を見る)

全文

(1)

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

エンベデッド・コントロール・セミナー

2000

2000

(2)

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

実習内容

PIC18C242のポートBに接続したLEDを点滅さ

せます(他の実習と同じ内容です) 。

8個のLEDに表示される値が+3ずつインクリメントし

ます。

MPLABを使って、MPASMアセンブラのソース

・ファイルをアセンブルします。

MPLABとソース・ファイルは配布したCD-Rのなか

に入っています。

PIC18C242のポートBに接続したLEDを点滅さ

せます(他の実習と同じ内容です) 。

8個のLEDに表示される値が+3ずつインクリメントし

ます。

MPLABを使って、MPASMアセンブラのソース

・ファイルをアセンブルします。

MPLABとソース・ファイルは配布したCD-Rのなか

に入っています。

(3)

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

ブロック図

(4)

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト(1)

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

(1)

(1)

LIST

P=18C242,F=INHX32

;マイコンはPIC18C242

INCLUDE

P18C242.INC

;インクルード・ファイルを読み込む

;コンフィギュレーション・ビットの設定

__CONFIG _CONFIG0, _CP_OFF_0

__CONFIG _CONFIG1, _OSCS_OFF_1 & _RCIO_OSC_1

__CONFIG _CONFIG2, _BOR_ON_2 & _BORV_42_2 & _PWRT_ON_2

__CONFIG _CONFIG3, _WDT_ON_3 & _WDTPS_128_3

__CONFIG _CONFIG5, _CCP2MX_ON_5

__CONFIG _CONFIG6, _STVR_ON_6

;コード・プロテクト=OFF,システム・クロック切り替え=OFF,RC発振でOSC2ピンはRA6,

;ウォッチドッグ・タイマ=ON,ポストスケーラ1:128,4.2Vブラウンアウト・リセット,

;パワーアップ・タイマ=ON,CCP2入出力はRC1ピンに割り当て,

;スタック・オーバーフロー/アンダーフロー・リセット=ON

;---UPDATE

EQU

7

;LEDの更新周期

;---CBLOCK

0

;ファイル・アドレス0h番地から変数を割り当てる

W_TEMP

;コンテキスト保存用(WレジスタとSTATUSレジスタ)

STATUS_TEMP

CNT

;LEDの更新周期用のカウンタ

LIST

P=18C242,F=INHX32

;マイコンはPIC18C242

INCLUDE

P18C242.INC

;インクルード・ファイルを読み込む

;コンフィギュレーション・ビットの設定

__CONFIG _CONFIG0, _CP_OFF_0

__CONFIG _CONFIG1, _OSCS_OFF_1 & _RCIO_OSC_1

__CONFIG _CONFIG2, _BOR_ON_2 & _BORV_42_2 & _PWRT_ON_2

__CONFIG _CONFIG3, _WDT_ON_3 & _WDTPS_128_3

__CONFIG _CONFIG5, _CCP2MX_ON_5

__CONFIG _CONFIG6, _STVR_ON_6

;コード・プロテクト=OFF,システム・クロック切り替え=OFF,RC発振でOSC2ピンはRA6,

;ウォッチドッグ・タイマ=ON,ポストスケーラ1:128,4.2Vブラウンアウト・リセット,

;パワーアップ・タイマ=ON,CCP2入出力はRC1ピンに割り当て,

;スタック・オーバーフロー/アンダーフロー・リセット=ON

;---UPDATE

EQU

7

;LEDの更新周期

;---CBLOCK

0

;ファイル・アドレス0h番地から変数を割り当てる

W_TEMP

;コンテキスト保存用(WレジスタとSTATUSレジスタ)

STATUS_TEMP

(5)

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト(2)

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

(2)

(2)

ORG 0

;リセット・ベクタ(プログラム・アドレス0番地)

GOTO START

;STARTへ跳ぶ

;---ORG 8

;割り込みベクタ(プログラム・アドレス8番地)

ISR

;割り込み処理ルーチン

BTFSSINTCON,T0IF,A

;タイマ0割り込みでなければISR_ENDへ跳ぶ

GOTO ISR_END

BCF

INTCON,T0IF,A

;タイマ0割り込みフラグを0にする

DECFSZ

CNT,F,A

;CNTを-1して0でなければISR_ENDへ跳ぶ

GOTO ISR_END

MOVLW

UPDATE

;CNTにLEDの更新周期を書き込む

MOVWF

CNT,A

MOVLW

D'3'

;PORTB_OUTの内容を+3する

ADDWF

PORTB_OUT,F,A

ISR_END

RETFIE

FAST

;コンテキストを復帰して割り込みから復帰

;---IOPORT

;サブルーチン:I/Oポート設定

CLRF LATA,A

;ポートAの出力ラッチに0を書き込む

MOVF PORTB_OUT,W,A

;PORTB_OUTの内容をポートBの出力ラッチに書き込む

MOVWF

LATB,A

CLRF LATC,A

;ポートCの出力ラッチに0を書き込む

CLRF TRISA,A

;ポートAをすべて出力ピンにする

CLRF TRISB,A

;ポートBをすべて出力ピンにする

CLRF TRISC,A

;ポートCをすべて出力ピンにする

RETURN

ORG 0

;リセット・ベクタ(プログラム・アドレス0番地)

GOTO START

;STARTへ跳ぶ

;---ORG 8

;割り込みベクタ(プログラム・アドレス8番地)

ISR

;割り込み処理ルーチン

BTFSSINTCON,T0IF,A

;タイマ0割り込みでなければISR_ENDへ跳ぶ

GOTO ISR_END

BCF

INTCON,T0IF,A

;タイマ0割り込みフラグを0にする

DECFSZ

CNT,F,A

;CNTを-1して0でなければISR_ENDへ跳ぶ

GOTO ISR_END

MOVLW

UPDATE

;CNTにLEDの更新周期を書き込む

MOVWF

CNT,A

MOVLW

D'3'

;PORTB_OUTの内容を+3する

ADDWF

PORTB_OUT,F,A

ISR_END

RETFIE

FAST

;コンテキストを復帰して割り込みから復帰

;---IOPORT

;サブルーチン:I/Oポート設定

CLRF LATA,A

;ポートAの出力ラッチに0を書き込む

MOVF PORTB_OUT,W,A

;PORTB_OUTの内容をポートBの出力ラッチに書き込む

MOVWF

LATB,A

CLRF LATC,A

;ポートCの出力ラッチに0を書き込む

CLRF TRISA,A

;ポートAをすべて出力ピンにする

CLRF TRISB,A

;ポートBをすべて出力ピンにする

CLRF TRISC,A

;ポートCをすべて出力ピンにする

RETURN

(6)

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト(3)

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

ソース・リスト

(3)

(3)

;---START

CLRF PORTB_OUT,A

;PORTB_OUTに0を書き込む

CALL IOPORT

;I/Oポート設定

MOVLW

H'D7'

;タイマ0の設定

MOVWF

T0CON,A

;8ビット・モード、内部クロック、1:256プリスケーラ

MOVLW

D'1'

;CNTに1を書き込む

MOVWF

CNT,A

CLRF PORTB_OUT,A

;PORTB_OUTに0を書き込む

CLRF TMR0L,A

;TMRLに0を書き込む

MOVLW

H'A0'

;タイマ0割り込みをイネーブルする

MOVWF

INTCON,A

LOOP

CLRWDT

;WDTを0にする

CALL IOPORT

;I/Oポート設定

GOTO

LOOP

;LOOPへ跳ぶ

;---END

;プログラムの終わり

;---START

CLRF PORTB_OUT,A

;PORTB_OUTに0を書き込む

CALL IOPORT

;I/Oポート設定

MOVLW

H'D7'

;タイマ0の設定

MOVWF

T0CON,A

;8ビット・モード、内部クロック、1:256プリスケーラ

MOVLW

D'1'

;CNTに1を書き込む

MOVWF

CNT,A

CLRF PORTB_OUT,A

;PORTB_OUTに0を書き込む

CLRF TMR0L,A

;TMRLに0を書き込む

MOVLW

H'A0'

;タイマ0割り込みをイネーブルする

MOVWF

INTCON,A

LOOP

CLRWDT

;WDTを0にする

CALL IOPORT

;I/Oポート設定

GOTO

LOOP

;LOOPへ跳ぶ

(7)

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

ソース・ファイルのコピー

配布CD-Rのなかのsourceフォルダに入ってい

る242asmフォルダをc:¥ドライブにコピーします。

242asmフォルダを開き

ます。

242asm.asmファイルを

右クリックして、メニュー

からプロパティを選択し

ます。

読み取り専用のチェック

を外して、OKをクリックし

ます。

配布CD-Rのなかのsourceフォルダに入ってい

る242asmフォルダをc:¥ドライブにコピーします。

242asmフォルダを開き

ます。

242asm.asmファイルを

右クリックして、メニュー

からプロパティを選択し

ます。

読み取り専用のチェック

を外して、OKをクリックし

ます。

(8)

MPLABのインストール

のインストール

のインストール

のインストール

MPLAB

MPLAB

のインストール

のインストール

のインストール

のインストール

のインストール

のインストール

のインストール

のインストール

配布CD-RのなかのSetupフォルダに入っている

MPL51102.exeを起動します。

起動後、Nextボタンをクリックし続けます。

インストールするフォルダはデフォルトのままにしてください。

Enterキーを押すと元に戻るダイアログがあります。

Finishボタンが表示されたら、そのボタンをクリックして

インストール完了です。

C:¥Program Files¥Mplabフォルダにインストールされます。

正常にインストールできないときは、MPL51102.exeを

ハード・ディスクにコピーして、起動してみてください。

配布CD-RのなかのSetupフォルダに入っている

MPL51102.exeを起動します。

起動後、Nextボタンをクリックし続けます。

インストールするフォルダはデフォルトのままにしてください。

Enterキーを押すと元に戻るダイアログがあります。

Finishボタンが表示されたら、そのボタンをクリックして

インストール完了です。

C:¥Program Files¥Mplabフォルダにインストールされます。

正常にインストールできないときは、MPL51102.exeを

ハード・ディスクにコピーして、起動してみてください。

(9)

MPLABの起動

の起動

の起動

の起動

MPLAB

MPLAB

の起動

の起動

の起動

の起動

の起動

の起動

の起動

の起動

スタート・ボタンを押して、スタート・メニューを表

示させます。

プログラム→Microchip MPLAB→MPLABを起

動します。

スタート・ボタンを押して、スタート・メニューを表

示させます。

プログラム→Microchip MPLAB→MPLABを起

動します。

(10)

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

デベロップメント・モードの設定

Options→Development Modeを選択します。

左下図の設定にして、OKをクリックします。

Processor:PIC18C242

MPLAB-SIM Simulatorをオン

右下図が表示されたらOKをクリックします。

Options→Development Modeを選択します。

左下図の設定にして、OKをクリックします。

Processor:PIC18C242

MPLAB-SIM Simulatorをオン

右下図が表示されたらOKをクリックします。

(11)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定(1)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

(1)

(1)

Project→New Projectを選択します。

以下の設定にして、OKをクリックします。

Directories: c:¥242asm

(c:¥をダブルクリック後、242asmをダブルクリック)

File Name: 242asm.pjt

Project→New Projectを選択します。

以下の設定にして、OKをクリックします。

Directories: c:¥242asm

(c:¥をダブルクリック後、242asmをダブルクリック)

(12)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定(2)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

(2)

(2)

Add Nodeボタンをクリックします。

Add Nodeボタンをクリックします。

(13)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定(3)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

(3)

(3)

以下の設定にして、OKをクリックします。

フォルダ: c:¥242asm

ファイル名: 242asm.asm

以下の設定にして、OKをクリックします。

フォルダ: c:¥242asm

ファイル名: 242asm.asm

(14)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定(4)

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

プロジェクトの設定

(4)

(4)

OKボタンをクリックします。

OKボタンをクリックします。

(15)

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

ソース・リストを表示する

Window→Projectを選択します。

242asm.asmをダブル・クリックします。

Window→Projectを選択します。

242asm.asmをダブル・クリックします。

(16)

アセンブル

アセンブル

アセンブル

アセンブル(1)

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

(1)

(1)

Project→Make Projectを選択します。

アセンブルがはじまり、その結果が報告されます。

エラーがないときは、最後の行に

Build completed successfully.と表示されます。

Project→Make Projectを選択します。

アセンブルがはじまり、その結果が報告されます。

エラーがないときは、最後の行に

(17)

アセンブル

アセンブル

アセンブル

アセンブル(2)

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

アセンブル

(2)

(2)

エラーがあるときはBuild failed.と報告されます。

エラー・メッセージの行をダブル・クリックするとソー

ス・リストのエラーのある行にカーソルが跳びます。

エラーを修正して、再度コンパイルしましょう。

エラーがあるときはBuild failed.と報告されます。

エラー・メッセージの行をダブル・クリックするとソー

ス・リストのエラーのある行にカーソルが跳びます。

エラーを修正して、再度コンパイルしましょう。

(18)

PICSTART Plus(1)

PICSTART Plus(1)

PICSTART Plus(1)

PICSTART PlusにACアダプタを接続して、電源

を入れます。

パソコンのシリアル・ポートとケーブルで接続しま

す。

EIA-574

PICSTART PlusにACアダプタを接続して、電源

を入れます。

パソコンのシリアル・ポートとケーブルで接続しま

す。

EIA-574

(19)

PICSTART Plus(2)

PICSTART Plus(2)

PICSTART Plus(2)

PICSTART Plus→Enable Programmerを選択

します。

以下のダイアログが表示されます。

PICSTART Plus Device Programmer

Configuration Bits

Program Memory Window

PICSTART Plus→Enable Programmerを選択

します。

以下のダイアログが表示されます。

PICSTART Plus Device Programmer

Configuration Bits

(20)

PICSTART Plus(3)

PICSTART Plus(3)

PICSTART Plus(3)

デバイスをPICSTART Plusのソケットに挿入し

ます。

PICSTART Plus Device Programmerダイアロ

グのProgramボタンをクリックします。

デバイスをPICSTART Plusのソケットに挿入し

ます。

PICSTART Plus Device Programmerダイアロ

(21)

PICSTART Plus(4)

PICSTART Plus(4)

PICSTART Plus(4)

デバイスがブランクではないときは、下図のよう

に報告されます。

紫外線消去する必要があります。

デバイスが正しくソケットに入っているかも確認しま

しょう。

デバイスがブランクではないときは、下図のよう

に報告されます。

紫外線消去する必要があります。

デバイスが正しくソケットに入っているかも確認しま

しょう。

(22)

PICSTART Plus(5)

PICSTART Plus(5)

PICSTART Plus(5)

エラーなしで書き込みできたときはSuccessと表

示されます。

エラーなしで書き込みできたときはSuccessと表

示されます。

(23)

PICSTART Plus(6)

PICSTART Plus(6)

PICSTART Plus(6)

エラーがあったときは、Failureと報告され、エラ

ー・ログ・ファイルが開きます。

エラーがあったときは、Failureと報告され、エラ

ー・ログ・ファイルが開きます。

参照

関連したドキュメント

回転に対応したアプリを表示中に本機の向きを変えると、 が表 示されます。 をタップすると、縦画面/横画面に切り替わりま

タップします。 6通知設定が「ON」になっ ているのを確認して「た めしに実行する」ボタン をタップします。.

たとえば、市町村の計画冊子に載せられているアンケート内容をみると、 「朝食を摂っています か 」 「睡眠時間は十分とっていますか」

Q-Flash Plus では、システムの電源が切れているとき(S5シャットダウン状態)に BIOS を更新する ことができます。最新の BIOS を USB

サンプル 入力列 A、B、C、D のいずれかに指定した値「東京」が含まれている場合、「含む判定」フラグに True を

父親が入会されることも多くなっています。月に 1 回の頻度で、交流会を SEED テラスに

この P 1 P 2 を抵抗板の動きにより測定し、その動きをマグネットを通して指針の動きにし、流

Q7 建設工事の場合は、都内の各工事現場の実績をまとめて 1