JH7UBCブログ

アマチュア無線 電子工作 家庭菜園など趣味のブログです

MPLAB アセンブラ PIC16F648A LED点滅

2024-10-16 17:27:04 | MPLAB アセンブラ
 先日、私のホームページ(JH7UBCホームページ)を見た方(アマチュア無線家)から質問のメールをいただきました。ホームページに掲載しているPIC16F628A+PIC16F883周波数カウンタの周波数測定部を使いたいと思いMPLAB IDEでアセンブル(Make)しようと思ったが、エラーが出てうまくいかない、原因を教えてほしいというものでした。

 そこで、当ブログに掲載している「今更、アセンブラ」シリーズの記事を参考にしてプロジェクトの作成から行っていただいたところ、うまくMakeできたとのことでした。

 続いて、PICにプログラムを書き込む段階でまたトラブルを生じたとのこと。PICKit3がPIC(PIC16F628A)を認識しないとのことでした。このトラブルは私もしばしば経験します。PICへの電源供給とUSBケーブルを何度か抜き差しすることにより解決できました。その後、書き込みができたとの報告メールをいただきました。

 そういえば、MPLAB IDEとアセンブラを使うのは、ほんとうに久しぶりです。この周波数カウンタを製作したのが2017年でした。MPLABもアセンブラもだいぶ忘れてきました。10年前のノートを見て思い出すことにしました。


 手元にあるPIC16F648Aを使って、MPLAB IDE v8.92 MPASM v5.51の環境で、基本的なプログラミングの復習をすることにしました。

 PIC16F648Aですが、すでにレガシーPICと言われる古いタイプのPICですですが、内蔵クロックを持っており、一応基本的な機能を持っていますので、PICの勉強には適していると思います。

 やはり、最初はLチカ(LED点滅)をやってみましょう。テスト用の回路図です。ライタはPICKit3で、電源はPICKit3から供給し、ICSPでPICをセットしたままプログラミングします。



 クロックは、内蔵クロック(デフォルトの4MHz)を使い、RB0に接続したLEDを0.5秒ごとに点滅します。0.5秒タイマーはプログラムで作ります。
 アセンブルリストです。
----------------------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; PIC16F648A LED Blink
; 2024 10 16
; JH7UBC Keiji Hata
; 内部クロック4MHz
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

              LIST P=PIC16F648A
              INCLUDE P16F648A.INC
              
              __CONFIG _INTOSC_OSC_NOCLKOUT & _CP_OFF & _CPD_OFF & _WDTE_OFF & _PWRTE_ON & _BOREN_OFF & _LVP_OFF & _MCLRE_OFF

;レジスタ
              CBLOCK             020h
              CNT_1ms
              CNT_250ms
              ENDC

;入出力設定           
              BSF                      STATUS,RP0      ;BANK1
              CLRF     TRISA                 ;PORTAはすべて出力、ただし、RA5は入力
              CLRF     TRISB                 ;PORTBはすべて出力
              BCF                     STATUS,RP0      ;BANK0
              MOVLW              b'00000111'
              MOVWF              CMCON                            ;コンパレータOFF
              
              #DEFINE LED    PORTB,0
              
MAIN
              BSF                      LED                                   ;LED ON
              CALL     LOOP250mS       ;0.5s待つ
              CALL     LOOP250mS
              BCF                     LED                                   ;LED OFF
              CALL     LOOP250mS
              CALL     LOOP250mS       ;0.5s待つ
              GOTO   MAIN

;0.25s待つルーチン
LOOP250mS
              MOVLW              0FAh                    ;0FAh=250
              MOVWF              CNT_250ms
LOOP2
              CALL     LOOP1mS
              DECFSZ              CNT_250ms
              GOTO   LOOP2
              RETURN

;1ms待つルーチン
LOOP1mS
              MOVLW              0F9h                    ;0F9h=249
              MOVWF              CNT_1ms
LOOP1
              NOP
              DECFSZ              CNT_1ms,F
              GOTO   LOOP1
              RETURN
              
              END
              
