以上、講師担当(文書化をする)

マイコン入門実践教育プロセス
説明
第4システム部 ES443
塩島秀樹
発表内容
• 新人・待機要員 教育方法
• PIC開発トレーニングキット
• PICの特徴
• PICのスペック
• 教育スケジュール
• <簡易マイコン講座>内容
新人・待機要員 教育方法
• OJT
• マイコンメーカーの講習会
• ICE、開発環境整備
• 社内講習
費用、状況の制限があり困難!!
PIC開発トレーニングキット
• 大学、企業で教育用に広く使われている
PICマイコンを使用したデジタル回路機器を
間単に開発できるキット
PIC16F84
PICの特徴
•
•
•
•
•
•
•
•
•
•
Microchip Technology社製 RISC
安価
小型で外付け部品が少ない
電源とクリスタルをつなげば即動作
オールインワンのマイコンチップ
メモリも入出力回路も1個のICに同居
メモリがEEPROM
開発用のソフト(Cコンパイラ)がフリーソフトで入手可能
ROMライタも簡単に自作可能(市販品も安い)
アセンブラ命令数が少ない(35命令)
PICのスペック
PIC16F84
プログラムメモリ( ワード)
1 K Flash
18 ピン フラッシュ/EEPROM 8 ビット マイクロコントローラ
データRAM( バイト)
68
データEERPOM( バイト)
64
最大周波数 (MHz)
10
・命令数: 35命令 シングルワード
・割り込みソース:
- 外部 RB0/INT ピン
- TMR0 タイマーのオーバーフロー
- PORTB<4:7> ピン変化による割り込み
- データ EEPROM の書き込み完了
・フラッシュプログラムメモリの消去/ 書き込みサイクル :1000 回
RA0~RA3
I/Oピン
RA4
I/Oピン・Timer0入力・オープンドレイン出力
Vss・Vdd
電源
RB0
I/Oピン・外部割込み入力
RB1~RB7
I/Oピン
OSC1
クロック入力
OSC2
クロック出力
・EEPROM データメモリの消去/ 書き込みサイクル :10,000,000 回
・EEPROM データ保持 > 40 年
・I/O ピン数:13 ( ピンごとに入出力設定可能)
・シンク/ ソース電流( LED 直接駆動可能)
- 1 ピンごとに最大シンク 25 mA
- 1 ピンごとに最大ソース 20 mA
・TMR0: 8 ビット タイマー/ カウンタ プログラマブル 8 ビットプリス
ケーラ付き
・動作電圧範囲 : 2.0V to 6.0V
教育スケジュール(案)
(複数グループ)
• 簡易マイコン講座
• 教育プロセス概要説明
• 製作する装置を検討、決定
• 工数見積り
- 設計
- コーディング
- テスト・デバッグ
• 実作業(設計/コーディング/テスト)
• 作品発表会
以上、講師担当(文書化をする)
以下、実践
(~1w)
(~2w) (予備3d)
(~1d)
<簡易マイコン講座>内容
• IOポート
• AD変換入出力
• シリアル通信
• タイマ
• 割込み
•RTOSはやらない(E-Learning化)
IOポート
入力(Input)
• ハード的には・・・
+5V
• ソフト的には・・・
PIC
7
6
5
4
1
R
7
PA0 (5V)
6
5
4
0
3
1
3
0
2
1
2
0
PA1 (0V)
1
1
1
0
0
1
0
1
入出力方向
制御レジスタ
PADIR
データ・レジスタ
PA
PA2 (0V)
PA3 (0V)
PA4 (0V)
・制御レジスタの設定は、基本的に初期化時
・データレジスタは、初期化と処理中にRead
例)
#define pa_dir (* 0x04001000)
#define pa_data (* 0x04001008)
R
unsigned char data1;
GND
(0V)
pa_dir = 0x1F;
//PA0~4を入力に設定
data1 = pa_data; //データ・レジスタ値:0x01
IOポート
出力(Output)
• ハード的には・・・
+5V
• ソフト的には・・・
PIC
7
6
5
4
0
3
0
2
0
1
0
0
0
入出力方向
制御レジスタ
PADIR
R
7
6
5
4
1
PA0 (0V)
3
1
2
0
1
0
0
0
データ・レジスタ
PA
PA1 (0V)
PA2 (0V)
PA3 (5V)
PA4 (5V)
・制御レジスタの設定は、基本的に初期化時
・データレジスタは、初期化と処理中にWrite
例)
#define pa_dir (* 0x04001000)
#define pa_data (* 0x04001008)
pa_dir = 0x00; //PA0~4を出力に設定
pa_data =0x18; //PA0~2をLow、PA3,4をHigh
これから作ります・・・
• AD変換入出力
• シリアル通信
• タイマ
• 割込み