このページには本館に置けないプログラムソースなどをアップしていきます。
いわゆる倉庫代わりです。全てフリーです。ご自由にご活用ください。
■ 極小ブートローダー まとめ (2015.03.03)
元ページ:
極小ブートローダー まとめ
PIC12F1822のHID-シリアルアダプターを使用した、PIC10F322/ATTiny用の68ワードのブートローダーです。
ホストプログラムとHID-シリアルアダプターのファームウエア、ブートローダーのファームウエアを添付しています。
ダウンロードは
こちら
■ 極小ブートローダー ATTiny (2015.02.26)
元ページ:
極小ブートローダー ATTiny 其の2
ATTiny用の68ワードのブートローダーです。
シリアルポートに直結する方式と、USBシリアル変換アダプターを使用する方式両方のファームウエアとマクロです。
(1)ファームウエア
USBシリアル変換アダプターを使用する方式ではASMソースのDirectRXの定義文をコメントアウトしています。
(USBシリアル変換アダプターを使用する方式では受信信号の極性が反転する。)
(2)マクロ本体
シリアルポートのCOM番号が1から14に変更されています。 connect '/C=14 /LA=E /V'
COM番号をお持ちののUSBシリアル変換アダプターの使用する番号に変更してご使用ください。
ダウンロードは
こちら
■ 極小ブートローダー PIC10F322 其の6 (2015.02.18)
元ページ:
極小ブートローダー PIC10F322 其の6
PIC12F1822のHID-シリアルアダプターです。
30MHzの水晶を使用し、TXはソフトウエアで実現しています。
このままでは極小ブートローダー用に使用できません。
2015.02.19 追記 ファームウエアを更新しました。
ダウンロードは
こちら
■ 極小ブートローダー PIC10F322 其の5 (2015.02.16)
元ページ:
極小ブートローダー PIC10F322 其の5
PIC12F1822のHID-シリアルアダプターを使用した、PIC10F322用の66ワードのブートローダーです。
この版ではシリアル受信に対応できません。
回路図を添付しています。
2015.02.17 追記 バグがありましたので修正しました。
ダウンロードは
こちら
■ 極小ブートローダー PIC10F322 其の4 (2015.02.14)
元ページ:
極小ブートローダー PIC10F322 其の4
PIC12F1822のHID-シリアルアダプターを使用した、PIC10F322用の66ワードのブートローダーです。
回路図とホストプログラムを添付しています。
2015.02.17 追記 バグがありましたので修正しました。
ダウンロードは
こちら
■ 極小ブートローダー PIC10F322 其の3 (2015.01.26)
元ページ:
極小ブートローダー PIC10F322 其の3
PIC10F322用の66ワードのブートローダーです。
ホストプログラムはTera Termのマクロで記述されています。
ダウンロードは
こちら
■ 極小ブートローダー ATTiny13A (2015.01.24)
元ページ:
極小ブートローダー ATTiny13A
2015.02.22 追記 USBシリアル変換アダプターを使用する方式のファームウエアにバグがありましたので修正しました。
ATTiny13A用の68ワードのブートローダーです。
シリアルポートに直結する方式と、USBシリアル変換アダプターを使用する方式両方のファームウエアとマクロです。
(1)ファームウエア
USBシリアル変換アダプターを使用する方式ではASMソースのDirectRXの定義文をコメントアウトしています。
(USBシリアル変換アダプターを使用する方式では受信信号の極性が反転する。)
(2)マクロ本体
USBシリアル変換アダプターを使用する方式では、シリアルポートのCOM番号が1から14に変更されています。
INIファイル内でCOM番号をお持ちののUSBシリアル変換アダプターの使用する番号に変更してご使用ください。
INIファイル中の記述
; Serial port parameters
; Port number
ComPort=14
ダウンロードは
こちら
■ 極小ブートローダー PIC10F322 其の2 (2015.01.16)
元ページ:
極小ブートローダー PIC10F322 其の2
USBシリアル変換アダプターを使用した場合のPIC10F322用の68ワードのブートローダーです。
ホストプログラムはTera Termのマクロで記述されています。
PIC18F14K50をUSBシリアル変換アダプターにするプログラムを同包しています。
前回からの変更点
(1)PIC10F322用ファームウエア
ASMソースのDirectRXの定義文をコメントアウトしています。
(受信信号の極性(ローハイ)が反転している。)
(2)マクロ本体
シリアルポートのCOM番号が1から14に変更されています。 connect '/C=14 /LA=E'
COM番号をお持ちののUSBシリアル変換アダプターの使用する番号に変更してご使用ください。
ダウンロードは
こちら
■ 極小ブートローダー PIC10F322 (2015.01.12)
元ページ:
極小ブートローダー PIC10F322
PIC10F322用の68ワードのブートローダーです。
ホストプログラムはTera Termのマクロで記述されています。
ダウンロードは
こちら
■ USBIO 16F57 サンプルプログラム Ver.3 (2014.11.14)
元ページ:
続11 8ピンPICでUSB PIC16F57_USBIO (その3)
PIC16F57を使用した、USBIOファームウエアの改良版です。(I/O数16 出力16-0,入力16-0)
以前のものに比べて入力の数を増やしています。
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を改造したものを使用します。
ホストプログラムの再コンパイルにはForm1.hの変更の他、Usb.h、Usb.cppの変更も必要です。
改造版の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USBIO 16F505/506 サンプルプログラム Ver.2 (2014.11.08)
元ページ:
続10 8ピンPICでUSB PIC16F505_USBIO (その2)
PIC16F505/506を使用した、USBIOファームウエアの改良版です。(I/O数8 出力8-0,入力8-0)
USBスタックのコードを見直し、コード短縮により以前のものに比べて入出力の数を増やすことができました。
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を改造したものを使用します。
PIC16F505と506では回路図が異なります。PIC16F506ではPICの電源電圧を5Vにしないと時々誤動作します。
改造版の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USBIO 16F57 サンプルプログラム Ver.2 (2014.10.25)
元ページ:
続9 8ピンPICでUSB PIC16F57_USBIO (その2)
PIC16F57を使用した、USBIOファームウエアの改良版です。(I/O数16 出力8-16,入力8-0)
以前のものに比べて入出力の数を増やしています。
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を改造したものを使用します。
改造版の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USBIO 16F505/506 サンプルプログラム (2014.10.20)
元ページ:
続8 8ピンPICでUSB PIC16F505_USBIO
PIC16F505/506を使用した、USBIOファームウエアです。(I/O数8 出力4,入力4,固定)
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を改造したものを使用します。
改造版の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USBIO 16F57 サンプルプログラム (2014.10.08)
元ページ:
続7 8ピンPICでUSB PIC16F57_USBIO
PIC16F57を使用した、USBIOファームウエアです。(I/O数1,出力のみ)
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"がそのまま使用できます。
16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USBIO 16F570 サンプルプログラム (2014.09.20)
元ページ:
続6 8ピンPICでUSB PIC16F570_USBIO
PIC16F570を使用した、USBIOファームウエアです。(I/O数3)
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"がそのまま使用できます。
16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USBIO 12F615 サンプルプログラム (2014.08.23)
元ページ:
続5 8ピンPICでUSB PIC12F615_USBIO
PIC12F615を使用した、USBIOファームウエアです。(I/O数2)
ホストプログラムは16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"がそのまま使用できます。
16FUSBに付属の"16FUSB_HID_DioSampleAPP.exe"を同包しています。
ダウンロードは
こちら
■ USB12F1822 サンプルプログラム (2014.08.21)
元ページ:
続4 8ピンPICでUSB 16FUSBの改良版
PIC12F1822を使用した、シリアルインターフェースを用いた双方向通信ファームウエアです。(擬似CDC)
「8ピンPICでUSB −16FUSBの移植−」「続8ピンPICでUSB −ターミナルソフトからの操作−」
で使用したファームウエアと置き換えて使用できます。
ダウンロードは
こちら
■ Tiny AVR/PIC Bootloader+ を 24ビットPIC に対応させる修正プログラム (2014.06.21)
Tiny AVR/PIC Bootloader+ を 24ビットPIC(dsPIC,dsPIC33,PIC24F)に対応させるプログラムです。
"Tiny_Avr-Pic_Bootloader+.exe"と"piccode.ini"を差し替えて使用します。
flashの書き込み、EEPROMの書き込み、Configビットの書き換えに対応します。
24ビットPICに書き込むファームウエアを同包しています。
Tiny AVR/PIC Bootloader+ が24ビットPICに正式に対応した場合、このプログラムを消去する予定です。
ダウンロードは
こちら
■ ATTINY13A シリアル用 ビットディレイ値 の簡易校正プログラム (2014.05.30)
元ページ:
番外 続ATTINY13A OSCCAL の簡易校正
ATTINY13A シリアルインターフェースのディレイ定数を求めるプログラムです。
OSCCALの補正を行わなくとも、このプログラムを使用することでシリアル通信が行えます。
数値を求めるためにTeraTermを使用します。
使用方法はATTINY13A OSCCAL の簡易校正プログラムと一緒ですが、TeraTermとの通信条件が異なります。
通信条件:9600bps,8bit,stop1bit
13A以外のATtinyでも使用可能です。
ダウンロードは
こちら
■ ATTINY13A Arduino IAP内臓ブートローダー (2014.04.27) (2014.05.30 リビジョンアップ)
元ページ:
番外 続Arduinoからタイニーブートローダーを使用する
ATTINY13A Arduino用のIAP内臓ブートローダーです。
このファームウエアでEEPROMの書き込みも行えます。
ダウンロードは
こちら
■ ATTINY13A OSCCAL の簡易校正プログラム (2014.04.14)
元ページ:
番外 ATTINY13A OSCCAL の簡易校正
ATTINY13A OSCCAL の簡易校正プログラムです。
校正にはTeraTermを使用します。
通信条件:9600bps,7bit,stop2bit
13A以外のATtinyでも使用可能です。
ダウンロードは
こちら
■ LPC1114アセンブラサンプルプログラム (2014.04.08)
元ページ:
番外 LPC1114FN28/102 アセンブラサンプル
LPC1114FN28/102のアセンブラで書かれたサンプルプログラムです。
サンプルプログラムは以下の4つです。
1. LEDのブリンキングプログラム(LEDはPIO0_2に接続しています)
2. USARTのエコープログラム
3. フラッシュメモリーのダンププログラム
4. ブートROMのダンププログラム
ダウンロードは
こちら
■ LPC810ブートローダー自己書き込みプログラム (2014.04.08)
元ページ:
番外 LPC810 タイニーブートローダーの自己書き換え
LPC810EEPROMブートローダー自己書き込みプログラムです。
使用方法
1. ブートローダーから本プログラムをダウンロード。
2. TeraTermを起動(N81/9600)。
3. ボードをリセット。
4. メッセージに従い、書き換えたいファームウエアをTeraTerm上にドラッグドロップ。
5. Done.メッセージが表示されれば書き換え完了。
※TeraTerm側に2ms/chrのディレイが必要です。
ダウンロードは
こちら
■ LPC810EEPROMエミュレーションプログラム (2014.03.29)
元ページ:
番外 LPC810 EEPROM エミュレーション
LPC810EEPROMエミュレーションのテストプログラムです。
テストプログラムの後半がEEPROMエミュレーションのサブプログラムになっていますので、
ソースプログラム後半部分を使用することで、EEPROMエミュレーションを組み込むことができます。
テストプログラムの動作確認にはシリアルポートとターミナルソフトが必要です。
ダウンロードは
こちら
■ LPC810ブートローダー (2014.03.23) (2014.04.01 リビジョンアップ)
元ページ:
番外 LPC810 タイニーブートローダー
2014.04.01 追記
○ブートローダーの出口で、スイッチマトリックスの値を元に戻す箇所にバグがあり、修正しました。
○ブートローダーの出口の処理を完全にし、ブートローダーで使用したレジスタ値を、出口でリセット時の値に戻すようにしました。
○コードサイズ短縮
LPC810の内臓ブートローダーが使いにくいのでタイニーブートローダーを作成しました。
サンプルプログラム付属、サンプルプログラムはタイニーブートローダーで書き込みできます。
1.LEDブリンキング
2.シリアルエコー
3.フラッシュメモリーダンプ
4.ブートROMダンプ
5.Ramダンプ
サンプル内のLEDブリンキングとシリアルエコーのプログラムは03.06の版よりコード短縮されています。
サンプルプログラムは圧縮プロジェクトとしてLPCXpressoからインポート可能です。
ブートローダーの仕様・使い方を添付のテキストファイルに記載しています。
ダウンロードは
こちら
■ LPC810アセンブラ サンプル ソース (2014.03.06)
元ページ:
番外 LPC810でアセンブラ
LEDのブリンキングとシリアルエコーのプログラムをオールアセンブラで作成しました。
圧縮プロジェクトとしてLPCXpressoからインポート可能です。
ダウンロードは
こちら
■ PIC16F/12F UART非塔載デバイス用 ブートローダー自己書き換えプログラム ソース (2013.11.27)
元ページ:
Tinybldの自己更新プログラム
ブートローダー自己書き換えプログラムPIC16F/12F版です。
このプログラムはUARTを塔載しないPIC16F/12Fのみに対応します。
デストはPIC12F617で行ないました。
他のデバイスに適用する場合、ソースプログラムの先頭の4〜5行を書きかえる必要があります。
ダウンロードは
こちら
■ PIC16F/12F UART塔載デバイス用 ブートローダー自己書き換えプログラム ソース (2013.11.27)
元ページ:
Tinybldの自己更新プログラム
ブートローダー自己書き換えプログラムPIC16F/12F版です。
このプログラムはUARTを塔載したPIC16F/12Fのみに対応します。
デストはPIC12F1822で行ないました。
他のデバイスに適用する場合、ソースプログラムの先頭の4〜5行を書きかえる必要があります。
ダウンロードは
こちら
■ PIC10F322リング発振器 ソース (2013.11.26)
元ページ:
続PIC10F322 Ring-DDS
PIC10F322を用いたリング発振器の最新版です。
専用の制御プログラムを添付しています。
RA1にクロックオシレーターを接続できるように、以前のバージョンに比べピンの割付けを変更しています。
発振周波数40Hz〜2.4MHz。(個体差あり)
ダウンロードは
こちら
■ PIC18Fブートローダーの自己書き換えプログラム ソース (2013.11.26)
元ページ:
Tinybldの自己更新プログラム
ブートローダー自己書き換えプログラムPIC18F版です。
非J-Type用とType用で書き込むプログラムが異なります。
多種のデバイス用に制作しましたが、ブートローダーがアドレス0xFFFFよりも後方に
配置されているデバイスについてはHEXファイルの読み出し処理が甘いため動作保障できません。
デストはPIC18F14K50とPIC18F25J11で行ないました。他のデバイスに適用する場合、
ソースプログラムの先頭の4〜5行を書きかえる必要があります。
※J-TypeではConfigをフラッシュメモリに記述する仕様のため、更新側のHEXでConfigも変更することが出来ます。
ダウンロードは
こちら
■ PIC10F322ブートローダーの自己書き換えプログラム ソース (2013.11.23)
元ページ:
Tinybldの自己更新プログラム
PIC10F322ブートローダー用のブートローダー自己書き換えプログラムです。
ブートローダーが正常に作動している状態で、PICKITなどの書き込み器を使用せずに
ブートローダーの書き換えが行なえます。
データの転送にシリアルポートを使用。
TERATERMを使用し、ブートローダーのHEXファイルをドラッグドロップします。
ダウンロードは
こちら
■ PIC10F322 256ビットプログラム発振器 ソース (2013.11.20)
元ページ:
PIC10F322 256ビットプログラム発振器
PIC10F322を用いた256ビットプログラム発振器です。
専用の制御プログラム(HTA)を使用します。
発振出力はRA0,発振同期出力(H→L)はRA1から得られます。
RA2は未使用、RA3はシリアル受信に使用。
最小周期: 8.5μs(再生ビット数2ビットx1ビットの保持時間4.25μs)
最大周期:4194240μs(再生ビット数256ビットx1ビットの保持時間16383μs)
専用の制御プログラムを同包しています。
ダウンロードは
こちら
■ EEPROM エミュレーションサブプログラム for PIC18F Jタイプ ソース (2013.11.17) (2013.11.23 修正更新)
元ページ:
PIC18F EEPROM エミュレーション Jタイプ
PIC18用 EEPROM エミュレーションサブプログラム です。
255x8ビット(<256)のEEPROMをエミュレーションします。
JタイプのPIC18Fでのみ使用できます。
使用するレジスタ(RAM)数 3。
EE_ADR : EEPROMアドレスを指定
EE_DAT : EEPROM上位データを指定
flag : ステータスレジスタ
ダウンロードは
こちら
■ EEPROM エミュレーションサブプログラム for PIC18F ソース (2013.11.13)
元ページ:
PIC18F EEPROM エミュレーション
PIC18用 EEPROM エミュレーションサブプログラム です。
63ワードx10ビット(<1024)のEEPROMをエミュレーションします。
JタイプのPIC18Fでは使用できません。
使用するレジスタ(RAM)数 3。
EE_ADR : EEPROMアドレスを指定
EE_DATH: EEPROM上位データ 2ビット を指定
EE_DATL: EEPROM下位データ 8ビット を指定
ダウンロードは
こちら
■ PIC10F322専用 周波数カウンター ソース (2013.11.09)
元ページ:
PIC10F322専用 周波数カウンター
PIC10F322のNCOを使用した周波数カウンターです。
20ビットのNCOカウンターを使用することで、周波数カウウンターを簡単に作製できます。
NCOカウンターの動作はPICのクロックに依存しないので高い(<70MHz)周波数まで測定可能です。
ダウンロードは
こちら
■ EEPROM エミュレーションサブプログラム for PIC16F ソース (2013.11.09) (2013.11.14 修正更新)
元ページ:
PIC16F EEPROM エミュレーション
EEPROM エミュレーションサブプログラム の最新版です。
vectorに登録したものより更にコンパクトになっています。
プログラムサイズは変わりませんが、使用するレジスタ(RAM)数を2つまで低減しました。
BNK=4と指定することによりPIC12F1XXX,PIC16F1XXXに対応します。
ステ−タスはEE_ADRのbit7およびbit6に返ります。これ以上の小型化は困難と思われます。
ダウンロードは
こちら