Microsoft PowerPoint - 工学ゼミⅢLED1回_2018

28 

Loading....

Loading....

Loading....

Loading....

Loading....

全文

(1)

工学ゼミⅢ

「安全・環境活動に役立つ

LEDイルミネーションの製作」

第1回

(2)

1.概要

3~5名の学生グループで安全・環境活動に

役立つLEDイルミネーションを作製する。

作品のデザイン画や部品リスト、回路図、動

作フロー図等は事前に作成し、計画的に作業

を行うことが求められる。

(3)

2.達成すべき目標

作品に係る資料を事前にまとめ、それに

基づいて製作が行える。

集団の中で、自身の知識・技術を積極的

に応用しながら、実用的でオリジナルな作

品を導くことができる。

(4)

3.制限条件

電子部品(LED, マイコン, ユニバーサル基板,

配線コード, 電池, 電池ボックス)は支給され

たものを使用すること。

外観に使用する部材は1グループあたり

1,000円までの経費(自己負担)を認める。

その他

-作品の製作過程はiPadで写真を撮り、中間

発表や最終発表で活かすこと。

(5)

6.スケジュール

第1回 ガイダンス;サンプル作品の紹介。グループを編成し、 担当や作品のコンセプトを決める。 担当:リーダー、設計、部品調達、製作(加工/プログラミング) 第2回 設計①;作品のデザイン画、部品リスト、回路図、 動作フロー図をまとめる。 第3回 設計②;上記の資料をTAにチェックしてもらい、 指摘事項を修正する。 第4回 製作① 第5回 中間発表;1グループあたり3分程度で現在の進捗 状況を発表する。 第6回 製作② ※30秒の作品紹介ビデオを作成し、発表会 2日前までにコンテンツサーバへアップロードする。 第7回 発表会;各グループが作成した作品紹介のビデオを 上映する。 第5回と第7回は「S2-8」に集合、それ以外は「情報電子実験室」

(6)
(7)

PICマイコン?

-ピン配置-LEDの点灯制御に利用 RA0からRA7(PORTA) RB0からRB7(PORTB) RC0からRD7(PORTC) RD0からRD7(PORTD) RE0からRE2(PORTE) ※RE3は使用できない VDDは電源(電池)の+、 VSSは-側に!

(8)

LEDの点滅を制御する(回路)

L11 L12 SW1 3V

(1)スイッチの操作

(2)PICマイコンのポート出力を利用

(9)

LEDの点滅を制御する(プログラム)

RA0 RA5 RA2 RA3 RA4 RA1 RA0 RA5 RA2 RA3 RA4 RA1

MOVLW

B’00000

1

00’

MOVWF

PORTA

MOVLW

B’000

11

00

1

MOVWF

PORTA

例1)RA2に接続したLEDを点灯、その他は消灯

例2)RA0, RA3, RA4に接続したLEDを点灯、その他は消灯

RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0

PORTAは以下のRA7からRA0の8つのポートに出力する 値をまとめている

(10)

PICマイコンのプログラム作成手順

① プログラム設計(動作フロー図の作成)

② コーディング(ソースファイル

***.ASMの作成)

③ アセンブル(オブジェクトファイル

→ ヘキサファイル ***.HEXの作成)

④ シミュレーション(誤りの検出)

PICライターを使用してマイコンにプログラムを

書き込む

⑥ 実機のテスト

プログラム 開発環境

(11)

イルミネーション製作の手順(推奨)

1.担当、作品の基本コンセプトを決める(本日)

2.作品のデザイン画、部品リスト、回路図、動作フロー図

をまとめる(次回)

3.回路図と動作フロー図をもとに各時刻の

LED点滅デー

タをポートごとに整理する(各ポートの出力パターン表

を作成)

4.各ポートの出力パターン表をもとにコーディング

(12)

アセンブラ命令語

■ バイト処理命令; バイト(8ビット)の値を処理

1)加算 (UAはユーザが設けたデータ格納レジスタ)

ADDWF UA, 0 ; W = W+UA ADDWF UA, 1 ; UA = W+UA

(0とすると加算結果をWレジスタに保存) 2)論理積 ANDWF UA, 0 ; W = W & UA 3)値をゼロクリア CLRF UA ; UA=0 CLRW ; W=0

(13)

4)値(0, 1)の反転 COMF UA , 1 ; UA = UA ^ 0xFF 5)値を1減らす DECF UA , 1 ; UA = UA-1 6)値を1減らし、0になったら次の命令をスキップ DECFSZ UA, 1 ; UA = UA –1 IF (UA==0) SKIP GOTO KURIKAESHI ; RETURN ; サブルーチンから戻る

(14)

7)値を1増やす INC UA, 1 ; UA = UA + 1 8)値を1増やし、0になったら次命令をスキップ INCFSZ UA, 1 ; UA = UA +1 ; IF (UA==0) SKIP; 9)論理和 IORWF UA, 1 ; UA = W | UA 10)データの移動(コピー)

MOVF UA, 0 ; W = UA (UAの値をWへ)

(15)

11)何もしない NOP 12)1ビット左シフト RLF UA, 1 ; UA=‘01000000 ’, C=1(キャリー) とすると、 UA=‘10000001’, C=0 になる 13)1ビット右シフト RRF UA, 1 ; UA=‘01000000 ’, C=1(キャリー) とすると、 UA=‘10100000’, C=0 になる

(16)

14)減算

SUBWF UA, 1 ; UA = UA – W

15)上位4ビットと下位4ビットの値を入れ替え

SWAPF UA, 1 ; UA=‘01010000 ’とすると、 UA=‘00000101’

16)排他的論理和

(17)

