<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>村田だぁ！</title>
    <link rel="alternate" type="text/html" href="http://www.sirius-soft.co.jp/blog/murata/" />
    <link rel="self" type="application/atom+xml" href="http://www.sirius-soft.co.jp/blog/murata/atom.xml" />
    <id>tag:www.sirius-soft.co.jp,2008-10-18:/blog/murata//1</id>
    <updated>2008-09-05T05:44:40Z</updated>
    <subtitle>IT企業で働く専務のブログ。</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Commercial 4.21-ja</generator>

<entry>
    <title>PICテスト基板の回路図です。</title>
    <link rel="alternate" type="text/html" href="http://www.sirius-soft.co.jp/blog/murata/archives/2008/09/05-144010.php" />
    <id>tag:www.sirius-soft.co.jp,2008:/blog/murata//1.21</id>

    <published>2008-09-05T05:40:10Z</published>
    <updated>2008-09-05T05:44:40Z</updated>

    <summary> とても簡単な配線で楽しむことができます。 ファームウエアのソースは下記の通りで...</summary>
    <author>
        <name>murata</name>
        
    </author>
    
        <category term="PICマイコン" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sirius-soft.co.jp/blog/murata/">
        <![CDATA[<p><img alt="%E5%9B%9E%E8%B7%AF%E5%9B%B3.jpg" src="http://www.sirius-soft.co.jp/blog/murata/%E5%9B%9E%E8%B7%AF%E5%9B%B3.jpg" width="665" height="190" /></p>

<p>とても簡単な配線で楽しむことができます。</p>

<p>ファームウエアのソースは下記の通りです。<br />
*-------------------------------------------------------------------------------------------------------------------------------*<br />
;	LEDを点滅するテストプログラム<br />
;	GP0 に接続したLEDを点滅します<br />
;<br />
;	アセンブル オプションで、大文字小文字の区別をOFFにすること</p>

<p>	list			p=pic12f629	; プロセッサ名変更 PIC12F629 へ<br />
	#include		<p12f629.inc>	; プロセッサに合わせて、INCファイル変更<br />
	errorlevel	-302			; エラーレベル追加</p>

<p><br />
	__CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT </p>

<p>; 変数のメモリへのマッピング<br />
	CBLOCK	0x20				; 12F629 の BANK0 メモリはアドレス 0x20～0x5f が利用可能<br />
	CNT1<br />
	CNT2<br />
	CNT3<br />
	ENDC</p>

<p>;***************************<br />
; プログラム開始<br />
;***************************<br />
	ORG		0x000<br />
	GOTO	PROGRAM_START<br />
	<br />
	ORG		0x004			; 不意の割り込みが発生した場合<br />
	RETFIE</p>

<p>PROGRAM_START<br />
	; GPIO の IN/OUT 設定 (GP0 を OUTPUT)<br />
 	BSF		STATUS, RP0		; Select Bank 1<br />
	MOVLW	B'00000000'		; bit0 が GP0 に対応、bit0=0とする<br />
	MOVWF	TRISIO</p>

<p>	; GPIO GP0 ～ GP2 のコンパレータ設定 (OFFとする)<br />
	BCF		STATUS, RP0		; Select Bank 0<br />
 	MOVLW	0x07				; コンパレータを使わない<br />
 	MOVWF	CMCON</p>

<p>	BCF		INTCON, PEIE		; 周辺割り込みすべてOFF</p>

<p>	CLRF	GPIO				; 全I/O クリア</p>

<p>MAIN<br />
;赤色LED<br />
	BSF		GPIO, 0			; GP0=1 LED点灯<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	BCF		GPIO, 0			; GP0=0 LED消灯<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	BSF		GPIO, 0			; GP0=1 LED点灯<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	BCF		GPIO, 0			; GP0=0 LED消灯<br />
	CALL	DELAY_1SEC		; 0.5秒待ち</p>

<p>;緑色色LED<br />
	BSF		GPIO, 1			; GP1=1 LED点灯<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	BCF		GPIO, 1			; GP1=0 LED消灯<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	BSF		GPIO, 1			; GP1=1 LED点灯<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	BCF		GPIO, 1			; GP1=0 LED消灯<br />
	CALL	DELAY_1SEC		; 0.5秒待ち</p>

<p>;赤色・緑色LED<br />
	MOVLW	B'00000011'		; bit0 が GP0 に対応、bit0=0とする<br />
	MOVWF	GPIO<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	MOVLW	B'00000000'		; bit0 が GP0 に対応、bit0=0とする<br />
	MOVWF	GPIO<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	MOVLW	B'00000011'		; bit0 が GP0 に対応、bit0=0とする<br />
	MOVWF	GPIO<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち<br />
	MOVLW	B'00000000'		; bit0 が GP0 に対応、bit0=0とする<br />
	MOVWF	GPIO<br />
	CALL	DELAY_500MSEC		; 0.5秒待ち</p>

<p>	GOTO	MAIN</p>

<p>;***************************<br />
; ここからサブルーチン部（時間計算）<br />
;***************************</p>

<p>								; 1命令サイクル = 4クロック<br />
								; 4MHzクロック時は、１命令は1MHz(=1usec)</p>

<p>DELAY_50MSEC<br />
	MOVLW	D'50'<br />
	MOVWF	CNT1</p>

<p>DELAY_50MSEC_LOOP0				; ((4*250)+5)*50サイクル = 50250サイクル<br />
	MOVLW	D'250'<br />
	MOVWF	CNT2</p>

<p>DELAY_50MSEC_LOOP1				; 4*250サイクル<br />
	NOP							; 1<br />
	DECFSZ	CNT2, F				; 1(no skip), 2<br />
	GOTO 	DELAY_50MSEC_LOOP1	; 2<br />
	DECFSZ	CNT1, F				; 1(no skip), 2<br />
	GOTO 	DELAY_50MSEC_LOOP0	; 2<br />
	<br />
	RETURN</p>

<p>DELAY_1SEC<br />
	MOVLW	d'20'<br />
	MOVWF	CNT3				; 50msec * 20<br />
DELAY_1SEC_LOOP<br />
	CALL	DELAY_50MSEC<br />
	DECFSZ	CNT3, F<br />
	GOTO	DELAY_1SEC_LOOP</p>

<p>DELAY_500MSEC<br />
	MOVLW	d'10'<br />
	MOVWF	CNT3				; 50msec * 10<br />
DELAY_500MSEC_LOOP<br />
	CALL	DELAY_50MSEC<br />
	DECFSZ	CNT3, F<br />
	GOTO	DELAY_500MSEC_LOOP</p>

<p><br />
	RETURN</p>

<p><br />
	END<br />
*--------------------------------------------------------------------------------------------------------------------------------*</p>

<p>単純にＬＥＤを点滅させるプログラムになっています。</p>]]>
        
    </content>
