リモコン送信テストプログラム(抜粋) clk=10MHz 注)秋月のPA.EXEの拡張インストラクションを使用しています。 データ部がバイト単位の場合のみ対応しています。
●松下製CATVユニットの電源ON/OFFデータ送信部分
;; スタートビット mov cnt,#129 ; StartHi=3.4ms(129*0.026) call tr_hi mov wait_time,#160 ; Lo=1.6ms call mswait ;; 電源ON/OFFデータ(0x40040160bcdd) mov irdat,#040h call trns_byt mov irdat,#004h call trns_byt mov irdat,#001h call trns_byt mov irdat,#060h call trns_byt mov irdat,#0bch call trns_byt mov irdat,#0ddh call trns_byt ;; ストップビット mov cnt,#18 call tr_hi
●バイトデータ送信 trns_byt mov bit_cnt,#8 trns_r jb irdat.7,send_1 ;; ビット'0' send_0 mov cnt,#18 call tr_hi mov wait_time,#34 call mswait goto send_nxt ;; ビット'1' send_1 mov cnt,#18 call tr_hi mov wait_time,#118 call mswait goto send_nxt send_nxt rl irdat djnz bit_cnt,trns_r ;; 8ビット分送ったらおわり ret
●Hi送信 tr_hi clrb LED ; LED点灯 call wait_1315u ; Hi = 13.15us setb LED ; 消灯 call wait_1315u ; Lo = 13.15us (= 38kHz) djnz cnt,tr_hi ; cnt回繰り返し ret