2011/09/18

PIC でタイマーの作成

スタックにより、タイマーの作成。
サブルーチンのネストは8回までに制限されています。

まず、時間に必要なサイクル数を計算。













;//////////////////////////////////////////
;タイマー
;4Mhz 1クロック=0.00000025S = 0.25μS
;4Mhz 1サイクル=1μS
; 1S=1000mS
; 1S=1000000μS
;1秒  =1000000サイクル
;10秒 =10000000サイクル
;30秒 =30000000サイクル
;1分  =60000000サイクル
;30分 =180000000サイクル

;//////////////////////////////////////////
S6TIME
MOVLW D'1' ;1X4+4+40=48
MOVWF SCONT6
S6LOP
CALL S5TIME
DECFSZ SCONT6
GOTO S6LOP
RETURN
S5TIME
MOVLW D'1' ;1X4+4+32=40
MOVWF SCONT5
S5LOP
CALL S4TIME
DECFSZ SCONT5
GOTO S5LOP
RETURN
S4TIME
MOVLW D'1' ;1X4+4+24=32
MOVWF SCONT4
S4LOP
CALL S3TIME
DECFSZ SCONT4
GOTO S4LOP
RETURN
S3TIME
MOVLW D'1' ;1X4+4+16=24
MOVWF SCONT3
S3LOP
CALL S2TIME
DECFSZ SCONT3
GOTO S3LOP
RETURN

S2TIME
MOVLW D'1' ;1X4+4+8=16
MOVWF SCONT2
S2LOP
CALL S1TIME
DECFSZ SCONT2
GOTO S2LOP
RETURN

S1TIME ;1000μS、1mS
MOVLW D'1' ;1 1X4+4=8
MOVWF SCONT1 ;1
S1LOP
NOP ;1
DECFSZ SCONT1 ;1
GOTO S1LOP ;2
RETURN ;2



;---------------------
;4MHz の場合
;1秒  =1000000サイクル
;10秒 =10000000サイクル
;30秒 =30000000サイクル
;1分  =60000000サイクル
;30分 =180000000サイクル

約1分間の例
60.000961サイクル、計算より961サイクルが多い。






2011/09/12

赤外線リモコン送信 キャリア波(38kHzか40kHz)の作成

赤外線リモコン送信 キャリア波(38kHzか40kHz)の作成
1秒間4万回点滅させる方法

1. PIC12F629
2. ロック 4MHz
      4Mhz 1クロック=0.00000025S = 0.25μS
      4Mhz 1サイクル=1μS
3.  40kHz 1秒/40000回=0.000025S=0.025mS=25μS
       38kHz 1秒/38000回=0.000026S=0.026mS=26μS
4. 40kHz 方形波=12.5μS ON + 12.5μS OFF
       38kHz 方形波=13  μS  ON  +   13  μS  OFF
5.    600μs事にHiかLowを出力します。
       600μS/25=24回
       600μS/26=23回

少し進んだ


少し進んだ
下記のコマンドで 38.05-38.06kHz が発生できます。



MAIN
CALL T600
GOTO END

T600
MOVLW 15H
MOVWF CONT1
PIN BSF GPIO,0
NOP ;1
NOP ;2
NOP ;3
NOP ;4
NOP ;5
NOP ;6
NOP ;7
NOP ;8
NOP ;9
NOP ;10
NOP ;11
NOP ;12
NOP ;13
NOP ;14
BCF GPIO,0
NOP ;1
NOP ;2
NOP ;3
NOP ;4
NOP ;5
NOP ;6
NOP ;7
NOP ;8
NOP ;9
NOP ;10
DECFSZ CONT1,F ;11
GOTO PIN ;13
RETURN ;14




実際の確認結果、正しいかはわからないが、38kHzに一番違い
値になります。 38kHz 方形波=15μS ON  +   14μS  OFF





少し進んだ
PICKIT3(Power)で接続した場合と他の電源(電池)測定した結果、ずれが発生します。
電池(1.5×4) → 40.00-40.03kHz
5Vの電源アダプタ → 40.33-40.42kHz













http://kaihatsu.shizuoka-c.ed.jp/H20kaihatsu/kougyou/hikari_1/4shou/4_2kankei.pdf
参考資料