■ ビット処理命令 1)あるビットをゼロにする BCF INTCON, 7 ; INTCONレジスタの7ビット をゼロ 2)あるビットを1にセットする BSF STATUS, 5 ; STATUSレジスタの5ビット を1にする * INTCONやSTATUSレジスタは「特殊レジスタ」。 予め機能が定められている。 IRP RP1 RP0 TO RD Z DC C bit8 bit1 1-ゼロ 0-ゼロではない Statusレジスタの機能 1-桁上り,桁下りあり 0-なし

(18)

3)ビット検査命令

BTFSC UA, 3 ; UAの3ビットを調べ、ゼロ(クリア) だったら、次の命令をスキップ

BTFSS UA, 3 ; UAの3ビットを調べ、1(セット) だったら、次の命令をスキップ

(19)

■ リテラル命令; 定数を伴う演算 1)加算 ADDLW 34H ;W = W + 34H 2)論理積 ANDLW 45H ; W = W & 45H 3)論理和 IORLW 56H ; W = W | 56H 4)定数の読出し(移動) MOVLW 78H ; W = 78H * Hが付いている場合は値が16進数表記

(20)

5)減算

SUBLW 89H ; W = 89H – W 6)排他的論理和

XORLW 9AH ; W = W ^ 9AH

■ CPU動作モード設定・解除 1)ウォッチドックタイマクリア

CLRWDT

2)スリープモード設定 SLEEP

(21)

■ ジャンプ命令

1)サブルーチンの呼び出し

CALL SUB1 ;サブルーチンSUB1を呼び出し

*サブルーチンSUB1内のRETURN命令が実行されると、 CALLの次に記述した命令が実行される。

2) 指定ラベルへジャンプ

GOTO SAKURA ; ラベルSAKURAやジャンプ

3)サブルーチンから戻る

RETURN

RETLW k (Wにkを格納して戻る) RETFIE (割込み利用の場合)

(22)

8-3-2.プログラムの形式 (資料pp.5-6) スタート 初期設定 B’11111111’ →(PORTA) B’11111111’ →(PORTB) B’11111111’ →(PORTC) B’11111111’ →(PORTD) B’11111111’ →(PORTE) B’00000000’ →(PORTA) B’0000000’ →(PORTB) B’0000000’ →(PORTC) B’0000000’ →(PORTD) B’0000000’ →(PORTE) 1秒待ち 1秒待ち

(23)

8-3-2.プログラムの形式 (資料pp.5-6) スタート 初期設定 B’11111111’ →(PORTA) B’11111111’ →(PORTB) B’11111111’ →(PORTC) B’11111111’ →(PORTD) B’11111111’ →(PORTE) B’00000000’ →(PORTA) B’0000000’ →(PORTB) B’0000000’ →(PORTC) B’0000000’ →(PORTD) B’0000000’ →(PORTE) 1秒待ち 1秒待ち LOOP MOVLW B'11111111' MOVWF PORTA MOVWF PORTB MOVWF PORTC MOVWF PORTD MOVWF PORTE CALL WAIT0 ※Wレジスタを介して目的の ポートへデータを出力

(24)

8-3-2.プログラムの形式 (資料pp.5-6) スタート 初期設定 B’11111111’ →(PORTA) B’11111111’ →(PORTB) B’11111111’ →(PORTC) B’11111111’ →(PORTD) B’11111111’ →(PORTE) B’00000000’ →(PORTA) B’0000000’ →(PORTB) B’0000000’ →(PORTC) B’0000000’ →(PORTD) B’0000000’ →(PORTE) 1秒待ち 1秒待ち LOOP MOVLW B'11111111' MOVWF PORTA MOVWF PORTB MOVWF PORTC MOVWF PORTD MOVWF PORTE CALL WAIT0

(25)

8-3-2.プログラムの形式 (資料pp.5-6) スタート 初期設定 B’11111111’ →(PORTA) B’11111111’ →(PORTB) B’11111111’ →(PORTC) B’11111111’ →(PORTD) B’11111111’ →(PORTE) B’00000000’ →(PORTA) B’0000000’ →(PORTB) B’0000000’ →(PORTC) B’0000000’ →(PORTD) B’0000000’ →(PORTE) 1秒待ち 1秒待ち LOOP MOVLW B'11111111' MOVWF PORTA MOVWF PORTB MOVWF PORTC MOVWF PORTD MOVWF PORTE CALL WAIT0

(26)

8-3-2.プログラムの形式 (資料pp.5-6) スタート 初期設定 B’11111111’ →(PORTA) B’11111111’ →(PORTB) B’11111111’ →(PORTC) B’11111111’ →(PORTD) B’11111111’ →(PORTE) B’00000000’ →(PORTA) B’0000000’ →(PORTB) B’0000000’ →(PORTC) B’0000000’ →(PORTD) B’0000000’ →(PORTE) 1秒待ち 1秒待ち MOVLW B‘00000000‘ MOVWF PORTA MOVWF PORTB MOVWF PORTC MOVWF PORTD MOVWF PORTE CALL WAIT0

(27)

プログラムメモリマップ データメモリマップ

※数値データの表記 10進 D’10

16進 H’10または10H 2進 B’00001010‘

(28)

<参考書・ホームページ>

1.角山正博

, 佐藤栄一; コンピュータの基礎, 青山社,

2013.

2.

http://www.picfun.com/ , 電子工作の実験室,

後閑

.(PICマイコンの機能やプログラミングに

ついて解かりやすく解説

)

3.

http://www.microchip.co.jp/ , マイクロチップテクノ

ロジージャパン

.(MPLABやPIC16F1939などの

データシートをダウンロード可能

)

4.

http://esato.net/ex/micom/

, PICマイコンによるLED

イルミネーション製作,佐藤

.(コーディングや

シミュレーションの操作手順を写真入りで説明

)

Updating...

参照

Updating...

関連した話題 :