ラベル
- 12F1822 (2)
- A/D変換 (3)
- Arduino (7)
- Nikon D40 リモコン インターバルタイマー (6)
- Nゲージ 自動往復運転コントローラ (5)
- Nゲージの運転コントローラ (3)
- PICマイコンツール (5)
- XC8 (1)
- サーボモーター (1)
- プログラム (15)
- 赤外線リモコン送信 (1)
- 赤外線リモコン送信 キャリア波(38kHzか40kHz)の作成 (2)
- 電子部品/キット/輸入品 (26)
2011/10/16
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サイクルが多い。
サブルーチンのネストは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
参考資料
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 で休止状態(節電プログラム)の作成
------
Set WshShell = CreateObject("WScript.Shell")
Msgbox "休止状態スタート"
WshShell.Run "%systemroot%\system32\rundll32.exe powrprof.dll,SetSuspendState", 6,true
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
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に関して未検証。
商品がお気に入り、最購入する予定。
商品がお気に入り、最購入する予定。
登録:
投稿 (Atom)