----------------------------------------------------------
 タイマールーチンは、「PICで遊ぶ電子工作」というサイトのこちらのページを参考にさせていただきました。

 Programmerは、PICKit3を選択し、PICに供給する電源は、MPLABで、Programmer→Srttingでダイヤログを開き、Powerタグをクリックして、下のように設定します。


 PICをPICKit3にセットして、パソコンのUSBに接続するとIDEはPICKit3の接続を認識し、PICのID Noも表示されます。PICを認識しなかったり、品種が違う場合はエラーがでます。PICの品種をうまく認識しない場合は、USBを何度か抜き差しすると認識します。それにしても、MPLABとPICKit3の相性は良くありません。どうしてもうまく書き込みができない場合は、PICerFTの利用をお勧めします。

 ブレッドボードとICSP接続の様子です。左上の電源監視用の黄色いLEDが点灯し、左下の青いLEDが0.5秒ごとに殲滅しました。



ヒメツルソバ(姫蔓蕎麦)

2024-10-06 16:04:56 | 雑草図鑑
 昨日、トマト棚のカラス除けの糸を片付けました。その時、足元をふと見ると金平糖のようなかわいらしいピンク色の花が咲いていました。



 名前が分かりません。タデの花に似ているので、「タデに似た植物」で検索すると見つかりました。「ヒメツルソバ」というタデ科の植物でした。

 ポリゴナムという名前で園芸種としても販売されているようです。ヒマラヤ原産の多年草です。ロックガーデン用に明治期に導入されたようです。それが巡り巡って我が家の畑に咲いているわけです。りっぱな雑草になりました。



秋作の収穫が始まりました

2024-10-01 15:44:35 | 家庭菜園と花
 今日から10月。今日の最高気温は、28.2℃で暑いくらいです。

 我家の畑の様子です。

 夏野菜のオクラはそろそろ終わりです。トマトも実が少なくなってきました。ただ、ナスとピーマン、シシトウはまだまだ元気で収穫できます。

 上の写真のネットをかぶせた畝がハツカダイコンです。今日15本初収穫しました。9月4日に種蒔きをしましたので、種まきから27日目での収穫です。

 出来はまずまずです。葉はおひたしにして食べました。しゃきしゃきしておいしいです。


 いつもながら、太っちょ、やせっぽなど一つとして同じものはありません。人間と同じですね。

 間もなく、コマツナとチンゲンサイが収穫できます。その後、オータムポエム、シュンギク、ホウレンソウと収穫できるようになります。

イヌツゲの剪定(刈込)

2024-09-30 22:35:47 | 夢の森から
 小さな庭なのですが、そこに7本のイヌツゲが植えてあります。このイヌツゲは、毎年7月と9月に剪定(刈込)をしています。

 今年は、暑い夏と雨が多かったせいで、かなりボウボウの状態になっていました。そこで9月下旬、2日かけて刈込をしました。


 刈り込むときは、ちょうど床屋さんのエプロンのようにブルーシートをイヌツゲの周りに敷きます。これによって切った葉や枝が散らばることがなく、後片付けが楽になります。刈込ばさみでチョキチョキする様子は正にツゲの床屋さんです。

 剪定をしていると小さなニホンカナヘビがいました。


 このカナヘビではないのですが、刈り込んでいるときにシャツの襟と首の間で何かがゴソゴソと動きました。どうも小さなカナヘビが入り込んだようでした。手で払ったらいなくなったので、そのまま作業を終えました。

 比較的涼しい日でしたが、やはり汗をしっかりかきましたので、作業後にシャツを選択していると、なんということでしょう!洗濯してるバケツの中からカナヘビが出てきたではありませんか。え!カナヘビくん、どこにいたの?

 水からすくいあげてやると、しばらくじっとしていたのですが、やがてチョロチョロと逃げていきました。カナヘビってよく見ると可愛い顔をしています。こちらも驚いたのですが、きっとカナヘビも驚いただろうなー

全福島マラソンQSO結果発表

2024-09-19 20:12:40 | アマチュア無線
 7月25日(木)から31日(水)まで開催された第55回全福島マラソンQSOの結果が、JARL福島県支部のサイトに発表されました。

 結果は、こちら

 今年から部門の分け方が変わり個人局では
シングルバンドマルチモード
マルチバンドマルチモード
マルチバンド電信モード
マルチバンド電話モード
となりました。

 当局JH7UBCは、シングルバンドマルチモード部門で3.5MHzにエントリーしました。結果は5局中2位でした。交信いただいた各局ありがとうございました。

 さて、来年はどの部門で参加しようかな