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

余白 : 上下 25.4mm, 左右 19mm (Word2012 での やや狭い 設定 ) マイコンプログラミング演習 I レポート 1 実験日 提出日 回路構築 /LED を用いた I/O 制御 [16pt] 班員と担当責任者第 0 班レポート作成

N/A
N/A
Protected

Academic year: 2021

シェア "余白 : 上下 25.4mm, 左右 19mm (Word2012 での やや狭い 設定 ) マイコンプログラミング演習 I レポート 1 実験日 提出日 回路構築 /LED を用いた I/O 制御 [16pt] 班員と担当責任者第 0 班レポート作成"

Copied!
6
0
0

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

全文

(1)

レポートを書く上での心得

実験レポートは,この実験を何も知らない人がこのレポート通りに実験を行って,ほぼ同じ結果が出せる程度の 完成度(実験の再現性)が求められる.そのためには教科書やスライドを丸写しするのではなく,自分で内容を 理解し,自分の言葉で書く必要がある. また,学術分野などで多少の違いはあるが,一般的なレポートおよびレジュメ等の書き方としての大まかなルー ルを以下に示す.  文章は「~である.」調で記述する.  読点・句読点は「、」「。」ではなく全角カンマ「,」と全角ピリオド「.」を使う.  数値・アルファベットは基本的に半角文字を使う.  余白は上下 25.4mm, 左右 19.0mm (Word2010 での「やや狭い」設定)とする.

 本文のフォントはサイズ 10.5pt ,全角文字は MS P明朝,半角文字は Times New Roman を使う. ※ ただし,本稿ではプログラムは文字幅や 0 と O の区別がつきやすいよう,Consolas を使っている.  節・項のタイトル,図表のキャプションの全角文字は MS ゴシック,半角文字は Arial を使う.  図や表を入れる際は,本文中に必ずその図表の説明を入れ,図表はその文章より後に載せる.  図のキャプションは下に,表のキャプションは上につける.  図の大きさや行間等は,見た目が間延びしないようにレイアウト調整する.  図表の本体とキャプションがページをまたがないようにする.  節・項の題目だけがページ末にこないようにする.  半角カンマ,半角ピリオドの後には必ず半角スペースを入れる.

(2)

実験日 2013. 4. 18 提出日 2013. 5. 9 マイコンプログラミング演習 I レポート 1

回路構築/LED を用いた I/O 制御

[16pt]

班員と担当責任者 第0班 レ ポ ー ト 作 成 : 植村 匠 プログラミング: 回 路 作 成 : 記 録 : 1. 実験の目的 マイコンシステムを用いた信号の出力の制御方法を理解する.そのために,マイコンのアーキテクチャーを理 解するとともに,アセンブラによるプログラミング技術を習得する.具体的には,LED の点灯/消灯をおこなうアセ ンブラプログラムを作成し,回路上で動作の確認を行う. 2.実験 2.1. 使用機器 本実験では以下の機材を用いて PIC プログラミングならびに電子回路の構築を行う. 使用キット: キットで遊ぼう電子回路研究委員会 編, 「キットで遊ぼう電子回路シリーズ No.5 PIC 入門アセンブラ編」, 株 式会社アドウィン, 第○版, 2006. 開発環境 PC:

メーカ名, PC 名 型番, CPU 名, ○Hz, メモリ○GB, OS(ver, XXbit), ハードウェア:

キットで遊ぼう電子回路シリーズ No.5 PIC 入門アセンブラ編 同梱キット (株式会社アドウィン) PIC Programmer (株式会社アドウィン)

ソフトウェア:

MPLAB IDE vX.XX (Microchip Technology Inc.)

DIY K128 PICmicro Programmer vXXXXXX (DIY Electronics (HK) Ltd.)

2.2. 使用するマイクロチップ 本実験で用いるマイコンチップ PIC16F84A のピンごとの役割とその制御方法を理解する. ピン配置を図 1 に,ピンの配置表を表 1 に示す. 図 1 ならびに表1において RA0~RA3 および RB0~RB7 で示される入出力端子は,プログラムで自由に入 力/出力を選択することができる.入力端子にはセンサー,スイッチなどを接続して信号を PIC 内部に取り込む ↑ 節 で は イ ン デ ン ト を 入 れ る

余白:上下

25.4mm, 左右 19mm

Word2012 での「やや狭い」設定)

項目などを羅列して書く際は半角カンマ+半角スペースで区切り, 最後は半角ピリオドをつける

(3)

ことができ,出力端子には LED, モータ,スピーカ等種々の機器・部品を接続し,それらの動作を制御すること ができる.

図 1 PIC16F84A のピン配置

(4)

2.3. 回路の構成 本実験で使用する回路の回路図と配線図をそれぞれ図 2, 3 に示す.なお回路図と配線図で LED,抵抗, PIC の接続順序が異なるが,動作上差異は生じない. 図 2 回路図 図 3 配線図 2.4.ソースコード 本実験でプログラミングしたアセンブラによるソースコードを図 4 に示す. 01 02 03 04 05 06 07 08 09 10 11 12 LIST P=PIC16F84A INCLUDE P16F84A.INC

__CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF

BSF STATUS, RP0 CLRF TRISA CLRF TRISB BCF STATUS, RP0 MOVLW B‘00001111’ ;リテラル→W レジスタ MOVWF PORTB ;W レジスタ→ファイルレジスタ LOOP GOTO LOOP END 図 4 アセンブラによるソースコード

