...

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

by user

on
Category: Documents
16

views

Report

Comments

Transcript

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