|
|
FJCニュ−ス8月号
16F84使用カレンダー時計
MPASM用にPAマクロバスタ−をしようして
変換したソースファイルの紹介です。
; LCDカレンダー時計
include 16f84.h
.osc xt ;2MHZ
.wdt off
;
; PIC16F84/16文字×2行対応
; カウンター液晶表示プログラム;
; 2001年7月14日 山原
; 使用環境
; PIC PIC16F84-10/P(それ以外にも応用可能)
; 液晶 M1632,M1672,SC1602B等
; クロック 2MHz
;
;
; ピンアサイン:(電源・クリスタル・コントラスト調整VR等の配線は省略)
;
; PIC16F84 液晶モジュール
; ()内はピン番号
; RA3(2) = DB7
; RA2(1) = DB6
; RA1(18) = DB5
; RA0(17) = DB4
; GND(0V) = R/~W
; rb7(13) = RS
; rb6(12) = EN(ENABLE)
; 時計セット
; rb5(11) =
; rb4(10) =
; rb3(19) =
; rb2(9) = 日、分 セットSW インクリメント
; rb1(7) = 月、時、曜日 SW インクリメント
; rb0(6) = エンターSW
; ra4(3) =
lce equ rb.6
lcrs equ rb.7
org 0ch
erfg ds 1
mtcu1 ds 1
mtcu2 ds 1
tmdt ds 2
cutm ds 2
daytcu ds 2
weekcu ds 1
dspno ds 1
bf ds 1
cu0 ds 1
cu1 ds 1
cu2 ds 1
cu3 ds 1
lcu1 ds 1
lcu2 ds 1
lcu3 ds 1
wk0 ds 1 ;int bf
wk1 ds 1
wk2 ds 1
ittm ds 1
tuff ds 1
org 0
goto start
org 4
; timer 割り込み
inttm movwf wk0 ;push w
swapf wk0,1
swapf status,0 ; status
movwf wk1
movf fsr,0 ; fsr
movwf wk2
; init wark
clrb t0if
inc ittm
cjne ittm,#244,intm2
clr ittm
intm1 cjne tmr0,#36,intm1
clr tmr0 ;2m/4/8/256=244...36
inc tuff ;1s
; init end pop fsr status w
intm2 btfsc wk1,1 ;bank 0 ?
setb rp0 ;no bank 1
movf wk2,0 ;pop fsr
movwf fsr
swapf wk1,0 ;pop status
movwf status
swapf wk0,0 ;pop w
retfie
;----------dsplay masag 0123456789abcdef -------------
dsp1 jmp pc+w
retw ' push key '
dsp2 jmp pc+w
retw ' set clock '
dsp5 jmp pc+w
retw ' '
dsp7 jmp pc+w
retw ' set mon/date '
dsp8 jmp pc+w
retw ' set week '
dsp10 jmp pc+w
retw 'sun '
dsp11 jmp pc+w
retw 'mon '
dsp12 jmp pc+w
retw 'tue '
dsp13 jmp pc+w
retw 'wed '
dsp14 jmp pc+w
retw 'thu '
dsp15 jmp pc+w
retw 'fri '
dsp16 jmp pc+w
retw 'sat '
nop
nop
http://homepage2.nifty.com/JG1FJC/
|
|