特殊工作室(2004/03/21) PIC

ちょっと体験しておきましょう、というわけでPICで遊んでみました。秋月のPICライタを買ってきて、それに付いてくる物を使います。PICチップは16F84、ソフトもMicroChip社から出ているものではなく、PICライタの付属ソフトを使いました。Windows XPで使えるかちょっと心配でしたが、杞憂のようでした。

最初はやはりネオンサインゲーム(この誤解を招く名前)でしょう、というわけでLED点滅です。さっそくプログラムを書いてみようとしましたが、この命令体系はいったい?と思ってしまいました。命令数が少なければいいというわけではないと思うのですが・・・

独自路線をあきらめて、[1]の最初のプログラムを簡略化して次のようなものを作りました。ポートBにLEDをつなぎます。ふつうに考えると、こんな時間待ちのないプログラムでいいのかと思うところですが。

        include 16f84.h

        .osc    lp
        .wdt    off

        org     0
        goto    start

start
        clr     rb
        mov     !rb, #0

main
        mov     w, #01010101b
        mov     rb, w
        mov     w, #10101010b
        mov     rb, w
        goto    main

これをアセンブルして、PICに書き込みました。実行は、前から使っているサンハヤトのICトレーナCT-311(下図)で行います。これにはクロック発生回路があって、1KHzと1Hz(!)のクロックを出力できます。今回はこの1Hzを使います。PICでは基本的に4クロックで1命令を実行するので、その実行に4秒かかることになり、上記のような時間待ちのないプログラムでも全く問題ありません(というより、実行が遅すぎ)。そういうわけで、上記プログラムで.oscをlpにしました。

まあ予定通り動いたわけですが、私はPICと相性が悪い予感が・・・

雑感

そ〜いえば、ずいぶん昔にZ-80のクロックを1Hzにしたものを見せてもらったことがあったのを思い出しました。当時のマイコンはバスにいろいろ信号を出したので、「M1サイクルが始まった〜」なんて言っていたような記憶があります。

参考文献

  1. 遠藤敏夫, わかるPICマイコン制御, 誠文堂新光社, 2001

ホーム 特殊工作室