</entry>

<entry>
    <title>PICにプログラムを書き込むソフトウェア</title>
    <link rel="alternate" type="text/html" href="http://www.sirius-soft.co.jp/blog/murata/archives/2007/08/10-173526.php" />
    <id>tag:www.sirius-soft.co.jp,2007:/blog/murata//1.16</id>

    <published>2007-08-10T08:35:26Z</published>
    <updated>2007-09-16T04:00:02Z</updated>

    <summary>　前回紹介しましたＲＣＤライタの説明書に書かれている ３本のソフトを全て用意して...</summary>
    <author>
        <name>murata</name>
        
    </author>
    
        <category term="PICマイコン" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sirius-soft.co.jp/blog/murata/">
        <![CDATA[<p>　前回紹介しましたＲＣＤライタの説明書に書かれている<br />
３本のソフトを全て用意していたほうがいいみたいです。</p>

<p>　用意していたほうがいい理由は使用するＰＩＣ及びＲＣＤライタ<br />
との問題で使い分けが必要とのことです。</p>

<p>　代表的な書き込みソフトウェア<br />
　◇PICProg4U（作者：FENG3、フリーソフト）<br />
　◇IC-Prog（作者：Bonny Gijzen、フリーソフト）<br />
　◇WinPic（作者：Wolfgang Buscher、フリーソフト）</p>

<p>　また、ファームウエアの開発にもプログラムが必要となりますので<br />
マイクロチップ・テクノロジー・ジャパン株式会社からMPLAB IDEを<br />
DownLoadしインストールする必要があります。<br />
（言語はアセンブラとなります）</p>

<p><img alt="56845-1.png" src="http://www.sirius-soft.co.jp/blog/murata/56845-1.png" width="660" height="491" /></p>

<p><br />
　開発言語の有償版はＣ言語で開発をすることができます。<br />
　フリー版のＣ言語開発ツールも有るようです。</p>

<p>※アセンブラによるファームウエアの開発に挑戦することにします。</p>

<p>　さて次回は、このPICテスト基板作成について書きます。</p>]]>
        
    </content>
</entry>