2011/08/16

4Mhz タイマー


;//////////////////////////////////////////
;タイマー
;4Mhz 1クロック=0.00000025S = 0.25μS
;4Mhz 1サイクル=1μS
; 1S=1000mS
; 1S=1000000μS
;//////////////////////////////////////////
TIMER1 ;100μS,100コマンド、24
MOVLW D'24' ;1 24x4+4=100
MOVWF TCON1 ;1
T1LOP
NOP ;1
DECFSZ TCON1 ;1
GOTO T1LOP ;2
RETURN ;2

;--------------------
TIMER2 ;200μS,200コマンド、49
MOVLW D'49' ;1  49x4+4=200
MOVWF TCON1 ;1
T2LOP
NOP ;1
DECFSZ TCON1 ;1
GOTO T2LOP ;2
RETURN ;2


;--------------------
TIMER5 ;500μS,500コマンド、124
MOVLW D'124' ;1
MOVWF TCON1 ;1
T5LOP
NOP
DECFSZ TCON1 ;1
GOTO T5LOP ;2
RETURN ;2


;--------------------
TIMER10 ;1000μS,1000コマンド、249
MOVLW D'249' ;1 249x4+4=1000
MOVWF TCON1 ;1
T10LOP
NOP ;1
DECFSZ TCON1 ;1
GOTO T10LOP ;2
RETURN ;2




2011/06/29

VBスクリプトでパソコンの休止状態、節電プログラム


VBS で休止状態(節電プログラム)の作成

Windowsメモ帳を開く、下記の文字をコピーして、「名前をつけて保存(A)」選択して保存する、
ファイル名は自由で、拡張子を「VBS」につけます。例 S4.VBS

保存したファイルをクロックするだけでパソコンが休止状態になります。

------
Set WshShell = CreateObject("WScript.Shell")
Msgbox "休止状態スタート"
WshShell.Run "%systemroot%\system32\rundll32.exe powrprof.dll,SetSuspendState", 6,true
------

2011/06/26

1/4W 抵抗50種類、各種類50本

1/4W 抵抗50種類、各種類50本、全部2500本





mini2.0 USBサウンドアンプ


mini2.0 USBサウンドアンプ、5VUSB給電可能
SSS1603チップ、3D対応

1. 低電圧、ヒートシンク不要
2. 高音質
3. 功率:2W*2(4 欧姆),1.5W*2(8 欧姆)
4. 動作電圧:DC5V
5. サイズ2cm*5cm
6. Windows 2000, XP, Vista;兼容Mac OS X
7. 音量の調整キー+/-、ミュート(真中のキー)
*マニュアルはありません。

注意
1.  スピーカーの接続のみ対応します、配線も独立で接続してください、
スピーカーのGND共通しないため、絶対一緒に接続しないでください。

2.  こちらではWindows XPのみ動作確認しています、サウンドドライバ
Windows上自動認識します。

3.  基板上の印刷ミスがあり、VOL-とMuteが逆。




メモ
かなり大きな音がします、びっくり。また、ドライバ不要なので、より簡単に接続が
出来ます、XP(SP2)環境ではチャックしましたが、他のOSに関して未検証。
商品がお気に入り、最購入する予定。

Windows上の認識とデバイスの選択





12V 100M 315Mhz リモコンセット

12V 100M 315Mhz リモコンセットJS1201(L)+YK1002


受信機--
電圧:12V
周波数:315MHz
サイズ:39×40×20mm

送信機--
電圧:DC12V(27Aテスト用バッテリ付属)
電流:≤30mA
周波数:315MHz
距離:50-100M(環境によって変化します)
コード:固定
サイズ:51×39×13.5mm

マニュアルはありません。





接続の例

実際の動作確認



メモ
手元にマイナスドライバがなく、別購入した。
通電した後、基板上のLEDが電灯されます。
この時リレー
B接点、D接点 → ON
K接点、D接点 → OFF

リモコンのAキーを押すと
B接点、D接点 → OFF
K接点、D接点 → ON

リモコンのBキーを押すと
B接点、D接点 → ON
K接点、D接点 → OFF