MPLABX XC8 PIC16F84A 例題4
今回からPICをPIC16F84Aに変更しました。(PIC16F84とは最高クロックの違いだけです。) 例題4としてLCD1602に文字を表示するプログラムを試しました。 回路図です。クロックは10MHzとしました。 ブレッドボードに文字が表示された様子です。LCD1602が手持ちがなかったので、LCD2004を使っています。...
View Articleストレートキーコンテストに参加
今日15時から21時までの第3回A1 CLUB STRAIGHT KEY コンテストに参加しました。 15時、コンテストのスタートは、7MHzからです。 お空のコンディションは、秋というより初冬の感じです。3,4,5,6,8エリアが主に聞こえます。1,2,7,8,9,0エリアはまり聞こえません。バンドの低い方にレーダーノイズとおぼしきノイズがあり、BFなコンディションでした。...
View ArticleMPLABX XC8 PIC16F84A 例題5
MPLABX XC8の勉強は、少しずつ進んでいます。 今回は、PIC16F84Aで7セグメントLEDの表示テストをします。 プログラムは、こちらのサイトを参考にさせていただきました。 回路図です。 各セグメントとPICの接続は RB0 -- a RB1 -- b RB2 -- c RB3 -- d RB4 -- e RB5 -- f RB6 --...
View ArticleMPLABX XC8 PIC16F84A 例題6
MPLABX XC8 でPIC16F84Aを使って、今まで勉強したことを応用して、ラーメンタイマー(3分タイマー)を作ってみました。 表示は7セグメントLEDを使い、スタートボタンを押すと3分(3.00表示)から1秒ごとにカウントダウンし、0.00になったら、ピピピ ピピピとブザーを鳴らします。リセットを押すとまた3.00に戻ります。(スタートボタンは、もう一度押すとカウントストップします)...
View ArticlePIC16F628A Blink
今回からPICの品種をPIC16F628Aに変更します。 このPICのファミリーは、627A, 628A,648Aの3種類あります。違いは、フラッシュメモリとEEPROMの容量の違いです。 PIC16F628Aは、これまで使っていたPIC16F84(84A)に比べると多くの機能をもっています。その分、CONFIをはじめ、様々な設定が必要になります。...
View ArticlePIC16F628A シリアル通信テスト
PIC16F628AのUSARTを使ってシリアル通信を行います。 MPLAB IDE アセンブラで既に経験済みですが、MPLABX XC8では、どのようなプログラムになるのでしょうか。 シリアル通信のTX(送信)は、7番ピン(RB1)で、RX(受信)は、8番ピン(RB2)で、両方ともTRISは入力設定(1)にします。...
View Articleオータムポエム
我が家の家庭菜園は、トマト、ナス、ピーマンなどの後始末が終わり、残すはオータムポエム(アスパラ菜)だけになりました。 とり残したルッコラが大きくロゼット葉を広げています。このまま冬を越します。 オータムポエムは、アブラナ科の植物で、花はアブラナそっくりです。 花が咲いたところを茎からポキッと折って収穫します。おひたしにするとやわらかくて、おいしいです。...
View ArticlePIC16F628A PWMテスト
PIC16F628Aを使ってPWM(Pulse Width Modulation)のテストをやってみます。 Arduinoでは、簡単にPWMが使えますので、PWMを使った経験があるのですが、PICでは初めてなので、WebサイトやPIC16F628Aの説明書を見て、その構造と方法がある程度できました。(完全に理解したわけではありません。Hi)...
View ArticlePIC16F628A PWM 音階発生
PIC16F628AのPWMを利用して、ドレミファソラシドの音階を発生させてみます。 周波数の精度を上げるために、クロックは、1MHzのクリスタルオシレータを使った外部発振としました。 発生させたPWMは、RB3ピンに圧電ブザー(圧電スピーカー)を直付けして聞いてみます。 回路図です。 ブレッドボードです。 プログラムです。#include <xc.h> #include...
View ArticlePIC16F628A周波数カウンタ
MPLABX XC8環境で、PIC16F628Aで周波数カウンタを作ってみます。 PIC16F88/PIC16F648A周波数カウンタは、既にアセンブラで製作し、私のホームページ(JH7UBCホームページ)に記事を掲載しています。 また、PIC16F628AとPIC15F883を使った7セグメントLED表示の周波数カウンタについてもホームページに記事を掲載しています。...
View Article家庭菜園 今年のまとめ
我が家の家庭菜園では、相変わらずオータムポエムが数日おきに収穫できます。 今年の家庭菜園の結果をまとめておきます。(収穫数はその都度記録しています。暇ですねー) ハツカダイコン 973本 ルッコラ 647 コマツナ 422 ホウレンソウ 95 ナス 2084 トマト 1297 ピーマン 575 ケール 306 オクラ 235...
View ArticlePIC16F88 Blink
今回からPICの品種をPIC16F88に変更して、MPLABX XC8の勉強をしていきます。 PIC16F88は、発売されてからずいぶん経ちますが、DAコンバータ以外の機能をほとんど持っていて、今でも十分通用する強力なPICです。 まずは、Lチカをやってみます。 回路図です。 内部クロックを使うことにします。この設定は、まずCONFIGで FOSC = INTOSCIO とします。...
View ArticlePIC16F88 シリアル通信とファイルの分割
MPLABX XC( 環境で、PIC16F88のシリアル通信テストとファイルの分割をやってみます。 PICでのシリアル通信は、PIC16F628Aシリアル通信テストですでに行いました。PIC16F88のシリアル通信ピンは、PIC16F628Aと若干異なります。パソコンとの接続は、USBシリアル変換モジュールFT234Xを使います。...
View ArticlePIC16F88 ロータリーエンコーダその1
MPLABX XC8でロータリーエンコーダを使うプログラムをテストします。 ロータリーエンコーダの使い方としては、割り込みを使う方法と使わない方法があります。 今回は、割り込みを使わない方法をテストします。wsnakのブログに掲載されているArduino用のプログラムをXC8用に移植し、若干の改良を行いました。...
View ArticlePIC16F88 ロータリーエンコーダその2
MPLABX XC8環境においてPIC16F88で、ロータリーエンコーダを使うプログラムのテストその2です。 今回は、PIC16F88のピン状態変化割り込みを利用してロータリーエンコーダの回転方向を判定するプログラムを考えてみます。 まず、PIC16F88でピン状態変化割り込みを利用できるのは、RB4~RB7で、このうち1つでもピンの状態が変化すれば、RBIFが1になります。...
View ArticlePIC16F88 A/Dコンバータ テスト
MPLABX XC8でPIC16F88のアナログポート(A/Dコンバータ)を使うテストをします。 使い方は、「PICで遊ぶ電子工作」というサイトのこちらのページがたいへん参考になりました。 PIC16F88では、RA0~RA4とRB6,RB7をアナログポートとして使うことができます。 A/Dコンバータは、10bitで、アナログ値(電圧)を0~1023の数値で読み込むことができます。...
View Article明日は、第10回FQP
第10回FCWA CW QSO パーティが、いよいよ明日に迫りました。 時間は、9:00~21:00で、バンドは1.9MHz~28MHzです。 交換ナンバーは、RST+オペレータ名(例 599KAZU)です。 各バンドで、CQ FQPのトンツーが聞こえると思います。 それぞれのペースで、CW交信を楽しんでいただきたいと思います。...
View ArticleFQP終了
昨日、第10回FCWA CW QSOパーティ(FQP)が、盛会のうちに終了しました。 参加いただいた各局、ありがとうございました。ログを提出された局は、FCWAのホームページに掲載しております。 参加されて、まだログを提出されていない局は、ぜひログの提出をお願いします。締め切りは12月31日です。 結果の発表は来年1月頃、表彰と記念品の発送は、来年5月のFCWA総会後になります。...
View ArticlePIC16F88 温度計その1
PIC16F88のA/Dコンバータを利用して温度計を作ってみます。 温度センサーは、まず定番のLM35DZを使ってみます。 LM35DZは、0mV+10.0mV/℃の出力を持つ3端子センサーです。 20℃で、0.200Vを出力します。 回路図です。Vref+(RA3)に加える電圧は、10kΩのボリュームで調整できるようにします。...
View ArticlePIC16F88 温度計その2
だいぶ以前に購入した温度センサーS-8100Bがパーツボックスにありました。 この温度センサーは、-8.0mV/℃の負特性を持ち、その出力は、 -20℃で1.908V +30℃で1.508V +80℃で1.095Vです。 リニアリティは、±1.0% (-20℃~+80℃)とマイナスの温度も計測可能です。 上の特性からこの温度センサーの出力Eと温度(℃)との関係は次の式で表すことができます。...
View Article