(5)

 01~02 行目はプログラムのヘッダ部分であり、使用する PIC を 16F84A と定義し、それに該当する設定ファイ ルをインクルードする記述である。  03 行目は PIC の設定を行う記述であり、本プログラムの記述では以下のような設定となる。 _HS_OSC …発振回路の周波数を HS モード(1MHz~20MHz)にする _WDT_OFF …ウォッチドッグタイマ(暴走防止用のタイマ)を OFF にする _PWRTE_ON …パワーアップタイマ(安定起動させるためのタイマ)を ON にする _CP_OFF …プログラムメモリのコードプロテクト(外部からのアクセスを禁止する)を OFF にする  04~07 行目は PORTA, PORTB のピンの入出力設定を行う一連の記述である.それぞれのピンの入出力設定 を司るレジスタである TRISA, TRISB レジスタの設定を行うが,そのためには参照する BANK の切り替えが必要 となるため,PORTA, PORTB の設定の一連の流れは以下のようになる.

04 行… BSF 命令で STATUS レジスタのビット RP0 を 1 にし,参照 BANK を BANK0 から BANK1 に変更す る.

05 行… CLRF 命令で TRISA レジスタ内のビットを全て 0 にし,PORTA のピンを全て出力設定にする. 06 行… CLRF 命令で TRISB レジスタ内のビットを全て 0 にし,PORTB のピンを全て出力設定にする. 07 行… BSF 命令で STATUS レジスタのビット RP0 を 0 に設定し,参照 BANK を BANK1 から BANK0 に

戻す.

 08, 09 行目は PORTB の RB0~RB3 から出力を行うための命令である.まずは 2 進数列 00001111 を MOVLF 命令で W レジスタに格納したのち,MOVWF 命令で W レジスタの値を PORTB レジスタに格納する.PORTB レジスタ内に格納されたビット列 00001111 は,下位ビットからそれぞれ RB0~RB7 に対応しているため,この 2 行の命令で RB0~RB3 のピンから信号が出力される記述となる.  10, 11 行目は現状態を維持するための無限ループの処理であり,LOOP というラベルをつけ,次行の GOTO 命 令で LOOP ラベルへと戻ることでループを行っている.  12 行目では END 命令でソースの終了を定義している. ※ 2 回目のレポートからは同一要素は簡略化して書いて可.ただし,新しく出てくる命令文や処理内容につい ては詳しく記入するほか,処理の流れがわかるように解説をすること. 2.5. 実験結果と考察 図 2, 3 で示す回路構成ならびに図 4 で示すソースコードを用いて実験を行った結果,プログラムソースの意 図する通り PORTB の RB0~RB3 にそれぞれ接続した LED の点灯を確認することができた.ただ,接続された LED のうち 1 つだけがほかの LED よりも輝度が低かったが,これは PIC チップの不具合,もしくは配線の抵抗 などによる誤差だと推測される.※このように,何かしらのトラブルが起こった際はその詳細まで記すこと.

3.課題

課題(1):MOVLW B'00001111' を次のように書き替えると,動作はどう変化するか. MOVLW B'00001010‘

(6)

解答(1): 本プログラムではリテラルの 2 進数列’00001111’は下位ビットからそれぞれ RB0~RB7 へと渡される ため,’00001010’に変更した場合 RB1 ならびに RB2 に接続した LED のみが光る.

課題(2):LED を PIC の RA0~RA3 のポートに接続しなおすならば,プログラムは "MOVWF PORTB" をど のように書き替えればよいか.

解答(2):RA0~RA3 は PORTA であるので,"MOVWF PORTA"に換えることで W レジスタ内のデータを PORTA に渡すことができる. 参考文献 [1] キットで遊ぼう電子回路研究委員会 編, 「キットで遊ぼう電子回路シリーズ No.5 PIC 入門アセンブラ編」, 株式会社アドウィン, 初版, 2006. [2] 著者名, 「書籍名」, 出版社名, 第○版, 出版年. [3] 制作者名, web ページ名, http://~~~~~ [4] H25 年度マイコンプログラミング演習配布資料. ※理由などをきちんと踏まえて文章で解答を書くこと.また何が何に対してどうするため…といった 主語,述語,修飾語をはっきりとさせること. ※理由などをきちんと踏まえて文章で解答を書くこと.また何が何に対してどうするため…といった 主語,述語,修飾語をはっきりとさせること.

図 1 PIC16F84A のピン配置

参照

関連したドキュメント

 第一の方法は、不安の原因を特定した上で、それを制御しようとするもので

SVF Migration Tool の動作を制御するための設定を設定ファイルに記述します。Windows 環境 の場合は「SVF Migration Tool の動作設定 (p. 20)」を、UNIX/Linux

スライド5頁では

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

・蹴り糸の高さを 40cm 以上に設定する ことで、ウリ坊 ※ やタヌキ等の中型動物

(a) ケースは、特定の物品を収納するために特に製作しも

(※1)当該業務の内容を熟知した職員のうち当該業務の責任者としてあらかじめ指定した者をいうものであ り、当該職員の責務等については省令第 97

これらの船舶は、 2017 年の第 4 四半期と 2018 年の第 1 四半期までに引渡さ れる予定である。船価は 1 隻当たり 5,050 万ドルと推定される。船価を考慮す ると、