マカロニペンギンの健忘録

特にテーマを決めているわけじゃないが、私が気になったことを書いていく予定です。

[つくれぽ]PIC MicroControllerに秋月のLCDをつなげてみた

2021年10月24日 | 電子工作
つくれぽ(※1)です。
出典はeloctroSomeというサイトのInterfacing LCD with PIC Microcontroller – MPLAB XC8というページ。
このサイトではPICは16F877Aを使用していますが、私は16F84しか持っていなかったので、そこのところを修正しています。
あと、lcd.hをインクルードしてください。
プログラムの最初の部分のみ掲載します。残りの部分は上記のサイトを参考にしてください。
#define _XTAL_FREQ 10000000
// PIC16F84 Configuration Bit Settings
// 'C' source line config statements
// CONFIG
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (Power-up Timer is disabled)
#pragma config CP = OFF // Code Protection bit (Code protection disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#define RS RB0
#define EN RB1
#define D4 RB5
#define D5 RB2
#define D6 RB4
#define D7 RB3
#include <xc.h>
#include "lcd.h"









※1:私の解釈での「つくれぽ」=クッキングレシピ紹介サイトで公開されているレシピを読者が自分で作ってオンライン上で作った料理をレポートすること。そしてレシピを紹介してくれた人への感謝を表すること。


久しぶりにPIC MicroControllerの世界へ

2021年10月16日 | 電子工作
 娘の宿題がPIC MicroControllerでのプログラミングだった。結局、ニッチもサッチもいかないので開発環境だけでも整えようと現在のPICの状況の把握から始まった。
 私がPICを知ったのはArduinoよりもかなり昔で、開発環境はアセンブラだった。 当時はこれしかなかった。 ライターも当時の私にとっては正規品は値段が高く、秋月のキットをはんだ付けして作って使う方法しかなかったのだが、組み立てて書き込みもした。 しかし、そのライターもいつの間に使えなくなってしまった。(今回、この壊れた原因も偶然にもネット検索をしていたらわかったのだが・・・)
 現在、PICの開発環境はアセンブラだけではなく、C言語が使えるようになっていた。それもXC8というらしい。(もっと言っちゃうとその前にもう一つC言語のバージョンがあったらしい)
 今回、ライターは「正規品風のコピー品」をアマゾンで購入した。 ネットを読んでいるとコピー品はちゃんと使えるものと使えないものがあるそうだが、とりあえず使えると言われているそっくりさんを買った。

 今回、娘の学校の先生もなかなかの根性のある方なのか、それとも新しいものを良しとしない方なのかわからないが、いまだにアセンブラを使用している。ブレない根性、ある意味すごい!! 
 しかし、私にはアセンブラがわからない、というか思い出せない、昔の本を引っ張り出して読んでみても理解できない。(別にC言語が得意なわけでも、他にこの言語を使ってくれという得意な言語があるわけではないのだが、正直アセンブラよりはC言語のほうが良いと思うなぁ。)

 Microchipにはもう少し無料で読めるドキュメントを希望します。それからLCDのライブラリーが見つかりません。きっとこれは1から作れってことですよね。作ってオープンソースで公開するのがベストなんでしょうね。

とりあえず、組み込み技術者のための MPLAB® XC8ユ ーザガイドを参考にしてLチカがんばります。

追記、Lチカできました。
しかし、参考にしたのは上記のチュートリアルではなくってGetting Started with MPLAB XC8 Compiler – LED Blinkingです。当然、Google翻訳のお世話になっています。 私が使ったのはPIC16F84と箱の奥の方に眠っていた文字が読めないセラロックです。
しかし、動作が不安定でした。MCLR端子を5Vにつないだら安定しました。参考までに