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
参考資料