トレーナー2号機を作ってみました。(工事中!) 
   前回のトレーナーの機能を縮小し、基板のサイズをコンパクトにしたトレーニングボードを
   製作しました。
   2001年に実施した校内の教員向け講習会用トレーナー2号機の製作記事です。

1.まずはこのような回路図を考えて、作ってみました。 

学校の職員にPICを使って制御を行った先生がいないようだったので、普及させようとしました。
そこで、下の写真の回路を作り、目的動作ができるようなプログラムを組む講習会を開催しました。

  PIC16F84を使用する前提で回路を考えましたので、
  5本あるPORTAのうち2本をLED(緑・黄色)、3本をディップスイッチに接続しました。
  また、8本あるPORTBは、すべて赤色のLEDに接続しました。

  発振回路はセラロックを用い、10MHzのクロックパルスで動作させています。
  また、マスタークリア端子(MCLR)は、抵抗でプルアップしてあります。


2.完成した回路。

  完成したものは次のようになります。とてもシンプルですよね・・・。




  実際に講習会で使ってみてわかった
  この回路の問題点は・・・

  1.電源スイッチが無い!
  2.電池スナップを電池ホルダに
    接続する際に、あやまって反対向きに
    はめようとすると壊れる。
  3.PICの抜き差しをする時に、慣れてない
    人には不向き。
    挿すのは良いとしても、はずしにくい。
  4.スイッチを安価に済ますため、デイップ
    スイッチを使用しているが、これが使い
    にくい。
  





  簡単にいえば、普段電子回路の製作などに携わっている人には問題ないが、電子工作
  の初心者にとっては優しくない回路ということでした・・・。
 

   これには反省するばかりであった。

 ちなみに、学校での講習会そのものは大勢の先生に参加していただき、大盛況であった。
 秋月電子の初期型のPICライターを使用していたこともあり、プログラミング言語も秋月電子のアセンブラを
 使用して実施した。


3.サンプルプログラム

 講習会では、3つのスイッチの状況を読み取り、LEDを点灯・消灯させるプログラム、
 またタイマ・サブルーチンを作って点滅するような制御プログラムを作成していきました。

動作内容:

SW1がON(0) 赤色LEDの左4つを点灯。右4つは消灯。
SW1がOFF(1) 赤色LEDの左4つを消灯。右4つは点灯。
SW2がON(0) 緑色のLEDを点灯。
SW2がOFF(1) 緑色のLEDを消灯。
SW3がON(0) 黄色のLEDを消灯。
SW3がOFF(1) 黄色のLEDを点灯。

 ※ SWは、ONにすると「0」が入力され、OFFの時に「1」が入力されます。

プログラムリスト:

;**********************************************************
;
; PIC BORD TEST PROGRAM No.1
;
; 2000.7.7 BY T.H.
;
; PIC_PROG1.asm PIC-PROG1.HEX
;
;**********************************************************

   LIST P=16F84

   ; Include file, change directory if needed
   INCLUDE "P16F84.inc"

   __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON


WK1 EQU 0x20
WK2 EQU 0x21
WK3 EQU 0x22
OUTDATA EQU 0x23

   ; Start at the reset vector
    org 0x000

    CLRF PORTA
    CLRF PORTB

START BSF STATUS,RP0 ;syokika
    MOVLW 0x1C
    MOVWF TRISA
    MOVLW 00H
    MOVWF TRISB
    BCF STATUS,RP0

    CLRF PORTA

;-----------------------------------------

LOOP  BTFSS PORTA,2
    GOTO P2
P1   MOVLW 0x0F
    MOVWF PORTB
    GOTO P3
P2   MOVLW 0xF0
    MOVWF PORTB
 
P3   BTFSS PORTA,3
    GOTO P5
P4   BCF PORTA,0
    GOTO P6
P5   BSF PORTA,0

P6   BTFSS PORTA,4
    GOTO P8
P7   BSF PORTA,1
    GOTO P9
P8   BCF PORTA,1

P9   GOTO LOOP


   END

注意!:このリストでは全角スペースを使って表現していますので、
     コピーして利用するとエラーが発生します。
     全角スペースを半角スペース2つに置換してご利用下さい。