レポートを書く上での心得 実験レポートは,この実験を何も知らない人がこのレポート通りに実験を行って,ほぼ同じ結果が出せる程度の 完成度(実験の再現性)が求められる.そのためには教科書やスライドを丸写しするのではなく,自分で内容を 理解し,自分の言葉で書く必要がある. また,学術分野などで多少の違いはあるが,一般的なレポートおよびレジュメ等の書き方としての大まかなルー ルを以下に示す. 文章は「~である.」調で記述する. 読点・句読点は「、」「。」ではなく全角カンマ「,」と全角ピリオド「.」を使う. 数値・アルファベットは基本的に半角文字を使う. 余白は上下 25.4mm, 左右 19.0mm (Word2010 での「やや狭い」設定)とする. 本文のフォントはサイズ 10.5pt ,全角文字は MS P明朝,半角文字は Times New Roman を使う. ※ ただし,本稿ではプログラムは文字幅や 0 と O の区別がつきやすいよう,Consolas を使っている. 節・項のタイトル,図表のキャプションの全角文字は MS ゴシック,半角文字は Arial を使う. 図や表を入れる際は,本文中に必ずその図表の説明を入れ,図表はその文章より後に載せる. 図のキャプションは下に,表のキャプションは上につける. 図の大きさや行間等は,見た目が間延びしないようにレイアウト調整する. 図表の本体とキャプションがページをまたがないようにする. 節・項の題目だけがページ末にこないようにする. 半角カンマ,半角ピリオドの後には必ず半角スペースを入れる. 余白:上下 25.4mm, 左右 19mm (Word2012 での「やや狭い」設定) 実験日 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 内部に取り込む ことができ,出力端子には LED, モータ,スピーカ等種々の機器・部品を接続し,それらの動作を制御すること ができる. 図 1 PIC16F84A のピン配置 表 1 PIC16F84A の各ピンの機能 2.3. 回路の構成 本実験で使用する回路の回路図と配線図をそれぞれ図 2, 3 に示す.なお回路図と配線図で LED,抵抗, PIC の接続順序が異なるが,動作上差異は生じない. 図 2 回路図 図 3 配線図 2.4.ソースコード 本実験でプログラミングしたアセンブラによるソースコードを図 4 に示す. 01 LIST 02 INCLUDE P16F84A.INC 03 __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF 04 BSF STATUS, RP0 05 CLRF TRISA 06 CLRF TRISB 07 BCF STATUS, RP0 08 MOVLW B‘00001111’ ;リテラル→W レジスタ 09 MOVWF PORTB ;W レジスタ→ファイルレジスタ 10 P=PIC16F84A LOOP 11 GOTO 12 END LOOP 図 4 アセンブラによるソースコード 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‘ 解答(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 年度マイコンプログラミング演習配布資料.
© Copyright 2024 Paperzz