<entry>
    <title>PICにプログラムを書き込む道具</title>
    <link rel="alternate" type="text/html" href="http://www.sirius-soft.co.jp/blog/murata/archives/2007/07/24-131941.php" />
    <id>tag:www.sirius-soft.co.jp,2007:/blog/murata//1.15</id>

    <published>2007-07-24T04:19:41Z</published>
    <updated>2008-10-01T10:19:21Z</updated>

    <summary>　PICにプログラムを書き込む装置がなければ何も始まりませんので Ｗｅｂで検索し...</summary>
    <author>
        <name>murata</name>
        
    </author>
    
        <category term="PICマイコン" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sirius-soft.co.jp/blog/murata/">
        <![CDATA[<p>　PICにプログラムを書き込む装置がなければ何も始まりませんので<br />
Ｗｅｂで検索したなかから２０ピンまでのＰＩＣに対応したＲＳ２３２Ｃ<br />
インターフェースのＲＣＤライタ（ハーフマットで販売されています）<br />
を使用することにしました。</p>

<p>　販売価格はキットで６８０円・完成品で１，１８０円と送料<br />
で入手することができます。</p>

<p><img alt="RCD%E3%83%A9%E3%82%A4%E3%82%BF.jpg" src="http://www.sirius-soft.co.jp/blog/murata/RCD%E3%83%A9%E3%82%A4%E3%82%BF.jpg" width="250" height="188" /></p>

<p>　ＲＣＤライタとパソコンとの接続には、<br />
９ピンオス－９ピンメスのコネクタをもった<br />
ストレートケーブル（シリアルケーブル）も必要<br />
となりますので用意しました。</p>

<p>　さて次回は、このPICにプログラムを書き込むソフトウェアについて書きます。</p>]]>
        
    </content>
</entry>

<entry>
    <title>PICマイコンの研究（PICの種類）</title>
    <link rel="alternate" type="text/html" href="http://www.sirius-soft.co.jp/blog/murata/archives/2007/07/20-105241.php" />
    <id>tag:www.sirius-soft.co.jp,2007:/blog/murata//1.14</id>

    <published>2007-07-20T01:52:41Z</published>
    <updated>2007-09-16T04:00:02Z</updated>

    <summary>　Webでいろいろ調べてみたのですが、 PICのシリーズには非常に沢山の種類があ...</summary>
    <author>
        <name>murata</name>
        
    </author>
    
        <category term="PICマイコン" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sirius-soft.co.jp/blog/murata/">
        <![CDATA[<p>　Webでいろいろ調べてみたのですが、<br />
PICのシリーズには非常に沢山の種類があり目的によりチョイスしなければ<br />
ならないようです。</p>

<p>　まずは研究が目的なので安価で入手しやすいPIC12F629・PIC12F675から始めてみようと<br />
思います。</p>

<p>選択した２種類のPICはA/D（アナログデジタル）変換機能があるかどうかの違い<br />
だといわれております。</p>

<p>　PICの値段ですが、販売店により多少のバラツキがありますがだいたい１個１１０円～２５０円ぐらいです。</p>

<p>※わりとWebの情報が豊富なのでPIC12F629・PIC12F675に決めました。<br />
（工作例・プログラムサンプルが入手しやすいです）<br />
　さて次回は、このPICにプログラムを書き込む道具について書きます。</p>]]>
        
    </content>
</entry>

<entry>
    <title>PICマイコンの研究（プロローグ）</title>
    <link rel="alternate" type="text/html" href="http://www.sirius-soft.co.jp/blog/murata/archives/2007/07/18-093622.php" />
    <id>tag:www.sirius-soft.co.jp,2007:/blog/murata//1.13</id>

    <published>2007-07-18T00:36:22Z</published>
    <updated>2007-09-16T04:00:02Z</updated>

    <summary>　PICとは、Peripheral Interface Controller：周...</summary>
    <author>
        <name>murata</name>
        
    </author>
    
        <category term="PICマイコン" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.sirius-soft.co.jp/blog/murata/">
        <![CDATA[<p>　PICとは、Peripheral Interface Controller：周辺機器接続制御用ＩＣの略称です。<br />
適切な表現ではないかもしれませんがPICそのものがすでに小さいコンピュータだと<br />
いうことです。</p>

<p>　コンピュータですから当然、演算処理機能・メモリーもあり（小さいですが）<br />
ソフトウェアで制御することができます。</p>

<p><B>【なぜ今このPICに挑戦しようとするのか！】<br />
　わがままな自分を満足させてくれるハードウエアからソフトウエアまでを<br />
一環してデザインし開発（ソフトウエアも含めて）したいと考えたからです。</B><BR><br />
<img alt="pic12f675.gif" src="http://www.sirius-soft.co.jp/blog/murata/pic12f675.gif" width="156" height="158" /></p>

<p>　まず必要な情報を収集するところから始めます。<br />
　１．PICの種類<br />
　２．必要な機材<br />
　３．プログラムを開発するための環境</p>

<p>※今回はプロローグなのでここまでとします。<br />
　次回はPICの種類について書きたいと思います。</p>]]>
        
    </content>
</entry>

</feed>

