Topics | PICC Pro lite mode | Exam | LCD | PWM | PICkit2 | PICkit3 | PIC16F | PIC18F14K50 | dsPIC30 | PIC32MX220 |
Wikipediaより引用 Hello world(ハロー・ワールド)は、画面上(標準出力)に "Hello, world!"、又は類似の文言を表示するだけの単純なプログラムである。大抵のプログラミング言語の入門書では、このプログラムを作ることを最初の例題としており、ほとんどの場合、新しくプログラミング言語を習得する際に最初に作るのがこのプログラムである。そのため、「世界一有名なプログラム」と呼ばれることもある。また、コンパイラ、開発環境、実行環境が正常にインストールされたことを確認するために、このプログラムを使用することもある。 |
というように、PICマイコンであれば、LCDに何か表示させたり、少ピンマイコンであればLEDをチカチカさせたりして、確認するのが一般的です。
とりあえず何か動かしたいと思う方の為に、簡単なプログラムを提供する試みです。だんだんと品種を増やして行きたいと思います。
これらのソフトは、一部を除きソースコードやバイナリーは再配布OKです。詳しくはそれぞれの備考欄をご覧ください。
New!
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | 回路図 | ダウンロード |
---|---|---|---|---|---|---|
1 | PIC16F1823 | 2012/7/3 v0.01 | MPLAB IDE v8.85 MPLAB XC8 v1.00 |
C:\picsrc\xc8\lcd_printf_test | 回路 | ALL(zip) |
説明 | プログラムはstdio.hをインクルードしてprintfを使用しています。 putch関数を使うことでprintfのフォーマットを利用できます。LCD以外にも、sci.hなどの通信出力にも使用可能です。 コンパイルした時に容量が大きくなりますが、簡単に表示部分を作成したい場合に重宝します。 |
|||||
回路 | LCDシリアル16F1823の回路と同様です。 | |||||
動作 | 0.5秒間隔で数字がカウントアップします。10進数と16進数で表示され、0xFFFF(65535)→0,1,2の繰り返しです。 |
|||||
備考 | ||||||
参考 URL |
ブログ連動記事「PICプログラムの小技 printf()を使ってラクラクLCD表示」 |
New!
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | PIC16F88 | 2013/4/8 | MPLAB IDE v8.90 MPLAB XC8 v1.12 |
C:\picsrc\xc8\hello_world\led_blink_16f88 | led_blink_16f88_20130408-095425.zip |
説明 | 単なるLEDピカピカです。デバイスの生存確認用として利用できます。 | ||||
回路 | RB3(9番ピン)に抵抗220Ω〜1kΩ程度を接続して直列にLEDアノード(一般的にリードが長い方)、 LEDカソード(一般的にリードが短い方)をGNDに接続。 PICマイコンの8を5番ピンをGND、14番ピンを電源に接続。 |
||||
動作 | 電源を入れると0.5秒間隔で永久に点滅します。 | ||||
備考 | 同梱されているled_brink_16f88.hexをPICkit2などで直接デバイスに書き込めば、16F88の動作確認に利用できます。 |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | PIC32MX220F032B | NA | MPLAB IDE v8.85 Microchip XC32 compiler | C:\picsrc\xc32\ledflashtest | ledflashtest_20120716-161638.zip |
説明 | 単なるLEDピカピカです。デバイスの生存確認用として利用できます。 |
||||
回路 | ![]() ![]() |
||||
動作 | 電源を入れると永久に点滅します。 |
||||
備考 | 書き込みはPICkit3が必要になります。10MHzの水晶かセラロックを9-10ピンに接続します。セラロックの場合、加工してGNDを引き出します。 注意:この製作例は、参考サイトを元に実験しています。例えばVcapの値、水晶発振子のコンデンサなどはチップの仕様書に記載されている値とは違うことをご了承ください。そもそもブレッドボードで動かしている事が電気的に推奨されません。 参考サイト:EE design Lab Blinging LED ※EE Design Labsのリンクが無くなってしまった様なので、Webarchiveのキャッシュのリンク (2016/3/13) ブログ PIC32MX220F032BでLEDチカチカ |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | 12F675 12F629 |
2009/10/16 ver1.0 |
MPLAB v8.40 Hitech PIC C pro9.65pl1 |
C:\picsrc\piccpro\hello_world\hello_12f675 | hello_12f675_20121230-025225.zip |
2 | 12F1822 | 2013/1/23 | MPLAB8.88 XC8 v1.12 |
C:\picsrc\xc8\flash_led2_12f1822 | flash_led2_12f1822_20130219-124508.zip |
説明 | 単なるLEDピカピカです。デバイスの生存確認用として利用できます。 | ||||
回路 | ![]() |
||||
動作 | 電源を入れると0.5秒間隔で永久に点滅します。ボタンを押しっぱなしにすると高速点滅します。(12F629/675のみ) LED評価用ですので、ピエゾからは音はでません。 12F1822はウォッチドッグ機能を利用して4秒毎に点滅します。超低消費で動かすデモとしています。 |
||||
備考 | 紹介ブログ。 取扱説明書ダウンロード(pdf) 1 ![]() 2F629で使う場合は、同梱のhello_12f629.hexをお使いください。 |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | 12F675 12F629 |
2009/10/16 ver1.0 |
MPLAB v8.40 Hitech PIC C pro9.65pl1 |
C:\picsrc\piccpro\hello_world\hello_12f675 | hello_12f675_20091020-122531.zip |
2 | 12F1822 | 2011/4/8 | MPLAB v8.63 Hitech PIC C pro9.81 |
C:\picsrc\piccpro\hello_world\hello_12f1822 | hello_12f1822_20110409-180439.zip ブログでも紹介しています |
説明 | 単なるLEDピカピカです。デバイスの生存確認用として利用できます。 | ||||
回路 | ![]() ※JP1は3V〜5Vの電源で、1番ピンがプラスです。 |
||||
動作 | 電源を入れると0.5秒間隔で永久に点滅します。 | ||||
備考 | 12F629で使う場合は、同梱のhello_12f629.hexをお使いください。 |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | PIC18F14K50 | N/A | MPLAB v8.40 HI-TECH C Compiler for PIC18 MCUs v9.63PL3 ANSI C COMPILER |
N/A | N/A |
説明 | 単なるLEDピカピカです。デバイスの生存確認用として利用できます。 | ||||
回路 | 準備中 | ||||
動作 | 電源を入れると0.5秒間隔で永久に点滅し、ボタンを押し続けている間は高速点滅になります。 | ||||
備考 | ブログにソースファイルとHEXファイルを公開中。 |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | 16F84,16F84A, 16F628,16F628A, 16F627,16F627A, 16F648A, 16F88 |
2009/10/18 ver1.0 |
MPLAB v8.40 Hitech PIC C pro9.65pl1 |
C:\picsrc\piccpro\hello_world\hello_16fxx | hello_16fxx_20091018-231502.zip |
説明 | 音階付き8段階ルーレットゲーム | ||||
回路 | ![]() ※回路図中のU1は代表デバイス名です |
||||
動作 |
※この動画は初期のプログラムの動作であり、現在の動作と異なる部分があります。 電源投入し、S1でスタートします。 ある一定時間経つがS1を押すと減速してLEDがフラッシュし停止します。 ある確率で逆転演出などがあります。 |
||||
備考 | ダウンロードされたzipに各デバイスのhexファイルが入っているので、使用するPICに書き込みます。16F84(A)以外は4MHzのセラロックは不要です。 |
||||
参考 URL |
エアーバリアブルブログ |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | 回路図 | ダウンロード |
---|---|---|---|---|---|---|
1 | PIC16F88 | 2009/11/17 ver1.12 |
MPLAB IDE v8.40 Hitech PICC Pro Lite mode v9.70 |
C:\picsrc\piccpro\hello_world\hello_16f688 | 回路1 | ALL(zip) hex |
New 2013/4/7 ver2.00 |
MPLAB IDE v8.90 MPLAB XC8 v1.12 |
C:\picsrc\xc8\hello_world\hello_16f88 | ALL(zip) | |||
2 | PIC16F62X (16F627,628,648A) |
2009/11/17 ver1.23 |
MPLAB IDE v8.40 Hitech PICC Pro Lite mode v9.70 |
C:\picsrc\piccpro\hello_world\hello_16f62x | ALL(zip) hex |
|
3 | PIC16F690 | 2009/11/17 ver1.01 |
MPLAB IDE v8.40 Hitech PICC Pro Lite mode v9.70 |
C:\picsrc\piccpro\hello_world\hello_16f690 | 回路2 | ALL(zip) hex |
説明 | 最初は2行に表示させ、5秒後にハートマーク(ユーザー定義キャラクタ)で一文字ずつ埋めていく。それを永久に繰り返す。 | |||||
回路1 | ![]() ※回路図中のU1は代表デバイス名です |
|||||
回路2 | 接続方法 PICkit2に付属しているLow Pin Count Demoボードを使用した場合 [J1] --- [LCD SC1602B] 1<RA5> 2<RA4> 3<RA3> 4<RC5>---< E >6 5<RC4>---<RS >4 6<RC3>---<D7 >14 7<RA0> 8<RA1> 9<RA2> 10<RC0>---<D4 >11 11<RC1>---<D5 >12 12<RC2>---<D6 >13 13<VCC>---<VDD>1 (SC1602B) 14<GND>---<R/W>5---<VSS>2 (SC1602B) LCDのその他の配線 [LCD SC1602B]<VCONT>3===>VCCとGNDに5K〜10KΩ程度の可変抵抗器の分圧でコントラスト調整 その他のLCDの端子は、すべて空きとする。 |
|||||
動作 | ||||||
備考 | hexファイルは16F627(A)、16F628A、16F648Aに使用可能。ローコストLCDシリアル通信モニターの回路で動作可能。 16F88使用時、PICkit2を接続したまま、PICkit2アプリケーションを動作させると、PICkit2のデバイスサーチが自動の時、ターゲットのプログラムを書き換えてしまうので、プログラムにコードプロテクトを掛けています。 |
|||||
参考 URL |
データシート、使用方法 サンライク社 テクニカルシート (英語) 新日本無線NJU6420B(HD44780互換)データシート(日本語) オークス電子 OAK8技術資料 アットマークアイティ・モノイスト LCDに文字を表示するプログラム(webarchive orgより) キャラクターフォント計算 RICKEY'S WORLD CGRAM and Character Building MODTRONIX ENGINEERING Custom Character Calculator for the Modtronix LCD2S Family of Serial LCD Controllers(webarchive orgより) |
No | Device | Date/ver | 使用ツールとバージョン | プロジェクトフォルダ | ダウンロード |
---|---|---|---|---|---|
1 | dsPIC30F2012 | 2008/11/ 9 | N/A | N/A | dsPIC30F2012_PICkit2_writetest_sample_clock.zip |
説明 | PICkit2での書き込みテスト(トランジスタ技術2007年8月・9月号付録)時計プログラム(PICkit2動作テスト向け) トランジスタ技術の付録に付いてくるPICにCD付属のサンプルコードをビルドしてPICkit2でHEXを書き込んでも動作しません。これは、このプログラムがブートローダーで書き込みを想定しているためです。 このファイルは、予め問題になっている部分を修正して、PICkit2で直接書ける様にしたものです。ブートローダーには初期設定にする処理が入っており、その中でADPCFGというアナログポートかデジタルポートかの切り替えを行っていました。 Pickit2で動かすには、この処理を必要とします。具体的にはADPCFG = 0x03FFを設定しているだけです。 |
||||
回路 | トランジスタ技術2007年8月・9月号を参照ください | ||||
動作 | ●接続 dsPIC基板はRUNモードにしておきます。 基板のACアダプタは抜いておくか、電源を切っておきます。 基板とPICkit2を接続しTool ->Check communicationでデバイスを認識させます。 デバイスはdsPIC30F2012が認識され、メッセージに PICkit 2 found and connected. PIC Devece Found. と表示されれば、正常に接続されたことになります。 ●Hexファイルの読み込み PICkit2でFile->Inport Hexよりclock.hexを読み込みます。 すると、PICkit2アプリケーションは、 Warning:Some configuration words not in hex file. Ensure default values above right are acceptable. (注意:いくつかのコンフィグレーションはhexファイルにないので標準値が使われる) というメッセージが出ますが、問題はありません。 ●プログラムの書き込み Writeボタンをクリックすれば書き込まれると思います。 ●動作確認 VDD PICkit2の部分を5.0Vにして、ONチェックボックスをチェックします。 3秒以上経つと液晶から 24H CLOCK 00:00:00 という表示になり、1秒毎にカウントすれば、書き込みは成功しています。 ソースコード |
||||
備考 | このソースプログラム、バイナリーの転載はご遠慮ください。 | ||||
参考URL | 書庫 事の発端 |
2025/3/1 一部リンク修正
2017/6/24 一部リンク修正
2013/4/7 PIC16F88用LCDサンプルをXC8 ver1.12に対応
2013/2/19 PIC12F1822用LEDピカピカプログラムを頒布キットに対応
2012/12/30 PIC12F629/675用LEDピカピカプログラムを頒布キットに対応
2012/7/16 PIC32MX220F032B用LEDピカピカ紹介
2012/7/3 PIC16F1823用のLCDテストプログラム公開
2011/4/8 PIC12F1822のLEDピカピカ紹介
2009/11/17 LCDのHello World3種のアップデート
2009/10/27PIC18F14K50のLEDピカピカ暫定公開(リンクのみ)
2009/10/22 dsPIC30F2012の公開を書庫から移動
2009/10/20 LEDピカピカのリンク切れ修正
2009/10/18 PIC16F84Aのドレミルーレット正式公開
2009/10/15 PIC16F84Aのドレミルーレット暫定公開
2009/ 8/ 6 PIC16F690のサンプルを追加
2009/ 1/12 lcd.c修正
2008/11/23 初版作成
(C)2008-2025 air variable All Rights Reserved..